@@ -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