@@ -344,18 +344,19 @@ struct DileptonMC {
344344 const AxisSpec axis_dphi_e_ee{cfg_nbin_dphi_e_ee, 0 , M_PI, " #Delta#varphi = #varphi_{l} - #varphi_{ll} (rad.)" }; // for kUPC
345345
346346 // generated info
347- fRegistry .add (" Generated/sm/Pi0/hs" , " gen. dilepton signal" , kTHnSparseD , {axis_mass, axis_pt, axis_y, axis_dphi_ee, axis_deta_ee, axis_cos_theta_cs, axis_phi_cs, axis_aco, axis_asym_pt, axis_dphi_e_ee}, true );
348- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Eta/" );
349- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/EtaPrime/" );
350- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Rho/" );
351- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Omega/" );
352- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Omega2ll/" );
353- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Phi/" );
354- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/Phi2ll/" );
355- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/PromptJPsi/" );
356- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/NonPromptJPsi/" );
357- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/PromptPsi2S/" );
358- fRegistry .addClone (" Generated/sm/Pi0/" , " Generated/sm/NonPromptPsi2S/" );
347+ fRegistry .add (" Generated/sm/PromptPi0/hs" , " gen. dilepton signal" , kTHnSparseD , {axis_mass, axis_pt, axis_y, axis_dphi_ee, axis_deta_ee, axis_cos_theta_cs, axis_phi_cs, axis_aco, axis_asym_pt, axis_dphi_e_ee}, true );
348+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/NonPromptPi0/" );
349+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Eta/" );
350+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/EtaPrime/" );
351+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Rho/" );
352+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Omega/" );
353+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Omega2ll/" );
354+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Phi/" );
355+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/Phi2ll/" );
356+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/PromptJPsi/" );
357+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/NonPromptJPsi/" );
358+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/PromptPsi2S/" );
359+ fRegistry .addClone (" Generated/sm/PromptPi0/" , " Generated/sm/NonPromptPsi2S/" );
359360 fRegistry .add (" Generated/sm/Omega2ll/hPtY" , " pT of #omega meson" , kTH2F , {axis_y_meson, axis_pt_meson}, true );
360361 fRegistry .add (" Generated/sm/Phi2ll/hPtY" , " pT of #phi meson" , kTH2F , {axis_y_meson, axis_pt_meson}, true );
361362
@@ -402,7 +403,8 @@ struct DileptonMC {
402403
403404 // reconstructed pair info
404405 fRegistry .add (" Pair/sm/Photon/hs" , " rec. dilepton signal" , kTHnSparseD , {axis_mass, axis_pt, axis_y, axis_dphi_ee, axis_deta_ee, axis_cos_theta_cs, axis_phi_cs, axis_aco, axis_asym_pt, axis_dphi_e_ee, axis_dca}, true );
405- fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/Pi0/" );
406+ fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/PromptPi0/" );
407+ fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/NonPromptPi0/" );
406408 fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/Eta/" );
407409 fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/EtaPrime/" );
408410 fRegistry .addClone (" Pair/sm/Photon/" , " Pair/sm/Rho/" );
@@ -418,7 +420,8 @@ struct DileptonMC {
418420 if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
419421 fRegistry .add (" Pair/sm/Photon/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{90 , 0 , M_PI}, {100 , 0 .0f , 1 .0f }}, true );
420422 fRegistry .add (" Pair/sm/Photon/hMvsRxy" , " m_{ee} vs. r_{xy};r_{xy}^{true} (cm);m_{ee} (GeV/c^{2})" , kTH2F , {{100 , 0 , 100 }, {100 , 0 .0f , 1 .0f }}, true );
421- fRegistry .add (" Pair/sm/Pi0/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{90 , 0 , M_PI}, {100 , 0 .0f , 1 .0f }}, true );
423+ fRegistry .add (" Pair/sm/PromptPi0/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{90 , 0 , M_PI}, {100 , 0 .0f , 1 .0f }}, true );
424+ fRegistry .add (" Pair/sm/NonPromptPi0/hMvsPhiV" , " m_{ee} vs. #varphi_{V};#varphi (rad.);m_{ee} (GeV/c^{2})" , kTH2F , {{90 , 0 , M_PI}, {100 , 0 .0f , 1 .0f }}, true );
422425 }
423426
424427 fRegistry .add (" Pair/ccbar/c2l_c2l/hadron_hadron/hs" , " hs pair" , kTHnSparseD , {axis_mass, axis_pt, axis_y, axis_dphi_ee, axis_deta_ee, axis_cos_theta_cs, axis_phi_cs, axis_aco, axis_asym_pt, axis_dphi_e_ee, axis_dca}, true );
@@ -967,9 +970,16 @@ struct DileptonMC {
967970 if ((t1mc.isPhysicalPrimary () || t1mc.producedByGenerator ()) && (t2mc.isPhysicalPrimary () || t2mc.producedByGenerator ())) {
968971 switch (abs (mcmother.pdgCode ())) {
969972 case 111 :
970- fRegistry .fill (HIST (" Pair/sm/Pi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee), pair_dca, weight);
971- if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
972- fRegistry .fill (HIST (" Pair/sm/Pi0/hMvsPhiV" ), phiv, v12.M ());
973+ if (IsFromCharm (mcmother, mcparticles) < 0 && IsFromBeauty (mcmother, mcparticles) < 0 ) { // prompt pi0
974+ fRegistry .fill (HIST (" Pair/sm/PromptPi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee), pair_dca, weight);
975+ if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
976+ fRegistry .fill (HIST (" Pair/sm/PromptPi0/hMvsPhiV" ), phiv, v12.M ());
977+ }
978+ } else { // non-prompt pi0
979+ fRegistry .fill (HIST (" Pair/sm/NonPromptPi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee), pair_dca, weight);
980+ if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron ) {
981+ fRegistry .fill (HIST (" Pair/sm/NonPromptPi0/hMvsPhiV" ), phiv, v12.M ());
982+ }
973983 }
974984 break ;
975985 case 221 :
@@ -1370,7 +1380,11 @@ struct DileptonMC {
13701380
13711381 switch (abs (mcmother.pdgCode ())) {
13721382 case 111 :
1373- fRegistry .fill (HIST (" Generated/sm/Pi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee));
1383+ if (IsFromCharm (mcmother, mcparticles) < 0 && IsFromBeauty (mcmother, mcparticles) < 0 ) { // prompt pi0
1384+ fRegistry .fill (HIST (" Generated/sm/PromptPi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee));
1385+ } else { // non-prompt pi0
1386+ fRegistry .fill (HIST (" Generated/sm/NonPromptPi0/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee));
1387+ }
13741388 break ;
13751389 case 221 :
13761390 fRegistry .fill (HIST (" Generated/sm/Eta/hs" ), v12.M (), v12.Pt (), v12.Rapidity (), dphi, deta, abs (cos_thetaCS), abs (phiCS), aco, asym, abs (dphi_e_ee));
0 commit comments