Skip to content

Commit f5654c2

Browse files
committed
PWGEM/Dilepton: fix matchingMFT.cxx
1 parent 68393ae commit f5654c2

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

PWGEM/Dilepton/Tasks/matchingMFT.cxx

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,17 @@ struct matchingMFT {
786786
if (fwdtrack.trackType() != o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
787787
continue;
788788
}
789+
790+
if (cfgBestMatchFinder == 0) { // chi2
791+
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_chi2MatchMCHMFT.begin(), vec_min_chi2MatchMCHMFT.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_chi2MatchMCHMFT.end()) {
792+
continue;
793+
}
794+
} else if (cfgBestMatchFinder == 1) { // dr
795+
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_dr.begin(), vec_min_dr.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_dr.end()) {
796+
continue;
797+
}
798+
}
799+
789800
fillHistograms<false>(collision, fwdtrack, fwdtracks, mfttracks, nullptr);
790801
} // end of fwdtrack loop
791802
} // end of collision loop
@@ -834,6 +845,17 @@ struct matchingMFT {
834845
if (fwdtrack.trackType() != o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
835846
continue;
836847
}
848+
849+
if (cfgBestMatchFinder == 0) { // chi2
850+
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_chi2MatchMCHMFT.begin(), vec_min_chi2MatchMCHMFT.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_chi2MatchMCHMFT.end()) {
851+
continue;
852+
}
853+
} else if (cfgBestMatchFinder == 1) { // dr
854+
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_dr.begin(), vec_min_dr.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_dr.end()) {
855+
continue;
856+
}
857+
}
858+
837859
fillHistograms<false>(collision, fwdtrack, fwdtracks, mfttracks, nullptr);
838860
} // end of fwdtrack loop
839861
} // end of collision loop
@@ -886,6 +908,9 @@ struct matchingMFT {
886908
auto fwdtrackIdsThisCollision = fwdtrackIndices.sliceBy(fwdtrackIndicesPerCollision, collision.globalIndex());
887909
for (const auto& fwdtrackId : fwdtrackIdsThisCollision) {
888910
auto fwdtrack = fwdtrackId.template fwdtrack_as<MyFwdTracks>();
911+
if (fwdtrack.trackType() != o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
912+
continue;
913+
}
889914

890915
if (cfgBestMatchFinder == 0) { // chi2
891916
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_chi2MatchMCHMFT.begin(), vec_min_chi2MatchMCHMFT.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_chi2MatchMCHMFT.end()) {
@@ -895,10 +920,6 @@ struct matchingMFT {
895920
if (fwdtrack.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && std::find(vec_min_dr.begin(), vec_min_dr.end(), std::make_tuple(fwdtrack.globalIndex(), fwdtrack.matchMCHTrackId(), fwdtrack.matchMFTTrackId())) == vec_min_dr.end()) {
896921
continue;
897922
}
898-
} else { // best match is not selected. Histograms are filled with all global muons.
899-
if (fwdtrack.trackType() != o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
900-
continue;
901-
}
902923
}
903924
fillHistograms<true>(collision, fwdtrack, fwdtracks, mfttracks, mftCovs);
904925
} // end of fwdtrack loop

0 commit comments

Comments
 (0)