@@ -692,7 +692,9 @@ struct matchingMFT {
692692 }
693693
694694 float deta = 999 .f , dphi = 999 .f ;
695- getDeltaEtaDeltaPhiAtMatchingPlane<TFwdTracks, TMFTTracks>(collision, muon_tmp, mftCovs, deta, dphi);
695+ if constexpr (withMFTCov) {
696+ getDeltaEtaDeltaPhiAtMatchingPlane<TFwdTracks, TMFTTracks>(collision, muon_tmp, mftCovs, deta, dphi);
697+ }
696698 float dr = std::sqrt (deta * deta + dphi * dphi);
697699
698700 // auto mcParticle_MFTMCHMID = muon_tmp.template mcParticle_as<aod::McParticles>(); // this is identical to mcParticle_MCHMID
@@ -750,6 +752,17 @@ struct matchingMFT {
750752
751753 void processWithoutFTTCA (FilteredMyCollisions const & collisions, MyFwdTracks const & fwdtracks, MyMFTTracks const & mfttracks, aod::BCsWithTimestamps const &, aod::McParticles const &)
752754 {
755+ vec_min_chi2MatchMCHMFT.reserve (fwdtracks.size ());
756+ vec_min_dr.reserve (fwdtracks.size ());
757+ for (const auto & collision : collisions) {
758+ auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
759+ initCCDB (bc);
760+ auto fwdtracks_per_coll = fwdtracks.sliceBy (perCollision, collision.globalIndex ());
761+ for (const auto & fwdtrack : fwdtracks_per_coll) {
762+ findBestMatchPerMCHMID<false >(collision, fwdtrack, fwdtracks, mfttracks, nullptr );
763+ } // end of fwdtrack loop
764+ } // end of collision loop
765+
753766 for (const auto & collision : collisions) {
754767 auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
755768 initCCDB (bc);
@@ -786,6 +799,18 @@ struct matchingMFT {
786799
787800 void processWithFTTCA (FilteredMyCollisions const & collisions, MyFwdTracks const & fwdtracks, MyMFTTracks const & mfttracks, aod::BCsWithTimestamps const &, aod::FwdTrackAssoc const & fwdtrackIndices, aod::McParticles const &)
788801 {
802+ vec_min_chi2MatchMCHMFT.reserve (fwdtracks.size ());
803+ vec_min_dr.reserve (fwdtracks.size ());
804+ for (const auto & collision : collisions) {
805+ auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
806+ initCCDB (bc);
807+ auto fwdtrackIdsThisCollision = fwdtrackIndices.sliceBy (fwdtrackIndicesPerCollision, collision.globalIndex ());
808+ for (const auto & fwdtrackId : fwdtrackIdsThisCollision) {
809+ auto fwdtrack = fwdtrackId.template fwdtrack_as <MyFwdTracks>();
810+ findBestMatchPerMCHMID<false >(collision, fwdtrack, fwdtracks, mfttracks, nullptr );
811+ } // end of fwdtrack loop
812+ } // end of collision loop
813+
789814 for (const auto & collision : collisions) {
790815 auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
791816 initCCDB (bc);
0 commit comments