@@ -294,6 +294,7 @@ struct HfCorrelatorD0Hadrons {
294294 AxisSpec const axisTrkCount = {5 , 0 ., 5 .};
295295 AxisSpec axisBdtScoreBkg = {100 , 0 ., 1 ., " Bdt score background" };
296296 AxisSpec axisBdtScorePrompt = {100 , 0 ., 1 ., " Bdt score prompt" };
297+ AxisSpec axisBdtScoreNonPrompt = {100 , 0 ., 1 ., " Bdt score Nonprompt" };
297298 AxisSpec axisOrigin = {10 , 0 ., 10 ., " Candidate origin" };
298299 AxisSpec axisCent = {binsCentFt0m, " Centrality" };
299300
@@ -313,7 +314,7 @@ struct HfCorrelatorD0Hadrons {
313314 registry.add (" hMassD01D" , " D0 candidates mass" , {HistType::kTH1F , {axisMassD}});
314315 registry.add (" hMassD0bar1D" , " D0bar candidates mass" , {HistType::kTH1F , {axisMassD}});
315316 registry.add (" hMassD0VsPtVsCent" , " D0 candidates;inv. mass (p K #pi) (GeV/#it{c}^{2});entries" , {HistType::kTH3F , {{axisMassD}, {axisPtD}, {axisCent}}});
316- registry.add (" hMLScoresVsMassVsPtVsOrigin " , " D0, D0bar candidates massVsPt " , {HistType::kTHnSparseD , {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisMassD}, {axisPtD}, {axisOrigin}}});
317+ registry.add (" hMLScoresVsMassVsPtVsEtaVsOrigin " , " D0, D0bar candidates BkgVspromptVsNonPromptVsMassVsPtVsEtaVsOrigin " , {HistType::kTHnSparseD , {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisBdtScoreNonPrompt}, { axisMassD}, {axisPtD}, {axisEta }, {axisOrigin}}});
317318 // Histograms for MC Reco
318319 registry.add (" hPtCandRec" , " D0, D0bar candidates - MC reco" , {HistType::kTH1F , {axisPtD}});
319320 registry.add (" hPtProng0Rec" , " D0, D0bar candidates prong 0 - MC reco" , {HistType::kTH1F , {axisPtD}});
@@ -330,7 +331,9 @@ struct HfCorrelatorD0Hadrons {
330331 registry.add (" hMassD0barRecRef" , " D0bar reflection candidates massVsPt - MC reco" , {HistType::kTH2F , {{axisMassD}, {axisPtD}}});
331332 registry.add (" hMassD0barRecBg" , " D0bar background candidates massVsPt - MC reco" , {HistType::kTH2F , {{axisMassD}, {axisPtD}}});
332333 registry.add (" hPtCandRecSigPrompt" , " D0,Hadron candidates Prompt - MC Reco" , {HistType::kTH1F , {axisPtD}});
334+ registry.add (" hPtVsMLScoresVsEtaRecSigPrompt" , " Prompt D0-D0bar signal candidates MLVsPtVsEta - MC reco" , {HistType::kTHnSparseD , {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisBdtScoreNonPrompt}, {axisPtD}, {axisEta}}});
333335 registry.add (" hPtCandRecSigNonPrompt" , " D0,Hadron candidates Non Prompt - MC Reco" , {HistType::kTH1F , {axisPtD}});
336+ registry.add (" hPtVsMLScoresVsEtaRecSigNonPrompt" , " NonPrompt D0-D0bar signal candidates MLVsPtVsEta - MC reco" , {HistType::kTHnSparseD , {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisBdtScoreNonPrompt}, {axisPtD}, {axisEta}}});
334337 registry.add (" hPtVsMultiplicityRecPrompt" , " Multiplicity FT0M - MC Rec Prompt" , {HistType::kTH2F , {{axisPtD}, {axisMultFT0M}}});
335338 registry.add (" hPtVsMultiplicityRecNonPrompt" , " Multiplicity FT0M - MC Rec Non Prompt" , {HistType::kTH2F , {{axisPtD}, {axisMultFT0M}}});
336339 registry.add (" hPtParticleAssocVsCandRec" , " Associated Particle - MC reco" , {HistType::kTH2F , {{axisPtHadron}, {axisPtD}}});
@@ -339,7 +342,9 @@ struct HfCorrelatorD0Hadrons {
339342 registry.add (" hEvtCountGen" , " Event counter - MC gen" , {HistType::kTH1F , {axisEvtCount}});
340343 registry.add (" hPtCandGen" , " D0, D0bar candidates - MC gen" , {HistType::kTH1F , {axisPtD}});
341344 registry.add (" hPtCandGenPrompt" , " D0, D0bar candidates - MC gen prompt" , {HistType::kTH1F , {axisPtD}});
345+ registry.add (" hPtVsEtaCandGenSigPrompt" , " D0,Hadron candidates PtvsEta - MC Gen prompt" , {HistType::kTH2F , {{axisPtD}, {axisEta}}});
342346 registry.add (" hPtCandGenNonPrompt" , " D0, D0bar candidates - MC gen non prompt" , {HistType::kTH1F , {axisPtD}});
347+ registry.add (" hPtVsEtaCandGenSigNonPrompt" , " D0,Hadron candidates PtvsEta - MC Gen non-prompt" , {HistType::kTH2F , {{axisPtD}, {axisEta}}});
343348 registry.add (" hEtaGen" , " D0,D0bar candidates - MC gen" , {HistType::kTH1F , {axisEta}});
344349 registry.add (" hPhiGen" , " D0,D0bar candidates - MC gen" , {HistType::kTH1F , {axisPhi}});
345350 registry.add (" hYGen" , " D0,D0bar candidates - MC gen" , {HistType::kTH1F , {axisRapidity}});
@@ -432,7 +437,7 @@ struct HfCorrelatorD0Hadrons {
432437 for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
433438 outputMlD0[iclass] = candidate.mlProbD0 ()[classMl->at (iclass)];
434439 }
435- registry.fill (HIST (" hMLScoresVsMassVsPtVsOrigin " ), outputMlD0[0 ], outputMlD0[2 ], invMassD0, candidate.pt (), (candidate.isSelD0bar () != 0 ) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0Only);
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);
436441 }
437442 if (candidate.isSelD0bar () >= selectionFlagD0bar) {
438443 registry.fill (HIST (" hMass" ), invMassD0bar, candidate.pt (), efficiencyWeight);
@@ -442,7 +447,7 @@ struct HfCorrelatorD0Hadrons {
442447 for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
443448 outputMlD0bar[iclass] = candidate.mlProbD0bar ()[classMl->at (iclass)];
444449 }
445- registry.fill (HIST (" hMLScoresVsMassVsPtVsOrigin " ), outputMlD0bar[0 ], outputMlD0bar[2 ], invMassD0bar, candidate.pt (), (candidate.isSelD0 () != 0 ) ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0barOnly);
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);
446451 }
447452 entryD0CandRecoInfo (invMassD0, invMassD0bar, candidate.pt (), outputMlD0[0 ], outputMlD0[2 ], outputMlD0bar[0 ], outputMlD0bar[2 ]);
448453
@@ -602,9 +607,11 @@ struct HfCorrelatorD0Hadrons {
602607 if (isD0Prompt) {
603608 registry.fill (HIST (" hPtCandRecSigPrompt" ), candidate.pt ());
604609 registry.fill (HIST (" hPtVsMultiplicityRecPrompt" ), candidate.pt (), collision.multFT0M ());
610+ registry.fill (HIST (" hPtVsMLScoreVsEtasRecSigPrompt" ), outputMlD0[0 ], outputMlD0[1 ], outputMlD0[2 ], candidate.pt (), candidate.eta ());
605611 } else if (isD0NonPrompt) {
606612 registry.fill (HIST (" hPtCandRecSigNonPrompt" ), candidate.pt ());
607613 registry.fill (HIST (" hPtVsMultiplicityRecNonPrompt" ), candidate.pt (), collision.multFT0M ());
614+ registry.fill (HIST (" hPtVsMLScoresVsEtaRecSigNonPrompt" ), outputMlD0[0 ], outputMlD0[1 ], outputMlD0[2 ], candidate.pt (), candidate.eta ());
608615 }
609616 } else if (candidate.flagMcMatchRec () == -o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) {
610617 registry.fill (HIST (" hMassD0RecRef" ), invMassD0, candidate.pt (), efficiencyWeight);
@@ -614,16 +621,19 @@ struct HfCorrelatorD0Hadrons {
614621 for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
615622 outputMlD0[iclass] = candidate.mlProbD0 ()[classMl->at (iclass)];
616623 }
624+ registry.fill (HIST (" hMLScoresVsMassVsPtVsEtaVsOrigin" ), outputMlD0[0 ], outputMlD0[1 ], outputMlD0[2 ], invMassD0, candidate.pt (), candidate.eta (), isD0Prompt);
617625 }
618626 if (candidate.isSelD0bar () >= selectionFlagD0bar) { // only reco as D0bar
619627 if (candidate.flagMcMatchRec () == -o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) { // also matched as D0bar
620628 registry.fill (HIST (" hMassD0barRecSig" ), invMassD0bar, candidate.pt (), efficiencyWeight);
621629 if (isD0Prompt) {
622630 registry.fill (HIST (" hPtCandRecSigPrompt" ), candidate.pt ());
623631 registry.fill (HIST (" hPtVsMultiplicityRecPrompt" ), candidate.pt (), collision.multFT0M ());
632+ registry.fill (HIST (" hPtVsMLScoresVsEtaRecSigPrompt" ), outputMlD0bar[0 ], outputMlD0bar[1 ], outputMlD0bar[2 ], candidate.pt (), candidate.eta ());
624633 } else if (isD0NonPrompt) {
625634 registry.fill (HIST (" hPtCandRecSigNonPrompt" ), candidate.pt ());
626635 registry.fill (HIST (" hPtVsMultiplicityRecNonPrompt" ), candidate.pt (), collision.multFT0M ());
636+ registry.fill (HIST (" hPtVsMLScoresVsEtaRecSigNonPrompt" ), outputMlD0bar[0 ], outputMlD0bar[1 ], outputMlD0bar[2 ], candidate.pt (), candidate.eta ());
627637 }
628638 } else if (candidate.flagMcMatchRec () == o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) {
629639 registry.fill (HIST (" hMassD0barRecRef" ), invMassD0bar, candidate.pt (), efficiencyWeight);
@@ -633,6 +643,7 @@ struct HfCorrelatorD0Hadrons {
633643 for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
634644 outputMlD0bar[iclass] = candidate.mlProbD0bar ()[classMl->at (iclass)];
635645 }
646+ registry.fill (HIST (" hMLScoresVsMassVsPtVsEtaVsOrigin" ), outputMlD0bar[0 ], outputMlD0bar[1 ], outputMlD0bar[2 ], invMassD0bar, candidate.pt (), candidate.eta (), isD0Prompt);
636647 }
637648 entryD0CandRecoInfo (invMassD0, invMassD0bar, candidate.pt (), outputMlD0[0 ], outputMlD0[2 ], outputMlD0bar[0 ], outputMlD0bar[2 ]);
638649 entryD0CandGenInfo (isD0Prompt);
@@ -789,8 +800,10 @@ struct HfCorrelatorD0Hadrons {
789800 // prompt and non-prompt division
790801 if (isD0Prompt) {
791802 registry.fill (HIST (" hPtCandGenPrompt" ), particleTrigg.pt ());
803+ registry.fill (HIST (" hPtVsEtaCandGenSigPrompt" ), particleTrigg.pt (), particleTrigg.eta ());
792804 } else if (isD0NonPrompt) {
793805 registry.fill (HIST (" hPtCandGenNonPrompt" ), particleTrigg.pt ());
806+ registry.fill (HIST (" hPtVsEtaCandGenSigNonPrompt" ), particleTrigg.pt (), particleTrigg.eta ());
794807 }
795808
796809 // =============== D-h correlation dedicated section =====================
0 commit comments