Skip to content

Commit f1b255d

Browse files
authored
Add information for the Xi/Omega polarisation analysis (#7075)
1 parent f091637 commit f1b255d

2 files changed

Lines changed: 30 additions & 3 deletions

File tree

PWGLF/DataModel/cascqaanalysis.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
#include "Common/DataModel/Multiplicity.h"
2626
#include "Common/DataModel/Centrality.h"
2727
#include "TRandom.h"
28+
#include "Math/Vector4D.h"
29+
#include "Math/Boost.h"
2830

2931
namespace o2::aod
3032
{
@@ -113,7 +115,7 @@ namespace cascadesflow
113115
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float);
114116
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float);
115117
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
116-
DECLARE_SOA_COLUMN(Sign, sign, int);
118+
DECLARE_SOA_COLUMN(Sign, sign, int16_t);
117119
DECLARE_SOA_COLUMN(Pt, pt, float);
118120
DECLARE_SOA_COLUMN(Eta, eta, float);
119121
DECLARE_SOA_COLUMN(Phi, phi, float);
@@ -124,6 +126,9 @@ DECLARE_SOA_COLUMN(V2CSP, v2CSP, float);
124126
DECLARE_SOA_COLUMN(PsiT0C, psiT0C, float);
125127
DECLARE_SOA_COLUMN(BDTResponseXi, bdtResponseXi, float);
126128
DECLARE_SOA_COLUMN(BDTResponseOmega, bdtResponseOmega, float);
129+
DECLARE_SOA_COLUMN(CosThetaStarLambdaFromOmega, cosThetaStarLambdaFromOmega, float);
130+
DECLARE_SOA_COLUMN(CosThetaStarLambdaFromXi, cosThetaStarLambdaFromXi, float);
131+
DECLARE_SOA_COLUMN(CosThetaStarProton, cosThetaStarProton, float);
127132

128133
} // namespace cascadesflow
129134

@@ -155,7 +160,7 @@ DECLARE_SOA_TABLE(CascTraining, "AOD", "CascTraining", o2::soa::Index<>,
155160
mycascades::DCABachToPV, mycascades::DCACascDaughters, mycascades::DCAV0Daughters, mycascades::DCAV0ToPV, mycascades::BachBaryonCosPA, mycascades::BachBaryonDCAxyToPV, mycascades::McPdgCode);
156161

157162
DECLARE_SOA_TABLE(CascAnalysis, "AOD", "CascAnalysis", o2::soa::Index<>,
158-
cascadesflow::CentFT0C, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Eta, cascadesflow::Phi, cascadesflow::MassXi, cascadesflow::MassOmega, cascadesflow::V2CSP, cascadesflow::V2CEP, cascadesflow::PsiT0C, cascadesflow::BDTResponseXi, cascadesflow::BDTResponseOmega);
163+
cascadesflow::CentFT0C, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Eta, cascadesflow::Phi, cascadesflow::MassXi, cascadesflow::MassOmega, cascadesflow::V2CSP, cascadesflow::V2CEP, cascadesflow::PsiT0C, cascadesflow::BDTResponseXi, cascadesflow::BDTResponseOmega, cascadesflow::CosThetaStarLambdaFromOmega, cascadesflow::CosThetaStarLambdaFromXi, cascadesflow::CosThetaStarProton);
159164

160165
namespace myMCcascades
161166
{

PWGLF/TableProducer/Strangeness/cascadeflow.cxx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,25 @@ struct cascadeFlow {
298298
template <class collision_t, class cascade_t>
299299
void fillAnalysedTable(collision_t coll, cascade_t casc, float v2CSP, float v2CEP, float PsiT0C, float BDTresponseXi, float BDTresponseOmega)
300300
{
301+
double masses[2]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
302+
ROOT::Math::PxPyPzMVector cascadeVector[2], lambdaVector, protonVector;
303+
float cosThetaStarLambda[2], cosThetaStarProton;
304+
lambdaVector.SetCoordinates(casc.pxlambda(), casc.pylambda(), casc.pzlambda(), o2::constants::physics::MassLambda);
305+
ROOT::Math::Boost lambdaBoost{lambdaVector.BoostToCM()};
306+
if (casc.sign() < 0) {
307+
protonVector.SetCoordinates(casc.pxneg(), casc.pyneg(), casc.pzneg(), o2::constants::physics::MassProton);
308+
} else {
309+
protonVector.SetCoordinates(casc.pxpos(), casc.pypos(), casc.pzpos(), o2::constants::physics::MassProton);
310+
}
311+
auto boostedProton{lambdaBoost(protonVector)};
312+
cosThetaStarProton = boostedProton.Pz() / boostedProton.P();
313+
for (int i{0}; i < 2; ++i) {
314+
cascadeVector[i].SetCoordinates(casc.px(), casc.py(), casc.pz(), masses[i]);
315+
ROOT::Math::Boost cascadeBoost{cascadeVector[i].BoostToCM()};
316+
auto boostedLambda{cascadeBoost(lambdaVector)};
317+
cosThetaStarLambda[i] = boostedLambda.Pz() / boostedLambda.P();
318+
}
319+
301320
analysisSample(coll.centFT0C(),
302321
casc.sign(),
303322
casc.pt(),
@@ -309,7 +328,10 @@ struct cascadeFlow {
309328
v2CEP,
310329
PsiT0C,
311330
BDTresponseXi,
312-
BDTresponseOmega);
331+
BDTresponseOmega,
332+
cosThetaStarLambda[0],
333+
cosThetaStarLambda[1],
334+
cosThetaStarProton);
313335
}
314336

315337
void init(InitContext const&)

0 commit comments

Comments
 (0)