From 97fb3c79954efaa06a16211a215a10dd340c00b3 Mon Sep 17 00:00:00 2001 From: Jinhyun Park Date: Wed, 29 Jul 2026 15:01:52 +0900 Subject: [PATCH 1/2] First commit to update treeCreator for efficiency correction in Xic0 -> XiPi analysis --- PWGHF/TableProducer/treeCreatorToXiPiQa.cxx | 71 +++++++++++++-------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx index a4c8f7e16db..ac3a72bbf09 100644 --- a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx +++ b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx @@ -224,7 +224,9 @@ DECLARE_SOA_COLUMN(ParticlePdg, particlePdg, int); DECLARE_SOA_COLUMN(PtGenB, ptGenB, float); DECLARE_SOA_COLUMN(NContribMax, nContribMax, int); DECLARE_SOA_COLUMN(NRecoColl, nRecoColl, int); +DECLARE_SOA_COLUMN(IsXic0WithRecoCollTVX, isXic0WithRecoCollTVX, bool); DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8, isXic0WithRecoCollSel8, bool); +DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8Zvtx, isXic0WithRecoCollSel8Ztvx, bool); } // namespace full DECLARE_SOA_TABLE(HfToXiPiEvs, "AOD", "HFTOXIPIEV", @@ -328,7 +330,9 @@ DECLARE_SOA_TABLE(HfCandToXiPiGen, "AOD", "HFCANDTOXIPIGEN", full::PtGenB, full::NContribMax, full::NRecoColl, - full::IsXic0WithRecoCollSel8); + full::IsXic0WithRecoCollTVX, + full::IsXic0WithRecoCollSel8, + full::IsXic0WithRecoCollSel8Zvtx); } // namespace o2::aod @@ -380,9 +384,9 @@ struct HfTreeCreatorToXiPiQa { ////////////////////////////////////////////////////// template - void fillEvent(const T& collision, float cutZPv) + void fillEvent(const T& collision) { - rowEv(collision.sel8(), std::abs(collision.posZ()) < cutZPv); + rowEv(collision.sel8(), std::abs(collision.posZ()) < zPvCut); } template @@ -660,18 +664,29 @@ struct HfTreeCreatorToXiPiQa { void fillParticle(const CandType& mcParticles, const CollType& collisions) { for (const auto& particle : mcParticles) { - // Mc.Gen + auto ptGen = particle.pt(); auto yGen = particle.rapidityCharmBaryonGen(); int nContribMax = 0; + bool recoCollPassedTvx = false; bool recoCollPassedSel8 = false; + bool recoCollPassedSel8Zvtx = false; + auto mcCollision = particle.template mcCollision_as(); const auto& recoCollsPerMcColl = collisions.sliceBy(colPerMcCollision, mcCollision.globalIndex()); + for (const auto& recoCol : recoCollsPerMcColl) { nContribMax = recoCol.numContrib() > nContribMax ? recoCol.numContrib() : nContribMax; - if (recoCol.sel8()) { - recoCollPassedSel8 = true; + if (recoCol.selection_bit(aod::evsel::kIsTriggerTVX)) { + recoCollPassedTvx = true; + if (recoCol.sel8()) { + recoCollPassedSel8 = true; + if (std::abs(recoCol.posZ()) < zPvCut) { + recoCollPassedSel8Zvtx = true; + break; + } + } } } @@ -688,7 +703,9 @@ struct HfTreeCreatorToXiPiQa { ptGenBhad, nContribMax, recoCollsPerMcColl.size(), - recoCollPassedSel8); + recoCollPassedTvx, + recoCollPassedSel8, + recoCollPassedSel8Zvtx); } } @@ -709,7 +726,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -726,7 +743,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -743,7 +760,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -760,7 +777,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -777,7 +794,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -803,7 +820,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -820,7 +837,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -837,7 +854,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -854,7 +871,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collisions.size()); for (const auto& collision : collisions) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -882,7 +899,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -907,7 +924,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -932,7 +949,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -957,7 +974,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -982,7 +999,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1007,7 +1024,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1032,7 +1049,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1068,7 +1085,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1093,7 +1110,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1118,7 +1135,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate properties @@ -1143,7 +1160,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate table From 70123f4dc3fee92c17dd92c63076e9fede83e81f Mon Sep 17 00:00:00 2001 From: Jinhyun Park Date: Wed, 29 Jul 2026 15:38:32 +0900 Subject: [PATCH 2/2] Renamed configurables to pass o2-linter --- PWGHF/TableProducer/treeCreatorToXiPiQa.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx index ac3a72bbf09..7dfb5e3a3b6 100644 --- a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx +++ b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx @@ -224,9 +224,9 @@ DECLARE_SOA_COLUMN(ParticlePdg, particlePdg, int); DECLARE_SOA_COLUMN(PtGenB, ptGenB, float); DECLARE_SOA_COLUMN(NContribMax, nContribMax, int); DECLARE_SOA_COLUMN(NRecoColl, nRecoColl, int); -DECLARE_SOA_COLUMN(IsXic0WithRecoCollTVX, isXic0WithRecoCollTVX, bool); -DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8, isXic0WithRecoCollSel8, bool); -DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8Zvtx, isXic0WithRecoCollSel8Ztvx, bool); +DECLARE_SOA_COLUMN(HasRecoCollTVX, hasRecoCollTVX, bool); +DECLARE_SOA_COLUMN(HasRecoCollSel8, hasRecoCollSel8, bool); +DECLARE_SOA_COLUMN(HasRecoCollSel8Zvtx, hasRecoCollSel8Zvtx, bool); } // namespace full DECLARE_SOA_TABLE(HfToXiPiEvs, "AOD", "HFTOXIPIEV", @@ -330,9 +330,9 @@ DECLARE_SOA_TABLE(HfCandToXiPiGen, "AOD", "HFCANDTOXIPIGEN", full::PtGenB, full::NContribMax, full::NRecoColl, - full::IsXic0WithRecoCollTVX, - full::IsXic0WithRecoCollSel8, - full::IsXic0WithRecoCollSel8Zvtx); + full::HasRecoCollTVX, + full::HasRecoCollSel8, + full::HasRecoCollSel8Zvtx); } // namespace o2::aod