Skip to content

Commit ba4ccc3

Browse files
authored
[PWGLF] Added QA histograms for phi meson (#18180)
1 parent b8c8278 commit ba4ccc3

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

‎PWGLF/Tasks/Resonances/kstarqa.cxx‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)