@@ -64,6 +64,7 @@ enum LambdaPid { kLambda = 0,
6464
6565struct Filter2Prong {
6666 SliceCache cache;
67+ Preslice<aod::CFTrackRefs> perCollisionCFTrackRefs = aod::track::collisionId;
6768
6869 O2_DEFINE_CONFIGURABLE (cfgVerbosity, int , 0 , " Verbosity level (0 = major, 1 = per collision)" )
6970 O2_DEFINE_CONFIGURABLE (cfgYMax, float , -1 .0f , " Maximum candidate rapidity" )
@@ -799,11 +800,12 @@ struct Filter2Prong {
799800 PROCESS_SWITCH (Filter2Prong, processDataPhiV0, " Process data Phi and V0 candidates with invariant mass method" , false );
800801
801802 using DerivedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CFMultiplicities>;
802- void processDataPhiMixed (DerivedCollisions const & collisions, aod::CFTrackRefs const & cftracks)
803+ void processDataPhiMixed (DerivedCollisions const & collisions, Filter2Prong::PIDTrack const & tracksP, aod::CFTrackRefs const & cftracks)
803804 {
804805 auto getMultiplicity = [](auto const & col) {
805806 return col.multiplicity ();
806807 };
808+
807809 using BinningTypeDerived = FlexibleBinningPolicy<std::tuple<decltype (getMultiplicity)>, aod::collision::PosZ, decltype (getMultiplicity)>;
808810 BinningTypeDerived configurableBinningDerived{{getMultiplicity}, {axisVertexMix, axisMultiplicityMix}, true };
809811 auto tracksTuple = std::make_tuple (cftracks, cftracks);
@@ -831,7 +833,8 @@ struct Filter2Prong {
831833 }
832834
833835 for (const auto & cftrack1 : tracks1) {
834- const auto & p1 = cftrack1.track_as <Filter2Prong::PIDTrack>();
836+ // const auto& p1 = cftrack1.track_as<Filter2Prong::PIDTrack>();
837+ const auto & p1 = tracksP.iteratorAt (cftrack1.trackId () - tracksP.begin ().globalIndex ());
835838
836839 if (p1.sign () != 1 ) {
837840 continue ;
@@ -850,7 +853,8 @@ struct Filter2Prong {
850853 }
851854
852855 for (const auto & cftrack2 : tracks2) {
853- const auto & p2 = cftrack2.track_as <Filter2Prong::PIDTrack>();
856+ // const auto& p2 = cftrack2.track_as<Filter2Prong::PIDTrack>();
857+ const auto & p2 = tracksP.iteratorAt (cftrack2.trackId () - tracksP.begin ().globalIndex ());
854858
855859 if (p2.sign () != -1 ) {
856860 continue ;
0 commit comments