@@ -1725,6 +1725,38 @@ DECLARE_SOA_TABLE(Tracked3BodyColls, "AOD", "TRA3BODYCOLL", //! Table joinable w
17251725using Tracked3BodyColl = Tracked3BodyColls::iterator;
17261726using AssignedTracked3Bodys = soa::Join<aod::Tracked3Bodys, aod::Tracked3BodyColls>;
17271727using AssignedTracked3Body = AssignedTracked3Bodys::iterator;
1728+
1729+ namespace zdcneutrons
1730+ {
1731+ // FOR DERIVED
1732+ DECLARE_SOA_INDEX_COLUMN (StraMCCollision, straMCCollision); // !
1733+ // DYNAMIC COLUMNS
1734+ DECLARE_SOA_DYNAMIC_COLUMN (Pt, pt, // ! neutron transverse momentum (GeV/c)
1735+ [](float px, float py) -> float { return RecoDecay::sqrtSumOfSquares (px, py); });
1736+ DECLARE_SOA_DYNAMIC_COLUMN (P, p, // ! neutron total momentum (GeV/c)
1737+ [](float px, float py, float pz) -> float { return RecoDecay::sqrtSumOfSquares (px, py, pz); });
1738+ DECLARE_SOA_DYNAMIC_COLUMN (Phi, phi, // ! neutron phi in the range [0, 2pi)
1739+ [](float px, float py) -> float { return RecoDecay::phi (px, py); });
1740+ DECLARE_SOA_DYNAMIC_COLUMN (Eta, eta, // ! neutron pseudorapidity
1741+ [](float px, float py, float pz) -> float { return RecoDecay::eta (std::array{px, py, pz}); });
1742+ DECLARE_SOA_DYNAMIC_COLUMN (Y, y, // ! neutron rapidity
1743+ [](float pz, float e) -> float { return std::atanh (pz/e); });
1744+ } // namespace zdcneutrons
1745+
1746+ DECLARE_SOA_TABLE (ZDCNeutrons, " AOD" , " ZDCNEUTRON" , // ! MC properties of the neutrons within ZDC acceptance (for UPC analysis)
1747+ mcparticle::PdgCode, mcparticle::StatusCode, mcparticle::Flags,
1748+ mcparticle::Vx, mcparticle::Vy, mcparticle::Vz, mcparticle::Vt,
1749+ mcparticle::Px, mcparticle::Py, mcparticle::Pz, mcparticle::E,
1750+ // Dynamic columns for manipulating information
1751+ zdcneutrons::Pt<mcparticle::Px, mcparticle::Py>,
1752+ zdcneutrons::P<mcparticle::Px, mcparticle::Py, mcparticle::Pz>,
1753+ zdcneutrons::Phi<mcparticle::Px, mcparticle::Py>,
1754+ zdcneutrons::Eta<mcparticle::Px, mcparticle::Py, mcparticle::Pz>,
1755+ zdcneutrons::Y<mcparticle::Pz, mcparticle::E>);
1756+
1757+ DECLARE_SOA_TABLE (ZDCNeutronMCCollRefs, " AOD" , " ZDCNEUTRONMCCOLLREF" , // ! refers MC candidate back to proper MC Collision
1758+ o2::soa::Index<>, zdcneutrons::StraMCCollisionId, o2::soa::Marker<4 >);
1759+
17281760} // namespace o2::aod
17291761
17301762// ______________________________________________________
0 commit comments