Skip to content

Commit d004e7c

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

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

PWGEM/Dilepton/TableProducer/skimmerPrimaryElectron.cxx

Lines changed: 13 additions & 9 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,6 +455,10 @@ 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,
@@ -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)