Skip to content

Commit 4c21a0a

Browse files
committed
Refactoring linter suggestions
1 parent 3045665 commit 4c21a0a

1 file changed

Lines changed: 57 additions & 50 deletions

File tree

ALICE3/Tasks/alice3-dq-efficiency.cxx

Lines changed: 57 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,14 @@
4141
#include <TString.h>
4242

4343
#include <algorithm>
44+
#include <array>
45+
#include <chrono>
4446
#include <cmath>
47+
#include <cstddef>
4548
#include <cstdint>
49+
#include <cstdlib>
50+
#include <cstring>
51+
#include <iterator>
4652
#include <map>
4753
#include <memory>
4854
#include <string>
@@ -133,6 +139,13 @@ constexpr static uint32_t gkEventFillMapWithCov = VarManager::ObjTypes::ReducedE
133139
constexpr static uint32_t gkTrackFillMapWithCov = VarManager::ObjTypes::ReducedTrack | VarManager::ObjTypes::ReducedTrackBarrel | VarManager::ObjTypes::ReducedTrackBarrelCov | VarManager::ObjTypes::ReducedTrackBarrelPID;
134140
constexpr static uint32_t gkTrackFillMap = VarManager::ObjTypes::ReducedTrack | VarManager::ObjTypes::ReducedTrackBarrel | VarManager::ObjTypes::ReducedTrackBarrelPID;
135141

142+
namespace dqefficiency_helpers
143+
{
144+
inline float* varValues() { return static_cast<float*>(VarManager::fgValues); }
145+
inline TString* varNames() { return static_cast<TString*>(VarManager::fgVariableNames); }
146+
inline TString* varUnits() { return static_cast<TString*>(VarManager::fgVariableUnits); }
147+
} // namespace dqefficiency_helpers
148+
136149
// Global function used to define needed histogram classes
137150
void DefineHistograms(HistogramManager* histMan, TString histClasses, const char* histGroups); // defines histograms for all tasks
138151

@@ -155,7 +168,7 @@ struct AnalysisEventSelection {
155168
HistogramManager* fHistMan = nullptr;
156169
MixingHandler* fMixHandler = nullptr;
157170

158-
AnalysisCompositeCut* fEventCut;
171+
AnalysisCompositeCut* fEventCut = nullptr;
159172

160173
std::map<int64_t, bool> fSelMap; // key: reduced event global index, value: event selection decision
161174

@@ -188,7 +201,7 @@ struct AnalysisEventSelection {
188201
if (fConfigQA) {
189202
fHistMan = new HistogramManager("analysisHistos", "", VarManager::kNVars);
190203
fHistMan->SetUseDefaultVariableNames(true);
191-
fHistMan->SetDefaultVarNames(VarManager::fgVariableNames, VarManager::fgVariableUnits);
204+
fHistMan->SetDefaultVarNames(dqefficiency_helpers::varNames(), dqefficiency_helpers::varUnits());
192205
DefineHistograms(fHistMan, "Event_BeforeCuts;Event_AfterCuts;", fConfigAddEventHistogram.value.data());
193206
DefineHistograms(fHistMan, "EventsMC", fConfigAddEventMCHistogram.value.data());
194207
dqhistograms::AddHistogramsFromJSON(fHistMan, fConfigAddJSONHistograms.value.c_str()); // aditional histograms via JSON
@@ -222,17 +235,17 @@ struct AnalysisEventSelection {
222235
bool decision = false;
223236
// if QA is requested fill histograms before event selections
224237
if (fConfigQA) {
225-
fHistMan->FillHistClass("Event_BeforeCuts", VarManager::fgValues); // automatically fill all the histograms in the class Event
238+
fHistMan->FillHistClass("Event_BeforeCuts", dqefficiency_helpers::varValues()); // automatically fill all the histograms in the class Event
226239
}
227-
if (fEventCut->IsSelected(VarManager::fgValues)) {
240+
if (fEventCut->IsSelected(dqefficiency_helpers::varValues())) {
228241
if (fConfigQA) {
229-
fHistMan->FillHistClass("Event_AfterCuts", VarManager::fgValues);
242+
fHistMan->FillHistClass("Event_AfterCuts", dqefficiency_helpers::varValues());
230243
}
231244
decision = true;
232245
}
233246
fSelMap[event.globalIndex()] = decision;
234247
if (fMixHandler != nullptr) {
235-
int hh = fMixHandler->FindEventCategory(VarManager::fgValues);
248+
int hh = fMixHandler->FindEventCategory(dqefficiency_helpers::varValues());
236249
hash(hh);
237250
}
238251
}
@@ -242,15 +255,15 @@ struct AnalysisEventSelection {
242255
VarManager::ResetValues(0, VarManager::kNEventWiseVariables);
243256
VarManager::FillEventAlice3<VarManager::ObjTypes::ReducedEventMC>(event);
244257
if (fConfigQA) {
245-
fHistMan->FillHistClass("EventsMC", VarManager::fgValues);
258+
fHistMan->FillHistClass("EventsMC", dqefficiency_helpers::varValues());
246259
}
247260
}
248261
}
249262

250263
void publishSelections(MyEventsVtxCov const& events)
251264
{
252265
// publish the table
253-
uint32_t evSel = static_cast<uint32_t>(0);
266+
auto evSel = static_cast<uint32_t>(0);
254267
for (const auto& event : events) {
255268
evSel = 0;
256269
if (fSelMap[event.globalIndex()]) { // event passed the user cuts
@@ -292,7 +305,7 @@ struct AnalysisTrackSelection {
292305
Configurable<std::string> fConfigMCSignals{"cfgTrackMCSignals", "", "Comma separated list of MC signals"};
293306
Configurable<std::string> fConfigMCSignalsJSON{"cfgTrackMCsignalsJSON", "", "Additional list of MC signals via JSON"};
294307

295-
HistogramManager* fHistMan;
308+
HistogramManager* fHistMan = nullptr;
296309
std::vector<AnalysisCompositeCut*> fTrackCuts;
297310
std::vector<MCSignal*> fMCSignals; // list of signals to be checked
298311
std::vector<TString> fHistNamesReco;
@@ -320,7 +333,7 @@ struct AnalysisTrackSelection {
320333
if (addTrackCutsStr != "") {
321334
std::vector<AnalysisCut*> addTrackCuts = dqcuts::GetCutsFromJSON(addTrackCutsStr.Data());
322335
for (const auto& t : addTrackCuts) {
323-
fTrackCuts.push_back(reinterpret_cast<AnalysisCompositeCut*>(t));
336+
fTrackCuts.push_back(static_cast<AnalysisCompositeCut*>(t));
324337
}
325338
}
326339
VarManager::SetUseVars(AnalysisCut::fgUsedVars); // provide the list of required variables so that VarManager knows what to fill
@@ -352,7 +365,7 @@ struct AnalysisTrackSelection {
352365
if (fConfigQA) {
353366
fHistMan = new HistogramManager("analysisHistos", "aa", VarManager::kNVars);
354367
fHistMan->SetUseDefaultVariableNames(true);
355-
fHistMan->SetDefaultVarNames(VarManager::fgVariableNames, VarManager::fgVariableUnits);
368+
fHistMan->SetDefaultVarNames(dqefficiency_helpers::varNames(), dqefficiency_helpers::varUnits());
356369

357370
// Configure histogram classes for each track cut;
358371
// Add histogram classes for each track cut and for each requested MC signal (reconstructed tracks with MC truth)
@@ -421,16 +434,16 @@ struct AnalysisTrackSelection {
421434
}
422435

423436
if (fConfigQA) {
424-
fHistMan->FillHistClass("AssocsBarrel_BeforeCuts", VarManager::fgValues);
437+
fHistMan->FillHistClass("AssocsBarrel_BeforeCuts", dqefficiency_helpers::varValues());
425438
}
426439

427440
int iCut = 0;
428-
uint32_t filterMap = static_cast<uint32_t>(0);
441+
auto filterMap = static_cast<uint32_t>(0);
429442
for (auto cut = fTrackCuts.begin(); cut != fTrackCuts.end(); cut++, iCut++) {
430-
if ((*cut)->IsSelected(VarManager::fgValues)) {
443+
if ((*cut)->IsSelected(dqefficiency_helpers::varValues())) {
431444
filterMap |= (static_cast<uint32_t>(1) << iCut);
432445
if (fConfigQA) {
433-
fHistMan->FillHistClass(fHistNamesReco[iCut], VarManager::fgValues);
446+
fHistMan->FillHistClass(fHistNamesReco[iCut], dqefficiency_helpers::varValues());
434447
}
435448
}
436449
} // end loop over cuts
@@ -448,9 +461,9 @@ struct AnalysisTrackSelection {
448461
for (unsigned int icut = 0; icut < fTrackCuts.size(); icut++) {
449462
if (filterMap & (static_cast<uint32_t>(1) << icut)) {
450463
if (isCorrectAssoc) {
451-
fHistMan->FillHistClass(fHistNamesMCMatched[icut * 2 * fMCSignals.size() + 2 * isig].Data(), VarManager::fgValues);
464+
fHistMan->FillHistClass(fHistNamesMCMatched[icut * 2 * fMCSignals.size() + 2 * isig].Data(), dqefficiency_helpers::varValues());
452465
} else {
453-
fHistMan->FillHistClass(fHistNamesMCMatched[icut * 2 * fMCSignals.size() + 2 * isig + 1].Data(), VarManager::fgValues);
466+
fHistMan->FillHistClass(fHistNamesMCMatched[icut * 2 * fMCSignals.size() + 2 * isig + 1].Data(), dqefficiency_helpers::varValues());
454467
}
455468
}
456469
} // end loop over cuts
@@ -494,7 +507,7 @@ struct AnalysisTrackSelection {
494507
VarManager::ResetValues(0, VarManager::kNBarrelTrackVariables);
495508
VarManager::FillTrackAlice3<gkTrackFillMapWithCov>(track);
496509
VarManager::fgValues[VarManager::kBarrelNAssocsInBunch] = static_cast<float>(evIndices.size());
497-
fHistMan->FillHistClass("TrackBarrel_AmbiguityInBunch", VarManager::fgValues);
510+
fHistMan->FillHistClass("TrackBarrel_AmbiguityInBunch", dqefficiency_helpers::varValues());
498511
} // end loop over in-bunch ambiguous tracks
499512

500513
for (const auto& [trackIdx, evIndices] : fNAssocsOutOfBunch) {
@@ -505,7 +518,7 @@ struct AnalysisTrackSelection {
505518
VarManager::ResetValues(0, VarManager::kNBarrelTrackVariables);
506519
VarManager::FillTrackAlice3<gkTrackFillMapWithCov>(track);
507520
VarManager::fgValues[VarManager::kBarrelNAssocsOutOfBunch] = static_cast<float>(evIndices.size());
508-
fHistMan->FillHistClass("TrackBarrel_AmbiguityOutOfBunch", VarManager::fgValues);
521+
fHistMan->FillHistClass("TrackBarrel_AmbiguityOutOfBunch", dqefficiency_helpers::varValues());
509522
} // end loop over out-of-bunch ambiguous tracks
510523
}
511524

@@ -549,9 +562,9 @@ struct AnalysisPrefilterSelection {
549562
Configurable<bool> fPropTrack{"cfgPropTrack", false, "Propgate tracks to associated collision to recalculate DCA and momentum vector"};
550563

551564
std::map<uint32_t, uint32_t> fPrefilterMap;
552-
AnalysisCompositeCut* fPairCut;
553-
uint32_t fPrefilterMask;
554-
int fPrefilterCutBit;
565+
AnalysisCompositeCut* fPairCut = nullptr;
566+
uint32_t fPrefilterMask = 0;
567+
int fPrefilterCutBit = -1;
555568

556569
PresliceUnsorted<aod::ReducedA3TracksAssoc> trackAssocsPerCollision = aod::reducedA3track_association::reducedA3eventId;
557570

@@ -655,7 +668,7 @@ struct AnalysisPrefilterSelection {
655668
bool track1Loose = assoc1.isBarrelSelected_bit(fPrefilterCutBit);
656669
bool track2Loose = assoc2.isBarrelSelected_bit(fPrefilterCutBit);
657670

658-
if (!((track1Candidate > 0 && track2Loose) || (track2Candidate > 0 && track1Loose))) {
671+
if ((track1Candidate == 0 || !track2Loose) && (track2Candidate == 0 || !track1Loose)) {
659672
continue;
660673
}
661674

@@ -665,7 +678,7 @@ struct AnalysisPrefilterSelection {
665678
VarManager::FillPairCollision<VarManager::kDecayToEE, gkTrackFillMap>(event, track1, track2);
666679
}
667680
// if the pair fullfils the criteria, add an entry into the prefilter map for the two tracks
668-
if (fPairCut->IsSelected(VarManager::fgValues)) {
681+
if (fPairCut->IsSelected(dqefficiency_helpers::varValues())) {
669682
if (fPrefilterMap.find(track1.globalIndex()) == fPrefilterMap.end() && track1Candidate > 0) {
670683
fPrefilterMap[track1.globalIndex()] = track1Candidate;
671684
}
@@ -765,7 +778,7 @@ struct AnalysisSameEventPairing {
765778
// Filter filterEventSelected = aod::dqanalysisflags::isEventSelected & uint32_t(1);
766779
Filter eventFilter = aod::dqanalysisflags::isEventSelected > static_cast<uint32_t>(0);
767780

768-
HistogramManager* fHistMan;
781+
HistogramManager* fHistMan = nullptr;
769782

770783
// keep histogram class names in maps, so we don't have to buld their names in the pair loops
771784
std::map<int, std::vector<TString>> fTrackHistNames;
@@ -777,12 +790,12 @@ struct AnalysisSameEventPairing {
777790
AnalysisCompositeCut fMCGenAccCut;
778791
bool fUseMCGenAccCut = false;
779792

780-
uint32_t fTrackFilterMask; // mask for the track cuts required in this task to be applied on the barrel cuts produced upstream
781-
int fNCutsBarrel;
782-
int fNPairCuts;
793+
uint32_t fTrackFilterMask = 0; // mask for the track cuts required in this task to be applied on the barrel cuts produced upstream
794+
int fNCutsBarrel = 0;
795+
int fNPairCuts = 0;
783796
bool fHasTwoProngGenMCsignals = false;
784797

785-
bool fEnableBarrelHistos;
798+
bool fEnableBarrelHistos = false;
786799

787800
PresliceUnsorted<MyBarrelAssocsPrefilter> trackAssocsPerCollision = aod::reducedA3track_association::reducedA3eventId;
788801

@@ -980,7 +993,7 @@ struct AnalysisSameEventPairing {
980993

981994
fHistMan = new HistogramManager("analysisHistos", "aa", VarManager::kNVars);
982995
fHistMan->SetUseDefaultVariableNames(true);
983-
fHistMan->SetDefaultVarNames(VarManager::fgVariableNames, VarManager::fgVariableUnits);
996+
fHistMan->SetDefaultVarNames(dqefficiency_helpers::varNames(), dqefficiency_helpers::varUnits());
984997

985998
VarManager::SetCollisionSystem((TString)fConfigOptions.collisionSystem, fConfigOptions.centerMassEnergy); // set collision system and center of mass energy
986999

@@ -1003,10 +1016,10 @@ struct AnalysisSameEventPairing {
10031016
std::map<int, std::vector<TString>> histNamesMC = fBarrelHistNamesMCmatched;
10041017
int ncuts = fNCutsBarrel;
10051018

1006-
uint32_t twoTrackFilter = static_cast<uint32_t>(0);
1019+
auto twoTrackFilter = static_cast<uint32_t>(0);
10071020
int sign1 = 0;
10081021
int sign2 = 0;
1009-
uint32_t mcDecision = static_cast<uint32_t>(0);
1022+
auto mcDecision = static_cast<uint32_t>(0);
10101023
bool isCorrectAssoc_leg1 = false;
10111024
bool isCorrectAssoc_leg2 = false;
10121025

@@ -1201,8 +1214,6 @@ struct AnalysisSameEventPairing {
12011214

12021215
void runMCGenWithGrouping(MyEventsVtxCovSelected const& events, ReducedA3MCEvents const& /*mcEvents*/, ReducedA3MCTracks const& mcTracks)
12031216
{
1204-
int isig = 0;
1205-
12061217
for (const auto& mctrack : mcTracks) {
12071218
VarManager::FillTrackMC(mcTracks, mctrack);
12081219
// if we have a mc generated acceptance cut, apply it here
@@ -1241,13 +1252,11 @@ struct AnalysisSameEventPairing {
12411252
}
12421253
}
12431254
auto track_raw = mcTracks.rawIteratorAt(track.globalIndex());
1244-
isig = 0;
12451255
for (const auto& sig : fGenMCSignals) {
12461256
if (sig->CheckSignal(true, track_raw)) {
12471257
fHistMan->FillHistClass(Form("MCTruthGenSel_%s", sig->GetName()), VarManager::fgValues);
12481258
MCTruthTableEffi(VarManager::fgValues[VarManager::kMCPt], VarManager::fgValues[VarManager::kMCEta], VarManager::fgValues[VarManager::kMCY], VarManager::fgValues[VarManager::kMCPhi], VarManager::fgValues[VarManager::kMCVz], VarManager::fgValues[VarManager::kMCVtxZ], VarManager::fgValues[VarManager::kMultFT0A], VarManager::fgValues[VarManager::kMultFT0C], VarManager::fgValues[VarManager::kCentFT0M], VarManager::fgValues[VarManager::kVtxNcontribReal]);
12491259
}
1250-
isig++;
12511260
}
12521261
}
12531262
} // end loop over reconstructed events
@@ -1289,7 +1298,6 @@ struct AnalysisSameEventPairing {
12891298
auto t1_raw = mcTracks.rawIteratorAt(t1.globalIndex());
12901299
auto t2_raw = mcTracks.rawIteratorAt(t2.globalIndex());
12911300
if (t1_raw.reducedA3MCEventId() == t2_raw.reducedA3MCEventId()) {
1292-
isig = 0;
12931301
for (const auto& sig : fGenMCSignals) {
12941302
if (sig->GetNProngs() != TWO_PRONG) { // NOTE: 2-prong signals required here
12951303
continue;
@@ -1303,7 +1311,6 @@ struct AnalysisSameEventPairing {
13031311
}
13041312
fHistMan->FillHistClass(Form("MCTruthGenPairSel_%s", sig->GetName()), VarManager::fgValues);
13051313
}
1306-
isig++;
13071314
}
13081315
}
13091316
}
@@ -1531,7 +1538,7 @@ struct AnalysisAsymmetricPairing {
15311538
Configurable<std::string> fConfigMCRecSignalsJSON{"cfgMCRecSignalsJSON", "", "Additional list of MC signals (reconstructed) via JSON"};
15321539
Configurable<std::string> fConfigMCGenSignalsJSON{"cfgMCGenSignalsJSON", "", "Comma separated list of MC signals (generated) via JSON"};
15331540

1534-
HistogramManager* fHistMan;
1541+
HistogramManager* fHistMan = nullptr;
15351542

15361543
std::vector<AnalysisCompositeCut*> fPairCuts;
15371544
int fNPairHistPrefixes;
@@ -1540,9 +1547,9 @@ struct AnalysisAsymmetricPairing {
15401547
std::vector<MCSignal*> fGenMCSignals;
15411548

15421549
// Filter masks to find legs in BarrelTrackCuts table
1543-
uint32_t fLegAFilterMask;
1544-
uint32_t fLegBFilterMask;
1545-
uint32_t fLegCFilterMask;
1550+
uint32_t fLegAFilterMask = 0;
1551+
uint32_t fLegBFilterMask = 0;
1552+
uint32_t fLegCFilterMask = 0;
15461553
// Maps tracking which combination of leg cuts the track cuts participate in
15471554
std::map<int, uint32_t> fConstructedLegAFilterMasksMap;
15481555
std::map<int, uint32_t> fConstructedLegBFilterMasksMap;
@@ -1552,9 +1559,9 @@ struct AnalysisAsymmetricPairing {
15521559
// Map tracking which common track cut the track cuts correspond to
15531560
std::map<int, uint32_t> fCommonTrackCutFilterMasks;
15541561

1555-
int fNLegCuts;
1562+
int fNLegCuts = 0;
15561563
int fNPairCuts = 0;
1557-
int fNCommonTrackCuts;
1564+
int fNCommonTrackCuts = 0;
15581565
// vectors for cut names and signal names, for easy access when calling FillHistogramList()
15591566
std::vector<TString> fLegCutNames;
15601567
std::vector<TString> fPairCutNames;
@@ -1999,13 +2006,13 @@ struct AnalysisAsymmetricPairing {
19992006
}
20002007

20012008
// run MC matching for this pair
2002-
int isig = 0;
2009+
int iSigMc = 0;
20032010
mcDecision = 0;
2004-
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
2011+
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, iSigMc++) {
20052012
if (t1.has_reducedA3MCTrack() && t2.has_reducedA3MCTrack()) {
20062013
VarManager::FillPairMC<VarManager::kDecayToKPi>(t1.reducedA3MCTrack(), t2.reducedA3MCTrack());
20072014
if ((*sig)->CheckSignal(true, t1.reducedA3MCTrack(), t2.reducedA3MCTrack())) {
2008-
mcDecision |= static_cast<uint32_t>(1) << isig;
2015+
mcDecision |= static_cast<uint32_t>(1) << iSigMc;
20092016
}
20102017
}
20112018
} // end loop over MC signals
@@ -2268,12 +2275,12 @@ struct AnalysisAsymmetricPairing {
22682275
}
22692276

22702277
// run MC matching for this triplet
2271-
int isig = 0;
2278+
int iSigMc = 0;
22722279
mcDecision = 0;
2273-
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
2280+
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, iSigMc++) {
22742281
if (t1.has_reducedA3MCTrack() && t2.has_reducedA3MCTrack() && t3.has_reducedA3MCTrack()) {
22752282
if ((*sig)->CheckSignal(true, t1.reducedA3MCTrack(), t2.reducedA3MCTrack(), t3.reducedA3MCTrack())) {
2276-
mcDecision |= (static_cast<uint32_t>(1) << isig);
2283+
mcDecision |= (static_cast<uint32_t>(1) << iSigMc);
22772284
}
22782285
}
22792286
} // end loop over MC signals

0 commit comments

Comments
 (0)