From 6fde3b0e3c252b3e778d24f2c210c61d8678bd78 Mon Sep 17 00:00:00 2001 From: SuJeong Ji <120470463+SuJeong-Ji@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:48:21 +0900 Subject: [PATCH 1/2] Added histograms for primary particles --- PWGLF/Tasks/Resonances/chk892pp.cxx | 96 ++++++++++++++++++----------- 1 file changed, 61 insertions(+), 35 deletions(-) diff --git a/PWGLF/Tasks/Resonances/chk892pp.cxx b/PWGLF/Tasks/Resonances/chk892pp.cxx index 5951ae05a7b..14fee0d3359 100644 --- a/PWGLF/Tasks/Resonances/chk892pp.cxx +++ b/PWGLF/Tasks/Resonances/chk892pp.cxx @@ -191,7 +191,7 @@ struct Chk892pp { /// PID Selections, pion struct : ConfigurableGroup { - Configurable cfgTPConly{"cfgTPConly", true, "Use only TPC for PID"}; // bool + Configurable cfgTPConly{"cfgTPConly", true, "Use only TPC for PID"}; // bool Configurable cfgMaxTPCnSigmaPion{"cfgMaxTPCnSigmaPion", 5.0, "TPC nSigma cut for Pion"}; // TPC Configurable cfgMaxTOFnSigmaPion{"cfgMaxTOFnSigmaPion", 5.0, "TOF nSigma cut for Pion"}; // TOF Configurable cfgNsigmaCutCombinedPion{"cfgNsigmaCutCombinedPion", -999, "Combined nSigma cut for Pion"}; // Combined @@ -444,10 +444,13 @@ struct Chk892pp { histos.add("EffK0s/recoK0s", "Reco K0s (|y<0.8|)", HistType::kTH2F, {ptAxis, centAxis}); histos.add("EffKstar/genKstar", "Gen Kstar (|y|<0.5)", HistType::kTH2F, {ptAxis, centAxis}); + histos.add("EffKstar/genKstar_pri", "Gen primary Kstar (|y|<0.5)", HistType::kTH2F, {ptAxis, centAxis}); histos.add("EffKstar/recoKstar", "Kstar Reco matched (final all)", HistType::kTH2F, {ptAxis, centAxis}); histos.add("Correction/sigLoss_den", "Gen Kstar (|y|<0.5) in truth class", HistType::kTH2F, {ptAxis, centAxis}); + histos.add("Correction/sigLoss_den_pri", "Gen primary Kstar (|y|<0.5) in truth class", HistType::kTH2F, {ptAxis, centAxis}); histos.add("Correction/sigLoss_num", "Gen Kstar (|y|<0.5, selected events) in reco class", HistType::kTH2F, {ptAxis, centAxis}); + histos.add("Correction/sigLoss_num_pri", "Gen primary Kstar (|y|<0.5, selected events) in reco class", HistType::kTH2F, {ptAxis, centAxis}); histos.add("Correction/EF_den", "Gen events (truth class)", HistType::kTH1F, {centAxis}); histos.add("Correction/EF_num", "Reco events (selected events)", HistType::kTH1F, {centAxis}); histos.add("Correction/MCTruthCent_all", "MC truth FT0M centrality (all mcCollisions)", HistType::kTH1F, {centAxis}); @@ -543,8 +546,8 @@ struct Chk892pp { if (std::abs(track.dcaXY()) > TrackCuts.cfgMaxbDCArToPVcut) return false; } - if (TrackCuts.cfgpTdepDCAzCut) { - // Tuned on the LHC22f anchored MC LHC23d1d on primary pions. 7 Sigmas of the resolution + if (TrackCuts.cfgpTdepDCAzCut) { + // Tuned on the LHC22f anchored MC LHC23d1d on primary pions. 7 Sigmas of the resolution if (std::abs(track.dcaZ()) > (0.004 + (0.013 / track.pt()))) return false; } else { @@ -911,6 +914,7 @@ struct Chk892pp { return true; } // matchRecoToTruthKstar + void effKstarProcessGen(MCTrueTrackCandidates const& mcparts) { for (const auto& part : mcparts) { @@ -921,37 +925,44 @@ struct Chk892pp { if (std::abs(part.y()) > KstarCuts.cfgKstarMaxRap) continue; - const int pionWanted = (part.pdgCode() > 0) ? +kPiPlus : -kPiPlus; - bool hasRightPion = false; - bool hasK0sToPipi = false; - - for (const auto& d1 : part.template daughters_as()) { - const int pdg1 = d1.pdgCode(); - if (pdg1 == pionWanted) { - hasRightPion = true; - } else if (std::abs(pdg1) == kPDGK0) { - for (const auto& d2 : d1.template daughters_as()) { - if (std::abs(d2.pdgCode()) == kPDGK0s) { - bool seenPip = false, seenPim = false; - for (const auto& d3 : d2.template daughters_as()) { - if (d3.pdgCode() == +kPiPlus) - seenPip = true; - else if (d3.pdgCode() == -kPiPlus) - seenPim = true; - } - if (seenPip && seenPim) { - hasK0sToPipi = true; - break; - } - } - } - } - if (hasRightPion && hasK0sToPipi) - break; - } - if (!(hasRightPion && hasK0sToPipi)) - continue; + const int pionWanted = (part.pdgCode() > 0) ? +kPiPlus : -kPiPlus; + bool hasRightPion = false; + bool hasK0sToPipi = false; + + for (const auto& d1 : part.template daughters_as()) { + const int pdg1 = d1.pdgCode(); + if (pdg1 == pionWanted) + { + hasRightPion = true; + } else if (std::abs(pdg1) == kPDGK0) + { + for (const auto& d2 : d1.template daughters_as()) + { + if (std::abs(d2.pdgCode()) == kPDGK0s) + { + bool seenPip = false, seenPim = false; + for (const auto& d3 : d2.template daughters_as()) + { + if (d3.pdgCode() == +kPiPlus) + seenPip = true; + else if (d3.pdgCode() == -kPiPlus) + seenPim = true; + } + if (seenPip && seenPim) + { + hasK0sToPipi = true; + break; + } + } + } + } + if (hasRightPion && hasK0sToPipi) break; + } + + if (!(hasRightPion && hasK0sToPipi)) + continue; + const auto mcid = part.mcCollisionId(); if (allowedMcIds.count(mcid) == 0) @@ -962,10 +973,15 @@ struct Chk892pp { continue; const float lCentrality = iter->second; - + histos.fill(HIST("EffKstar/genKstar"), part.pt(), lCentrality); + + if (part.vt() == 0) + { + histos.fill(HIST("EffKstar/genKstar_pri"), part.pt(), lCentrality); + } } - } // effKstarProcessGen + } //effKstarProcessGen template void effKstarProcessReco(V0RangeT const& v0s, TrkRangeT const& tracks) @@ -1052,6 +1068,11 @@ struct Chk892pp { const float lCentrality = iter->second; histos.fill(HIST("Correction/sigLoss_num"), part.pt(), lCentrality); + if (part.vt() == 0) + { + histos.fill(HIST("Correction/sigLoss_num_pri"), part.pt(), lCentrality); + } + } } // fillSigLossNum @@ -1076,6 +1097,11 @@ struct Chk892pp { const float lCentrality = iter->second; histos.fill(HIST("Correction/sigLoss_den"), part.pt(), lCentrality); + if (part.vt() == 0) + { + histos.fill(HIST("Correction/sigLoss_den_pri"), part.pt(), lCentrality); + } + } } // fillSigLossDen From 7409f109cf4e7db659500e4b101464a646441b09 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Tue, 10 Feb 2026 04:51:26 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGLF/Tasks/Resonances/chk892pp.cxx | 101 ++++++++++++---------------- 1 file changed, 44 insertions(+), 57 deletions(-) diff --git a/PWGLF/Tasks/Resonances/chk892pp.cxx b/PWGLF/Tasks/Resonances/chk892pp.cxx index 14fee0d3359..60133267f8f 100644 --- a/PWGLF/Tasks/Resonances/chk892pp.cxx +++ b/PWGLF/Tasks/Resonances/chk892pp.cxx @@ -191,7 +191,7 @@ struct Chk892pp { /// PID Selections, pion struct : ConfigurableGroup { - Configurable cfgTPConly{"cfgTPConly", true, "Use only TPC for PID"}; // bool + Configurable cfgTPConly{"cfgTPConly", true, "Use only TPC for PID"}; // bool Configurable cfgMaxTPCnSigmaPion{"cfgMaxTPCnSigmaPion", 5.0, "TPC nSigma cut for Pion"}; // TPC Configurable cfgMaxTOFnSigmaPion{"cfgMaxTOFnSigmaPion", 5.0, "TOF nSigma cut for Pion"}; // TOF Configurable cfgNsigmaCutCombinedPion{"cfgNsigmaCutCombinedPion", -999, "Combined nSigma cut for Pion"}; // Combined @@ -546,8 +546,8 @@ struct Chk892pp { if (std::abs(track.dcaXY()) > TrackCuts.cfgMaxbDCArToPVcut) return false; } - if (TrackCuts.cfgpTdepDCAzCut) { - // Tuned on the LHC22f anchored MC LHC23d1d on primary pions. 7 Sigmas of the resolution + if (TrackCuts.cfgpTdepDCAzCut) { + // Tuned on the LHC22f anchored MC LHC23d1d on primary pions. 7 Sigmas of the resolution if (std::abs(track.dcaZ()) > (0.004 + (0.013 / track.pt()))) return false; } else { @@ -914,7 +914,6 @@ struct Chk892pp { return true; } // matchRecoToTruthKstar - void effKstarProcessGen(MCTrueTrackCandidates const& mcparts) { for (const auto& part : mcparts) { @@ -925,44 +924,37 @@ struct Chk892pp { if (std::abs(part.y()) > KstarCuts.cfgKstarMaxRap) continue; + const int pionWanted = (part.pdgCode() > 0) ? +kPiPlus : -kPiPlus; + bool hasRightPion = false; + bool hasK0sToPipi = false; + + for (const auto& d1 : part.template daughters_as()) { + const int pdg1 = d1.pdgCode(); + if (pdg1 == pionWanted) { + hasRightPion = true; + } else if (std::abs(pdg1) == kPDGK0) { + for (const auto& d2 : d1.template daughters_as()) { + if (std::abs(d2.pdgCode()) == kPDGK0s) { + bool seenPip = false, seenPim = false; + for (const auto& d3 : d2.template daughters_as()) { + if (d3.pdgCode() == +kPiPlus) + seenPip = true; + else if (d3.pdgCode() == -kPiPlus) + seenPim = true; + } + if (seenPip && seenPim) { + hasK0sToPipi = true; + break; + } + } + } + } + if (hasRightPion && hasK0sToPipi) + break; + } - const int pionWanted = (part.pdgCode() > 0) ? +kPiPlus : -kPiPlus; - bool hasRightPion = false; - bool hasK0sToPipi = false; - - for (const auto& d1 : part.template daughters_as()) { - const int pdg1 = d1.pdgCode(); - if (pdg1 == pionWanted) - { - hasRightPion = true; - } else if (std::abs(pdg1) == kPDGK0) - { - for (const auto& d2 : d1.template daughters_as()) - { - if (std::abs(d2.pdgCode()) == kPDGK0s) - { - bool seenPip = false, seenPim = false; - for (const auto& d3 : d2.template daughters_as()) - { - if (d3.pdgCode() == +kPiPlus) - seenPip = true; - else if (d3.pdgCode() == -kPiPlus) - seenPim = true; - } - if (seenPip && seenPim) - { - hasK0sToPipi = true; - break; - } - } - } - } - if (hasRightPion && hasK0sToPipi) break; - } - - if (!(hasRightPion && hasK0sToPipi)) - continue; - + if (!(hasRightPion && hasK0sToPipi)) + continue; const auto mcid = part.mcCollisionId(); if (allowedMcIds.count(mcid) == 0) @@ -973,15 +965,14 @@ struct Chk892pp { continue; const float lCentrality = iter->second; - + histos.fill(HIST("EffKstar/genKstar"), part.pt(), lCentrality); - if (part.vt() == 0) - { - histos.fill(HIST("EffKstar/genKstar_pri"), part.pt(), lCentrality); - } + if (part.vt() == 0) { + histos.fill(HIST("EffKstar/genKstar_pri"), part.pt(), lCentrality); + } } - } //effKstarProcessGen + } // effKstarProcessGen template void effKstarProcessReco(V0RangeT const& v0s, TrkRangeT const& tracks) @@ -1068,11 +1059,9 @@ struct Chk892pp { const float lCentrality = iter->second; histos.fill(HIST("Correction/sigLoss_num"), part.pt(), lCentrality); - if (part.vt() == 0) - { - histos.fill(HIST("Correction/sigLoss_num_pri"), part.pt(), lCentrality); - } - + if (part.vt() == 0) { + histos.fill(HIST("Correction/sigLoss_num_pri"), part.pt(), lCentrality); + } } } // fillSigLossNum @@ -1097,11 +1086,9 @@ struct Chk892pp { const float lCentrality = iter->second; histos.fill(HIST("Correction/sigLoss_den"), part.pt(), lCentrality); - if (part.vt() == 0) - { - histos.fill(HIST("Correction/sigLoss_den_pri"), part.pt(), lCentrality); - } - + if (part.vt() == 0) { + histos.fill(HIST("Correction/sigLoss_den_pri"), part.pt(), lCentrality); + } } } // fillSigLossDen