Skip to content

Commit 8a23873

Browse files
authored
[PWGHF] Add centrality axis in mlscores mass pt eta origin histogram (#14377)
1 parent 2ecf581 commit 8a23873

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

PWGHF/HFC/TableProducer/correlatorD0Hadrons.cxx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ struct HfCorrelatorD0Hadrons {
314314
registry.add("hMassD01D", "D0 candidates mass", {HistType::kTH1F, {axisMassD}});
315315
registry.add("hMassD0bar1D", "D0bar candidates mass", {HistType::kTH1F, {axisMassD}});
316316
registry.add("hMassD0VsPtVsCent", "D0 candidates;inv. mass (p K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH3F, {{axisMassD}, {axisPtD}, {axisCent}}});
317-
registry.add("hMLScoresVsMassVsPtVsEtaVsOrigin", "D0, D0bar candidates BkgVspromptVsNonPromptVsMassVsPtVsEtaVsOrigin", {HistType::kTHnSparseD, {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisBdtScoreNonPrompt}, {axisMassD}, {axisPtD}, {axisEta}, {axisOrigin}}});
317+
registry.add("hMLScoresVsMassVsPtVsEtaVsOriginVsCent", "D0, D0bar candidates BkgVspromptVsNonPromptVsMassVsPtVsEtaVsOrigin", {HistType::kTHnSparseD, {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisBdtScoreNonPrompt}, {axisMassD}, {axisPtD}, {axisEta}, {axisOrigin}, {axisCent}}});
318318
// Histograms for MC Reco
319319
registry.add("hPtCandRec", "D0, D0bar candidates - MC reco", {HistType::kTH1F, {axisPtD}});
320320
registry.add("hPtProng0Rec", "D0, D0bar candidates prong 0 - MC reco", {HistType::kTH1F, {axisPtD}});
@@ -437,7 +437,7 @@ struct HfCorrelatorD0Hadrons {
437437
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
438438
outputMlD0[iclass] = candidate.mlProbD0()[classMl->at(iclass)];
439439
}
440-
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOrigin"), outputMlD0[0], outputMlD0[1], outputMlD0[2], invMassD0, candidate.pt(), candidate.eta(), (candidate.isSelD0bar() != 0) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0Only);
440+
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOriginVsCent"), outputMlD0[0], outputMlD0[1], outputMlD0[2], invMassD0, candidate.pt(), candidate.eta(), (candidate.isSelD0bar() != 0) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0Only, cent);
441441
}
442442
if (candidate.isSelD0bar() >= selectionFlagD0bar) {
443443
registry.fill(HIST("hMass"), invMassD0bar, candidate.pt(), efficiencyWeight);
@@ -447,7 +447,7 @@ struct HfCorrelatorD0Hadrons {
447447
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
448448
outputMlD0bar[iclass] = candidate.mlProbD0bar()[classMl->at(iclass)];
449449
}
450-
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOrigin"), outputMlD0bar[0], outputMlD0bar[1], outputMlD0bar[2], invMassD0bar, candidate.pt(), candidate.eta(), (candidate.isSelD0() != 0) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0barOnly);
450+
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOriginVsCent"), outputMlD0bar[0], outputMlD0bar[1], outputMlD0bar[2], invMassD0bar, candidate.pt(), candidate.eta(), (candidate.isSelD0() != 0) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0barOnly, cent);
451451
}
452452
entryD0CandRecoInfo(invMassD0, invMassD0bar, candidate.pt(), outputMlD0[0], outputMlD0[2], outputMlD0bar[0], outputMlD0bar[2]);
453453

@@ -540,6 +540,12 @@ struct HfCorrelatorD0Hadrons {
540540
if (correlateD0WithLeadingParticle) {
541541
leadingIndex = findLeadingParticle(tracks, etaTrackMax.value);
542542
}
543+
// Centrality dependent analysis
544+
float cent = 0.;
545+
if (useCentrality) {
546+
cent = collision.centFT0M();
547+
}
548+
543549
int poolBin = corrBinning.getBin(std::make_tuple(collision.posZ(), collision.multFT0M()));
544550
registry.fill(HIST("hCollisionPoolBin"), poolBin);
545551
registry.fill(HIST("hZvtx"), collision.posZ());
@@ -621,7 +627,7 @@ struct HfCorrelatorD0Hadrons {
621627
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
622628
outputMlD0[iclass] = candidate.mlProbD0()[classMl->at(iclass)];
623629
}
624-
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOrigin"), outputMlD0[0], outputMlD0[1], outputMlD0[2], invMassD0, candidate.pt(), candidate.eta(), isD0Prompt);
630+
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOriginVsCent"), outputMlD0[0], outputMlD0[1], outputMlD0[2], invMassD0, candidate.pt(), candidate.eta(), isD0Prompt, cent);
625631
}
626632
if (candidate.isSelD0bar() >= selectionFlagD0bar) { // only reco as D0bar
627633
if (candidate.flagMcMatchRec() == -o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) { // also matched as D0bar
@@ -643,7 +649,7 @@ struct HfCorrelatorD0Hadrons {
643649
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
644650
outputMlD0bar[iclass] = candidate.mlProbD0bar()[classMl->at(iclass)];
645651
}
646-
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOrigin"), outputMlD0bar[0], outputMlD0bar[1], outputMlD0bar[2], invMassD0bar, candidate.pt(), candidate.eta(), isD0Prompt);
652+
registry.fill(HIST("hMLScoresVsMassVsPtVsEtaVsOriginVsCent"), outputMlD0bar[0], outputMlD0bar[1], outputMlD0bar[2], invMassD0bar, candidate.pt(), candidate.eta(), isD0Prompt, cent);
647653
}
648654
entryD0CandRecoInfo(invMassD0, invMassD0bar, candidate.pt(), outputMlD0[0], outputMlD0[2], outputMlD0bar[0], outputMlD0bar[2]);
649655
entryD0CandGenInfo(isD0Prompt);
@@ -656,7 +662,6 @@ struct HfCorrelatorD0Hadrons {
656662

657663
flagD0 = candidate.flagMcMatchRec() == o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK; // flagD0Signal 'true' if candidate matched to D0 (particle)
658664
flagD0bar = candidate.flagMcMatchRec() == -o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK; // flagD0Reflection 'true' if candidate, selected as D0 (particle), is matched to D0bar (antiparticle)
659-
float cent = 100.0; // Centrality Placeholder: will be updated later
660665
// ========== track loop starts here ========================
661666

662667
for (const auto& track : tracks) {

0 commit comments

Comments
 (0)