@@ -56,6 +56,12 @@ using namespace o2::framework;
5656using namespace o2 ::framework::expressions;
5757using namespace o2 ::soa;
5858
59+ namespace
60+ {
61+ static const int8_t genPromptD0 = 1 ;
62+ static const int8_t genNonPromptD0 = 2 ;
63+ } // namespace
64+
5965// / Returns deltaPhi value within the range [-pi/2, 3/2*pi]
6066// /
6167double getDeltaPhi (double phiD, double phiDbar)
@@ -437,12 +443,20 @@ struct FemtoUniversePairTaskTrackD0 {
437443 }
438444 // MC Reco
439445 mcRecoRegistry.add (" hMcRecD0" , " MC Reco all D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
446+ mcRecoRegistry.add (" hMcRecD0Pt" , " MC Reco all D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
440447 mcRecoRegistry.add (" hMcRecD0Prompt" , " MC Reco prompt D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
448+ mcRecoRegistry.add (" hMcRecD0PromptPt" , " MC Reco prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
441449 mcRecoRegistry.add (" hMcRecD0NonPrompt" , " MC Reco non-prompt D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
450+ mcRecoRegistry.add (" hMcRecD0NonPromptPt" , " MC Reco non-prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
442451 mcRecoRegistry.add (" hMcRecD0Phi" , " MC Reco all D0s;#varphi (rad); counts" , {HistType::kTH1F , {{80 , 0 ., o2::constants::math::TwoPI}}});
452+ mcRecoRegistry.add (" hMcRecD0PromptPhi" , " MC Reco prompt D0s;#varphi (rad); counts" , {HistType::kTH1F , {{80 , 0 ., o2::constants::math::TwoPI}}});
453+ mcRecoRegistry.add (" hMcRecD0NonPromptPhi" , " MC Reco non-prompt D0s;#varphi (rad); counts" , {HistType::kTH1F , {{80 , 0 ., o2::constants::math::TwoPI}}});
443454 mcRecoRegistry.add (" hMcRecD0bar" , " MC Reco all D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
455+ mcRecoRegistry.add (" hMcRecD0barPt" , " MC Reco all D0bars;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
444456 mcRecoRegistry.add (" hMcRecD0barPrompt" , " MC Reco prompt D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
457+ mcRecoRegistry.add (" hMcRecD0barPromptPt" , " MC Reco prompt D0bars;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
445458 mcRecoRegistry.add (" hMcRecD0barNonPrompt" , " MC Reco non-prompt D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
459+ mcRecoRegistry.add (" hMcRecD0barNonPromptPt" , " MC Reco non-prompt D0bars;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
446460 mcRecoRegistry.add (" hMcRecD0barPhi" , " MC Reco all D0bars;#varphi (rad); counts" , {HistType::kTH1F , {{80 , 0 ., o2::constants::math::TwoPI}}});
447461 // Inv. mass histograms
448462 mcRecoRegistry.add (" hMassVsPtD0Sig" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {confInvMassBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
@@ -471,11 +485,17 @@ struct FemtoUniversePairTaskTrackD0 {
471485
472486 // MC truth
473487 mcTruthRegistry.add (" hMcGenD0" , " MC Truth all D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
488+ mcTruthRegistry.add (" hMcGenD0Pt" , " MC Truth all D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
474489 mcTruthRegistry.add (" hMcGenD0Prompt" , " MC Truth prompt D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
490+ mcTruthRegistry.add (" hMcGenD0PromptPt" , " MC Truth prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
475491 mcTruthRegistry.add (" hMcGenD0NonPrompt" , " MC Truth non-prompt D0s;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
492+ mcTruthRegistry.add (" hMcGenD0NonPromptPt" , " MC Truth non-prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
476493 mcTruthRegistry.add (" hMcGenD0bar" , " MC Truth all D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
494+ mcTruthRegistry.add (" hMcGenD0barPt" , " MC Truth all D0bars;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
477495 mcTruthRegistry.add (" hMcGenD0barPrompt" , " MC Truth prompt D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
496+ mcTruthRegistry.add (" hMcGenD0barPromptPt" , " MC Truth prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
478497 mcTruthRegistry.add (" hMcGenD0barNonPrompt" , " MC Truth non-prompt D0bars;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{vbins, " #it{p}_{T} (GeV/#it{c})" }, {400 , -1.0 , 1.0 }}});
498+ mcTruthRegistry.add (" hMcGenD0barNonPromptPt" , " MC Truth non-prompt D0s;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {vbins}});
479499 mcTruthRegistry.add (" hMcGenAllPositivePt" , " MC Truth all positive;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {{360 , 0 , 36 }}});
480500 mcTruthRegistry.add (" hMcGenAllNegativePt" , " MC Truth all negative;#it{p}_{T} (GeV/c); counts" , {HistType::kTH1F , {{360 , 0 , 36 }}});
481501 mcTruthRegistry.add (" hMcGenKpPtVsEta" , " MC Truth K+;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{500 , 0 , 5 }, {400 , -1.0 , 1.0 }}});
@@ -1318,19 +1338,27 @@ struct FemtoUniversePairTaskTrackD0 {
13181338 } else if ((part.partType () == aod::femtouniverseparticle::ParticleType::kD0 ) && (part.pt () > ConfDmesons.confMinPtD0D0barReco ) && (part.pt () < ConfDmesons.confMaxPtD0D0barReco )) {
13191339 if (mcpart.pdgMCTruth () == ConfDmesons.confPDGCodeD0 ) {
13201340 mcRecoRegistry.fill (HIST (" hMcRecD0" ), part.pt (), part.eta ());
1341+ mcRecoRegistry.fill (HIST (" hMcRecD0Pt" ), part.pt ());
13211342 mcRecoRegistry.fill (HIST (" hMcRecD0Phi" ), part.phi ());
13221343 if (part.tpcNClsFound () == 0 ) { // prompt candidates
13231344 mcRecoRegistry.fill (HIST (" hMcRecD0Prompt" ), part.pt (), part.eta ());
1345+ mcRecoRegistry.fill (HIST (" hMcRecD0PromptPt" ), part.pt ());
1346+ mcRecoRegistry.fill (HIST (" hMcRecD0PromptPhi" ), part.phi ());
13241347 } else if (part.tpcNClsFound () == 1 ) { // non-prompt candidates
13251348 mcRecoRegistry.fill (HIST (" hMcRecD0NonPrompt" ), part.pt (), part.eta ());
1349+ mcRecoRegistry.fill (HIST (" hMcRecD0PromptPt" ), part.pt ());
1350+ mcRecoRegistry.fill (HIST (" hMcRecD0PromptPhi" ), part.phi ());
13261351 }
13271352 } else if (mcpart.pdgMCTruth () == ConfDmesons.confPDGCodeD0bar ) {
13281353 mcRecoRegistry.fill (HIST (" hMcRecD0bar" ), part.pt (), part.eta ());
1354+ mcRecoRegistry.fill (HIST (" hMcRecD0barPt" ), part.pt ());
13291355 mcRecoRegistry.fill (HIST (" hMcRecD0barPhi" ), part.phi ());
13301356 if (part.tpcNClsFound () == 0 ) { // prompt candidates
13311357 mcRecoRegistry.fill (HIST (" hMcRecD0barPrompt" ), part.pt (), part.eta ());
1358+ mcRecoRegistry.fill (HIST (" hMcRecD0barPromptPt" ), part.pt ());
13321359 } else if (part.tpcNClsFound () == 1 ) { // non-prompt candidates
13331360 mcRecoRegistry.fill (HIST (" hMcRecD0barNonPrompt" ), part.pt (), part.eta ());
1361+ mcRecoRegistry.fill (HIST (" hMcRecD0barNonPromptPt" ), part.pt ());
13341362 }
13351363 }
13361364 }
@@ -1413,10 +1441,13 @@ struct FemtoUniversePairTaskTrackD0 {
14131441 if (pdgCode == o2::constants::physics::Pdg::kD0 ) {
14141442 if (std::abs (hfFlagMcGen) == o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) {
14151443 mcTruthRegistry.fill (HIST (" hMcGenD0" ), part.pt (), part.eta ());
1416- if (part.mAntiLambda () == 1 ) {
1444+ mcTruthRegistry.fill (HIST (" hMcGenD0Pt" ), part.pt ());
1445+ if (static_cast <int8_t >(part.mAntiLambda ()) == genPromptD0) {
14171446 mcTruthRegistry.fill (HIST (" hMcGenD0Prompt" ), part.pt (), part.eta ());
1418- } else if (part.mAntiLambda () == 2 ) {
1447+ mcTruthRegistry.fill (HIST (" hMcGenD0PromptPt" ), part.pt ());
1448+ } else if (static_cast <int8_t >(part.mAntiLambda ()) == genNonPromptD0) {
14191449 mcTruthRegistry.fill (HIST (" hMcGenD0NonPrompt" ), part.pt (), part.eta ());
1450+ mcTruthRegistry.fill (HIST (" hMcGenD0NonPromptPt" ), part.pt ());
14201451 }
14211452 }
14221453 }
@@ -1439,10 +1470,13 @@ struct FemtoUniversePairTaskTrackD0 {
14391470 if (pdgCode == o2::constants::physics::Pdg::kD0Bar ) {
14401471 if (std::abs (hfFlagMcGen) == o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) {
14411472 mcTruthRegistry.fill (HIST (" hMcGenD0bar" ), part.pt (), part.eta ());
1442- if (part.mAntiLambda () == 1 ) {
1473+ mcTruthRegistry.fill (HIST (" hMcGenD0barPt" ), part.pt ());
1474+ if (static_cast <int8_t >(part.mAntiLambda ()) == genPromptD0) {
14431475 mcTruthRegistry.fill (HIST (" hMcGenD0barPrompt" ), part.pt (), part.eta ());
1444- } else if (part.mAntiLambda () == 2 ) {
1476+ mcTruthRegistry.fill (HIST (" hMcGenD0barPromptPt" ), part.pt ());
1477+ } else if (static_cast <int8_t >(part.mAntiLambda ()) == genNonPromptD0) {
14451478 mcTruthRegistry.fill (HIST (" hMcGenD0barNonPrompt" ), part.pt (), part.eta ());
1479+ mcTruthRegistry.fill (HIST (" hMcGenD0barNonPromptPt" ), part.pt ());
14461480 }
14471481 }
14481482 }
0 commit comments