From 97fb3c79954efaa06a16211a215a10dd340c00b3 Mon Sep 17 00:00:00 2001 From: Jinhyun Park Date: Wed, 29 Jul 2026 15:01:52 +0900 Subject: [PATCH 1/4] 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/4] 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 From e9c1d1edabd95af28f6db6b0026f68a9fd19eeea Mon Sep 17 00:00:00 2001 From: Jinhyun Park Date: Thu, 30 Jul 2026 09:04:15 +0900 Subject: [PATCH 3/4] Include Common/Tools/EventSelectionParams.h to utilize event selection parameters --- PWGHF/TableProducer/treeCreatorToXiPiQa.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx index 7dfb5e3a3b6..7c7d6f14e13 100644 --- a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx +++ b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx @@ -26,6 +26,7 @@ #include "Common/DataModel/Centrality.h" #include "Common/DataModel/EventSelection.h" #include "Common/DataModel/TrackSelectionTables.h" +#include "Common/CCDB/EventSelectionParams.h" #include #include From d4f4912f1595442ce95da7478fb956ab00fc9c86 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Thu, 30 Jul 2026 00:05:11 +0000 Subject: [PATCH 4/4] Please consider the following formatting changes --- PWGHF/TableProducer/treeCreatorToXiPiQa.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx index 7c7d6f14e13..ea8b6fbebb0 100644 --- a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx +++ b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx @@ -22,11 +22,11 @@ #include "PWGHF/DataModel/CandidateSelectionTables.h" #include "PWGLF/DataModel/mcCentrality.h" +#include "Common/CCDB/EventSelectionParams.h" #include "Common/Core/RecoDecay.h" #include "Common/DataModel/Centrality.h" #include "Common/DataModel/EventSelection.h" #include "Common/DataModel/TrackSelectionTables.h" -#include "Common/CCDB/EventSelectionParams.h" #include #include