@@ -173,6 +173,7 @@ struct Kstarqa {
173173 HistogramRegistry hInvMass{" hInvMass" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
174174 HistogramRegistry hPID{" hPID" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
175175 HistogramRegistry hOthers{" hOthers" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
176+ HistogramRegistry hShift{" hShift" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
176177
177178 // Confugrable for QA histograms
178179 Configurable<bool > calcLikeSign{" calcLikeSign" , true , " Calculate Like Sign" };
@@ -359,6 +360,21 @@ struct Kstarqa {
359360
360361 if (doprocessRecPhi) {
361362 hInvMass.add (" PhiMCChecks" , " PhiMCChecks" , kTHnSparseF , {ptAxis, etaAxis, phiAxis, subAxis, subAxis, subAxis}); // pT, eta, phi, deltaEta, deltaPhi, deltaR
363+
364+ hShift.add (" h2D_dpx_vs_px_KaonFromPhi" , " Kaon from Phi: dpx vs px" , kTH2F , {{subAxis}, {ptAxis}});
365+ hShift.add (" h2D_dpy_vs_py_KaonFromPhi" , " Kaon from Phi: dpy vs py" , kTH2F , {{subAxis}, {ptAxis}});
366+ hShift.add (" h2D_dpz_vs_pz_KaonFromPhi" , " Kaon from Phi: dpz vs pz" , kTH2F , {{subAxis}, {ptAxis}});
367+ hShift.add (" h2D_dpt_vs_pt_KaonFromPhi" , " Kaon from Phi: dpt vs pt" , kTH2F , {{subAxis}, {ptAxis}});
368+
369+ hShift.add (" h2D_dpx_vs_px_AllKaons" , " Kaon from Phi: deta vs eta" , kTH2F , {{subAxis}, {etaAxis}});
370+ hShift.add (" h2D_dpy_vs_py_AllKaons" , " Kaon from Phi: dphi vs phi" , kTH2F , {{subAxis}, {phiAxis}});
371+ hShift.add (" h2D_dpz_vs_pz_AllKaons" , " Kaon from Phi: dR vs eta" , kTH2F , {{subAxis}, {etaAxis}});
372+ hShift.add (" h2D_dpt_vs_pt_AllKaons" , " Kaon from Phi: dR vs phi" , kTH2F , {{subAxis}, {phiAxis}});
373+
374+ hShift.add (" h2D_dpx_vs_px_Phi" , " Pion from Phi: deta vs eta" , kTH2F , {{subAxis}, {etaAxis}});
375+ hShift.add (" h2D_dpy_vs_py_Phi" , " Pion from Phi: dphi vs phi" , kTH2F , {{subAxis}, {phiAxis}});
376+ hShift.add (" h2D_dpz_vs_pz_Phi" , " Pion from Phi: dR vs eta" , kTH2F , {{subAxis}, {etaAxis}});
377+ hShift.add (" h2D_dpt_vs_pt_Phi" , " Pion from Phi: dR vs phi" , kTH2F , {{subAxis}, {phiAxis}});
362378 }
363379
364380 // Signal Loss & Event Loss in Light Ion Collisions
@@ -3055,6 +3071,20 @@ struct Kstarqa {
30553071 continue ;
30563072 }
30573073
3074+ // All Kaons (Filling single-track kaon resolution histograms)
3075+ const auto mctrack1_all = track1.mcParticle ();
3076+ if (std::abs (mctrack1_all.pdgCode ()) == PDG_t::kKPlus ) {
3077+ double dpx_all = mctrack1_all.px () - track1.px ();
3078+ double dpy_all = mctrack1_all.py () - track1.py ();
3079+ double dpz_all = mctrack1_all.pz () - track1.pz ();
3080+ double dpt_all = mctrack1_all.pt () - track1.pt ();
3081+
3082+ hShift.fill (HIST (" h2D_dpx_vs_px_AllKaons" ), dpx_all, track1.px ());
3083+ hShift.fill (HIST (" h2D_dpy_vs_py_AllKaons" ), dpy_all, track1.py ());
3084+ hShift.fill (HIST (" h2D_dpz_vs_pz_AllKaons" ), dpz_all, track1.pz ());
3085+ hShift.fill (HIST (" h2D_dpt_vs_pt_AllKaons" ), dpt_all, track1.pt ());
3086+ }
3087+
30583088 auto track1ID = track1.index ();
30593089 for (const auto & track2 : tracks) {
30603090 rEventSelection.fill (HIST (" recMCparticles" ), 0.5 );
@@ -3169,6 +3199,38 @@ struct Kstarqa {
31693199 auto genPhiPhi = mothertrack1.phi ();
31703200
31713201 hInvMass.fill (HIST (" PhiMCChecks" ), mother.pt (), mother.eta (), mother.phi (), genpTPhi - mother.pt (), genEtaPhi - mother.eta (), genPhiPhi - mother.phi ());
3202+
3203+ // Kaons from Phi daughter (Filling for daughter track1 & daughter track2)
3204+ double dpx_k1 = mctrack1.px () - track1.px ();
3205+ double dpy_k1 = mctrack1.py () - track1.py ();
3206+ double dpz_k1 = mctrack1.pz () - track1.pz ();
3207+ double dpt_k1 = mctrack1.pt () - track1.pt ();
3208+
3209+ hShift.fill (HIST (" h2D_dpx_vs_px_KaonFromPhi" ), dpx_k1, track1.px ());
3210+ hShift.fill (HIST (" h2D_dpy_vs_py_KaonFromPhi" ), dpy_k1, track1.py ());
3211+ hShift.fill (HIST (" h2D_dpz_vs_pz_KaonFromPhi" ), dpz_k1, track1.pz ());
3212+ hShift.fill (HIST (" h2D_dpt_vs_pt_KaonFromPhi" ), dpt_k1, track1.pt ());
3213+
3214+ double dpx_k2 = mctrack2.px () - track2.px ();
3215+ double dpy_k2 = mctrack2.py () - track2.py ();
3216+ double dpz_k2 = mctrack2.pz () - track2.pz ();
3217+ double dpt_k2 = mctrack2.pt () - track2.pt ();
3218+
3219+ hShift.fill (HIST (" h2D_dpx_vs_px_KaonFromPhi" ), dpx_k2, track2.px ());
3220+ hShift.fill (HIST (" h2D_dpy_vs_py_KaonFromPhi" ), dpy_k2, track2.py ());
3221+ hShift.fill (HIST (" h2D_dpz_vs_pz_KaonFromPhi" ), dpz_k2, track2.pz ());
3222+ hShift.fill (HIST (" h2D_dpt_vs_pt_KaonFromPhi" ), dpt_k2, track2.pt ());
3223+
3224+ // Phi Meson
3225+ double dpx_phi = mothertrack1.px () - mother.Px ();
3226+ double dpy_phi = mothertrack1.py () - mother.Py ();
3227+ double dpz_phi = mothertrack1.pz () - mother.Pz ();
3228+ double dpt_phi = mothertrack1.pt () - mother.Pt ();
3229+
3230+ hShift.fill (HIST (" h2D_dpx_vs_px_Phi" ), dpx_phi, mother.Px ());
3231+ hShift.fill (HIST (" h2D_dpy_vs_py_Phi" ), dpy_phi, mother.Py ());
3232+ hShift.fill (HIST (" h2D_dpz_vs_pz_Phi" ), dpz_phi, mother.Pz ());
3233+ hShift.fill (HIST (" h2D_dpt_vs_pt_Phi" ), dpt_phi, mother.Pt ());
31723234 }
31733235 }
31743236 }
0 commit comments