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