@@ -35,8 +35,8 @@ DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg");
3535DECLARE_SOA_INDEX_COLUMN_FULL (BachTrack, bachTrack, int , Tracks, " _Bach" ); // !
3636
3737// topo vars
38- DECLARE_SOA_COLUMN (DCAV0Daughters , dcaV0Daughters, float );
39- DECLARE_SOA_COLUMN (DCACascadeDaughters , dcaCascadeDaughters, float );
38+ DECLARE_SOA_COLUMN (DcaV0Daughters , dcaV0Daughters, float );
39+ DECLARE_SOA_COLUMN (DcaCascadeDaughters , dcaCascadeDaughters, float );
4040DECLARE_SOA_COLUMN (V0Radius, v0Radius, float );
4141DECLARE_SOA_COLUMN (CascRadius, cascRadius, float );
4242DECLARE_SOA_COLUMN (CascRadiusMC, cascRadiusMC, float );
@@ -55,8 +55,8 @@ DECLARE_SOA_TABLE(UpgradeCascades, "AOD", "UPGRADECASCADES",
5555 otfcascade::PosTrackId,
5656 otfcascade::NegTrackId,
5757 otfcascade::BachTrackId,
58- otfcascade::DCAV0Daughters ,
59- otfcascade::DCACascadeDaughters ,
58+ otfcascade::DcaV0Daughters ,
59+ otfcascade::DcaCascadeDaughters ,
6060 otfcascade::V0Radius,
6161 otfcascade::CascRadius,
6262 otfcascade::CascRadiusMC,
@@ -75,7 +75,7 @@ DECLARE_SOA_INDEX_COLUMN_FULL(NegTrack, negTrack, int, Tracks, "_Neg"); //!
7575DECLARE_SOA_INDEX_COLUMN (V0, v0); // ! index of the mc particle corresponding to the V0
7676
7777// topo vars
78- DECLARE_SOA_COLUMN (DCAV0Daughters , dcaV0Daughters, float );
78+ DECLARE_SOA_COLUMN (DcaV0Daughters , dcaV0Daughters, float );
7979DECLARE_SOA_COLUMN (V0Radius, v0Radius, float );
8080DECLARE_SOA_COLUMN (MLambda, mLambda , float );
8181DECLARE_SOA_COLUMN (MAntiLambda, mAntiLambda , float );
@@ -91,7 +91,7 @@ DECLARE_SOA_TABLE(UpgradeV0s, "AOD", "UPGRADEV0S",
9191 otfv0::V0Id,
9292 otfv0::PosTrackId,
9393 otfv0::NegTrackId,
94- otfv0::DCAV0Daughters ,
94+ otfv0::DcaV0Daughters ,
9595 otfv0::V0Radius,
9696 otfv0::MLambda,
9797 otfv0::MAntiLambda,
@@ -107,25 +107,28 @@ DECLARE_SOA_INDEX_COLUMN_FULL(PosTrack, posTrack, int, Tracks, "_Pos"); //!
107107DECLARE_SOA_INDEX_COLUMN_FULL (NegTrack, negTrack, int , Tracks, " _Neg" ); // !
108108DECLARE_SOA_INDEX_COLUMN (V0, v0); // !
109109
110+ // Label to MC particle
111+ DECLARE_SOA_INDEX_COLUMN_FULL (McParticle, mcParticle, int , McParticles, " " ); // ! label to the MC particle corresponding to the V0
112+
110113// General V0 properties: position, momentum
111114DECLARE_SOA_COLUMN (PosX, posX, float ); // ! positive track X at min
112115DECLARE_SOA_COLUMN (NegX, negX, float ); // ! negative track X at min
113- DECLARE_SOA_COLUMN (PxPos, pxpos , float ); // ! positive track px at min
114- DECLARE_SOA_COLUMN (PyPos, pypos , float ); // ! positive track py at min
115- DECLARE_SOA_COLUMN (PzPos, pzpos , float ); // ! positive track pz at min
116- DECLARE_SOA_COLUMN (PxNeg, pxneg , float ); // ! negative track px at min
117- DECLARE_SOA_COLUMN (PyNeg, pyneg , float ); // ! negative track py at min
118- DECLARE_SOA_COLUMN (PzNeg, pzneg , float ); // ! negative track pz at min
116+ DECLARE_SOA_COLUMN (PxPos, pxPos , float ); // ! positive track px at min
117+ DECLARE_SOA_COLUMN (PyPos, pyPos , float ); // ! positive track py at min
118+ DECLARE_SOA_COLUMN (PzPos, pzPos , float ); // ! positive track pz at min
119+ DECLARE_SOA_COLUMN (PxNeg, pxNeg , float ); // ! negative track px at min
120+ DECLARE_SOA_COLUMN (PyNeg, pyNeg , float ); // ! negative track py at min
121+ DECLARE_SOA_COLUMN (PzNeg, pzNeg , float ); // ! negative track pz at min
119122DECLARE_SOA_COLUMN (X, x, float ); // ! decay position X
120123DECLARE_SOA_COLUMN (Y, y, float ); // ! decay position Y
121124DECLARE_SOA_COLUMN (Z, z, float ); // ! decay position Z
122125
123126// topo vars
124- DECLARE_SOA_COLUMN (DCAV0Daughters , dcaV0Daughters, float );
127+ DECLARE_SOA_COLUMN (DcaV0Daughters , dcaV0Daughters, float );
125128DECLARE_SOA_COLUMN (CosPA, cosPA, float );
126- DECLARE_SOA_COLUMN (DCAPosToPV , dcaPosToPV, float );
127- DECLARE_SOA_COLUMN (DCANegToPV , dcaNegToPV, float );
128- DECLARE_SOA_COLUMN (DCAV0ToPV , dcaV0ToPV, float );
129+ DECLARE_SOA_COLUMN (DcaPosToPV , dcaPosToPV, float );
130+ DECLARE_SOA_COLUMN (DcaNegToPV , dcaNegToPV, float );
131+ DECLARE_SOA_COLUMN (DcaV0ToPV , dcaV0ToPV, float );
129132
130133// ______________________________________________________
131134// DYNAMIC COLUMNS
@@ -151,14 +154,14 @@ DECLARE_SOA_DYNAMIC_COLUMN(Eta, eta, //! Pseudorapidity, conditionally defined t
151154 return RecoDecay::eta (std::array{pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg});
152155 });
153156// Length quantities
154- DECLARE_SOA_DYNAMIC_COLUMN (V0Radius , v0radius, // ! V0 decay radius (2D, centered at zero)
157+ DECLARE_SOA_DYNAMIC_COLUMN (V0radius , v0radius, // ! V0 decay radius (2D, centered at zero)
155158 [](float x, float y) -> float { return RecoDecay::sqrtSumOfSquares (x, y); });
156159
157160// Distance Over To Mom
158- DECLARE_SOA_DYNAMIC_COLUMN (DistOverTotMom, distovertotmom , // ! PV to V0decay distance over total momentum
161+ DECLARE_SOA_DYNAMIC_COLUMN (DistOverTotMom, distOverTotMom , // ! PV to V0decay distance over total momentum
159162 [](float X, float Y, float Z, float pxPos, float pyPos, float pzPos, float pxNeg, float pyNeg, float pzNeg, float pvX, float pvY, float pvZ) {
160- float P = RecoDecay::sqrtSumOfSquares (pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg);
161- return std::sqrt (std::pow (X - pvX, 2 ) + std::pow (Y - pvY, 2 ) + std::pow (Z - pvZ, 2 )) / (P + 1E-10 );
163+ float p = RecoDecay::sqrtSumOfSquares (pxPos + pxNeg, pyPos + pyNeg, pzPos + pzNeg);
164+ return std::sqrt (std::pow (X - pvX, 2 ) + std::pow (Y - pvY, 2 ) + std::pow (Z - pvZ, 2 )) / (p + 1E-10 );
162165 });
163166
164167// Armenteros-Podolanski variables
@@ -170,7 +173,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(Alpha, alpha, //! Armenteros Alpha
170173 return (lQlPos - lQlNeg) / (lQlPos + lQlNeg); // alphav0
171174 });
172175
173- DECLARE_SOA_DYNAMIC_COLUMN (QtArm, qtarm , // ! Armenteros Qt
176+ DECLARE_SOA_DYNAMIC_COLUMN (QtArm, qtArm , // ! Armenteros Qt
174177 [](float pxpos, float pypos, float pzpos, float pxneg, float pyneg, float pzneg) {
175178 float momTot = RecoDecay::p2 (pxpos + pxneg, pypos + pyneg, pzpos + pzneg);
176179 float dp = RecoDecay::dotProd (std::array{pxneg, pyneg, pzneg}, std::array{pxpos + pxneg, pypos + pyneg, pzpos + pzneg});
@@ -199,37 +202,37 @@ DECLARE_SOA_DYNAMIC_COLUMN(YLambda, yLambda, //! V0 y with lambda or antilambda
199202 return RecoDecay::y (std::array{pxpos + pxneg, pypos + pyneg, pzpos + pzneg}, o2::constants::physics::MassLambda);
200203 });
201204// Daughter track momenta
202- DECLARE_SOA_DYNAMIC_COLUMN (NegativePt, negativept , // ! negative daughter pT
205+ DECLARE_SOA_DYNAMIC_COLUMN (NegativePt, negativePt , // ! negative daughter pT
203206 [](float pxneg, float pyneg) -> float { return RecoDecay::sqrtSumOfSquares (pxneg, pyneg); });
204- DECLARE_SOA_DYNAMIC_COLUMN (PositivePt, positivept , // ! positive daughter pT
207+ DECLARE_SOA_DYNAMIC_COLUMN (PositivePt, positivePt , // ! positive daughter pT
205208 [](float pxpos, float pypos) -> float { return RecoDecay::sqrtSumOfSquares (pxpos, pypos); });
206- DECLARE_SOA_DYNAMIC_COLUMN (NegativeEta, negativeeta , // ! negative daughter eta
209+ DECLARE_SOA_DYNAMIC_COLUMN (NegativeEta, negativeEta , // ! negative daughter eta
207210 [](float PxNeg, float PyNeg, float PzNeg) -> float { return RecoDecay::eta (std::array{PxNeg, PyNeg, PzNeg}); });
208- DECLARE_SOA_DYNAMIC_COLUMN (NegativePhi, negativephi , // ! negative daughter phi
211+ DECLARE_SOA_DYNAMIC_COLUMN (NegativePhi, negativePhi , // ! negative daughter phi
209212 [](float PxNeg, float PyNeg) -> float { return RecoDecay::phi (PxNeg, PyNeg); });
210- DECLARE_SOA_DYNAMIC_COLUMN (PositiveEta, positiveeta , // ! positive daughter eta
213+ DECLARE_SOA_DYNAMIC_COLUMN (PositiveEta, positiveEta , // ! positive daughter eta
211214 [](float PxPos, float PyPos, float PzPos) -> float { return RecoDecay::eta (std::array{PxPos, PyPos, PzPos}); });
212- DECLARE_SOA_DYNAMIC_COLUMN (PositivePhi, positivephi , // ! positive daughter phi
215+ DECLARE_SOA_DYNAMIC_COLUMN (PositivePhi, positivePhi , // ! positive daughter phi
213216 [](float PxPos, float PyPos) -> float { return RecoDecay::phi (PxPos, PyPos); });
214217} // namespace candidatev0
215218DECLARE_SOA_TABLE (V0CandidateIndices, " AOD" , " V0CANDIDATEINDEX" , // ! index table
216- o2::soa::Index<>, candidatev0::CollisionId, candidatev0::PosTrackId, candidatev0::NegTrackId);
219+ o2::soa::Index<>, candidatev0::CollisionId, candidatev0::PosTrackId, candidatev0::NegTrackId, candidatev0::McParticleId );
217220
218221DECLARE_SOA_TABLE (V0CandidateCores, " AOD" , " V0CANDIDATECORE" ,
219222 o2::soa::Index<>,
220223 candidatev0::X, candidatev0::Y, candidatev0::Z,
221224 candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos,
222225 candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg,
223- candidatev0::DCAV0Daughters , candidatev0::DCAPosToPV , candidatev0::DCANegToPV ,
224- candidatev0::CosPA, candidatev0::DCAV0ToPV ,
226+ candidatev0::DcaV0Daughters , candidatev0::DcaPosToPV , candidatev0::DcaNegToPV ,
227+ candidatev0::CosPA, candidatev0::DcaV0ToPV ,
225228 candidatev0::Px<candidatev0::PxPos, candidatev0::PxNeg>,
226229 candidatev0::Py<candidatev0::PyPos, candidatev0::PyNeg>,
227230 candidatev0::Pz<candidatev0::PzPos, candidatev0::PzNeg>,
228231 candidatev0::Pt<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PxNeg, candidatev0::PyNeg>,
229232 candidatev0::P<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
230233 candidatev0::Phi<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PxNeg, candidatev0::PyNeg>,
231234 candidatev0::Eta<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
232- candidatev0::V0Radius <candidatev0::X, candidatev0::Y>,
235+ candidatev0::V0radius <candidatev0::X, candidatev0::Y>,
233236 candidatev0::DistOverTotMom<candidatev0::X, candidatev0::Y, candidatev0::Z, candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
234237 candidatev0::Alpha<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
235238 candidatev0::QtArm<candidatev0::PxPos, candidatev0::PyPos, candidatev0::PzPos, candidatev0::PxNeg, candidatev0::PyNeg, candidatev0::PzNeg>,
0 commit comments