@@ -1205,22 +1205,22 @@ struct AnalysisSameEventPairing {
12051205 if (!sigNamesStr.IsNull ()) {
12061206 for (unsigned int isig = 0 ; isig < fRecMCSignals .size (); isig++) {
12071207 auto sig = fRecMCSignals .at (isig);
1208+ names = {
1209+ Form (" PairsBarrelSEPM_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1210+ Form (" PairsBarrelSEPP_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1211+ Form (" PairsBarrelSEMM_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ())};
12081212 if (fConfigQA ) {
1209- names = {
1210- Form (" PairsBarrelSEPM_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1211- Form (" PairsBarrelSEPMCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1212- Form (" PairsBarrelSEPMIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1213- Form (" PairsBarrelSEPM_ambiguousInBunch_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1214- Form (" PairsBarrelSEPM_ambiguousInBunchCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1215- Form (" PairsBarrelSEPM_ambiguousInBunchIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1216- Form (" PairsBarrelSEPM_ambiguousOutOfBunch_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1217- Form (" PairsBarrelSEPM_ambiguousOutOfBunchCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()),
1218- Form (" PairsBarrelSEPM_ambiguousOutOfBunchIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ())};
1219- histNames += Form (" %s;%s;%s;%s;%s;%s;%s;%s;%s;" , names[0 ].Data (), names[1 ].Data (), names[2 ].Data (), names[3 ].Data (), names[4 ].Data (), names[5 ].Data (), names[6 ].Data (), names[7 ].Data (), names[8 ].Data ());
1220- } else {
1221- names = {
1222- Form (" PairsBarrelSEPM_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ())};
1223- histNames += Form (" %s;" , names[0 ].Data ());
1213+ names.push_back (Form (" PairsBarrelSEPMCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1214+ names.push_back (Form (" PairsBarrelSEPMIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1215+ names.push_back (Form (" PairsBarrelSEPM_ambiguousInBunch_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1216+ names.push_back (Form (" PairsBarrelSEPM_ambiguousInBunchCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1217+ names.push_back (Form (" PairsBarrelSEPM_ambiguousInBunchIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1218+ names.push_back (Form (" PairsBarrelSEPM_ambiguousOutOfBunch_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1219+ names.push_back (Form (" PairsBarrelSEPM_ambiguousOutOfBunchCorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1220+ names.push_back (Form (" PairsBarrelSEPM_ambiguousOutOfBunchIncorrectAssoc_%s_%s" , objArray->At (icut)->GetName (), sig.GetName ()));
1221+ }
1222+ for (auto & n : names) {
1223+ histNames += Form (" %s;" , n.Data ());
12241224 }
12251225 fBarrelHistNamesMCmatched .try_emplace (icut * fRecMCSignals .size () + isig, names);
12261226 } // end loop over MC signals
@@ -1579,37 +1579,40 @@ struct AnalysisSameEventPairing {
15791579 fHistMan ->FillHistClass (histNames[icut][0 ].Data (), VarManager::fgValues); // reconstructed, unmatched
15801580 for (unsigned int isig = 0 ; isig < fRecMCSignals .size (); isig++) { // loop over MC signals
15811581 if (mcDecision & (uint32_t (1 ) << isig)) {
1582+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][0 ].Data (), VarManager::fgValues); // matched signal
15821583 if (fConfigQA ) {
1583- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size ()].Data (), VarManager::fgValues); // matched signal
1584- if (isCorrectAssoc_leg1 && isCorrectAssoc_leg2) { // correct track-collision association
1585- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 1 ].Data (), VarManager::fgValues);
1584+ if (isCorrectAssoc_leg1 && isCorrectAssoc_leg2) { // correct track-collision association
1585+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][3 ].Data (), VarManager::fgValues);
15861586 } else { // incorrect track-collision association
1587- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 2 ].Data (), VarManager::fgValues);
1587+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][ 4 ].Data (), VarManager::fgValues);
15881588 }
15891589 if (isAmbiInBunch) { // ambiguous in bunch
1590- fHistMan ->FillHistClass (histNames[icut][isig * fRecMCSignals .size () + 3 ].Data (), VarManager::fgValues);
1590+ fHistMan ->FillHistClass (histNames[icut * fRecMCSignals .size () + isig][ 5 ].Data (), VarManager::fgValues);
15911591 if (isCorrectAssoc_leg1 && isCorrectAssoc_leg2) {
1592- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 4 ].Data (), VarManager::fgValues);
1592+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][ 6 ].Data (), VarManager::fgValues);
15931593 } else {
1594- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 5 ].Data (), VarManager::fgValues);
1594+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][ 7 ].Data (), VarManager::fgValues);
15951595 }
15961596 }
15971597 if (isAmbiOutOfBunch) { // ambiguous out of bunch
1598- fHistMan ->FillHistClass (histNames[icut][isig * fRecMCSignals .size () + 6 ].Data (), VarManager::fgValues);
1598+ fHistMan ->FillHistClass (histNames[icut * fRecMCSignals .size () + isig][ 8 ].Data (), VarManager::fgValues);
15991599 if (isCorrectAssoc_leg1 && isCorrectAssoc_leg2) {
1600- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 7 ].Data (), VarManager::fgValues);
1600+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][ 9 ].Data (), VarManager::fgValues);
16011601 } else {
1602- fHistMan ->FillHistClass (histNamesMC[icut][isig * fRecMCSignals .size () + 8 ].Data (), VarManager::fgValues);
1602+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][ 10 ].Data (), VarManager::fgValues);
16031603 }
16041604 }
1605- } else {
1606- fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][0 ].Data (), VarManager::fgValues); // matched signal
16071605 }
16081606 }
16091607 }
16101608 } else {
16111609 if (sign1 > 0 ) { // ++ pairs
16121610 fHistMan ->FillHistClass (histNames[icut][1 ].Data (), VarManager::fgValues);
1611+ for (unsigned int isig = 0 ; isig < fRecMCSignals .size (); isig++) { // loop over MC signals
1612+ if (mcDecision & (uint32_t (1 ) << isig)) {
1613+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][1 ].Data (), VarManager::fgValues);
1614+ }
1615+ }
16131616 if (fConfigQA ) {
16141617 if (isAmbiInBunch) {
16151618 fHistMan ->FillHistClass (histNames[icut][4 ].Data (), VarManager::fgValues);
@@ -1620,6 +1623,11 @@ struct AnalysisSameEventPairing {
16201623 }
16211624 } else { // -- pairs
16221625 fHistMan ->FillHistClass (histNames[icut][2 ].Data (), VarManager::fgValues);
1626+ for (unsigned int isig = 0 ; isig < fRecMCSignals .size (); isig++) { // loop over MC signals
1627+ if (mcDecision & (uint32_t (1 ) << isig)) {
1628+ fHistMan ->FillHistClass (histNamesMC[icut * fRecMCSignals .size () + isig][2 ].Data (), VarManager::fgValues);
1629+ }
1630+ }
16231631 if (fConfigQA ) {
16241632 if (isAmbiInBunch) {
16251633 fHistMan ->FillHistClass (histNames[icut][5 ].Data (), VarManager::fgValues);
0 commit comments