@@ -1762,6 +1762,38 @@ DECLARE_SOA_TABLE(Tracked3BodyColls, "AOD", "TRA3BODYCOLL", //! Table joinable w
17621762using Tracked3BodyColl = Tracked3BodyColls::iterator;
17631763using AssignedTracked3Bodys = soa::Join<aod::Tracked3Bodys, aod::Tracked3BodyColls>;
17641764using AssignedTracked3Body = AssignedTracked3Bodys::iterator;
1765+
1766+ namespace zdcneutrons
1767+ {
1768+ // FOR DERIVED
1769+ DECLARE_SOA_INDEX_COLUMN (StraMCCollision, straMCCollision); // !
1770+ // DYNAMIC COLUMNS
1771+ DECLARE_SOA_DYNAMIC_COLUMN (Pt, pt, // ! neutron transverse momentum (GeV/c)
1772+ [](float px, float py) -> float { return RecoDecay::sqrtSumOfSquares (px, py); });
1773+ DECLARE_SOA_DYNAMIC_COLUMN (P, p, // ! neutron total momentum (GeV/c)
1774+ [](float px, float py, float pz) -> float { return RecoDecay::sqrtSumOfSquares (px, py, pz); });
1775+ DECLARE_SOA_DYNAMIC_COLUMN (Phi, phi, // ! neutron phi in the range [0, 2pi)
1776+ [](float px, float py) -> float { return RecoDecay::phi (px, py); });
1777+ DECLARE_SOA_DYNAMIC_COLUMN (Eta, eta, // ! neutron pseudorapidity
1778+ [](float px, float py, float pz) -> float { return RecoDecay::eta (std::array{px, py, pz}); });
1779+ DECLARE_SOA_DYNAMIC_COLUMN (Y, y, // ! neutron rapidity
1780+ [](float pz, float e) -> float { return std::atanh (pz / e); });
1781+ } // namespace zdcneutrons
1782+
1783+ DECLARE_SOA_TABLE (ZDCNeutrons, " AOD" , " ZDCNEUTRON" , // ! MC properties of the neutrons within ZDC acceptance (for UPC analysis)
1784+ mcparticle::PdgCode, mcparticle::StatusCode, mcparticle::Flags,
1785+ mcparticle::Vx, mcparticle::Vy, mcparticle::Vz, mcparticle::Vt,
1786+ mcparticle::Px, mcparticle::Py, mcparticle::Pz, mcparticle::E,
1787+ // Dynamic columns for manipulating information
1788+ zdcneutrons::Pt<mcparticle::Px, mcparticle::Py>,
1789+ zdcneutrons::P<mcparticle::Px, mcparticle::Py, mcparticle::Pz>,
1790+ zdcneutrons::Phi<mcparticle::Px, mcparticle::Py>,
1791+ zdcneutrons::Eta<mcparticle::Px, mcparticle::Py, mcparticle::Pz>,
1792+ zdcneutrons::Y<mcparticle::Pz, mcparticle::E>);
1793+
1794+ DECLARE_SOA_TABLE (ZDCNMCCollRefs, " AOD" , " ZDCNMCCOLLREF" , // ! refers MC candidate back to proper MC Collision
1795+ o2::soa::Index<>, zdcneutrons::StraMCCollisionId, o2::soa::Marker<4 >);
1796+
17651797} // namespace o2::aod
17661798
17671799// ______________________________________________________
0 commit comments