Skip to content

Commit 97fb3c7

Browse files
Jinhyun ParkJinhyun Park
authored andcommitted
First commit to update treeCreator for efficiency correction in Xic0 -> XiPi analysis
1 parent 5b88425 commit 97fb3c7

1 file changed

Lines changed: 44 additions & 27 deletions

File tree

PWGHF/TableProducer/treeCreatorToXiPiQa.cxx

Lines changed: 44 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,9 @@ DECLARE_SOA_COLUMN(ParticlePdg, particlePdg, int);
224224
DECLARE_SOA_COLUMN(PtGenB, ptGenB, float);
225225
DECLARE_SOA_COLUMN(NContribMax, nContribMax, int);
226226
DECLARE_SOA_COLUMN(NRecoColl, nRecoColl, int);
227+
DECLARE_SOA_COLUMN(IsXic0WithRecoCollTVX, isXic0WithRecoCollTVX, bool);
227228
DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8, isXic0WithRecoCollSel8, bool);
229+
DECLARE_SOA_COLUMN(IsXic0WithRecoCollSel8Zvtx, isXic0WithRecoCollSel8Ztvx, bool);
228230
} // namespace full
229231

230232
DECLARE_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

Comments
 (0)