@@ -109,6 +109,7 @@ struct HfTaskDstarToD0Pi {
109109 ConfigurableAxis binningDecayLength{" binningDecayLength" , {1000 , 0.0 , 0.7 }, " Bins of Decay Length" };
110110 ConfigurableAxis binningNormDecayLength{" binningNormDecayLength" , {1000 , 0.0 , 40.0 }, " Bins of Normalised Decay Length" };
111111 ConfigurableAxis binningCentrality{" binningCentrality" , {VARIABLE_WIDTH, 0.0 , 1.0 , 10.0 , 30.0 , 50.0 , 70.0 , 100.0 }, " centrality binning" };
112+ ConfigurableAxis binningD0Mass{" binningD0Mass" , {500 , 1.0 , 3.0 }, " Bins of InvMass of D0" };
112113 ConfigurableAxis binningDeltaInvMass{" binningDeltaInvMass" , {100 , 0.13 , 0.16 }, " Bins of Delta InvMass of Dstar" };
113114 ConfigurableAxis binningBkgBDTScore{" binningBkgBDTScore" , {100 , 0 .0f , 1 .0f }, " Bins for background BDT Score" };
114115 ConfigurableAxis binningSigBDTScore{" binningSigBDTScore" , {100 , 0 .0f , 1 .0f }, " Bins for Signal (Prompts + Non Prompt) BDT Score" };
@@ -128,6 +129,7 @@ struct HfTaskDstarToD0Pi {
128129 AxisSpec const axisNormDecayLength = {binningNormDecayLength, " normalised decay length (cm)" };
129130 AxisSpec axisCentrality = {binningCentrality, " centrality (%)" };
130131 AxisSpec axisDeltaInvMass = {binningDeltaInvMass, " #Delta #it{M}_{inv} D*" };
132+ AxisSpec axisD0Mass = {binningD0Mass, " InvMass of D0 (GeV/#it{c}^{2})" };
131133 AxisSpec axisBDTScorePrompt = {binningSigBDTScore, " BDT Score for Prompt Cand" };
132134 AxisSpec axisBDTScoreNonPrompt = {binningSigBDTScore, " BDT Score for Non-Prompt Cand" };
133135 AxisSpec axisBDTScoreBackground = {binningBkgBDTScore, " BDT Score for Background Cand" };
@@ -208,7 +210,7 @@ struct HfTaskDstarToD0Pi {
208210
209211 // BDT Score (axisBDTScoreBackground, axisBDTScorePrompt, axisBDTScoreNonPrompt)
210212 if (doprocessDataWML) {
211- registry.add (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" , " #Delta #it{M}_{inv} Vs Pt Vs Cent Vs BDTScore" , {HistType::kTHnSparseF , {{axisDeltaInvMass}, {vecPtBins, " #it{p}_{T} (GeV/#it{c})" }, {axisCentrality}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}}}, true );
213+ registry.add (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" , " #Delta #it{M}_{inv} Vs Pt Vs Cent Vs BDTScore" , {HistType::kTHnSparseF , {{axisDeltaInvMass}, {vecPtBins, " #it{p}_{T} (GeV/#it{c})" }, {axisCentrality}, {axisBDTScoreBackground}, {axisBDTScorePrompt}, {axisBDTScoreNonPrompt}, {axisD0Mass} }}, true );
212214 } else if (doprocessDataWoML) {
213215 registry.add (" Yield/hDeltaInvMassDstar2D" , " #Delta #it{M}_{inv} D* Candidate; 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 );
214216 registry.add (" Yield/hDeltaInvMassDstar3D" , " #Delta #it{M}_{inv} D* Candidate; 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 );
@@ -268,19 +270,19 @@ struct HfTaskDstarToD0Pi {
268270 if (studyD0ToPiKPi0) {
269271 // inclusive D0ToPiKPi0 study
270272 if (doprocessMcWML && isCentStudy) {
271- 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 );
273+ 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}, {axisD0Mass} }}, true );
272274 } else if (doprocessMcWoMl && isCentStudy) {
273275 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 );
274276 } else if (doprocessMcWML && !isCentStudy) {
275- 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 );
277+ 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}, {axisD0Mass} }}, true );
276278 } else if (doprocessMcWoMl && !isCentStudy) {
277279 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 );
278280 }
279281
280282 // differential (prompt/Non-prompt) D0ToPiKPi0 study
281283 if (doprocessMcWML) {
282- 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 );
283- 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 );
284+ 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}, {axisD0Mass} }}, true );
285+ 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}, {axisD0Mass} }}, true );
284286 } else if (doprocessMcWoMl) {
285287 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 );
286288 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 );
@@ -399,7 +401,7 @@ struct HfTaskDstarToD0Pi {
399401
400402 if constexpr (ApplyMl) {
401403 auto mlBdtScore = candDstar.mlProbDstarToD0Pi ();
402- registry.fill (HIST (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMDstar, candDstar.pt (), centrality, mlBdtScore[0 ], mlBdtScore[1 ], mlBdtScore[2 ]);
404+ registry.fill (HIST (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMDstar, candDstar.pt (), centrality, mlBdtScore[0 ], mlBdtScore[1 ], mlBdtScore[2 ], invD0 );
403405 }
404406
405407 if (doprocessDataWoML) {
@@ -422,7 +424,7 @@ struct HfTaskDstarToD0Pi {
422424
423425 if constexpr (ApplyMl) {
424426 auto mlBdtScore = candDstar.mlProbDstarToD0Pi ();
425- registry.fill (HIST (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMAntiDstar, candDstar.pt (), centrality, mlBdtScore[0 ], mlBdtScore[1 ], mlBdtScore[2 ]);
427+ registry.fill (HIST (" Yield/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMAntiDstar, candDstar.pt (), centrality, mlBdtScore[0 ], mlBdtScore[1 ], mlBdtScore[2 ], invD0Bar );
426428 }
427429
428430 if (doprocessDataWoML) {
@@ -571,24 +573,27 @@ struct HfTaskDstarToD0Pi {
571573 // Aplly all selection to study D*->D0(piKpi0)pi channel same as signal channel
572574 // MC Matched but to D*->D0(piKpi0)pi channel
573575 double deltaMDstar = -999 .;
576+ double invD0Mass = -999 .;
574577 if (candDstarMcRec.signSoftPi () < 0 ) {
575578 deltaMDstar = candDstarMcRec.invMassAntiDstar () - candDstarMcRec.invMassD0Bar ();
579+ invD0Mass = candDstarMcRec.invMassD0Bar ();
576580 } else {
577581 deltaMDstar = candDstarMcRec.invMassDstar () - candDstarMcRec.invMassD0 ();
582+ invD0Mass = candDstarMcRec.invMassD0 ();
578583 }
579584 if constexpr (ApplyMl) {
580585 auto bdtScore = candDstarMcRec.mlProbDstarToD0Pi ();
581586 // inclusive study
582587 if (isCentStudy) {
583- registry.fill (HIST (" D0ToPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), centrality, bdtScore[0 ], bdtScore[1 ], bdtScore[2 ]);
588+ registry.fill (HIST (" D0ToPiKPi0/hDeltaInvMassVsPtVsCentVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), centrality, bdtScore[0 ], bdtScore[1 ], bdtScore[2 ], invD0Mass );
584589 } else {
585- registry.fill (HIST (" D0ToPiKPi0/hDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ]);
590+ registry.fill (HIST (" D0ToPiKPi0/hDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ], invD0Mass );
586591 }
587592 // differential (prompt/Non-prompt) study
588593 if (candDstarMcRec.originMcRec () == RecoDecay::OriginType::Prompt) {
589- registry.fill (HIST (" D0ToPiKPi0/hPromptDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ]);
594+ registry.fill (HIST (" D0ToPiKPi0/hPromptDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ], invD0Mass );
590595 } else if (candDstarMcRec.originMcRec () == RecoDecay::OriginType::NonPrompt) {
591- registry.fill (HIST (" D0ToPiKPi0/hNonPromptDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ]);
596+ registry.fill (HIST (" D0ToPiKPi0/hNonPromptDeltaInvMassVsPtVsBDTScore" ), deltaMDstar, candDstarMcRec.pt (), bdtScore[0 ], bdtScore[1 ], bdtScore[2 ], invD0Mass );
592597 }
593598 } else { // without ML
594599 // inclusive study
0 commit comments