@@ -129,6 +129,11 @@ struct Alice3Lepton {
129129 registry.add (" Reconstructed/Track/Phi" , " Track Phi" , kTH1F , {axisPhi});
130130 registry.add (" Reconstructed/Track/Eta_Pt" , " Eta vs. Pt" , kTH2F , {axisPt, axisEta}, true );
131131
132+ registry.add (" Reconstructed/Track/PtMC" , " Track Pt" , kTH1F , {axisPt});
133+ registry.add (" Reconstructed/Track/EtaMC" , " Track Eta" , kTH1F , {axisEta});
134+ registry.add (" Reconstructed/Track/PhiMC" , " Track Phi" , kTH1F , {axisPhi});
135+ registry.add (" Reconstructed/Track/EtaMC_PtMC" , " Eta vs. Pt" , kTH2F , {axisPt, axisEta}, true );
136+
132137 registry.addClone (" Reconstructed/Track/" , " Reconstructed/TrackPID/" );
133138 registry.addClone (" Reconstructed/Track/" , " Reconstructed/TrackPIDPre/" );
134139 }
@@ -213,6 +218,10 @@ struct Alice3Lepton {
213218 registry.fill (HIST (" Reconstructed/Track/Eta" ), track.etaSmeared ());
214219 registry.fill (HIST (" Reconstructed/Track/Phi" ), track.phiSmeared ());
215220 registry.fill (HIST (" Reconstructed/Track/Eta_Pt" ), track.ptSmeared (), track.etaSmeared ());
221+ registry.fill (HIST (" Reconstructed/Track/PtMC" ), mcParticle.pt ());
222+ registry.fill (HIST (" Reconstructed/Track/EtaMC" ), mcParticle.eta ());
223+ registry.fill (HIST (" Reconstructed/Track/PhiMC" ), mcParticle.phi ());
224+ registry.fill (HIST (" Reconstructed/Track/EtaMC_PtMC" ), mcParticle.pt (), mcParticle.eta ());
216225 } else {
217226 registry.fill (HIST (" Reconstructed/Track/SigmaOTofvspt" ), track.pt (), track.nSigmaElectronOuterTOF ());
218227 registry.fill (HIST (" Reconstructed/Track/SigmaITofvspt" ), track.pt (), track.nSigmaElectronInnerTOF ());
@@ -230,12 +239,20 @@ struct Alice3Lepton {
230239 registry.fill (HIST (" Reconstructed/TrackPID/Eta" ), track.etaSmeared ());
231240 registry.fill (HIST (" Reconstructed/TrackPID/Phi" ), track.phiSmeared ());
232241 registry.fill (HIST (" Reconstructed/TrackPID/Eta_Pt" ), track.ptSmeared (), track.etaSmeared ());
242+ registry.fill (HIST (" Reconstructed/TrackPID/PtMC" ), mcParticle.pt ());
243+ registry.fill (HIST (" Reconstructed/TrackPID/EtaMC" ), mcParticle.eta ());
244+ registry.fill (HIST (" Reconstructed/TrackPID/PhiMC" ), mcParticle.phi ());
245+ registry.fill (HIST (" Reconstructed/TrackPID/EtaMC_PtMC" ), mcParticle.pt (), mcParticle.eta ());
233246
234247 if (track.isTrackPrefilter () == 0 ) {
235248 registry.fill (HIST (" Reconstructed/TrackPIDPre/Pt" ), track.ptSmeared ());
236249 registry.fill (HIST (" Reconstructed/TrackPIDPre/Eta" ), track.etaSmeared ());
237250 registry.fill (HIST (" Reconstructed/TrackPIDPre/Phi" ), track.phiSmeared ());
238251 registry.fill (HIST (" Reconstructed/TrackPIDPre/Eta_Pt" ), track.ptSmeared (), track.etaSmeared ());
252+ registry.fill (HIST (" Reconstructed/TrackPIDPre/PtMC" ), mcParticle.pt ());
253+ registry.fill (HIST (" Reconstructed/TrackPIDPre/EtaMC" ), mcParticle.eta ());
254+ registry.fill (HIST (" Reconstructed/TrackPIDPre/PhiMC" ), mcParticle.phi ());
255+ registry.fill (HIST (" Reconstructed/TrackPIDPre/EtaMC_PtMC" ), mcParticle.pt (), mcParticle.eta ());
239256 }
240257 }
241258 } else {
@@ -429,6 +446,11 @@ struct Alice3Dilepton {
429446 registry.add (" Reconstructed/Track/Phi" , " Particle Phi" , kTH1F , {axisPhi});
430447 registry.add (" Reconstructed/Track/Pre" , " Particle Pre" , kTH1F , {axisPre});
431448 }
449+ if (doprocessRecAllWithSmearing) {
450+ registry.add (" Reconstructed/Track/PtMC" , " Track Pt" , kTH1F , {axisPt});
451+ registry.add (" Reconstructed/Track/EtaMC" , " Particle Eta" , kTH1F , {axisEta});
452+ registry.add (" Reconstructed/Track/PhiMC" , " Particle Phi" , kTH1F , {axisPhi});
453+ }
432454
433455 if (doprocessRecAll) {
434456 registry.add (" Reconstructed/Track/SigmaOTofvspt" , " Track #sigma oTOF" , kTH2F , {axisPt, axisSigmaEl});
@@ -989,24 +1011,48 @@ struct Alice3Dilepton {
9891011 } // end of processRec
9901012
9911013 void processRecAllWithSmearing (MyFilteredAlice3Collision const & collisions,
992- MyFilteredTracksWithSmearing const & tracks)
1014+ MyFilteredTracksWithSmearing const &,
1015+ const aod::McParticles&)
9931016 {
994-
995- for (const auto & track : tracks) {
996- if (!IsInAcceptance<true >(track)) {
997- continue ;
998- }
999- registry.fill (HIST (" Reconstructed/Track/Pt" ), track.ptSmeared ());
1000- registry.fill (HIST (" Reconstructed/Track/Eta" ), track.etaSmeared ());
1001- registry.fill (HIST (" Reconstructed/Track/Phi" ), track.phiSmeared ());
1002- registry.fill (HIST (" Reconstructed/Track/Pre" ), track.isTrackPrefilter ());
1003- }
1004-
10051017 for (const auto & collision : collisions) {
10061018 registry.fill (HIST (" Reconstructed/Event/VtxZ" ), collision.posZ ());
10071019 auto negTracks_coll = negTracksWithSmearing->sliceByCached (o2::aod::track::collisionId, collision.globalIndex (), cache_rec);
10081020 auto posTracks_coll = posTracksWithSmearing->sliceByCached (o2::aod::track::collisionId, collision.globalIndex (), cache_rec);
10091021
1022+ for (const auto & track : negTracks_coll) {
1023+ if (!IsInAcceptance<true >(track)) {
1024+ continue ;
1025+ }
1026+ if (!track.has_mcParticle ()) {
1027+ continue ;
1028+ }
1029+ const auto mcParticle = track.template mcParticle_as <aod::McParticles>();
1030+ registry.fill (HIST (" Reconstructed/Track/PtMC" ), mcParticle.pt ());
1031+ registry.fill (HIST (" Reconstructed/Track/EtaMC" ), mcParticle.eta ());
1032+ registry.fill (HIST (" Reconstructed/Track/PhiMC" ), mcParticle.phi ());
1033+ registry.fill (HIST (" Reconstructed/Track/Pt" ), track.ptSmeared ());
1034+ registry.fill (HIST (" Reconstructed/Track/Eta" ), track.etaSmeared ());
1035+ registry.fill (HIST (" Reconstructed/Track/Phi" ), track.phiSmeared ());
1036+ registry.fill (HIST (" Reconstructed/Track/Pre" ), track.isTrackPrefilter ());
1037+ }
1038+
1039+ for (const auto & track : posTracks_coll) {
1040+ if (!IsInAcceptance<true >(track)) {
1041+ continue ;
1042+ }
1043+ if (!track.has_mcParticle ()) {
1044+ continue ;
1045+ }
1046+ const auto mcParticle = track.template mcParticle_as <aod::McParticles>();
1047+ registry.fill (HIST (" Reconstructed/Track/PtMC" ), mcParticle.pt ());
1048+ registry.fill (HIST (" Reconstructed/Track/EtaMC" ), mcParticle.eta ());
1049+ registry.fill (HIST (" Reconstructed/Track/PhiMC" ), mcParticle.phi ());
1050+ registry.fill (HIST (" Reconstructed/Track/Pt" ), track.ptSmeared ());
1051+ registry.fill (HIST (" Reconstructed/Track/Eta" ), track.etaSmeared ());
1052+ registry.fill (HIST (" Reconstructed/Track/Phi" ), track.phiSmeared ());
1053+ registry.fill (HIST (" Reconstructed/Track/Pre" ), track.isTrackPrefilter ());
1054+ }
1055+
10101056 FillPairRecAll<true , PairType::kULS >(negTracks_coll, posTracks_coll);
10111057 FillPairRecAll<true , PairType::kLSpp >(posTracks_coll, posTracks_coll);
10121058 FillPairRecAll<true , PairType::kLSnn >(negTracks_coll, negTracks_coll);
0 commit comments