Skip to content

Commit 3eed175

Browse files
author
Ionut-Cristian Arsene
committed
Remove the stack from MCSignal::CheckSignal
1 parent e827820 commit 3eed175

File tree

5 files changed

+45
-45
lines changed

5 files changed

+45
-45
lines changed

PWGDQ/Core/MCSignal.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ class MCSignal : public TNamed
8585
return fProngs[0].fNGenerations;
8686
}
8787

88-
template <typename U, typename... T>
89-
bool CheckSignal(bool checkSources, const U& mcStack, const T&... args)
88+
template <typename... T>
89+
bool CheckSignal(bool checkSources, const T&... args)
9090
{
9191
// Make sure number of tracks provided is equal to the number of prongs
9292
if (sizeof...(args) != fNProngs) { // TODO: addd a proper error message
9393
return false;
9494
}
9595

96-
return CheckMC(0, checkSources, mcStack, args...);
96+
return CheckMC(0, checkSources, args...);
9797
};
9898

9999
void PrintConfig();
@@ -104,31 +104,31 @@ class MCSignal : public TNamed
104104
std::vector<short> fCommonAncestorIdxs;
105105
int fTempAncestorLabel;
106106

107-
template <typename U, typename T>
108-
bool CheckProng(int i, bool checkSources, const U& mcStack, const T& track);
107+
template <typename T>
108+
bool CheckProng(int i, bool checkSources, const T& track);
109109

110110
template <typename U>
111111
bool CheckMC(int, bool, U)
112112
{
113113
return true;
114114
};
115115

116-
template <typename U, typename T, typename... Ts>
117-
bool CheckMC(int i, bool checkSources, const U& mcStack, const T& track, const Ts&... args)
116+
template <typename T, typename... Ts>
117+
bool CheckMC(int i, bool checkSources, const T& track, const Ts&... args)
118118
{
119119
// recursive call of CheckMC for all args
120-
if (!CheckProng(i, checkSources, mcStack, track)) {
120+
if (!CheckProng(i, checkSources, track)) {
121121
return false;
122122
} else {
123-
return CheckMC(i + 1, checkSources, mcStack, args...);
123+
return CheckMC(i + 1, checkSources, args...);
124124
}
125125
};
126126

127127
ClassDef(MCSignal, 1);
128128
};
129129

130-
template <typename U, typename T>
131-
bool MCSignal::CheckProng(int i, bool checkSources, const U& mcStack, const T& track)
130+
template <typename T>
131+
bool MCSignal::CheckProng(int i, bool checkSources, const T& track)
132132
{
133133
auto currentMCParticle = track;
134134
// loop over the generations specified for this prong
@@ -159,8 +159,8 @@ bool MCSignal::CheckProng(int i, bool checkSources, const U& mcStack, const T& t
159159
LOGF(debug, "M2 %d %d", mcParticle.globalIndex(), m.globalIndex());
160160
}*/
161161
if (currentMCParticle.has_mothers() && j < fProngs[i].fNGenerations - 1) {
162-
// currentMCParticle = currentMCParticle.template mothers_first_as<U>();
163-
currentMCParticle = mcStack.iteratorAt(currentMCParticle.mothersIds()[0]);
162+
currentMCParticle = currentMCParticle.mothers_first_as<>();
163+
//currentMCParticle = mcStack.iteratorAt(currentMCParticle.mothersIds()[0]);
164164
// currentMCParticle = currentMCParticle.template mother0_as<U>();
165165
}
166166
} else {
@@ -169,11 +169,11 @@ bool MCSignal::CheckProng(int i, bool checkSources, const U& mcStack, const T& t
169169
return false;
170170
}
171171
if (currentMCParticle.has_daughters() && j < fProngs[i].fNGenerations - 1) {
172-
const auto& daughtersSlice = currentMCParticle.template daughters_as<U>();
172+
const auto& daughtersSlice = currentMCParticle.daughters_as<>();
173173
for (auto& d : daughtersSlice) {
174174
if (fProngs[i].TestPDG(j + 1, d.pdgCode())) {
175175
// currentMCParticle = d;
176-
currentMCParticle = mcStack.iteratorAt(currentMCParticle.daughtersIds()[0]);
176+
//currentMCParticle = mcStack.iteratorAt(currentMCParticle.daughtersIds()[0]);
177177
break;
178178
}
179179
}
@@ -235,8 +235,8 @@ bool MCSignal::CheckProng(int i, bool checkSources, const U& mcStack, const T& t
235235
/*for (auto& m : mcParticle.mothers_as<aod::McParticles_001>()) {
236236
LOGF(debug, "M2 %d %d", mcParticle.globalIndex(), m.globalIndex());
237237
}*/
238-
// currentMCParticle = currentMCParticle.template mothers_first_as<U>();
239-
currentMCParticle = mcStack.iteratorAt(currentMCParticle.mothersIds()[0]);
238+
currentMCParticle = currentMCParticle.mothers_first_as<>();
239+
//currentMCParticle = mcStack.iteratorAt(currentMCParticle.mothersIds()[0]);
240240
// currentMCParticle = currentMCParticle.template mother0_as<U>();
241241
}
242242
/*if (j < fProngs[i].fNGenerations - 1) {
@@ -251,11 +251,11 @@ bool MCSignal::CheckProng(int i, bool checkSources, const U& mcStack, const T& t
251251
return false;
252252
}
253253
if (currentMCParticle.has_daughters() && j < fProngs[i].fNGenerations - 1) {
254-
const auto& daughtersSlice = currentMCParticle.template daughters_as<U>();
254+
const auto& daughtersSlice = currentMCParticle.daughters_as<>();
255255
for (auto& d : daughtersSlice) {
256256
if (fProngs[i].TestPDG(j + 1, d.pdgCode())) {
257257
// currentMCParticle = d;
258-
currentMCParticle = mcStack.iteratorAt(currentMCParticle.daughtersIds()[0]);
258+
//currentMCParticle = mcStack.iteratorAt(currentMCParticle.daughtersIds()[0]);
259259
break;
260260
}
261261
}

PWGDQ/TableProducer/tableMakerMC.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ struct TableMakerMC {
408408
mcflags = 0;
409409
int i = 0;
410410
for (auto& sig : fMCSignals) {
411-
if (sig.CheckSignal(true, mcTracks, mctrack)) {
411+
if (sig.CheckSignal(true, mctrack)) {
412412
mcflags |= (uint16_t(1) << i);
413413
}
414414
i++;
@@ -523,7 +523,7 @@ struct TableMakerMC {
523523
int j = 0; // runs over the track cuts
524524
// check all the specified signals and fill histograms for MC truth matched tracks
525525
for (auto& sig : fMCSignals) {
526-
if (sig.CheckSignal(true, mcTracks, mctrack)) {
526+
if (sig.CheckSignal(true, mctrack)) {
527527
mcflags |= (uint16_t(1) << i);
528528
if (fDoDetailedQA) {
529529
j = 0;
@@ -680,7 +680,7 @@ struct TableMakerMC {
680680
int j = 0; // runs over the track cuts
681681
// check all the specified signals and fill histograms for MC truth matched tracks
682682
for (auto& sig : fMCSignals) {
683-
if (sig.CheckSignal(true, mcTracks, mctrack)) {
683+
if (sig.CheckSignal(true, mctrack)) {
684684
mcflags |= (uint16_t(1) << i);
685685
if (fDoDetailedQA) {
686686
fHistMan->FillHistClass(Form("Muons_BeforeCuts_%s", sig.GetName()), VarManager::fgValues); // fill the reconstructed truth BeforeCuts

PWGDQ/Tasks/dqEfficiency.cxx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -281,12 +281,12 @@ struct AnalysisTrackSelection {
281281
int isig = 0;
282282
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
283283
if constexpr ((TTrackFillMap & VarManager::ObjTypes::ReducedTrack) > 0) {
284-
if ((*sig).CheckSignal(false, tracksMC, track.reducedMCTrack())) {
284+
if ((*sig).CheckSignal(false, track.reducedMCTrack())) {
285285
mcDecision |= (uint32_t(1) << isig);
286286
}
287287
}
288288
if constexpr ((TTrackFillMap & VarManager::ObjTypes::Track) > 0) {
289-
if ((*sig).CheckSignal(false, tracksMC, track.template mcParticle_as<aod::McParticles_001>())) {
289+
if ((*sig).CheckSignal(false, track.template mcParticle_as<aod::McParticles_001>())) {
290290
mcDecision |= (uint32_t(1) << isig);
291291
}
292292
}
@@ -445,12 +445,12 @@ struct AnalysisMuonSelection {
445445
int isig = 0;
446446
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
447447
if constexpr ((TMuonFillMap & VarManager::ObjTypes::ReducedMuon) > 0) {
448-
if ((*sig).CheckSignal(false, muonsMC, muon.reducedMCTrack())) {
448+
if ((*sig).CheckSignal(false, muon.reducedMCTrack())) {
449449
mcDecision |= (uint32_t(1) << isig);
450450
}
451451
}
452452
if constexpr ((TMuonFillMap & VarManager::ObjTypes::Muon) > 0) {
453-
if ((*sig).CheckSignal(false, muonsMC, muon.template mcParticle_as<aod::McParticles_001>())) {
453+
if ((*sig).CheckSignal(false, muon.template mcParticle_as<aod::McParticles_001>())) {
454454
mcDecision |= (uint32_t(1) << isig);
455455
}
456456
}
@@ -764,12 +764,12 @@ struct AnalysisSameEventPairing {
764764
int isig = 0;
765765
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
766766
if constexpr (TTrackFillMap & VarManager::ObjTypes::ReducedTrack || TTrackFillMap & VarManager::ObjTypes::ReducedMuon) { // for skimmed DQ model
767-
if ((*sig).CheckSignal(false, tracksMC, t1.reducedMCTrack(), t2.reducedMCTrack())) {
767+
if ((*sig).CheckSignal(false, t1.reducedMCTrack(), t2.reducedMCTrack())) {
768768
mcDecision |= (uint32_t(1) << isig);
769769
}
770770
}
771771
if constexpr (TTrackFillMap & VarManager::ObjTypes::Track || TTrackFillMap & VarManager::ObjTypes::Muon) { // for Framework data model
772-
if ((*sig).CheckSignal(false, tracksMC, t1.template mcParticle_as<aod::McParticles_001>(), t2.template mcParticle_as<aod::McParticles_001>())) {
772+
if ((*sig).CheckSignal(false, t1.template mcParticle_as<aod::McParticles_001>(), t2.template mcParticle_as<aod::McParticles_001>())) {
773773
mcDecision |= (uint32_t(1) << isig);
774774
}
775775
}
@@ -824,7 +824,7 @@ struct AnalysisSameEventPairing {
824824
if (sig.GetNProngs() != 1) { // NOTE: 1-prong signals required
825825
continue;
826826
}
827-
if (sig.CheckSignal(false, groupedMCTracks, mctrack)) {
827+
if (sig.CheckSignal(false, mctrack)) {
828828
fHistMan->FillHistClass(Form("MCTruthGen_%s", sig.GetName()), VarManager::fgValues);
829829
}
830830
}
@@ -836,7 +836,7 @@ struct AnalysisSameEventPairing {
836836
continue;
837837
}
838838
for (auto& [t1, t2] : combinations(groupedMCTracks, groupedMCTracks)) {
839-
if (sig.CheckSignal(false, groupedMCTracks, t1, t2)) {
839+
if (sig.CheckSignal(false, t1, t2)) {
840840
VarManager::FillPairMC(t1, t2);
841841
fHistMan->FillHistClass(Form("MCTruthGenPair_%s", sig.GetName()), VarManager::fgValues);
842842
}
@@ -1085,7 +1085,7 @@ struct AnalysisDileptonTrack {
10851085
int isig = 0;
10861086
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
10871087
if constexpr (TTrackFillMap & VarManager::ObjTypes::ReducedTrack || TTrackFillMap & VarManager::ObjTypes::ReducedMuon) { // for skimmed DQ model
1088-
if ((*sig).CheckSignal(false, tracksMC, lepton1MC, lepton2MC)) {
1088+
if ((*sig).CheckSignal(false, lepton1MC, lepton2MC)) {
10891089
mcDecision |= (uint32_t(1) << isig);
10901090
}
10911091
}
@@ -1117,7 +1117,7 @@ struct AnalysisDileptonTrack {
11171117
isig = 0;
11181118
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
11191119
if constexpr (TTrackFillMap & VarManager::ObjTypes::ReducedTrack || TTrackFillMap & VarManager::ObjTypes::ReducedMuon || TTrackFillMap & VarManager::ObjTypes::ReducedMuon) { // for skimmed DQ model
1120-
if ((*sig).CheckSignal(false, tracksMC, lepton1MC, lepton2MC, trackMC)) {
1120+
if ((*sig).CheckSignal(false, lepton1MC, lepton2MC, trackMC)) {
11211121
mcDecision |= (uint32_t(1) << isig);
11221122
}
11231123
}
@@ -1151,7 +1151,7 @@ struct AnalysisDileptonTrack {
11511151
if (sig.GetNProngs() != 1) { // NOTE: 1-prong signals required
11521152
continue;
11531153
}
1154-
if (sig.CheckSignal(false, groupedMCTracks, mctrack)) {
1154+
if (sig.CheckSignal(false, mctrack)) {
11551155
fHistMan->FillHistClass(Form("MCTruthGen_%s", sig.GetName()), VarManager::fgValues);
11561156
}
11571157
}

PWGEM/Dilepton/Tasks/MCtemplates.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,12 @@ struct AnalysisTrackSelection {
267267
int isig = 0;
268268
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
269269
if constexpr ((TTrackFillMap & VarManager::ObjTypes::ReducedTrack) > 0) {
270-
if ((*sig).CheckSignal(false, tracksMC, track.reducedMCTrack())) {
270+
if ((*sig).CheckSignal(false, track.reducedMCTrack())) {
271271
mcDecision |= (uint32_t(1) << isig);
272272
}
273273
}
274274
if constexpr ((TTrackFillMap & VarManager::ObjTypes::Track) > 0) {
275-
if ((*sig).CheckSignal(false, tracksMC, track.template mcParticle_as<aod::McParticles_001>())) {
275+
if ((*sig).CheckSignal(false, track.template mcParticle_as<aod::McParticles_001>())) {
276276
mcDecision |= (uint32_t(1) << isig);
277277
}
278278
}
@@ -436,12 +436,12 @@ struct AnalysisSameEventPairing {
436436
int isig = 0;
437437
for (auto sig = fRecMCSignals.begin(); sig != fRecMCSignals.end(); sig++, isig++) {
438438
if constexpr ((TTrackFillMap & VarManager::ObjTypes::ReducedTrack) > 0) { // for skimmed DQ model
439-
if ((*sig).CheckSignal(false, tracksMC, t1.reducedMCTrack(), t2.reducedMCTrack())) {
439+
if ((*sig).CheckSignal(false, t1.reducedMCTrack(), t2.reducedMCTrack())) {
440440
mcDecision |= (uint32_t(1) << isig);
441441
}
442442
}
443443
if constexpr ((TTrackFillMap & VarManager::ObjTypes::Track) > 0) { // for Framework data model
444-
if ((*sig).CheckSignal(false, tracksMC, t1.template mcParticle_as<aod::McParticles_001>(), t2.template mcParticle_as<aod::McParticles_001>())) {
444+
if ((*sig).CheckSignal(false, t1.template mcParticle_as<aod::McParticles_001>(), t2.template mcParticle_as<aod::McParticles_001>())) {
445445
mcDecision |= (uint32_t(1) << isig);
446446
}
447447
}
@@ -489,7 +489,7 @@ struct AnalysisSameEventPairing {
489489
if (sig.GetNProngs() != 1) { // NOTE: 1-prong signals required
490490
continue;
491491
}
492-
if (sig.CheckSignal(false, groupedMCTracks, mctrack)) {
492+
if (sig.CheckSignal(false, mctrack)) {
493493
fHistMan->FillHistClass(Form("MCTruthGen_%s", sig.GetName()), VarManager::fgValues);
494494
}
495495
}
@@ -501,7 +501,7 @@ struct AnalysisSameEventPairing {
501501
continue;
502502
}
503503
for (auto& [t1, t2] : combinations(groupedMCTracks, groupedMCTracks)) {
504-
if (sig.CheckSignal(false, groupedMCTracks, t1, t2)) {
504+
if (sig.CheckSignal(false, t1, t2)) {
505505
VarManager::FillPairMC(t1, t2);
506506
fHistMan->FillHistClass(Form("MCTruthGenPair_%s", sig.GetName()), VarManager::fgValues);
507507
}

PWGEM/Dilepton/Tasks/emEfficiencyEE.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@ struct AnalysisTrackSelection {
716716
VarManager::FillTrackMC(groupedMCTracks, mctrack);
717717
int isig = 0;
718718
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
719-
if ((*sig).CheckSignal<TTracksMC>(true, groupedMCTracks, mctrack)) {
719+
if ((*sig).CheckSignal(true, mctrack)) {
720720
if (mctrack.pdgCode() > 0) {
721721
fHistGenNegPart[isig]->Fill(mctrack.pt(), mctrack.eta(), mctrack.phi());
722722
if constexpr (smeared)
@@ -784,14 +784,14 @@ struct AnalysisTrackSelection {
784784
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
785785

786786
if constexpr ((TTrackFillMap & VarManager::ObjTypes::ReducedTrack) > 0) {
787-
if ((*sig).CheckSignal(true, tracksMC, track.reducedMCTrack())) {
787+
if ((*sig).CheckSignal(true, track.reducedMCTrack())) {
788788
mcDecision |= (uint32_t(1) << isig);
789789
}
790790
}
791791
if constexpr ((TTrackFillMap & VarManager::ObjTypes::Track) > 0) {
792792
if (track.has_mcParticle()) {
793793
auto mctrack = track.template mcParticle_as<aod::McParticles>();
794-
if ((*sig).CheckSignal(true, tracksMC, mctrack)) {
794+
if ((*sig).CheckSignal(true, mctrack)) {
795795
mcDecision |= (uint32_t(1) << isig);
796796
}
797797
}
@@ -1188,7 +1188,7 @@ struct AnalysisSameEventPairing {
11881188

11891189
int isig = 0;
11901190
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
1191-
if ((*sig).CheckSignal(true, groupedMCTracks, t1, t2)) {
1191+
if ((*sig).CheckSignal(true, t1, t2)) {
11921192

11931193
// not smeared after fiducial cuts
11941194
if (genfidcut) {
@@ -1266,7 +1266,7 @@ struct AnalysisSameEventPairing {
12661266
if (!t1.reducedMCTrack().isPhysicalPrimary() || !t2.reducedMCTrack().isPhysicalPrimary())
12671267
continue;
12681268
}
1269-
if ((*sig).CheckSignal(true, tracksMC, t1.reducedMCTrack(), t2.reducedMCTrack())) {
1269+
if ((*sig).CheckSignal(true, t1.reducedMCTrack(), t2.reducedMCTrack())) {
12701270
mcDecision |= (uint32_t(1) << isig);
12711271
}
12721272
}
@@ -1279,7 +1279,7 @@ struct AnalysisSameEventPairing {
12791279
if (!mct1.isPhysicalPrimary() || !mct2.isPhysicalPrimary())
12801280
continue;
12811281
}
1282-
if ((*sig).CheckSignal(true, tracksMC, mct1, mct2)) {
1282+
if ((*sig).CheckSignal(true, mct1, mct2)) {
12831283
mcDecision |= (uint32_t(1) << isig);
12841284
}
12851285
}

0 commit comments

Comments
 (0)