Skip to content

Commit 44745a4

Browse files
authored
[PWGEM/Dilepton] fix in matchingMFT.cxx (#14452)
1 parent 85504c2 commit 44745a4

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

PWGEM/Dilepton/Tasks/matchingMFT.cxx

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)