Skip to content

Commit faa46f8

Browse files
Fixing the issue with the dqEfficiency histograms (AliceO2Group#815)
Co-authored-by: Lucamicheletti93 <luca.mike93@gmail.com>
1 parent f775418 commit faa46f8

1 file changed

Lines changed: 54 additions & 44 deletions

File tree

PWGDQ/Tasks/dqEfficiency.cxx

Lines changed: 54 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ struct AnalysisTrackSelection {
167167

168168
void init(o2::framework::InitContext&)
169169
{
170+
// Setting the cut names
170171
TString cutNamesStr = fConfigCuts.value;
171172
if (!cutNamesStr.IsNull()) {
172173
std::unique_ptr<TObjArray> objArray(cutNamesStr.Tokenize(","));
@@ -179,6 +180,17 @@ struct AnalysisTrackSelection {
179180
TString configSigNamesStr = fConfigMCSignals.value;
180181
std::unique_ptr<TObjArray> sigNamesArray(configSigNamesStr.Tokenize(","));
181182

183+
// Setting the MC signal names
184+
for (int isig = 0; isig < sigNamesArray->GetEntries(); ++isig) {
185+
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(sigNamesArray->At(isig)->GetName());
186+
if (sig) {
187+
if (sig->GetNProngs() != 1) { // NOTE: only 1 prong signals
188+
continue;
189+
}
190+
fMCSignals.push_back(*sig);
191+
}
192+
}
193+
182194
// Configure histogram classes for each track cut;
183195
// Add histogram classes for each track cut and for each requested MC signal (reconstructed tracks with MC truth)
184196
TString histClasses = "TrackBarrel_BeforeCuts;";
@@ -187,17 +199,11 @@ struct AnalysisTrackSelection {
187199
fHistNamesReco.push_back(nameStr);
188200
histClasses += Form("%s;", nameStr.Data());
189201
std::vector<TString> mcnames;
190-
for (int isig = 0; isig < sigNamesArray->GetEntries(); ++isig) {
191-
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(sigNamesArray->At(isig)->GetName());
192-
if (sig) {
193-
if (sig->GetNProngs() != 1) { // NOTE: only 1 prong signals
194-
continue;
195-
}
196-
fMCSignals.push_back(*sig);
197-
TString nameStr2 = Form("TrackBarrel_%s_%s", cut.GetName(), sigNamesArray->At(isig)->GetName());
198-
mcnames.push_back(nameStr2);
199-
histClasses += Form("%s;", nameStr2.Data());
200-
}
202+
for (auto& sig : fMCSignals) {
203+
TString nameStr2 = Form("TrackBarrel_%s_%s", cut.GetName(), sig.GetName());
204+
printf("Adding my histogram class %s\n", nameStr2.Data());
205+
mcnames.push_back(nameStr2);
206+
histClasses += Form("%s;", nameStr2.Data());
201207
}
202208
fHistNamesMCMatched.push_back(mcnames);
203209
}
@@ -321,6 +327,7 @@ struct AnalysisMuonSelection {
321327

322328
void init(o2::framework::InitContext&)
323329
{
330+
// Setting the cut names
324331
TString cutNamesStr = fConfigCuts.value;
325332
if (!cutNamesStr.IsNull()) {
326333
std::unique_ptr<TObjArray> objArray(cutNamesStr.Tokenize(","));
@@ -333,6 +340,17 @@ struct AnalysisMuonSelection {
333340
TString configSigNamesStr = fConfigMCSignals.value;
334341
std::unique_ptr<TObjArray> sigNamesArray(configSigNamesStr.Tokenize(","));
335342

343+
// Setting the MC signal names
344+
for (int isig = 0; isig < sigNamesArray->GetEntries(); ++isig) {
345+
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(sigNamesArray->At(isig)->GetName());
346+
if (sig) {
347+
if (sig->GetNProngs() != 1) { // NOTE: only 1 prong signals
348+
continue;
349+
}
350+
fMCSignals.push_back(*sig);
351+
}
352+
}
353+
336354
// Configure histogram classes for each track cut;
337355
// Add histogram classes for each track cut and for each requested MC signal (reconstructed tracks with MC truth)
338356
TString histClasses = "Muon_BeforeCuts;";
@@ -341,17 +359,11 @@ struct AnalysisMuonSelection {
341359
fHistNamesReco.push_back(nameStr);
342360
histClasses += Form("%s;", nameStr.Data());
343361
std::vector<TString> mcnames;
344-
for (int isig = 0; isig < sigNamesArray->GetEntries(); ++isig) {
345-
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(sigNamesArray->At(isig)->GetName());
346-
if (sig) {
347-
if (sig->GetNProngs() != 1) { // NOTE: only 1 prong signals
348-
continue;
349-
}
350-
fMCSignals.push_back(*sig);
351-
TString nameStr2 = Form("Muon_%s_%s;", cut.GetName(), sigNamesArray->At(isig)->GetName());
352-
mcnames.push_back(nameStr2);
353-
histClasses += Form("%s;", nameStr2.Data());
354-
}
362+
for (auto& sig : fMCSignals) {
363+
TString nameStr2 = Form("TrackBarrel_%s_%s", cut.GetName(), sig.GetName());
364+
printf("Adding my histogram class %s\n", nameStr2.Data());
365+
mcnames.push_back(nameStr2);
366+
histClasses += Form("%s;", nameStr2.Data());
355367
}
356368
fHistNamesMCMatched.push_back(mcnames);
357369
}
@@ -510,6 +522,18 @@ struct AnalysisSameEventPairing {
510522
TString sigNamesStr = fConfigMCRecSignals.value;
511523
std::unique_ptr<TObjArray> objRecSigArray(sigNamesStr.Tokenize(","));
512524
TString histNames = "";
525+
526+
// Setting the MC rec signal names
527+
for (int isig = 0; isig < objRecSigArray->GetEntries(); ++isig) {
528+
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(objRecSigArray->At(isig)->GetName());
529+
if (sig) {
530+
if (sig->GetNProngs() != 2) { // NOTE: 2-prong signals required
531+
continue;
532+
}
533+
fRecMCSignals.push_back(*sig);
534+
}
535+
}
536+
513537
if (enableBarrelHistos) {
514538
TString cutNames = fConfigTrackCuts.value;
515539
if (!cutNames.IsNull()) {
@@ -523,17 +547,10 @@ struct AnalysisSameEventPairing {
523547
fBarrelHistNames.push_back(names);
524548
std::vector<TString> mcSigClasses;
525549
if (!sigNamesStr.IsNull()) {
526-
for (int isig = 0; isig < objRecSigArray->GetEntries(); ++isig) {
527-
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(objRecSigArray->At(isig)->GetName());
528-
if (sig) {
529-
if (sig->GetNProngs() != 2) { // NOTE: 2-prong signals required
530-
continue;
531-
}
532-
fRecMCSignals.push_back(*sig);
533-
TString histName = Form("PairsBarrelSEPM_%s_%s", objArray->At(icut)->GetName(), sig->GetName());
534-
histNames += Form("%s;", histName.Data());
535-
mcSigClasses.push_back(histName);
536-
}
550+
for (auto& sig : fRecMCSignals) {
551+
TString histName = Form("PairsBarrelSEPM_%s_%s", objArray->At(icut)->GetName(), sig.GetName());
552+
histNames += Form("%s;", histName.Data());
553+
mcSigClasses.push_back(histName);
537554
} // end loop over MC signals
538555
}
539556
fBarrelHistNamesMCmatched.push_back(mcSigClasses);
@@ -555,17 +572,10 @@ struct AnalysisSameEventPairing {
555572
fMuonHistNames.push_back(names);
556573
std::vector<TString> mcSigClasses;
557574
if (!sigNamesStr.IsNull()) {
558-
for (int isig = 0; isig < objRecSigArray->GetEntries(); ++isig) {
559-
MCSignal* sig = o2::aod::dqmcsignals::GetMCSignal(objRecSigArray->At(isig)->GetName());
560-
if (sig) {
561-
if (sig->GetNProngs() != 2) { // NOTE: 2-prong signals required
562-
continue;
563-
}
564-
fRecMCSignals.push_back(*sig);
565-
TString histName = Form("PairsMuonSEPM_%s_%s", objArray->At(icut)->GetName(), sig->GetName());
566-
histNames += Form("%s;", histName.Data());
567-
mcSigClasses.push_back(histName);
568-
}
575+
for (auto& sig : fRecMCSignals) {
576+
TString histName = Form("PairsMuonSEPM_%s_%s", objArray->At(icut)->GetName(), sig.GetName());
577+
histNames += Form("%s;", histName.Data());
578+
mcSigClasses.push_back(histName);
569579
} // end loop over MC signals
570580
}
571581
fMuonHistNamesMCmatched.push_back(mcSigClasses);

0 commit comments

Comments
 (0)