Skip to content

Commit e4ebde5

Browse files
Adding prompt and non-prompt contribution from D0T0PiKPi0
1 parent 5b3472b commit e4ebde5

1 file changed

Lines changed: 35 additions & 15 deletions

File tree

PWGHF/D2H/Tasks/taskDstarToD0Pi.cxx

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -263,15 +263,24 @@ struct HfTaskDstarToD0Pi {
263263
}
264264
}
265265

266-
// D0toPiKPi0 study
266+
// inclusive D0ToPiKPi0 study
267267
if (doprocessMcWML && studyD0ToPiKPi0 && isCentStudy) {
268-
registry.add("D0toPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore", "#Delta #it{M}_{inv} Vs Pt Vs Cent Vs BDTScore for D0toPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisCentrality}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
268+
registry.add("D0ToPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore", "#Delta #it{M}_{inv} Vs Pt Vs Cent Vs BDTScore for D0ToPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisCentrality}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
269269
} else if (doprocessMcWoMl && studyD0ToPiKPi0 && isCentStudy) {
270-
registry.add("D0toPiKPi0/hDeltaInvMassDstar3D", "#Delta #it{M}_{inv} D* Candidate for D0toPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c}); FT0M centrality", {HistType::kTH3F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisCentrality}}}, true);
270+
registry.add("D0ToPiKPi0/hDeltaInvMassDstar3D", "#Delta #it{M}_{inv} D* Candidate for D0ToPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c}); FT0M centrality", {HistType::kTH3F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisCentrality}}}, true);
271271
} else if (doprocessMcWML && studyD0ToPiKPi0 && !isCentStudy) {
272-
registry.add("D0toPiKPi0/hDeltaInvMassVsPtVsBDTScore", "#Delta #it{M}_{inv} Vs Pt Vs BDTScore for D0toPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
272+
registry.add("D0ToPiKPi0/hDeltaInvMassVsPtVsBDTScore", "#Delta #it{M}_{inv} Vs Pt Vs BDTScore for D0ToPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
273273
} else if (doprocessMcWoMl && studyD0ToPiKPi0 && !isCentStudy) {
274-
registry.add("D0toPiKPi0/hDeltaInvMassDstar2D", "#Delta #it{M}_{inv} D* Candidate for D0toPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c})", {HistType::kTH2F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}}}, true);
274+
registry.add("D0ToPiKPi0/hDeltaInvMassDstar2D", "#Delta #it{M}_{inv} D* Candidate for D0ToPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c})", {HistType::kTH2F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}}}, true);
275+
}
276+
277+
// differential (prompt/Non-prompt) D0ToPiKPi0 study
278+
if (doprocessMcWML && studyD0ToPiKPi0) {
279+
registry.add("D0ToPiKPi0/hPromptDeltaInvMassVsPtVsBDTScore", "Prompt #Delta #it{M}_{inv} Vs Pt Vs BDTScore for D0ToPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
280+
registry.add("D0ToPiKPi0/hNonPromptDeltaInvMassVsPtVsBDTScore", "Non-Prompt #Delta #it{M}_{inv} Vs Pt Vs BDTScore for D0ToPiKPi0", {HistType::kTHnSparseF, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true);
281+
} else if (doprocessMcWoMl && studyD0ToPiKPi0) {
282+
registry.add("D0ToPiKPi0/hPromptDeltaInvMassDstar2D", "Prompt #Delta #it{M}_{inv} D* Candidate for D0ToPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c})", {HistType::kTH2F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}}}, true);
283+
registry.add("D0ToPiKPi0/hNonPromptDeltaInvMassDstar2D", "Non-Prompt #Delta #it{M}_{inv} D* Candidate for D0ToPiKPi0; inv. mass ((#pi #pi k) - (#pi k)) (GeV/#it{c}^{2});#it{p}_{T} (GeV/#it{c})", {HistType::kTH2F, {{axisDeltaInvMass}, {vecPtBins, "#it{p}_{T} (GeV/#it{c})"}}}, true);
275284
}
276285

277286
// if weights to be applied
@@ -557,23 +566,34 @@ struct HfTaskDstarToD0Pi {
557566
} else if (std::abs(candDstarMcRec.flagMcMatchRec()) == hf_decay::hf_cand_dstar::DecayChannelMain::DstarToPiKPiPi0 && std::abs(candDstarMcRec.flagMcMatchRecD0()) == hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiKPi0) {
558567
// Aplly all selection to study D*->D0(piKpi0)pi channel same as signal channel
559568
// MC Matched but to D*->D0(piKpi0)pi channel
569+
auto deltaMDstar = std::abs(candDstarMcRec.invMassDstar() - candDstarMcRec.invMassD0());
560570
if constexpr (ApplyMl) {
571+
auto bdtScore = candDstarMcRec.mlProbDstarToD0Pi();
572+
// inclusive study
561573
if (studyD0ToPiKPi0 && isCentStudy && candDstarMcRec.isSelDstarToD0Pi()) {
562-
auto deltaMDstar = std::abs(candDstarMcRec.invMassDstar() - candDstarMcRec.invMassD0());
563-
auto bdtScore = candDstarMcRec.mlProbDstarToD0Pi();
564-
registry.fill(HIST("D0toPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), centrality, bdtScore[0], bdtScore[1], bdtScore[2]);
574+
registry.fill(HIST("D0ToPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), centrality, bdtScore[0], bdtScore[1], bdtScore[2]);
565575
} else if (studyD0ToPiKPi0 && !isCentStudy && candDstarMcRec.isSelDstarToD0Pi()) {
566-
auto deltaMDstar = std::abs(candDstarMcRec.invMassDstar() - candDstarMcRec.invMassD0());
567-
auto bdtScore = candDstarMcRec.mlProbDstarToD0Pi();
568-
registry.fill(HIST("D0toPiKPi0/hDeltaInvMassVsPtVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), bdtScore[0], bdtScore[1], bdtScore[2]);
576+
registry.fill(HIST("D0ToPiKPi0/hDeltaInvMassVsPtVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), bdtScore[0], bdtScore[1], bdtScore[2]);
577+
}
578+
// differential (prompt/Non-prompt) study
579+
if (studyD0ToPiKPi0 && candDstarMcRec.isSelDstarToD0Pi() && (candDstarMcRec.originMcRec() == RecoDecay::OriginType::Prompt)) {
580+
registry.fill(HIST("D0ToPiKPi0/hPromptDeltaInvMassVsPtVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), bdtScore[0], bdtScore[1], bdtScore[2]);
581+
} else if (studyD0ToPiKPi0 && candDstarMcRec.isSelDstarToD0Pi() && (candDstarMcRec.originMcRec() == RecoDecay::OriginType::NonPrompt)) {
582+
registry.fill(HIST("D0ToPiKPi0/hNonPromptDeltaInvMassVsPtVsBDTScore"), deltaMDstar, candDstarMcRec.pt(), bdtScore[0], bdtScore[1], bdtScore[2]);
569583
}
584+
570585
} else {
586+
// inclusive study
571587
if (studyD0ToPiKPi0 && isCentStudy && candDstarMcRec.isSelDstarToD0Pi()) {
572-
auto deltaMDstar = std::abs(candDstarMcRec.invMassDstar() - candDstarMcRec.invMassD0());
573-
registry.fill(HIST("D0toPiKPi0/hDeltaInvMassDstar3D"), deltaMDstar, candDstarMcRec.pt(), centrality);
588+
registry.fill(HIST("D0ToPiKPi0/hDeltaInvMassDstar3D"), deltaMDstar, candDstarMcRec.pt(), centrality);
574589
} else if (studyD0ToPiKPi0 && !isCentStudy && candDstarMcRec.isSelDstarToD0Pi()) {
575-
auto deltaMDstar = std::abs(candDstarMcRec.invMassDstar() - candDstarMcRec.invMassD0());
576-
registry.fill(HIST("D0toPiKPi0/hDeltaInvMassDstar2D"), deltaMDstar, candDstarMcRec.pt());
590+
registry.fill(HIST("D0ToPiKPi0/hDeltaInvMassDstar2D"), deltaMDstar, candDstarMcRec.pt());
591+
}
592+
// differential (prompt/Non-prompt) study
593+
if (studyD0ToPiKPi0 && candDstarMcRec.isSelDstarToD0Pi() && (candDstarMcRec.originMcRec() == RecoDecay::OriginType::Prompt)) {
594+
registry.fill(HIST("D0ToPiKPi0/hPromptDeltaInvMassDstar2D"), deltaMDstar, candDstarMcRec.pt());
595+
} else if (studyD0ToPiKPi0 && candDstarMcRec.isSelDstarToD0Pi() && (candDstarMcRec.originMcRec() == RecoDecay::OriginType::NonPrompt)) {
596+
registry.fill(HIST("D0ToPiKPi0/hNonPromptDeltaInvMassDstar2D"), deltaMDstar, candDstarMcRec.pt());
577597
}
578598
}
579599
} else { // MC Unmatched (Baground at Reconstruction Level)

0 commit comments

Comments
 (0)