From 881c5a4c125c7c3760e02338f6d37264bf5ad1f6 Mon Sep 17 00:00:00 2001 From: Daiki Sekihata Date: Fri, 16 Jan 2026 20:34:48 +0100 Subject: [PATCH 1/2] PWGEM/Dilepton: fix isBestMatch for global muons --- PWGEM/Dilepton/Utils/EMTrackUtilities.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PWGEM/Dilepton/Utils/EMTrackUtilities.h b/PWGEM/Dilepton/Utils/EMTrackUtilities.h index 5c5b21e6ea0..77277c062ff 100644 --- a/PWGEM/Dilepton/Utils/EMTrackUtilities.h +++ b/PWGEM/Dilepton/Utils/EMTrackUtilities.h @@ -138,7 +138,10 @@ bool isBestMatch(TTrack const& track, TCut const& cut, TTracks const& tracks) } } } - if (map_chi2MCHMFT.begin()->first == track.globalIndex()) { // search for minimum matching-chi2 + + auto it = std::min_element(map_chi2MCHMFT.begin(), map_chi2MCHMFT.end(), [](decltype(map_chi2MCHMFT)::value_type& l, decltype(map_chi2MCHMFT)::value_type& r) -> bool { return l.second < r.second; }); // search for minimum matching-chi2 + + if (it->first == track.globalIndex()) { map_chi2MCHMFT.clear(); return true; } else { From 79a349c29a2a0979dbf65954de4600ecc3303701 Mon Sep 17 00:00:00 2001 From: Daiki Sekihata Date: Fri, 16 Jan 2026 20:50:44 +0100 Subject: [PATCH 2/2] Refactor global muon index storage logic Removed conditional check for collisionId when storing global muon indices. --- PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx b/PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx index 394f558558f..79dab61c2c9 100644 --- a/PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx +++ b/PWGEM/Dilepton/TableProducer/skimmerPrimaryMuon.cxx @@ -1255,9 +1255,11 @@ struct associateSameMFT { if (global_muon.globalIndex() == muon.globalIndex()) { // don't store myself. continue; } - if (global_muon.collisionId() == muon.collisionId()) { - self_Ids.emplace_back(global_muon.globalIndex()); - } + self_Ids.emplace_back(global_muon.globalIndex()); + + // if (global_muon.collisionId() == muon.collisionId()) { + // self_Ids.emplace_back(global_muon.globalIndex()); + // } } em_same_mft_ids(self_Ids); self_Ids.clear();