@@ -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>;
5656using MyTrack = MyTracks::iterator;
57- using MyTracksMC = soa::Join<MyTracks, aod::McTrackLabels>;
57+ using MyTracksMC = soa::Join<MyTracks, aod::McTrackLabels, aod::mcTPCTuneOnData >;
5858using MyTrackMC = MyTracksMC::iterator;
5959
6060struct 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