Skip to content

Commit b256183

Browse files
authored
[PWGDQ] add LS histograms to output of MC selected signals (#7676)
* [PWGDQ] add LS histograms to output of MC selected signals * [PWGDQ] fix filling of configQA histos
1 parent 224965c commit b256183

1 file changed

Lines changed: 35 additions & 27 deletions

File tree

PWGDQ/Tasks/dqEfficiency_withAssoc.cxx

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)