1717// cicero.domenico.muncinelli@cern.ch
1818//
1919
20- #ifndef PWGLF_DATAMODEL_LAMBDAJETPOL_H_
21- #define PWGLF_DATAMODEL_LAMBDAJETPOL_H_
20+ #ifndef PWGLF_DATAMODEL_LAMBDAJETPOLARIZATIONIONS_H_
21+ #define PWGLF_DATAMODEL_LAMBDAJETPOLARIZATIONIONS_H_
2222
2323#include < Framework/ASoA.h>
24+ #include < cmath>
25+ #include < cstdint>
2426
2527namespace o2 ::aod
2628{
2729
2830namespace lambdajetpol
2931{
30-
31- // DECLARE_SOA_COLUMN(CollIdx, collIdx, uint64_t); // Using a regular SOA column instead of an index column for convenience
3232// Collision information:
33- DECLARE_SOA_INDEX_COLUMN (Collision, collision);
3433DECLARE_SOA_COLUMN (CentFT0M, centFT0M, float );
3534DECLARE_SOA_COLUMN (CentFT0C, centFT0C, float );
36- DECLARE_SOA_COLUMN (CentFT0CVariant1, centFT0CVariant1, float );
37- DECLARE_SOA_COLUMN (CentMFT, centMFT, float );
38- DECLARE_SOA_COLUMN (CentNGlobal, centNGlobal, float );
3935DECLARE_SOA_COLUMN (CentFV0A, centFV0A, float );
4036
4137// Jet (and jet proxies) information:
4238DECLARE_SOA_COLUMN (JetPt, jetPt, float );
4339DECLARE_SOA_COLUMN (JetEta, jetEta, float );
4440DECLARE_SOA_COLUMN (JetPhi, jetPhi, float );
45- DECLARE_SOA_COLUMN (JetNConstituents, jetNConstituents, uint64_t );
41+ DECLARE_SOA_COLUMN (JetNConstituents, jetNConstituents, int );
4642
4743DECLARE_SOA_COLUMN (LeadParticlePt, leadParticlePt, float );
4844DECLARE_SOA_COLUMN (LeadParticleEta, leadParticleEta, float );
@@ -70,9 +66,9 @@ DECLARE_SOA_COLUMN(PosTPCNSigmaPi, posTPCNSigmaPi, float);
7066DECLARE_SOA_COLUMN (NegTPCNSigmaPr, negTPCNSigmaPr, float );
7167DECLARE_SOA_COLUMN (NegTPCNSigmaPi, negTPCNSigmaPi, float );
7268
73- DECLARE_SOA_COLUMN (V0CosPA, v0cosPA , float );
74- DECLARE_SOA_COLUMN (V0Radius, v0radius , float );
75- DECLARE_SOA_COLUMN (DcaV0Daughters, dcaV0daughters , float );
69+ DECLARE_SOA_COLUMN (V0CosPA, v0CosPA , float );
70+ DECLARE_SOA_COLUMN (V0Radius, v0Radius , float );
71+ DECLARE_SOA_COLUMN (DcaV0Daughters, dcaV0Daughters , float );
7672DECLARE_SOA_COLUMN (DcaPosToPV, dcaPosToPV, float );
7773DECLARE_SOA_COLUMN (DcaNegToPV, dcaNegToPV, float );
7874
@@ -90,32 +86,42 @@ DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePy, leadParticlePy, //! Leading particle
9086 [](float leadParticlePt, float leadParticlePhi) -> float { return leadParticlePt * std::sin (leadParticlePhi); });
9187DECLARE_SOA_DYNAMIC_COLUMN (LeadParticlePz, leadParticlePz, // ! Leading particle pz
9288 [](float leadParticlePt, float leadParticleEta) -> float { return leadParticlePt * std::sinh (leadParticleEta); });
89+ } // namespace lambdajetpol
90+
91+ DECLARE_SOA_TABLE (RingCollisions, " AOD" , " RINGCOLLISIONS" ,
92+ o2::soa::Index<>, // self-index: auto-assigned row number
93+ lambdajetpol::CentFT0M,
94+ lambdajetpol::CentFT0C,
95+ lambdajetpol::CentFV0A);
9396
97+ namespace lambdajetpol
98+ {
99+ DECLARE_SOA_INDEX_COLUMN (RingCollision, ringCollision); // Declare index after table is available
94100} // namespace lambdajetpol
95101
96- DECLARE_SOA_TABLE (RingJets, " AOD" , " RINGJETS" , // Renamed to follow convention on "s" at the end of table name.
97- lambdajetpol::CollisionId , // Changed to an internal O2 index, slightly different from usual o2::soa::Index<> though
102+ DECLARE_SOA_TABLE (RingJets, " AOD" , " RINGJETS" ,
103+ lambdajetpol::RingCollisionId , // relational index -> RingCollisions
98104 lambdajetpol::JetPt,
99105 lambdajetpol::JetEta,
100106 lambdajetpol::JetPhi,
101107 lambdajetpol::JetNConstituents,
102- // Dynamic columns
103- lambdajetpol::JetPx<lambdajetpol::JetPt, lambdajetpol::JetPhi>, // Explicitly binding to static columns
108+ // Dynamic columns (explicitly bound to their static inputs):
109+ lambdajetpol::JetPx<lambdajetpol::JetPt, lambdajetpol::JetPhi>,
104110 lambdajetpol::JetPy<lambdajetpol::JetPt, lambdajetpol::JetPhi>,
105111 lambdajetpol::JetPz<lambdajetpol::JetPt, lambdajetpol::JetEta>);
106112
107- DECLARE_SOA_TABLE (RingLeadP, " AOD" , " RINGLEADP" , // Leading particle table
108- lambdajetpol::CollisionId ,
113+ DECLARE_SOA_TABLE (RingLeadP, " AOD" , " RINGLEADP" ,
114+ lambdajetpol::RingCollisionId ,
109115 lambdajetpol::LeadParticlePt,
110116 lambdajetpol::LeadParticleEta,
111117 lambdajetpol::LeadParticlePhi,
112- // Dynamic columns
118+ // Dynamic columns:
113119 lambdajetpol::LeadParticlePx<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticlePhi>,
114120 lambdajetpol::LeadParticlePy<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticlePhi>,
115121 lambdajetpol::LeadParticlePz<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticleEta>);
116122
117123DECLARE_SOA_TABLE (RingLaV0s, " AOD" , " RINGLAV0S" ,
118- lambdajetpol::CollisionId ,
124+ lambdajetpol::RingCollisionId ,
119125 lambdajetpol::V0Pt,
120126 lambdajetpol::V0Eta,
121127 lambdajetpol::V0Phi,
@@ -139,12 +145,7 @@ DECLARE_SOA_TABLE(RingLaV0s, "AOD", "RINGLAV0S",
139145 lambdajetpol::DcaPosToPV,
140146 lambdajetpol::DcaNegToPV);
141147
142- DECLARE_SOA_TABLE (RingCollisions, " AOD" , " RINGCOLLISIONS" ,
143- lambdajetpol::CollisionId,
144- lambdajetpol::CentFT0M,
145- lambdajetpol::CentFT0C,
146- lambdajetpol::CentFV0A);
147-
148+ using RingCollision = RingCollisions::iterator; // Useful shorthand
148149} // namespace o2::aod
149150
150- #endif // PWGLF_DATAMODEL_LAMBDAJETPOL_H_
151+ #endif // PWGLF_DATAMODEL_LAMBDAJETPOLARIZATIONIONS_H_
0 commit comments