@@ -224,7 +224,9 @@ DECLARE_SOA_COLUMN(ParticlePdg, particlePdg, int);
224224DECLARE_SOA_COLUMN (PtGenB, ptGenB, float );
225225DECLARE_SOA_COLUMN (NContribMax, nContribMax, int );
226226DECLARE_SOA_COLUMN (NRecoColl, nRecoColl, int );
227+ DECLARE_SOA_COLUMN (IsXic0WithRecoCollTVX, isXic0WithRecoCollTVX, bool );
227228DECLARE_SOA_COLUMN (IsXic0WithRecoCollSel8, isXic0WithRecoCollSel8, bool );
229+ DECLARE_SOA_COLUMN (IsXic0WithRecoCollSel8Zvtx, isXic0WithRecoCollSel8Ztvx, bool );
228230} // namespace full
229231
230232DECLARE_SOA_TABLE (HfToXiPiEvs, " AOD" , " HFTOXIPIEV" ,
@@ -328,7 +330,9 @@ DECLARE_SOA_TABLE(HfCandToXiPiGen, "AOD", "HFCANDTOXIPIGEN",
328330 full::PtGenB,
329331 full::NContribMax,
330332 full::NRecoColl,
331- full::IsXic0WithRecoCollSel8);
333+ full::IsXic0WithRecoCollTVX,
334+ full::IsXic0WithRecoCollSel8,
335+ full::IsXic0WithRecoCollSel8Zvtx);
332336
333337} // namespace o2::aod
334338
@@ -380,9 +384,9 @@ struct HfTreeCreatorToXiPiQa {
380384 // ////////////////////////////////////////////////////
381385
382386 template <bool useCentrality, typename T>
383- void fillEvent (const T& collision, float cutZPv )
387+ void fillEvent (const T& collision)
384388 {
385- rowEv (collision.sel8 (), std::abs (collision.posZ ()) < cutZPv );
389+ rowEv (collision.sel8 (), std::abs (collision.posZ ()) < zPvCut );
386390 }
387391
388392 template <int svReco, int tableSize, bool useCentrality, typename MyEventTableType, typename T>
@@ -660,18 +664,29 @@ struct HfTreeCreatorToXiPiQa {
660664 void fillParticle (const CandType& mcParticles, const CollType& collisions)
661665 {
662666 for (const auto & particle : mcParticles) {
663- // Mc.Gen
667+
664668 auto ptGen = particle.pt ();
665669 auto yGen = particle.rapidityCharmBaryonGen ();
666670
667671 int nContribMax = 0 ;
672+ bool recoCollPassedTvx = false ;
668673 bool recoCollPassedSel8 = false ;
674+ bool recoCollPassedSel8Zvtx = false ;
675+
669676 auto mcCollision = particle.template mcCollision_as <McCollType>();
670677 const auto & recoCollsPerMcColl = collisions.sliceBy (colPerMcCollision, mcCollision.globalIndex ());
678+
671679 for (const auto & recoCol : recoCollsPerMcColl) {
672680 nContribMax = recoCol.numContrib () > nContribMax ? recoCol.numContrib () : nContribMax;
673- if (recoCol.sel8 ()) {
674- recoCollPassedSel8 = true ;
681+ if (recoCol.selection_bit (aod::evsel::kIsTriggerTVX )) {
682+ recoCollPassedTvx = true ;
683+ if (recoCol.sel8 ()) {
684+ recoCollPassedSel8 = true ;
685+ if (std::abs (recoCol.posZ ()) < zPvCut) {
686+ recoCollPassedSel8Zvtx = true ;
687+ break ;
688+ }
689+ }
675690 }
676691 }
677692
@@ -688,7 +703,9 @@ struct HfTreeCreatorToXiPiQa {
688703 ptGenBhad,
689704 nContribMax,
690705 recoCollsPerMcColl.size (),
691- recoCollPassedSel8);
706+ recoCollPassedTvx,
707+ recoCollPassedSel8,
708+ recoCollPassedSel8Zvtx);
692709 }
693710 }
694711
@@ -709,7 +726,7 @@ struct HfTreeCreatorToXiPiQa {
709726 // Filling event properties
710727 rowEv.reserve (collisions.size ());
711728 for (const auto & collision : collisions) {
712- fillEvent<false >(collision, zPvCut );
729+ fillEvent<false >(collision);
713730 }
714731
715732 // Filling candidate properties
@@ -726,7 +743,7 @@ struct HfTreeCreatorToXiPiQa {
726743 // Filling event properties
727744 rowEv.reserve (collisions.size ());
728745 for (const auto & collision : collisions) {
729- fillEvent<false >(collision, zPvCut );
746+ fillEvent<false >(collision);
730747 }
731748
732749 // Filling candidate properties
@@ -743,7 +760,7 @@ struct HfTreeCreatorToXiPiQa {
743760 // Filling event properties
744761 rowEv.reserve (collisions.size ());
745762 for (const auto & collision : collisions) {
746- fillEvent<true >(collision, zPvCut );
763+ fillEvent<true >(collision);
747764 }
748765
749766 // Filling candidate properties
@@ -760,7 +777,7 @@ struct HfTreeCreatorToXiPiQa {
760777 // Filling event properties
761778 rowEv.reserve (collisions.size ());
762779 for (const auto & collision : collisions) {
763- fillEvent<true >(collision, zPvCut );
780+ fillEvent<true >(collision);
764781 }
765782
766783 // Filling candidate properties
@@ -777,7 +794,7 @@ struct HfTreeCreatorToXiPiQa {
777794 // Filling event properties
778795 rowEv.reserve (collisions.size ());
779796 for (const auto & collision : collisions) {
780- fillEvent<true >(collision, zPvCut );
797+ fillEvent<true >(collision);
781798 }
782799
783800 // Filling candidate properties
@@ -803,7 +820,7 @@ struct HfTreeCreatorToXiPiQa {
803820 // Filling event properties
804821 rowEv.reserve (collisions.size ());
805822 for (const auto & collision : collisions) {
806- fillEvent<false >(collision, zPvCut );
823+ fillEvent<false >(collision);
807824 }
808825
809826 // Filling candidate properties
@@ -820,7 +837,7 @@ struct HfTreeCreatorToXiPiQa {
820837 // Filling event properties
821838 rowEv.reserve (collisions.size ());
822839 for (const auto & collision : collisions) {
823- fillEvent<true >(collision, zPvCut );
840+ fillEvent<true >(collision);
824841 }
825842
826843 // Filling candidate properties
@@ -837,7 +854,7 @@ struct HfTreeCreatorToXiPiQa {
837854 // Filling event properties
838855 rowEv.reserve (collisions.size ());
839856 for (const auto & collision : collisions) {
840- fillEvent<true >(collision, zPvCut );
857+ fillEvent<true >(collision);
841858 }
842859
843860 // Filling candidate properties
@@ -854,7 +871,7 @@ struct HfTreeCreatorToXiPiQa {
854871 // Filling event properties
855872 rowEv.reserve (collisions.size ());
856873 for (const auto & collision : collisions) {
857- fillEvent<true >(collision, zPvCut );
874+ fillEvent<true >(collision);
858875 }
859876
860877 // Filling candidate properties
@@ -882,7 +899,7 @@ struct HfTreeCreatorToXiPiQa {
882899 // Filling event properties
883900 rowEv.reserve (collsWithMcLable.size ());
884901 for (const auto & collision : collsWithMcLable) {
885- fillEvent<false >(collision, zPvCut );
902+ fillEvent<false >(collision);
886903 }
887904
888905 // Filling candidate properties
@@ -907,7 +924,7 @@ struct HfTreeCreatorToXiPiQa {
907924 // Filling event properties
908925 rowEv.reserve (collsWithMcLable.size ());
909926 for (const auto & collision : collsWithMcLable) {
910- fillEvent<false >(collision, zPvCut );
927+ fillEvent<false >(collision);
911928 }
912929
913930 // Filling candidate properties
@@ -932,7 +949,7 @@ struct HfTreeCreatorToXiPiQa {
932949 // Filling event properties
933950 rowEv.reserve (collsWithMcLable.size ());
934951 for (const auto & collision : collsWithMcLable) {
935- fillEvent<false >(collision, zPvCut );
952+ fillEvent<false >(collision);
936953 }
937954
938955 // Filling candidate properties
@@ -957,7 +974,7 @@ struct HfTreeCreatorToXiPiQa {
957974 // Filling event properties
958975 rowEv.reserve (collsWithMcLable.size ());
959976 for (const auto & collision : collsWithMcLable) {
960- fillEvent<true >(collision, zPvCut );
977+ fillEvent<true >(collision);
961978 }
962979
963980 // Filling candidate properties
@@ -982,7 +999,7 @@ struct HfTreeCreatorToXiPiQa {
982999 // Filling event properties
9831000 rowEv.reserve (collsWithMcLable.size ());
9841001 for (const auto & collision : collsWithMcLable) {
985- fillEvent<true >(collision, zPvCut );
1002+ fillEvent<true >(collision);
9861003 }
9871004
9881005 // Filling candidate properties
@@ -1007,7 +1024,7 @@ struct HfTreeCreatorToXiPiQa {
10071024 // Filling event properties
10081025 rowEv.reserve (collsWithMcLable.size ());
10091026 for (const auto & collision : collsWithMcLable) {
1010- fillEvent<true >(collision, zPvCut );
1027+ fillEvent<true >(collision);
10111028 }
10121029
10131030 // Filling candidate properties
@@ -1032,7 +1049,7 @@ struct HfTreeCreatorToXiPiQa {
10321049 // Filling event properties
10331050 rowEv.reserve (collsWithMcLable.size ());
10341051 for (const auto & collision : collsWithMcLable) {
1035- fillEvent<false >(collision, zPvCut );
1052+ fillEvent<false >(collision);
10361053 }
10371054
10381055 // Filling candidate properties
@@ -1068,7 +1085,7 @@ struct HfTreeCreatorToXiPiQa {
10681085 // Filling event properties
10691086 rowEv.reserve (collsWithMcLable.size ());
10701087 for (const auto & collision : collsWithMcLable) {
1071- fillEvent<false >(collision, zPvCut );
1088+ fillEvent<false >(collision);
10721089 }
10731090
10741091 // Filling candidate properties
@@ -1093,7 +1110,7 @@ struct HfTreeCreatorToXiPiQa {
10931110 // Filling event properties
10941111 rowEv.reserve (collsWithMcLable.size ());
10951112 for (const auto & collision : collsWithMcLable) {
1096- fillEvent<true >(collision, zPvCut );
1113+ fillEvent<true >(collision);
10971114 }
10981115
10991116 // Filling candidate properties
@@ -1118,7 +1135,7 @@ struct HfTreeCreatorToXiPiQa {
11181135 // Filling event properties
11191136 rowEv.reserve (collsWithMcLable.size ());
11201137 for (const auto & collision : collsWithMcLable) {
1121- fillEvent<true >(collision, zPvCut );
1138+ fillEvent<true >(collision);
11221139 }
11231140
11241141 // Filling candidate properties
@@ -1143,7 +1160,7 @@ struct HfTreeCreatorToXiPiQa {
11431160 // Filling event properties
11441161 rowEv.reserve (collsWithMcLable.size ());
11451162 for (const auto & collision : collsWithMcLable) {
1146- fillEvent<true >(collision, zPvCut );
1163+ fillEvent<true >(collision);
11471164 }
11481165
11491166 // Filling candidate table
0 commit comments