Skip to content

Commit 5d49704

Browse files
committed
PWGEM/Dilepton: add mcTunedTPCSignal for TPC dE/dx in MC
1 parent 8bca775 commit 5d49704

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

PWGEM/Dilepton/TableProducer/skimmerPrimaryElectron.cxx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ using MyTracks = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCovIU,
5454
aod::pidTPCFullEl, aod::pidTPCFullMu, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr,
5555
aod::pidTOFFullEl, aod::pidTOFFullMu, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFbeta>;
5656
using MyTrack = MyTracks::iterator;
57-
using MyTracksMC = soa::Join<MyTracks, aod::McTrackLabels>;
57+
using MyTracksMC = soa::Join<MyTracks, aod::McTrackLabels, aod::mcTPCTuneOnData>;
5858
using MyTrackMC = MyTracksMC::iterator;
5959

6060
struct skimmerPrimaryElectron {
@@ -435,7 +435,7 @@ struct skimmerPrimaryElectron {
435435
return minTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < maxTPCNsigmaEl && std::fabs(track.tofNSigmaEl()) < maxTOFNsigmaEl;
436436
}
437437

438-
template <typename TCollision, typename TTrack>
438+
template <bool isMC, typename TCollision, typename TTrack>
439439
void fillTrackTable(TCollision const& collision, TTrack const& track)
440440
{
441441
if (std::find(stored_trackIds.begin(), stored_trackIds.end(), std::pair<int, int>{collision.globalIndex(), track.globalIndex()}) == stored_trackIds.end()) {
@@ -455,12 +455,16 @@ struct skimmerPrimaryElectron {
455455
o2::math_utils::bringTo02Pi(phi_recalc);
456456

457457
bool isAssociatedToMPC = collision.globalIndex() == track.collisionId();
458+
float tpcSignal = track.tpcSignal();
459+
if constexpr (isMC) {
460+
tpcSignal = track.mcTunedTPCSignal();
461+
}
458462

459463
emprimaryelectrons(collision.globalIndex(), track.globalIndex(), track.sign(),
460464
pt_recalc, eta_recalc, phi_recalc, dcaXY, dcaZ,
461465
track.tpcNClsFindable(), track.tpcNClsFindableMinusFound(), track.tpcNClsFindableMinusCrossedRows(), track.tpcNClsShared(),
462466
track.tpcChi2NCl(), track.tpcInnerParam(),
463-
track.tpcSignal(), track.tpcNSigmaEl(), track.tpcNSigmaMu(), track.tpcNSigmaPi(), track.tpcNSigmaKa(), track.tpcNSigmaPr(),
467+
tpcSignal, track.tpcNSigmaEl(), track.tpcNSigmaMu(), track.tpcNSigmaPi(), track.tpcNSigmaKa(), track.tpcNSigmaPr(),
464468
track.beta(), track.tofNSigmaEl(), track.tofNSigmaMu(), track.tofNSigmaPi(), track.tofNSigmaKa(), track.tofNSigmaPr(),
465469
track.itsClusterSizes(), track.itsNSigmaEl(), track.itsNSigmaMu(), track.itsNSigmaPi(), track.itsNSigmaKa(), track.itsNSigmaPr(),
466470
track.itsChi2NCl(), track.tofChi2(), track.detectorMap(),
@@ -531,7 +535,7 @@ struct skimmerPrimaryElectron {
531535
fRegistry.fill(HIST("Track/hChi2ITS"), track.itsChi2NCl());
532536
fRegistry.fill(HIST("Track/hChi2TOF"), track.tofChi2());
533537
fRegistry.fill(HIST("Track/hITSClusterMap"), track.itsClusterMap());
534-
fRegistry.fill(HIST("Track/hTPCdEdx"), track.tpcInnerParam(), track.tpcSignal());
538+
fRegistry.fill(HIST("Track/hTPCdEdx"), track.tpcInnerParam(), tpcSignal);
535539
fRegistry.fill(HIST("Track/hTPCNsigmaEl"), track.tpcInnerParam(), track.tpcNSigmaEl());
536540
fRegistry.fill(HIST("Track/hTPCNsigmaMu"), track.tpcInnerParam(), track.tpcNSigmaMu());
537541
fRegistry.fill(HIST("Track/hTPCNsigmaPi"), track.tpcInnerParam(), track.tpcNSigmaPi());
@@ -583,7 +587,7 @@ struct skimmerPrimaryElectron {
583587
if (!checkTrack<false>(collision, track) || !isElectron(collision, track)) {
584588
continue;
585589
}
586-
fillTrackTable(collision, track);
590+
fillTrackTable<false>(collision, track);
587591
}
588592

589593
} // end of collision loop
@@ -614,7 +618,7 @@ struct skimmerPrimaryElectron {
614618
if (!checkTrack<false>(collision, track) || !isElectron(collision, track)) {
615619
continue;
616620
}
617-
fillTrackTable(collision, track);
621+
fillTrackTable<false>(collision, track);
618622
}
619623
} // end of collision loop
620624

@@ -645,7 +649,7 @@ struct skimmerPrimaryElectron {
645649
if (!checkTrack<false>(collision, track) || !isElectron(collision, track)) {
646650
continue;
647651
}
648-
fillTrackTable(collision, track);
652+
fillTrackTable<false>(collision, track);
649653
}
650654

651655
} // end of collision loop
@@ -679,7 +683,7 @@ struct skimmerPrimaryElectron {
679683
if (!checkTrack<false>(collision, track) || !isElectron(collision, track)) {
680684
continue;
681685
}
682-
fillTrackTable(collision, track);
686+
fillTrackTable<false>(collision, track);
683687
}
684688
} // end of collision loop
685689

@@ -714,7 +718,7 @@ struct skimmerPrimaryElectron {
714718
if (!checkTrack<true>(collision, track) || !isElectron(collision, track)) {
715719
continue;
716720
}
717-
fillTrackTable(collision, track);
721+
fillTrackTable<true>(collision, track);
718722
}
719723
} // end of collision loop
720724

@@ -747,7 +751,7 @@ struct skimmerPrimaryElectron {
747751
if (!checkTrack<true>(collision, track) || !isElectron(collision, track)) {
748752
continue;
749753
}
750-
fillTrackTable(collision, track);
754+
fillTrackTable<true>(collision, track);
751755
}
752756
} // end of collision loop
753757

0 commit comments

Comments
 (0)