From bb7de41a2df082e8d4d4d60cfa9d6e50e3419b0f Mon Sep 17 00:00:00 2001 From: Daiki Sekihata Date: Wed, 22 Jul 2026 18:48:14 +0200 Subject: [PATCH] [PWGEM/Dilepton] add dynamic columns in muon table --- PWGEM/Dilepton/DataModel/dileptonTables.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/PWGEM/Dilepton/DataModel/dileptonTables.h b/PWGEM/Dilepton/DataModel/dileptonTables.h index 78ebebbed7f..5c34d437ff9 100644 --- a/PWGEM/Dilepton/DataModel/dileptonTables.h +++ b/PWGEM/Dilepton/DataModel/dileptonTables.h @@ -1016,6 +1016,11 @@ DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt * DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); }); DECLARE_SOA_DYNAMIC_COLUMN(Py, py, [](float pt, float phi) -> float { return pt * std::sin(phi); }); DECLARE_SOA_DYNAMIC_COLUMN(Pz, pz, [](float pt, float eta) -> float { return pt * std::sinh(eta); }); +DECLARE_SOA_DYNAMIC_COLUMN(FwdDCAXY, fwdDcaXY, [](float dcaX, float dcaY) -> float { return std::hypot(dcaX, dcaY); }); +DECLARE_SOA_DYNAMIC_COLUMN(Chi2IP, chi2IP, [](float dcaX, float dcaY, float cXX, float cXY, float cYY) -> float { + float det = cXX * cYY - cXY * cXY; // determinanat + return (det < 0.f) ? 1e+10 : (dcaX * dcaX * cYY + dcaY * dcaY * cXX - 2.f * dcaX * dcaY * cXY) / det; +}); DECLARE_SOA_DYNAMIC_COLUMN(NClustersMFT, nClustersMFT, //! Number of MFT clusters [](uint64_t mftClusterSizesAndTrackFlags) -> uint8_t { uint8_t nClusters = 0; @@ -1152,7 +1157,9 @@ DECLARE_SOA_TABLE_VERSIONED(EMPrimaryMuons_004, "AOD", "EMPRIMARYMU", 4, //! emprimarymuon::P, emprimarymuon::Px, emprimarymuon::Py, - emprimarymuon::Pz); + emprimarymuon::Pz, + emprimarymuon::FwdDCAXY, + emprimarymuon::Chi2IP); using EMPrimaryMuons = EMPrimaryMuons_004; // iterators