diff --git a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx index a4c8f7e16db..ea8b6fbebb0 100644 --- a/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx +++ b/PWGHF/TableProducer/treeCreatorToXiPiQa.cxx @@ -22,6 +22,7 @@ #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" @@ -224,7 +225,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(IsXic0WithRecoCollSel8, isXic0WithRecoCollSel8, 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", @@ -328,7 +331,9 @@ DECLARE_SOA_TABLE(HfCandToXiPiGen, "AOD", "HFCANDTOXIPIGEN", full::PtGenB, full::NContribMax, full::NRecoColl, - full::IsXic0WithRecoCollSel8); + full::HasRecoCollTVX, + full::HasRecoCollSel8, + full::HasRecoCollSel8Zvtx); } // namespace o2::aod @@ -380,9 +385,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 +665,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 +704,9 @@ struct HfTreeCreatorToXiPiQa { ptGenBhad, nContribMax, recoCollsPerMcColl.size(), - recoCollPassedSel8); + recoCollPassedTvx, + recoCollPassedSel8, + recoCollPassedSel8Zvtx); } } @@ -709,7 +727,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 +744,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 +761,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 +778,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 +795,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 +821,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 +838,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 +855,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 +872,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 +900,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 +925,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 +950,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 +975,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 +1000,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 +1025,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 +1050,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 +1086,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 +1111,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 +1136,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 +1161,7 @@ struct HfTreeCreatorToXiPiQa { // Filling event properties rowEv.reserve(collsWithMcLable.size()); for (const auto& collision : collsWithMcLable) { - fillEvent(collision, zPvCut); + fillEvent(collision); } // Filling candidate table