Skip to content

Commit 1e5eff6

Browse files
author
Alexander Tiekoetter
committed
Fix CodeCleaner errors in alice3DQTableMaker
1 parent a15dee1 commit 1e5eff6

1 file changed

Lines changed: 44 additions & 36 deletions

File tree

ALICE3/TableProducer/alice3DqTableMaker.cxx

Lines changed: 44 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ constexpr static uint32_t GkEventMcFillMap = VarManager::ObjTypes::CollisionMC;
7171

7272
constexpr static uint32_t GkTrackFillMapWithCov = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackSelection | VarManager::ObjTypes::TrackCov | VarManager::ObjTypes::TrackPID;
7373

74+
namespace dqefficiency_helpers
75+
{
76+
inline float* varValues() { return static_cast<float*>(VarManager::fgValues); }
77+
inline TString* varNames() { return static_cast<TString*>(VarManager::fgVariableNames); }
78+
inline TString* varUnits() { return static_cast<TString*>(VarManager::fgVariableUnits); }
79+
} // namespace dqefficiency_helpers
80+
7481
struct Alice3DqTableMaker {
7582

7683
Produces<ReA3MCEvents> eventMC;
@@ -142,7 +149,7 @@ struct Alice3DqTableMaker {
142149

143150
fHistMan = new HistogramManager("analysisHistos", "aa", VarManager::kNVars);
144151
fHistMan->SetUseDefaultVariableNames(true);
145-
fHistMan->SetDefaultVarNames(VarManager::fgVariableNames, VarManager::fgVariableUnits);
152+
fHistMan->SetDefaultVarNames(dqefficiency_helpers::varNames(), dqefficiency_helpers::varUnits());
146153

147154
if (fConfigHistOutput.cfgQA && fConfigHistOutput.cfgDetailedQA) {
148155
fDoDetailedQA = true;
@@ -246,14 +253,14 @@ struct Alice3DqTableMaker {
246253
if (addTrackCutsStr != "") {
247254
std::vector<AnalysisCut*> addTrackCuts = dqcuts::GetCutsFromJSON(addTrackCutsStr.Data());
248255
for (const auto& t : addTrackCuts) {
249-
fTrackCuts.push_back(reinterpret_cast<AnalysisCompositeCut*>(t));
256+
fTrackCuts.push_back(dynamic_cast<AnalysisCompositeCut*>(t));
250257
}
251258
}
252259

253260
VarManager::SetUseVars(AnalysisCut::fgUsedVars); // provide the list of required variables so that VarManager knows what to fill
254261
}
255262

256-
void defineHistograms(TString histClasses)
263+
void defineHistograms(const TString& histClasses)
257264
{
258265
std::unique_ptr<TObjArray> objArray(histClasses.Tokenize(";"));
259266
for (int iclass = 0; iclass < objArray->GetEntries(); ++iclass) {
@@ -308,9 +315,9 @@ struct Alice3DqTableMaker {
308315
histTracks->GetXaxis()->SetBinLabel(ibX, (*cut)->GetName());
309316
}
310317
constexpr int NV0Tags = 5;
311-
const char* v0TagNames[NV0Tags] = {"Photon conversion", "K^{0}_{s}", "#Lambda", "#bar{#Lambda}", "#Omega"};
318+
const std::array<std::string, NV0Tags> v0TagNames = {"Photon conversion", "K^{0}_{s}", "#Lambda", "#bar{#Lambda}", "#Omega"};
312319
for (int ibY = 0; ibY < NV0Tags; ibY++) {
313-
histTracks->GetXaxis()->SetBinLabel(fTrackCuts.size() + 1 + ibY, v0TagNames[ibY]);
320+
histTracks->GetXaxis()->SetBinLabel(fTrackCuts.size() + 1 + ibY, v0TagNames[ibY].c_str());
314321
}
315322
fStatsList->Add(histTracks);
316323

@@ -335,7 +342,7 @@ struct Alice3DqTableMaker {
335342
for (const auto& mcCollision : mcCollisions) {
336343
VarManager::FillEventAlice3<GkEventMcFillMap>(mcCollision);
337344

338-
fHistMan->FillHistClass("Event_MCTruth", VarManager::fgValues);
345+
fHistMan->FillHistClass("Event_MCTruth", dqefficiency_helpers::varValues());
339346

340347
eventMC(mcCollision.generatorsID(), mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(),
341348
mcCollision.t(), mcCollision.weight(), mcCollision.impactParameter()); // TODO: Determine and fill multiplicity values
@@ -353,7 +360,7 @@ struct Alice3DqTableMaker {
353360
fLabelsMapReversed.clear();
354361
fMCFlags.clear();
355362

356-
uint16_t mcflags = static_cast<uint16_t>(0); // flags which will hold the decisions for each MC signal
363+
auto mcflags = static_cast<uint16_t>(0); // flags which will hold the decisions for each MC signal
357364
int trackCounter = 0;
358365

359366
for (const auto& mctrack : mcTracks) {
@@ -396,8 +403,8 @@ struct Alice3DqTableMaker {
396403

397404
int j = 0;
398405
for (auto signal = fMCSignals.begin(); signal != fMCSignals.end(); ++signal, ++j) {
399-
if (mcflags & (static_cast<uint16_t>(1) << j)) {
400-
fHistMan->FillHistClass(Form("MCTruth_%s", (*signal)->GetName()), VarManager::fgValues);
406+
if ((mcflags & (static_cast<uint16_t>(1) << j)) != 0u) {
407+
fHistMan->FillHistClass(Form("MCTruth_%s", (*signal)->GetName()), dqefficiency_helpers::varValues());
401408
}
402409
}
403410
}
@@ -414,7 +421,7 @@ struct Alice3DqTableMaker {
414421
// Loop over collisions
415422
for (const auto& collision : collisions) {
416423

417-
(reinterpret_cast<TH2I*>(fStatsList->At(0)))->Fill(1.0, static_cast<float>(o2::aod::evsel::kNsel));
424+
(dynamic_cast<TH2I*>(fStatsList->At(0)))->Fill(1.0, static_cast<float>(o2::aod::evsel::kNsel));
418425

419426
VarManager::ResetValues(0, VarManager::kNEventWiseVariables);
420427
VarManager::FillEventAlice3<GkEventFillMap>(collision); // extract event information and place it in the fValues array
@@ -425,15 +432,15 @@ struct Alice3DqTableMaker {
425432
}
426433

427434
if (fDoDetailedQA) {
428-
fHistMan->FillHistClass("Event_BeforeCuts", VarManager::fgValues);
435+
fHistMan->FillHistClass("Event_BeforeCuts", dqefficiency_helpers::varValues());
429436
}
430437

431438
// Apply the user specified event selection
432-
if (!fEventCut->IsSelected(VarManager::fgValues)) {
439+
if (!fEventCut->IsSelected(dqefficiency_helpers::varValues())) {
433440
continue;
434441
}
435442

436-
(reinterpret_cast<TH2I*>(fStatsList->At(0)))->Fill(3.0, static_cast<float>(o2::aod::evsel::kNsel));
443+
(dynamic_cast<TH2I*>(fStatsList->At(0)))->Fill(3.0, static_cast<float>(o2::aod::evsel::kNsel));
437444

438445
// Fill historams after event cuts
439446
fHistMan->FillHistClass("Event_AfterCuts", VarManager::fgValues);
@@ -459,16 +466,16 @@ struct Alice3DqTableMaker {
459466
// so in case of multiple associations, the variables depending on the collision association (e.g. DCA, secondary vertexing, etc)
460467
// have to be recomputed at analysis time for each association.
461468

462-
uint64_t trackFilteringTag = static_cast<uint64_t>(0);
463-
uint32_t trackTempFilterMap = static_cast<uint32_t>(0);
464-
uint16_t mcflags = static_cast<uint16_t>(0);
469+
auto trackFilteringTag = static_cast<uint64_t>(0);
470+
auto trackTempFilterMap = static_cast<uint32_t>(0);
471+
auto mcflags = static_cast<uint16_t>(0);
465472
int trackCounter = fLabelsMap.size();
466473

467474
for (const auto& assoc : assocs) {
468475

469476
auto track = assoc.template track_as<MyBarrelTracks>();
470477

471-
if (fCollIndexMap.find(track.collisionId()) == fCollIndexMap.end()) {
478+
if (!fCollIndexMap.contains(track.collisionId())) {
472479
continue;
473480
}
474481

@@ -479,26 +486,26 @@ struct Alice3DqTableMaker {
479486
VarManager::FillTrackAlice3<GkTrackFillMapWithCov>(track);
480487

481488
if (fDoDetailedQA) {
482-
fHistMan->FillHistClass("TrackBarrel_BeforeCuts", VarManager::fgValues);
489+
fHistMan->FillHistClass("TrackBarrel_BeforeCuts", dqefficiency_helpers::varValues());
483490
}
484491

485492
int n = 0;
486493
for (auto cut = fTrackCuts.begin(); cut != fTrackCuts.end(); cut++, n++) {
487-
if ((*cut)->IsSelected(VarManager::fgValues)) {
494+
if ((*cut)->IsSelected(dqefficiency_helpers::varValues())) {
488495
trackTempFilterMap |= (static_cast<uint32_t>(1) << n);
489496
if (fConfigHistOutput.cfgQA) {
490-
fHistMan->FillHistClass(Form("TrackBarrel_%s", (*cut)->GetName()), VarManager::fgValues);
497+
fHistMan->FillHistClass(Form("TrackBarrel_%s", (*cut)->GetName()), dqefficiency_helpers::varValues());
491498
}
492-
(reinterpret_cast<TH1I*>(fStatsList->At(1)))->Fill(static_cast<float>(n));
499+
(dynamic_cast<TH1I*>(fStatsList->At(1)))->Fill(static_cast<float>(n));
493500
}
494501
}
495-
if (!trackTempFilterMap) {
502+
if (trackTempFilterMap == 0u) {
496503
continue;
497504
}
498505

499506
// If this track is already present in the index map, it means it was already skimmed,
500507
// so we just store the association and we skip the track
501-
if (fTrackIndexMap.find(track.globalIndex()) != fTrackIndexMap.end()) {
508+
if (fTrackIndexMap.contains(track.globalIndex())) {
502509
trackBarrelAssoc(fCollIndexMap[collision.globalIndex()], fTrackIndexMap[track.globalIndex()]);
503510
continue;
504511
}
@@ -567,8 +574,8 @@ struct Alice3DqTableMaker {
567574
if (fDoDetailedQA) {
568575
j = 0;
569576
for (const auto& cut : fTrackCuts) {
570-
if (trackTempFilterMap & (uint8_t(1) << j)) {
571-
fHistMan->FillHistClass(Form("TrackBarrel_%s_%s", cut->GetName(), sig->GetName()), VarManager::fgValues); // fill the reconstructed truth
577+
if ((trackTempFilterMap & (uint8_t(1) << j)) != 0u) {
578+
fHistMan->FillHistClass(Form("TrackBarrel_%s_%s", cut->GetName(), sig->GetName()), dqefficiency_helpers::varValues()); // fill the reconstructed truth
572579
}
573580
j++;
574581
}
@@ -579,7 +586,7 @@ struct Alice3DqTableMaker {
579586

580587
// if the MC truth particle corresponding to this reconstructed track is not already written,
581588
// add it to the skimmed stack
582-
if (!(fLabelsMap.find(mctrack.globalIndex()) != fLabelsMap.end())) {
589+
if (!(fLabelsMap.contains(mctrack.globalIndex()))) {
583590
fLabelsMap[mctrack.globalIndex()] = trackCounter;
584591
fLabelsMapReversed[trackCounter] = mctrack.globalIndex();
585592
fMCFlags[mctrack.globalIndex()] = mcflags;
@@ -610,7 +617,7 @@ struct Alice3DqTableMaker {
610617

611618
skimCollisions(collisions);
612619

613-
if (fCollIndexMap.size() == 0)
620+
if (fCollIndexMap.empty())
614621
return;
615622

616623
skimMCParticles(mcParticles, mcCollisions);
@@ -627,7 +634,7 @@ struct Alice3DqTableMaker {
627634
trackBarrelLabels.reserve(tracksBarrel.size());
628635
}
629636

630-
if (fCollIndexMap.size() > 0) {
637+
if (!fCollIndexMap.empty()) {
631638

632639
for (auto const& [origIdx, skimIdx] : fCollIndexMap) {
633640
auto collision = collisions.rawIteratorAt(origIdx);
@@ -649,7 +656,7 @@ struct Alice3DqTableMaker {
649656
if (mctrack.has_mothers()) {
650657
for (const auto& m : mctrack.mothersIds()) {
651658
if (m < mcParticles.size()) { // protect against bad mother indices
652-
if (fLabelsMap.find(m) != fLabelsMap.end()) {
659+
if (fLabelsMap.contains(m)) {
653660
mothers.push_back(fLabelsMap.find(m)->second);
654661
}
655662
} else {
@@ -666,7 +673,7 @@ struct Alice3DqTableMaker {
666673
for (int d = mctrack.daughtersIds()[0]; d <= mctrack.daughtersIds()[1]; ++d) {
667674
// TODO: remove this check as soon as issues with MC production are fixed
668675
if (d < mcParticles.size()) { // protect against bad daughter indices
669-
if (fLabelsMap.find(d) != fLabelsMap.end()) {
676+
if (fLabelsMap.contains(d)) {
670677
daughters.push_back(fLabelsMap.find(d)->second);
671678
}
672679
} else {
@@ -675,26 +682,27 @@ struct Alice3DqTableMaker {
675682
}
676683
}
677684
}
678-
int daughterRange[2] = {-1, -1};
679-
if (daughters.size() > 0) {
685+
constexpr int NDaughters = 2;
686+
std::array<int, NDaughters> daughterRange = {-1, -1};
687+
if (daughters.empty()) {
680688
daughterRange[0] = daughters[0];
681689
daughterRange[1] = daughters[daughters.size() - 1];
682690
}
683691

684692
// NOTE: Here we assume that MC collisions are not filtered, so there is no new vs old index map for translation
685693
auto mcCollision = mctrack.template mcCollision_as<MyEventsMC>();
686694
trackMC(mcCollision.globalIndex(), mctrack.pdgCode(), mctrack.statusCode(), mctrack.flags(),
687-
mothers, daughterRange,
695+
mothers, daughterRange.data(),
688696
mctrack.weight(), mctrack.pt(), mctrack.eta(), mctrack.phi(), mctrack.e(),
689697
mctrack.vx(), mctrack.vy(), mctrack.vz(), mctrack.vt(), mcflags);
690698

691699
for (unsigned int isig = 0; isig < fMCSignals.size(); isig++) {
692-
if (mcflags & (static_cast<uint16_t>(1) << isig)) {
693-
(reinterpret_cast<TH1I*>(fStatsList->At(2)))->Fill(static_cast<float>(isig));
700+
if ((mcflags & (static_cast<uint16_t>(1) << isig)) != 0u) {
701+
(dynamic_cast<TH1I*>(fStatsList->At(2)))->Fill(static_cast<float>(isig));
694702
}
695703
}
696704
if (mcflags == 0) {
697-
(reinterpret_cast<TH1I*>(fStatsList->At(2)))->Fill(static_cast<float>(fMCSignals.size()));
705+
(dynamic_cast<TH1I*>(fStatsList->At(2)))->Fill(static_cast<float>(fMCSignals.size()));
698706
}
699707
}
700708
}

0 commit comments

Comments
 (0)