Skip to content

Commit 05398c8

Browse files
committed
PWGEM/Dilepton: update 2PC
1 parent 33c43b1 commit 05398c8

File tree

5 files changed

+39
-48
lines changed

5 files changed

+39
-48
lines changed

PWGEM/Dilepton/Core/EMTrackCut.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ class EMTrackCut : public TNamed
140140
case EMTrackCuts::kTrackPhiRange:
141141
return track.phi() > mMinTrackPhi && track.phi() < mMaxTrackPhi;
142142

143-
case EMTrackCuts::kDCAxy:
144-
return std::fabs(track.dcaXY()) < ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
143+
// case EMTrackCuts::kDCAxy:
144+
// return std::fabs(track.dcaXY()) < ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
145145

146-
case EMTrackCuts::kDCAz:
147-
return std::fabs(track.dcaZ()) < mMaxDcaZ;
146+
// case EMTrackCuts::kDCAz:
147+
// return std::fabs(track.dcaZ()) < mMaxDcaZ;
148148

149149
case EMTrackCuts::kTrackBit: {
150150
// for (int i = 0; i < 10; i++) {

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -822,42 +822,12 @@ namespace emprimarytrack
822822
DECLARE_SOA_INDEX_COLUMN(EMEvent, emevent); //!
823823
DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //!
824824
DECLARE_SOA_COLUMN(TrackId, trackId, int); //!
825-
// DECLARE_SOA_COLUMN(Sign, sign, int8_t); //!
825+
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //!
826826
DECLARE_SOA_COLUMN(TrackBit, trackBit, uint16_t); //!
827-
DECLARE_SOA_COLUMN(PtUINT16, ptuint16, uint16_t); //! 0 - 65535
828-
DECLARE_SOA_COLUMN(DcaZINT16, dcaZint16, int16_t); //! -32768 - +32767
829-
DECLARE_SOA_DYNAMIC_COLUMN(Pt, pt, [](uint16_t ptuint16) -> float { return static_cast<float>(ptuint16) * 1e-4; });
830-
DECLARE_SOA_DYNAMIC_COLUMN(DcaZ, dcaZ, [](int16_t dcaZint16) -> float { return static_cast<float>(dcaZint16) * 1e-4; });
831-
// DECLARE_SOA_DYNAMIC_COLUMN(Signed1Pt, signed1Pt, [](float pt, int8_t sign) -> float { return sign * 1. / pt; });
832-
// DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt * std::cosh(eta); });
833-
// DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); });
834-
// DECLARE_SOA_DYNAMIC_COLUMN(Py, py, [](float pt, float phi) -> float { return pt * std::sin(phi); });
835-
// DECLARE_SOA_DYNAMIC_COLUMN(Pz, pz, [](float pt, float eta) -> float { return pt * std::sinh(eta); });
836827
} // namespace emprimarytrack
837828

838-
DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //!
839-
o2::soa::Index<>, emprimarytrack::CollisionId, emprimarytrack::TrackId, /* emprimarytrack::Sign,*/
840-
emprimarytrack::PtUINT16, track::Eta, track::Phi, track::DcaXY, emprimarytrack::DcaZINT16, emprimarytrack::TrackBit,
841-
842-
// track::TPCNClsFindable, track::TPCNClsFindableMinusFound, track::TPCNClsFindableMinusCrossedRows, track::TPCNClsShared, track::TPCChi2NCl,
843-
// track::ITSClusterSizes, track::ITSChi2NCl, track::DetectorMap,
844-
845-
// // dynamic column
846-
// track::TPCNClsFound<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
847-
// track::TPCNClsCrossedRows<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
848-
// track::TPCCrossedRowsOverFindableCls<track::TPCNClsFindable, track::TPCNClsFindableMinusCrossedRows>,
849-
// track::TPCFoundOverFindableCls<track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
850-
// track::TPCFractionSharedCls<track::TPCNClsShared, track::TPCNClsFindable, track::TPCNClsFindableMinusFound>,
851-
// track::v001::ITSClusterMap<track::ITSClusterSizes>, track::v001::ITSNCls<track::ITSClusterSizes>, track::v001::ITSNClsInnerBarrel<track::ITSClusterSizes>,
852-
853-
// track::HasITS<track::DetectorMap>, track::HasTPC<track::DetectorMap>, track::HasTRD<track::DetectorMap>, track::HasTOF<track::DetectorMap>,
854-
// emprimarytrack::Signed1Pt<track::Pt, emprimarytrack::Sign>,
855-
// emprimarytrack::P<track::Pt, track::Eta>,
856-
// emprimarytrack::Px<track::Pt, track::Phi>,
857-
// emprimarytrack::Py<track::Pt, track::Phi>,
858-
// emprimarytrack::Pz<track::Pt, track::Eta>
859-
emprimarytrack::Pt<emprimarytrack::PtUINT16>,
860-
emprimarytrack::DcaZ<emprimarytrack::DcaZINT16>);
829+
DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //! primary charged track table for 2PC
830+
o2::soa::Index<>, emprimarytrack::CollisionId, emprimarytrack::TrackId, emprimarytrack::Sign, track::Pt, track::Eta, track::Phi, emprimarytrack::TrackBit);
861831

862832
using EMPrimaryTracks = EMPrimaryTracks_000;
863833
// iterators
@@ -867,9 +837,9 @@ DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIds, "AOD", "PRMTRKEMEVENTID", emprimaryt
867837
// iterators
868838
using EMPrimaryTrackEMEventId = EMPrimaryTrackEMEventIds::iterator;
869839

870-
// DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIdsTMP, "AOD", "PRMTRKEVIDTMP", track::CollisionId); // To be joined with EMPrimaryTracks in associateDileptonToEMEvent
871-
// // iterators
872-
// using EMPrimaryTrackEMEventIdTMP = EMPrimaryTrackEMEventIdsTMP::iterator;
840+
DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIdsTMP, "AOD", "PRMTRKEVIDTMP", track::CollisionId); // To be joined with EMPrimaryTracks in associateDileptonToEMEvent
841+
// iterators
842+
using EMPrimaryTrackEMEventIdTMP = EMPrimaryTrackEMEventIdsTMP::iterator;
873843

874844
// Dummy data for MC
875845
namespace emdummydata

PWGEM/Dilepton/TableProducer/createEMEventDilepton.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <string>
3333

3434
using namespace o2;
35+
using namespace o2::aod;
3536
using namespace o2::framework;
3637
using namespace o2::framework::expressions;
3738
using namespace o2::soa;
@@ -307,6 +308,7 @@ struct AssociateDileptonToEMEvent {
307308
PresliceUnsorted<aod::EMPrimaryElectrons> perCollision_el = aod::emprimaryelectron::collisionId;
308309
PresliceUnsorted<aod::EMPrimaryMuons> perCollision_mu = aod::emprimarymuon::collisionId;
309310
Preslice<aod::EMPrimaryTracks> perCollision_track = aod::emprimarytrack::collisionId;
311+
// Preslice<aod::EMPrimaryTrackEMEventIdsTMP> perCollision_track = aod::track::collisionId;
310312

311313
void init(o2::framework::InitContext&) {}
312314

@@ -342,6 +344,7 @@ struct AssociateDileptonToEMEvent {
342344
}
343345

344346
void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTracks const& tracks)
347+
// void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTrackEMEventIdsTMP const& tracks)
345348
{
346349
fillEventId(collisions, tracks, prmtrackeventid, perCollision_track);
347350
}

PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ struct skimmerPrimaryTrack {
7575
Configurable<float> minpt{"minpt", 0.2, "min pt for ITS-TPC track"};
7676
Configurable<float> maxpt{"maxpt", 5.0, "max pt for ITS-TPC track"};
7777
Configurable<float> maxeta{"maxeta", 0.8, "eta acceptance"};
78-
Configurable<float> dca_xy_max{"dca_xy_max", 0.5, "max DCAxy in cm"};
79-
Configurable<float> dca_z_max{"dca_z_max", 0.5, "max DCAz in cm"};
78+
Configurable<float> dca_xy_max{"dca_xy_max", 1.0, "max DCAxy in cm"};
79+
Configurable<float> dca_z_max{"dca_z_max", 1.0, "max DCAz in cm"};
80+
Configurable<float> max_frac_shared_clusters_tpc{"max_frac_shared_clusters_tpc", 999.f, "max fraction of shared clusters in TPC"};
8081

8182
// Configurable<int> min_ncluster_tpc{"min_ncluster_tpc", 0, "min ncluster tpc"};
8283
// Configurable<int> mincrossedrows{"mincrossedrows", 70, "min. crossed rows"};
8384
// Configurable<float> min_tpc_cr_findable_ratio{"min_tpc_cr_findable_ratio", 0.8, "min. TPC Ncr/Nf ratio"};
84-
// Configurable<float> max_frac_shared_clusters_tpc{"max_frac_shared_clusters_tpc", 999.f, "max fraction of shared clusters in TPC"};
8585
// Configurable<int> min_ncluster_its{"min_ncluster_its", 4, "min ncluster its"};
8686
// Configurable<int> min_ncluster_itsib{"min_ncluster_itsib", 1, "min ncluster itsib"};
8787
// Configurable<float> maxchi2tpc{"maxchi2tpc", 5.0, "max. chi2/NclsTPC"};
@@ -225,9 +225,9 @@ struct skimmerPrimaryTrack {
225225
return false;
226226
}
227227

228-
// if (track.tpcFractionSharedCls() > max_frac_shared_clusters_tpc) {
229-
// return false;
230-
// }
228+
if (track.tpcFractionSharedCls() > max_frac_shared_clusters_tpc) {
229+
return false;
230+
}
231231

232232
o2::dataformats::DCA mDcaInfoCov;
233233
mDcaInfoCov.set(999, 999, 999, 999, 999);
@@ -317,7 +317,21 @@ struct skimmerPrimaryTrack {
317317
trackBit |= static_cast<uint16_t>(RefTrackBit::kFracSharedTPC07);
318318
}
319319

320-
emprimarytracks(collision.globalIndex(), track.globalIndex(), static_cast<uint16_t>(pt * 1e+4), eta, phi, dcaXY, static_cast<int16_t>(dcaZ * 1e+4), trackBit);
320+
if (std::fabs(dcaZ) < 0.5) {
321+
trackBit |= static_cast<uint16_t>(RefTrackBit::kDCAz05cm);
322+
}
323+
if (std::fabs(dcaZ) < 0.3) {
324+
trackBit |= static_cast<uint16_t>(RefTrackBit::kDCAz03cm);
325+
}
326+
327+
if (std::fabs(dcaXY) < 0.5) {
328+
trackBit |= static_cast<uint16_t>(RefTrackBit::kDCAxy05cm);
329+
}
330+
if (std::fabs(dcaXY) < 0.3) {
331+
trackBit |= static_cast<uint16_t>(RefTrackBit::kDCAxy03cm);
332+
}
333+
334+
emprimarytracks(collision.globalIndex(), track.globalIndex(), track.sign(), pt, eta, phi, trackBit);
321335
// prmtrackeventidtmp(collision.globalIndex());
322336

323337
stored_trackIds.emplace_back(std::pair<int, int>{collision.globalIndex(), track.globalIndex()});

PWGEM/Dilepton/Utils/EMTrackUtilities.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
namespace o2::aod::pwgem::dilepton::utils::emtrackutil
2828
{
2929

30-
enum class RefTrackBit : uint16_t { // This is not for leptons, but charged particles for ref. flow.
30+
enum class RefTrackBit : uint16_t { // This is not for leptons, but charged tracks for reference flow.
3131
kNclsITS5 = 1,
3232
kNclsITS6 = 2,
3333
kNcrTPC70 = 4,
@@ -38,6 +38,10 @@ enum class RefTrackBit : uint16_t { // This is not for leptons, but charged part
3838
kChi2TPC4 = 128,
3939
kChi2TPC3 = 256,
4040
kFracSharedTPC07 = 512,
41+
kDCAxy05cm = 1024, // default is 1 cm
42+
kDCAxy03cm = 2048,
43+
kDCAz05cm = 4096, // default is 1cm
44+
kDCAz03cm = 8192,
4145
};
4246

4347
//_______________________________________________________________________

0 commit comments

Comments
 (0)