@@ -276,6 +276,7 @@ struct QaEfficiency {
276276
277277 using CollisionCandidates = o2::soa::Join<o2::aod::Collisions, o2::aod::EvSels, aod::CentFT0Cs>;
278278 using CollisionCandidatesMC = o2::soa::Join<CollisionCandidates, o2::aod::McCollisionLabels>;
279+ using CollisionsWithMcLabels = o2::soa::Join<o2::aod::Collisions, o2::aod::McCollisionLabels>;
279280 using TrackCandidates = o2::soa::Join<o2::aod::Tracks, o2::aod::TracksExtra, o2::aod::TrackSelection, o2::aod::TrackSelectionExtension, o2::aod::TracksDCA>;
280281 using TrackCandidatesMC = o2::soa::Join<TrackCandidates, o2::aod::McTrackLabels>;
281282 using BCsInfo = soa::Join<aod::BCs, aod::Timestamps, aod::BcSels>;
@@ -1054,7 +1055,7 @@ struct QaEfficiency {
10541055 }
10551056 return false ; // Otherwise, not considered a tertiary particle
10561057 }
1057- template <int pdgSign, o2::track::PID::ID id>
1058+ template <int pdgSign, o2::track::PID::ID id, typename Colls >
10581059 void fillMCTrackHistograms (const TrackCandidatesMC::iterator& track, const bool doMakeHistograms)
10591060 {
10601061 static_assert (pdgSign == 0 || pdgSign == 1 );
@@ -1073,8 +1074,8 @@ struct QaEfficiency {
10731074 }
10741075 constexpr int histogramIndex = id + pdgSign * nSpecies;
10751076 LOG (debug) << " fillMCTrackHistograms for pdgSign '" << pdgSign << " ' and id '" << static_cast <int >(id) << " ' " << particleName (pdgSign, id) << " with index " << histogramIndex;
1076- const o2::aod::McParticles::iterator & mcParticle = track.mcParticle ();
1077- const CollisionCandidatesMC::iterator & collision = track.collision_as <CollisionCandidatesMC >();
1077+ auto const & mcParticle = track.mcParticle ();
1078+ auto const & collision = track.collision_as <Colls >();
10781079 float radius = std::sqrt (mcParticle.vx () * mcParticle.vx () + mcParticle.vy () * mcParticle.vy ());
10791080 if (numSameCollision) {
10801081 if (!collision.has_mcCollision ()) {
@@ -1872,15 +1873,15 @@ struct QaEfficiency {
18721873 // Filling variable histograms
18731874 histos.fill (HIST (" MC/trackLength" ), track.length ());
18741875 static_for<0 , 1 >([&](auto pdgSign) {
1875- fillMCTrackHistograms<pdgSign, o2::track::PID::Electron>(track, doEl);
1876- fillMCTrackHistograms<pdgSign, o2::track::PID::Muon>(track, doMu);
1877- fillMCTrackHistograms<pdgSign, o2::track::PID::Pion>(track, doPi);
1878- fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon>(track, doKa);
1879- fillMCTrackHistograms<pdgSign, o2::track::PID::Proton>(track, doPr);
1880- fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron>(track, doDe);
1881- fillMCTrackHistograms<pdgSign, o2::track::PID::Triton>(track, doTr);
1882- fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3>(track, doHe);
1883- fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha>(track, doAl);
1876+ fillMCTrackHistograms<pdgSign, o2::track::PID::Electron, CollisionCandidatesMC >(track, doEl);
1877+ fillMCTrackHistograms<pdgSign, o2::track::PID::Muon, CollisionCandidatesMC >(track, doMu);
1878+ fillMCTrackHistograms<pdgSign, o2::track::PID::Pion, CollisionCandidatesMC >(track, doPi);
1879+ fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon, CollisionCandidatesMC >(track, doKa);
1880+ fillMCTrackHistograms<pdgSign, o2::track::PID::Proton, CollisionCandidatesMC >(track, doPr);
1881+ fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron, CollisionCandidatesMC >(track, doDe);
1882+ fillMCTrackHistograms<pdgSign, o2::track::PID::Triton, CollisionCandidatesMC >(track, doTr);
1883+ fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3, CollisionCandidatesMC >(track, doHe);
1884+ fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha, CollisionCandidatesMC >(track, doAl);
18841885 });
18851886 }
18861887
@@ -2011,7 +2012,7 @@ struct QaEfficiency {
20112012 // - considering also tracks not associated to any collision
20122013 // - ignoring the track-to-collision association
20132014 void processMCWithoutCollisions (TrackCandidatesMC const & tracks,
2014- o2::aod::Collisions const &,
2015+ CollisionsWithMcLabels const &,
20152016 o2::aod::McParticles const & mcParticles,
20162017 o2::aod::McCollisions const &,
20172018 BCsInfo const &)
@@ -2041,15 +2042,15 @@ struct QaEfficiency {
20412042 // Filling variable histograms
20422043 histos.fill (HIST (" MC/trackLength" ), track.length ());
20432044 static_for<0 , 1 >([&](auto pdgSign) {
2044- fillMCTrackHistograms<pdgSign, o2::track::PID::Electron>(track, doEl);
2045- fillMCTrackHistograms<pdgSign, o2::track::PID::Muon>(track, doMu);
2046- fillMCTrackHistograms<pdgSign, o2::track::PID::Pion>(track, doPi);
2047- fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon>(track, doKa);
2048- fillMCTrackHistograms<pdgSign, o2::track::PID::Proton>(track, doPr);
2049- fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron>(track, doDe);
2050- fillMCTrackHistograms<pdgSign, o2::track::PID::Triton>(track, doTr);
2051- fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3>(track, doHe);
2052- fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha>(track, doAl);
2045+ fillMCTrackHistograms<pdgSign, o2::track::PID::Electron, CollisionsWithMcLabels >(track, doEl);
2046+ fillMCTrackHistograms<pdgSign, o2::track::PID::Muon, CollisionsWithMcLabels >(track, doMu);
2047+ fillMCTrackHistograms<pdgSign, o2::track::PID::Pion, CollisionsWithMcLabels >(track, doPi);
2048+ fillMCTrackHistograms<pdgSign, o2::track::PID::Kaon, CollisionsWithMcLabels >(track, doKa);
2049+ fillMCTrackHistograms<pdgSign, o2::track::PID::Proton, CollisionsWithMcLabels >(track, doPr);
2050+ fillMCTrackHistograms<pdgSign, o2::track::PID::Deuteron, CollisionsWithMcLabels >(track, doDe);
2051+ fillMCTrackHistograms<pdgSign, o2::track::PID::Triton, CollisionsWithMcLabels >(track, doTr);
2052+ fillMCTrackHistograms<pdgSign, o2::track::PID::Helium3, CollisionsWithMcLabels >(track, doHe);
2053+ fillMCTrackHistograms<pdgSign, o2::track::PID::Alpha, CollisionsWithMcLabels >(track, doAl);
20532054 });
20542055 }
20552056
0 commit comments