Skip to content

Commit 7caa781

Browse files
committed
PWGEM/Dilepton: update charged track for 2PC
1 parent 3786573 commit 7caa781

File tree

4 files changed

+45
-33
lines changed

4 files changed

+45
-33
lines changed

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -690,22 +690,24 @@ using EMGlobalMuonSelfId = EMGlobalMuonSelfIds::iterator;
690690

691691
namespace emprimarytrack
692692
{
693-
DECLARE_SOA_INDEX_COLUMN(EMEvent, emevent); //!
694-
DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //!
695-
DECLARE_SOA_COLUMN(TrackId, trackId, int); //!
696-
DECLARE_SOA_COLUMN(Sign, sign, int8_t); //!
697-
DECLARE_SOA_COLUMN(TrackBit, trackBit, uint16_t); //!
698-
DECLARE_SOA_DYNAMIC_COLUMN(Signed1Pt, signed1Pt, [](float pt, int8_t sign) -> float { return sign * 1. / pt; });
699-
DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt * std::cosh(eta); });
700-
DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); });
701-
DECLARE_SOA_DYNAMIC_COLUMN(Py, py, [](float pt, float phi) -> float { return pt * std::sin(phi); });
702-
DECLARE_SOA_DYNAMIC_COLUMN(Pz, pz, [](float pt, float eta) -> float { return pt * std::sinh(eta); });
693+
DECLARE_SOA_INDEX_COLUMN(EMEvent, emevent); //!
694+
// DECLARE_SOA_COLUMN(CollisionId, collisionId, int); //!
695+
DECLARE_SOA_COLUMN(TrackId, trackId, int); //!
696+
// DECLARE_SOA_COLUMN(Sign, sign, int8_t); //!
697+
DECLARE_SOA_COLUMN(TrackBit, trackBit, uint16_t); //!
698+
DECLARE_SOA_COLUMN(PtUINT16, ptuint16, uint16_t); //!
699+
DECLARE_SOA_DYNAMIC_COLUMN(Pt, pt, [](uint16_t ptuint16) -> float { return static_cast<float>(ptuint16) * 1e-4; });
700+
// DECLARE_SOA_DYNAMIC_COLUMN(Signed1Pt, signed1Pt, [](float pt, int8_t sign) -> float { return sign * 1. / pt; });
701+
// DECLARE_SOA_DYNAMIC_COLUMN(P, p, [](float pt, float eta) -> float { return pt * std::cosh(eta); });
702+
// DECLARE_SOA_DYNAMIC_COLUMN(Px, px, [](float pt, float phi) -> float { return pt * std::cos(phi); });
703+
// DECLARE_SOA_DYNAMIC_COLUMN(Py, py, [](float pt, float phi) -> float { return pt * std::sin(phi); });
704+
// DECLARE_SOA_DYNAMIC_COLUMN(Pz, pz, [](float pt, float eta) -> float { return pt * std::sinh(eta); });
703705
} // namespace emprimarytrack
704706

705707
DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //!
706-
o2::soa::Index<>, emprimarytrack::CollisionId,
707-
emprimarytrack::TrackId, emprimarytrack::Sign,
708-
track::Pt, track::Eta, track::Phi, track::DcaXY, track::DcaZ, emprimarytrack::TrackBit,
708+
o2::soa::Index<>, // emprimarytrack::CollisionId,
709+
emprimarytrack::TrackId, // emprimarytrack::Sign,
710+
emprimarytrack::PtUINT16, track::Eta, track::Phi, track::DcaXY, track::DcaZ, emprimarytrack::TrackBit,
709711

710712
// track::TPCNClsFindable, track::TPCNClsFindableMinusFound, track::TPCNClsFindableMinusCrossedRows, track::TPCNClsShared, track::TPCChi2NCl,
711713
// track::ITSClusterSizes, track::ITSChi2NCl, track::DetectorMap,
@@ -719,11 +721,12 @@ DECLARE_SOA_TABLE_VERSIONED(EMPrimaryTracks_000, "AOD", "EMPRIMARYTRACK", 0, //!
719721
// track::v001::ITSClusterMap<track::ITSClusterSizes>, track::v001::ITSNCls<track::ITSClusterSizes>, track::v001::ITSNClsInnerBarrel<track::ITSClusterSizes>,
720722

721723
// track::HasITS<track::DetectorMap>, track::HasTPC<track::DetectorMap>, track::HasTRD<track::DetectorMap>, track::HasTOF<track::DetectorMap>,
722-
emprimarytrack::Signed1Pt<track::Pt, emprimarytrack::Sign>,
723-
emprimarytrack::P<track::Pt, track::Eta>,
724-
emprimarytrack::Px<track::Pt, track::Phi>,
725-
emprimarytrack::Py<track::Pt, track::Phi>,
726-
emprimarytrack::Pz<track::Pt, track::Eta>);
724+
// emprimarytrack::Signed1Pt<track::Pt, emprimarytrack::Sign>,
725+
// emprimarytrack::P<track::Pt, track::Eta>,
726+
// emprimarytrack::Px<track::Pt, track::Phi>,
727+
// emprimarytrack::Py<track::Pt, track::Phi>,
728+
// emprimarytrack::Pz<track::Pt, track::Eta>
729+
emprimarytrack::Pt<emprimarytrack::PtUINT16>);
727730

728731
using EMPrimaryTracks = EMPrimaryTracks_000;
729732
// iterators
@@ -733,6 +736,10 @@ DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIds, "AOD", "PRMTRKEMEVENTID", emprimaryt
733736
// iterators
734737
using EMPrimaryTrackEMEventId = EMPrimaryTrackEMEventIds::iterator;
735738

739+
DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIdsTMP, "AOD", "PRMTRKEVIDTMP", track::CollisionId); // To be joined with EMPrimaryTracks in associateDileptonToEMEvent
740+
// iterators
741+
using EMPrimaryTrackEMEventIdTMP = EMPrimaryTrackEMEventIdsTMP::iterator;
742+
736743
// Dummy data for MC
737744
namespace emdummydata
738745
{

PWGEM/Dilepton/TableProducer/createEMEventDilepton.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ struct AssociateDileptonToEMEvent {
303303
Preslice<aod::V0PhotonsKF> perCollision_pcm = aod::v0photonkf::collisionId;
304304
PresliceUnsorted<aod::EMPrimaryElectrons> perCollision_el = aod::emprimaryelectron::collisionId;
305305
PresliceUnsorted<aod::EMPrimaryMuons> perCollision_mu = aod::emprimarymuon::collisionId;
306-
PresliceUnsorted<aod::EMPrimaryTracks> perCollision_track = aod::emprimarytrack::collisionId;
306+
Preslice<aod::EMPrimaryTrackEMEventIdsTMP> perCollision_track = aod::track::collisionId;
307307

308308
void init(o2::framework::InitContext&) {}
309309

@@ -338,7 +338,7 @@ struct AssociateDileptonToEMEvent {
338338
fillEventId(collisions, tracks, prmmueventid, perCollision_mu);
339339
}
340340

341-
void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTracks const& tracks)
341+
void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTrackEMEventIdsTMP const& tracks)
342342
{
343343
fillEventId(collisions, tracks, prmtrackeventid, perCollision_track);
344344
}

PWGEM/Dilepton/TableProducer/skimmerPrimaryTrack.cxx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
/// \author daiki.sekihata@cern.ch
1414

1515
#include "PWGEM/Dilepton/DataModel/dileptonTables.h"
16-
// #include "PWGEM/Dilepton/Utils/PairUtilities.h"
1716
#include "PWGEM/Dilepton/Utils/EMTrackUtilities.h"
1817

1918
#include "Common/Core/TableHelper.h"
@@ -59,6 +58,7 @@ struct skimmerPrimaryTrack {
5958
SliceCache cache;
6059
Preslice<aod::TracksIU> perCol = o2::aod::track::collisionId;
6160
Produces<aod::EMPrimaryTracks> emprimarytracks;
61+
Produces<aod::EMPrimaryTrackEMEventIdsTMP> prmtrackeventidtmp;
6262

6363
// Configurables
6464
Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
@@ -72,11 +72,11 @@ struct skimmerPrimaryTrack {
7272
Configurable<bool> fillQAHistogram{"fillQAHistogram", false, "flag to fill QA histograms"};
7373
Configurable<float> d_bz_input{"d_bz_input", -999, "bz field in kG, -999 is automatic"};
7474

75-
Configurable<float> minpt{"minpt", 0.15, "min pt for ITS-TPC track"};
76-
Configurable<float> maxpt{"maxpt", 5.0, "max pt for ITS-TPC track"};
77-
Configurable<float> maxeta{"maxeta", 2.0, "eta acceptance"};
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"};
75+
Configurable<float> minpt{"minpt", 0.2, "min pt for ITS-TPC track"};
76+
Configurable<float> maxpt{"maxpt", 3.0, "max pt for ITS-TPC track"};
77+
Configurable<float> maxeta{"maxeta", 1.4, "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"};
8080

8181
// Configurable<int> min_ncluster_tpc{"min_ncluster_tpc", 0, "min ncluster tpc"};
8282
// Configurable<int> mincrossedrows{"mincrossedrows", 70, "min. crossed rows"};
@@ -246,6 +246,9 @@ struct skimmerPrimaryTrack {
246246
if (std::fabs(trackParCov.getEta()) > maxeta || trackParCov.getPt() < minpt || maxpt < trackParCov.getPt()) {
247247
return false;
248248
}
249+
if (trackParCov.getPt() > 5.f) {
250+
return false;
251+
}
249252

250253
return true;
251254
}
@@ -311,7 +314,8 @@ struct skimmerPrimaryTrack {
311314
trackBit |= static_cast<uint16_t>(RefTrackBit::kFracSharedTPC07);
312315
}
313316

314-
emprimarytracks(collision.globalIndex(), track.globalIndex(), track.sign(), pt, eta, phi, dcaXY, dcaZ, trackBit);
317+
emprimarytracks(track.globalIndex(), /*track.sign(),*/ static_cast<uint16_t>(pt * 1e+4), eta, phi, dcaXY, dcaZ, trackBit);
318+
prmtrackeventidtmp(collision.globalIndex());
315319

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

PWGEM/PhotonMeson/TableProducer/createEMEventPhoton.cxx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ struct AssociatePhotonToEMEvent {
341341
PresliceUnsorted<aod::EMPrimaryElectronsFromDalitz> perCollisionEl = aod::emprimaryelectron::collisionId;
342342
Preslice<aod::PHOSClusters> perCollisionPHOS = aod::skimmedcluster::collisionId;
343343
Preslice<aod::SkimEMCClusters> perCollisionEMC = aod::skimmedcluster::collisionId;
344-
PresliceUnsorted<aod::EMPrimaryTracks> perCollisionTrack = aod::emprimarytrack::collisionId;
344+
Preslice<aod::EMPrimaryTrackEMEventIdsTMP> perCollision_track = aod::track::collisionId;
345345

346346
void init(o2::framework::InitContext&) {}
347347

@@ -370,11 +370,6 @@ struct AssociatePhotonToEMEvent {
370370
fillEventId(collisions, tracks, prmeleventid, perCollisionEl);
371371
}
372372

373-
void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTracks const& tracks)
374-
{
375-
fillEventId(collisions, tracks, prmtrackeventid, perCollisionTrack);
376-
}
377-
378373
void processPHOS(aod::EMEvents const& collisions, aod::PHOSClusters const& photons)
379374
{
380375
fillEventId(collisions, photons, phoseventid, perCollisionPHOS);
@@ -385,12 +380,18 @@ struct AssociatePhotonToEMEvent {
385380
fillEventId(collisions, photons, emceventid, perCollisionEMC);
386381
}
387382

383+
void processChargedTrack(aod::EMEvents const& collisions, aod::EMPrimaryTrackEMEventIdsTMP const& tracks)
384+
{
385+
fillEventId(collisions, tracks, prmtrackeventid, perCollision_track);
386+
}
387+
388388
void processDummy(aod::EMEvents const&) {}
389389

390390
PROCESS_SWITCH(AssociatePhotonToEMEvent, processPCM, "process pcm-event indexing", false);
391391
PROCESS_SWITCH(AssociatePhotonToEMEvent, processElectronFromDalitz, "process dalitzee-event indexing", false);
392392
PROCESS_SWITCH(AssociatePhotonToEMEvent, processPHOS, "process phos-event indexing", false);
393393
PROCESS_SWITCH(AssociatePhotonToEMEvent, processEMC, "process emc-event indexing", false);
394+
PROCESS_SWITCH(AssociatePhotonToEMEvent, processChargedTrack, "process indexing for charged tracks", false);
394395
PROCESS_SWITCH(AssociatePhotonToEMEvent, processDummy, "process dummy", true);
395396
};
396397
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)