From 1f2d6f1d842edae9bcf19101593b6f97b7067012 Mon Sep 17 00:00:00 2001 From: Daiki Sekihata Date: Mon, 28 Jul 2025 15:06:02 +0200 Subject: [PATCH] PWGEM/Dilepton: reduce data size for 2PC --- PWGEM/Dilepton/DataModel/dileptonTables.h | 9 ++++++--- PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/PWGEM/Dilepton/DataModel/dileptonTables.h b/PWGEM/Dilepton/DataModel/dileptonTables.h index a96debb1457..d8639eaab5b 100644 --- a/PWGEM/Dilepton/DataModel/dileptonTables.h +++ b/PWGEM/Dilepton/DataModel/dileptonTables.h @@ -695,8 +695,10 @@ DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //! DECLARE_SOA_COLUMN(TrackId, trackId, int); //! // DECLARE_SOA_COLUMN(Sign, sign, int8_t); //! DECLARE_SOA_COLUMN(TrackBit, trackBit, uint16_t); //! -DECLARE_SOA_COLUMN(PtUINT16, ptuint16, uint16_t); //! +DECLARE_SOA_COLUMN(PtUINT16, ptuint16, uint16_t); //! 0 - 65536 +DECLARE_SOA_COLUMN(DcaZINT16, dcaZint16, int16_t); //! -32768 - +32768 DECLARE_SOA_DYNAMIC_COLUMN(Pt, pt, [](uint16_t ptuint16) -> float { return static_cast(ptuint16) * 1e-4; }); +DECLARE_SOA_DYNAMIC_COLUMN(DcaZ, dcaZ, [](int16_t dcaZint16) -> float { return static_cast(dcaZint16) * 1e-4; }); // DECLARE_SOA_DYNAMIC_COLUMN(Signed1Pt, signed1Pt, [](float pt, int8_t sign) -> float { return sign * 1. / pt; }); // DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt * std::cosh(eta); }); // DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); }); @@ -706,7 +708,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(Pt, pt, [](uint16_t ptuint16) -> float { return stati DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //! o2::soa::Index<>, emprimarytrack::CollisionId, emprimarytrack::TrackId, /* emprimarytrack::Sign,*/ - emprimarytrack::PtUINT16, track::Eta, track::Phi, track::DcaXY, track::DcaZ, emprimarytrack::TrackBit, + emprimarytrack::PtUINT16, track::Eta, track::Phi, track::DcaXY, emprimarytrack::DcaZINT16, emprimarytrack::TrackBit, // track::TPCNClsFindable, track::TPCNClsFindableMinusFound, track::TPCNClsFindableMinusCrossedRows, track::TPCNClsShared, track::TPCChi2NCl, // track::ITSClusterSizes, track::ITSChi2NCl, track::DetectorMap, @@ -725,7 +727,8 @@ DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, // emprimarytrack::Px, // emprimarytrack::Py, // emprimarytrack::Pz - emprimarytrack::Pt); + emprimarytrack::Pt, + emprimarytrack::DcaZ); using EMPrimaryTracks = EMPrimaryTracks_000; // iterators diff --git a/PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx b/PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx index 7e05accb739..65b5252bf34 100644 --- a/PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx +++ b/PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx @@ -242,6 +242,9 @@ struct skimmerPrimaryTrack { if (std::fabs(dcaXY) > dca_xy_max || std::fabs(dcaZ) > dca_z_max) { return false; } + if (std::fabs(dcaZ) > 3.f) { + return false; + } if (std::fabs(trackParCov.getEta()) > maxeta || trackParCov.getPt() < minpt || maxpt < trackParCov.getPt()) { return false; @@ -304,17 +307,17 @@ struct skimmerPrimaryTrack { if (track.tpcNClsFound() >= 90) { trackBit |= static_cast(RefTrackBit::kNclsTPC90); } - if (track.tpcChi2NCl() < 4) { + if (track.tpcChi2NCl() < 4.f) { trackBit |= static_cast(RefTrackBit::kChi2TPC4); } - if (track.tpcChi2NCl() < 3) { + if (track.tpcChi2NCl() < 3.f) { trackBit |= static_cast(RefTrackBit::kChi2TPC3); } if (track.tpcFractionSharedCls() < 0.7) { trackBit |= static_cast(RefTrackBit::kFracSharedTPC07); } - emprimarytracks(collision.globalIndex(), track.globalIndex(), /*track.sign(),*/ static_cast(pt * 1e+4), eta, phi, dcaXY, dcaZ, trackBit); + emprimarytracks(collision.globalIndex(), track.globalIndex(), static_cast(pt * 1e+4), eta, phi, dcaXY, static_cast(dcaZ * 1e+4), trackBit); // prmtrackeventidtmp(collision.globalIndex()); stored_trackIds.emplace_back(std::pair{collision.globalIndex(), track.globalIndex()});