2525
2626#include < array>
2727#include < cmath>
28+ #include < cstdint>
2829
2930namespace o2 ::aod
3031{
@@ -212,15 +213,19 @@ DECLARE_SOA_COLUMN(GammaPdgCode, gammaPdgCode, int); //! PDG code
212213DECLARE_SOA_COLUMN (GammaMotherPdgCode, gammaMotherPdgCode, int ); // ! PDG code of the photon's MC mother (expected: pi0)
213214DECLARE_SOA_COLUMN (GammaGMotherPdgCode, gammaGMotherPdgCode, int ); // ! PDG code of the photon's MC grandmother (expected: Sigma+)
214215
215- DECLARE_SOA_COLUMN (XDecVtxMC, xDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (x direction)
216- DECLARE_SOA_COLUMN (YDecVtxMC, yDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (y direction)
217- DECLARE_SOA_COLUMN (ZDecVtxMC, zDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (z direction)
218- DECLARE_SOA_COLUMN (PxProtonMC, pxProtonMC, float ); // ! MC-truth proton Px
219- DECLARE_SOA_COLUMN (PyProtonMC, pyProtonMC, float ); // ! MC-truth proton Py
220- DECLARE_SOA_COLUMN (PzProtonMC, pzProtonMC, float ); // ! MC-truth proton Pz
221- DECLARE_SOA_COLUMN (PxGammaMC, pxGammaMC, float ); // ! MC-truth momentum of the measured photon (Px)
222- DECLARE_SOA_COLUMN (PyGammaMC, pyGammaMC, float ); // ! MC-truth momentum of the measured photon (Py)
223- DECLARE_SOA_COLUMN (PzGammaMC, pzGammaMC, float ); // ! MC-truth momentum of the measured photon (Pz)
216+ DECLARE_SOA_COLUMN (XDecVtxMC, xDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (x direction)
217+ DECLARE_SOA_COLUMN (YDecVtxMC, yDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (y direction)
218+ DECLARE_SOA_COLUMN (ZDecVtxMC, zDecVtxMC, float ); // ! MC-truth Sigma+ decay vertex (z direction)
219+ DECLARE_SOA_COLUMN (DecayRadiusMC, decayRadiusMC, float ); // ! MC-truth Sigma+ decay radius
220+ DECLARE_SOA_COLUMN (PxSigmaPlusMC, pxSigmaPlusMC, float ); // ! MC-truth Sigma+ mother Px
221+ DECLARE_SOA_COLUMN (PySigmaPlusMC, pySigmaPlusMC, float ); // ! MC-truth Sigma+ mother Py
222+ DECLARE_SOA_COLUMN (PzSigmaPlusMC, pzSigmaPlusMC, float ); // ! MC-truth Sigma+ mother Pz
223+ DECLARE_SOA_COLUMN (PxProtonMC, pxProtonMC, float ); // ! MC-truth proton Px
224+ DECLARE_SOA_COLUMN (PyProtonMC, pyProtonMC, float ); // ! MC-truth proton Py
225+ DECLARE_SOA_COLUMN (PzProtonMC, pzProtonMC, float ); // ! MC-truth proton Pz
226+ DECLARE_SOA_COLUMN (PxGammaMC, pxGammaMC, float ); // ! MC-truth momentum of the measured photon (Px)
227+ DECLARE_SOA_COLUMN (PyGammaMC, pyGammaMC, float ); // ! MC-truth momentum of the measured photon (Py)
228+ DECLARE_SOA_COLUMN (PzGammaMC, pzGammaMC, float ); // ! MC-truth momentum of the measured photon (Pz)
224229
225230// DYNAMIC COLUMNS
226231
@@ -244,6 +249,12 @@ DECLARE_SOA_DYNAMIC_COLUMN(MassSigmaPlus, massSigmaPlus, //! Invariant mass of t
244249 std::array{pxGamma2, pyGamma2, pzGamma2}},
245250 std::array{o2::constants::physics::MassProton, o2::constants::physics::MassGamma, o2::constants::physics::MassGamma}); });
246251
252+ DECLARE_SOA_DYNAMIC_COLUMN (PtSigmaPlusMC, ptSigmaPlusMC, // ! True pT of the Sigma+ mother
253+ [](float pxSigmaPlusMC, float pySigmaPlusMC) -> float { return std::hypot (pxSigmaPlusMC, pySigmaPlusMC); });
254+
255+ DECLARE_SOA_DYNAMIC_COLUMN (YSigmaPlusMC, ySigmaPlusMC, // ! True rapidity of the Sigma+ mother
256+ [](float pxSigmaPlusMC, float pySigmaPlusMC, float pzSigmaPlusMC) -> float { return RecoDecay::y (std::array{pxSigmaPlusMC, pySigmaPlusMC, pzSigmaPlusMC}, o2::constants::physics::MassSigmaPlus); });
257+
247258} // namespace sigmapluscand
248259
249260DECLARE_SOA_TABLE (SigmaPlusCands, " AOD" , " SIGMAPLUSCANDS" ,
@@ -286,6 +297,25 @@ DECLARE_SOA_TABLE(SigmaPlusCandsMC, "AOD", "SIGMAPLUSMC",
286297 sigmapluscand::XDecVtxMC, sigmapluscand::YDecVtxMC, sigmapluscand::ZDecVtxMC,
287298 sigmapluscand::PxProtonMC, sigmapluscand::PyProtonMC, sigmapluscand::PzProtonMC,
288299 sigmapluscand::PxGammaMC, sigmapluscand::PyGammaMC, sigmapluscand::PzGammaMC,
300+ sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC, sigmapluscand::PzSigmaPlusMC,
301+
302+ // dynamic columns
303+ sigmapluscand::PxSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2>,
304+ sigmapluscand::PySigmaPlus<sigmapluscand::PyProton, sigmapluscand::PyGamma1, sigmapluscand::PyGamma2>,
305+ sigmapluscand::PzSigmaPlus<sigmapluscand::PzProton, sigmapluscand::PzGamma1, sigmapluscand::PzGamma2>,
306+ sigmapluscand::PtSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyProton, sigmapluscand::PyGamma1, sigmapluscand::PyGamma2>,
307+ sigmapluscand::MassSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PyProton, sigmapluscand::PzProton, sigmapluscand::PxGamma1, sigmapluscand::PyGamma1, sigmapluscand::PzGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyGamma2, sigmapluscand::PzGamma2>,
308+ sigmapluscand::PtSigmaPlusMC<sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC>,
309+ sigmapluscand::YSigmaPlusMC<sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC, sigmapluscand::PzSigmaPlusMC>);
310+
311+ DECLARE_SOA_TABLE (SlimSigmaPlusCands, " AOD" , " SLIMSIGMAPLUS" ,
312+ sigmapluscand::Radius, sigmapluscand::DcaProtonGamma,
313+ sigmapluscand::PxProton, sigmapluscand::PyProton, sigmapluscand::PzProton,
314+ sigmapluscand::PxGamma1, sigmapluscand::PyGamma1, sigmapluscand::PzGamma1,
315+ sigmapluscand::PxGamma2, sigmapluscand::PyGamma2, sigmapluscand::PzGamma2,
316+ sigmapluscand::NSigmaTPCProton, sigmapluscand::NSigmaTOFProton,
317+ sigmapluscand::NSigmaTPCElPos, sigmapluscand::NSigmaTPCElNeg,
318+ sigmapluscand::PhotonMass,
289319
290320 // dynamic columns
291321 sigmapluscand::PxSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2>,
@@ -294,6 +324,28 @@ DECLARE_SOA_TABLE(SigmaPlusCandsMC, "AOD", "SIGMAPLUSMC",
294324 sigmapluscand::PtSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyProton, sigmapluscand::PyGamma1, sigmapluscand::PyGamma2>,
295325 sigmapluscand::MassSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PyProton, sigmapluscand::PzProton, sigmapluscand::PxGamma1, sigmapluscand::PyGamma1, sigmapluscand::PzGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyGamma2, sigmapluscand::PzGamma2>);
296326
327+ DECLARE_SOA_TABLE (SlimSigmaPlusCandsMC, " AOD" , " SLIMSIGMAPLUSMC" ,
328+ sigmapluscand::Radius, sigmapluscand::DcaProtonGamma,
329+ sigmapluscand::PxProton, sigmapluscand::PyProton, sigmapluscand::PzProton,
330+ sigmapluscand::PxGamma1, sigmapluscand::PyGamma1, sigmapluscand::PzGamma1,
331+ sigmapluscand::PxGamma2, sigmapluscand::PyGamma2, sigmapluscand::PzGamma2,
332+ sigmapluscand::NSigmaTPCProton, sigmapluscand::NSigmaTOFProton,
333+ sigmapluscand::NSigmaTPCElPos, sigmapluscand::NSigmaTPCElNeg,
334+ sigmapluscand::PhotonMass,
335+ sigmapluscand::ProtonPdgCode, sigmapluscand::ProtonMotherPdgCode,
336+ sigmapluscand::GammaPdgCode, sigmapluscand::GammaMotherPdgCode, sigmapluscand::GammaGMotherPdgCode,
337+ sigmapluscand::DecayRadiusMC,
338+ sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC, sigmapluscand::PzSigmaPlusMC,
339+
340+ // dynamic columns
341+ sigmapluscand::PxSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2>,
342+ sigmapluscand::PySigmaPlus<sigmapluscand::PyProton, sigmapluscand::PyGamma1, sigmapluscand::PyGamma2>,
343+ sigmapluscand::PzSigmaPlus<sigmapluscand::PzProton, sigmapluscand::PzGamma1, sigmapluscand::PzGamma2>,
344+ sigmapluscand::PtSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PxGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyProton, sigmapluscand::PyGamma1, sigmapluscand::PyGamma2>,
345+ sigmapluscand::MassSigmaPlus<sigmapluscand::PxProton, sigmapluscand::PyProton, sigmapluscand::PzProton, sigmapluscand::PxGamma1, sigmapluscand::PyGamma1, sigmapluscand::PzGamma1, sigmapluscand::PxGamma2, sigmapluscand::PyGamma2, sigmapluscand::PzGamma2>,
346+ sigmapluscand::PtSigmaPlusMC<sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC>,
347+ sigmapluscand::YSigmaPlusMC<sigmapluscand::PxSigmaPlusMC, sigmapluscand::PySigmaPlusMC, sigmapluscand::PzSigmaPlusMC>);
348+
297349} // namespace o2::aod
298350
299351#endif // PWGLF_DATAMODEL_LFKINKDECAYTABLES_H_
0 commit comments