@@ -568,14 +568,15 @@ struct PCMQCMC {
568568 fRegistry .fill (HIST (" V0Leg/" ) + HIST (mcphoton_types[mctype]) + HIST (" hRxyGen_DeltaEta" ), std::sqrt (std::pow (mcleg.vx (), 2 ) + std::pow (mcleg.vy (), 2 )), leg.eta () - mcleg.eta ());
569569 fRegistry .fill (HIST (" V0Leg/" ) + HIST (mcphoton_types[mctype]) + HIST (" hRxyGen_DeltaPhi" ), std::sqrt (std::pow (mcleg.vx (), 2 ) + std::pow (mcleg.vy (), 2 )), leg.phi () - mcleg.phi ());
570570 }
571- o2::framework::SliceCache v0cache;
571+ Preslice<MyV0Photons> perCollisionV0 = aod::v0photonkf::emeventId;
572+ Preslice<MyV0PhotonsML> perCollisionV0ML = aod::v0photonkf::emeventId;
572573 Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax);
573574 Filter collisionFilter_occupancy_track = eventcuts.cfgTrackOccupancyMin <= o2::aod::evsel::trackOccupancyInTimeRange && o2::aod::evsel::trackOccupancyInTimeRange < eventcuts.cfgTrackOccupancyMax;
574575 Filter collisionFilter_occupancy_ft0c = eventcuts.cfgFT0COccupancyMin <= o2::aod::evsel::ft0cOccupancyInTimeRange && o2::aod::evsel::ft0cOccupancyInTimeRange < eventcuts.cfgFT0COccupancyMax;
575576 using FilteredMyCollisions = soa::Filtered<MyCollisions>;
576577
577- template <typename TV0Photons>
578- void processMC (FilteredMyCollisions const & collisions, TV0Photons const & v0photons, aod::EMMCParticles const & mcparticles, MyMCV0Legs const &, aod::EMMCEvents const &)
578+ template <typename TV0Photons, typename TPerCollision >
579+ void processMC (FilteredMyCollisions const & collisions, TV0Photons const & v0photons, aod::EMMCParticles const & mcparticles, MyMCV0Legs const &, aod::EMMCEvents const &, TPerCollision const & percollision )
579580 {
580581 for (const auto & collision : collisions) {
581582 initCCDB (collision);
@@ -593,7 +594,7 @@ struct PCMQCMC {
593594 fRegistry .fill (HIST (" Event/after/hCollisionCounter" ), 10.0 ); // accepted
594595
595596 fV0PhotonCut .SetCentrality (centralities[cfgCentEstimator]); // set centrality for BDT response
596- auto V0Photons_coll = v0photons.sliceByCached (aod::v0photonkf::emeventId , collision.globalIndex (), v0cache );
597+ auto V0Photons_coll = v0photons.sliceBy (percollision , collision.globalIndex ());
597598 int ng_primary = 0 , ng_wd = 0 , ng_hs = 0 , nee_pi0 = 0 , nee_eta = 0 ;
598599 for (const auto & v0 : V0Photons_coll) {
599600 auto pos = v0.template posTrack_as <MyMCV0Legs>();
@@ -683,12 +684,12 @@ struct PCMQCMC {
683684
684685 void processQCMC (FilteredMyCollisions const & collisions, MyV0Photons const & v0photons, aod::EMMCParticles const & mcparticles, MyMCV0Legs const & mcv0legs, aod::EMMCEvents const & mcevents)
685686 {
686- processMC (collisions, v0photons, mcparticles, mcv0legs, mcevents);
687+ processMC (collisions, v0photons, mcparticles, mcv0legs, mcevents, perCollisionV0 );
687688 } // end of QC process
688689
689690 void processQCMCML (FilteredMyCollisions const & collisions, MyV0PhotonsML const & v0photonsML, aod::EMMCParticles const & mcparticles, MyMCV0Legs const & mcv0legs, aod::EMMCEvents const & mcevents)
690691 {
691- processMC (collisions, v0photonsML, mcparticles, mcv0legs, mcevents);
692+ processMC (collisions, v0photonsML, mcparticles, mcv0legs, mcevents, perCollisionV0ML );
692693 } // end of QC process with ML cuts
693694
694695 template <typename TBinnedData>
0 commit comments