Skip to content

Commit 95b7154

Browse files
author
Chiara De Martin
committed
store tree with topological variables for Omega polarization
1 parent e463c6b commit 95b7154

1 file changed

Lines changed: 68 additions & 29 deletions

File tree

PWGLF/TableProducer/Strangeness/cascadeflow.cxx

Lines changed: 68 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ struct cascadeFlow {
186186
// Output filling criteria
187187
struct : ConfigurableGroup {
188188
Configurable<bool> isFillTree{"isFillTree", 1, ""};
189+
Configurable<bool> isFillTreeFull{"isFillTreeFull", 0, ""};
189190
Configurable<bool> isFillTHNXi{"isFillTHNXi", 1, ""};
190191
Configurable<bool> isFillTHNXi_PzVsPsi{"isFillTHNXi_PzVsPsi", 1, ""};
191192
Configurable<bool> isFillTHNOmega{"isFillTHNOmega", 1, ""};
@@ -656,6 +657,7 @@ struct cascadeFlow {
656657
// Tables to produce
657658
Produces<aod::CascTraining> trainingSample;
658659
Produces<aod::CascAnalysis> analysisSample;
660+
Produces<aod::CascAnalysisFull> analysisTopoSample;
659661
Produces<aod::LambdaAnalysis> analysisLambdaSample;
660662
Configurable<LabeledArray<double>> parSigmaMass{
661663
"parSigmaMass",
@@ -694,8 +696,8 @@ struct cascadeFlow {
694696
pdgCode);
695697
}
696698

697-
template <class collision_t, class cascade_t>
698-
void fillAnalysedTable(collision_t coll, bool hasEventPlane, bool hasSpectatorPlane, cascade_t casc, float v2CSP, float v2CEP, float v1SP_ZDCA, float v1SP_ZDCC, float PsiT0C, float BDTresponseXi, float BDTresponseOmega, int pdgCode)
699+
template <class collision_t, class cascade_t, class bachExtra_t>
700+
void fillAnalysedTable(collision_t coll, bool hasEventPlane, bool hasSpectatorPlane, cascade_t casc, float v2CSP, float v2CEP, float v1SP_ZDCA, float v1SP_ZDCC, float PsiT0C, float BDTresponseXi, float BDTresponseOmega, int pdgCode, bachExtra_t bachExtra)
699701
{
700702
double masses[nParticles]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
701703
ROOT::Math::PxPyPzMVector cascadeVector[nParticles], lambdaVector, protonVector;
@@ -730,29 +732,66 @@ struct cascadeFlow {
730732
// bool isTVXinTRD = 0;
731733
// if (coll.alias_bit(kTVXinTRD)) isTVXinTRD = 1;
732734

733-
analysisSample(coll.centFT0C(),
734-
isNoCollInTimeRangeStd,
735-
isNoCollInRofStd,
736-
hasEventPlane,
737-
hasSpectatorPlane,
738-
casc.sign(),
739-
casc.pt(),
740-
casc.eta(),
741-
casc.phi(),
742-
casc.mLambda(),
743-
casc.mXi(),
744-
casc.mOmega(),
745-
v2CSP,
746-
v2CEP,
747-
v1SP_ZDCA,
748-
v1SP_ZDCC,
749-
PsiT0C,
750-
BDTresponseXi,
751-
BDTresponseOmega,
752-
cosThetaStarLambda[0],
753-
cosThetaStarLambda[1],
754-
cosThetaStarProton,
755-
pdgCode);
735+
if (fillingConfigs.isFillTreeFull) {
736+
analysisTopoSample(coll.centFT0C(),
737+
hasEventPlane,
738+
hasSpectatorPlane,
739+
casc.sign(),
740+
casc.pt(),
741+
casc.eta(),
742+
casc.phi(),
743+
casc.mLambda(),
744+
casc.mXi(),
745+
casc.mOmega(),
746+
casc.cascradius(),
747+
casc.v0radius(),
748+
casc.casccosPA(coll.posX(), coll.posY(), coll.posZ()),
749+
casc.v0cosPA(coll.posX(), coll.posY(), coll.posZ()),
750+
casc.dcapostopv(),
751+
casc.dcanegtopv(),
752+
casc.dcabachtopv(),
753+
casc.dcacascdaughters(),
754+
casc.dcaV0daughters(),
755+
casc.dcav0topv(coll.posX(), coll.posY(), coll.posZ()),
756+
casc.bachBaryonCosPA(),
757+
casc.bachBaryonDCAxyToPV(),
758+
bachExtra.tpcNSigmaKa(),
759+
v2CSP,
760+
v2CEP,
761+
v1SP_ZDCA,
762+
v1SP_ZDCC,
763+
PsiT0C,
764+
BDTresponseXi,
765+
BDTresponseOmega,
766+
cosThetaStarLambda[0],
767+
cosThetaStarLambda[1],
768+
cosThetaStarProton,
769+
pdgCode);
770+
} else {
771+
analysisSample(coll.centFT0C(),
772+
isNoCollInTimeRangeStd,
773+
isNoCollInRofStd,
774+
hasEventPlane,
775+
hasSpectatorPlane,
776+
casc.sign(),
777+
casc.pt(),
778+
casc.eta(),
779+
casc.phi(),
780+
casc.mLambda(),
781+
casc.mXi(),
782+
casc.mOmega(),
783+
v2CSP,
784+
v2CEP,
785+
v1SP_ZDCA,
786+
v1SP_ZDCC,
787+
PsiT0C,
788+
BDTresponseXi,
789+
BDTresponseOmega,
790+
cosThetaStarLambda[0],
791+
cosThetaStarLambda[1],
792+
cosThetaStarProton,
793+
pdgCode);
794+
}
756795
}
757796

758797
template <class collision_t, class v0_t>
@@ -1581,7 +1620,7 @@ struct cascadeFlow {
15811620

15821621
if (isSelectedCasc[0] || isSelectedCasc[1]) {
15831622
if (fillingConfigs.isFillTree)
1584-
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0);
1623+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0, bachExtra);
15851624
}
15861625
}
15871626
}
@@ -1899,7 +1938,7 @@ struct cascadeFlow {
18991938

19001939
if (isSelectedCasc[0] || isSelectedCasc[1]) {
19011940
if (fillingConfigs.isFillTree)
1902-
fillAnalysedTable(coll, hasEventPlane, 0, casc, v2CSP, v2CEP, 0, 0, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0);
1941+
fillAnalysedTable(coll, hasEventPlane, 0, casc, v2CSP, v2CEP, 0, 0, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0, bachExtra);
19031942
}
19041943
}
19051944
}
@@ -2414,7 +2453,7 @@ struct cascadeFlow {
24142453
}
24152454
if (isSelectedCasc[0] || isSelectedCasc[1])
24162455
if (fillingConfigs.isFillTree)
2417-
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0);
2456+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0CCorr, BDTresponse[0], BDTresponse[1], 0, bachExtra);
24182457
}
24192458
}
24202459

@@ -2556,7 +2595,7 @@ struct cascadeFlow {
25562595
continue;
25572596
}
25582597
if (isSelectedCasc[0] || isSelectedCasc[1])
2559-
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0C, BDTresponse[0], BDTresponse[1], pdgCode);
2598+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, psiT0C, BDTresponse[0], BDTresponse[1], pdgCode, bachExtra);
25602599
}
25612600
}
25622601

0 commit comments

Comments
 (0)