From 8c499f06609fc7acc7faad054494a2a0dea2fc46 Mon Sep 17 00:00:00 2001
From: Xiaocong Ai <xiaocong.ai@cern.ch>
Date: Mon, 24 Feb 2025 15:51:25 +0100
Subject: [PATCH] fix ckf2 tracks selection

---
 Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
index 77dffaa0..3a1122d0 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
@@ -225,15 +225,22 @@ StatusCode CKF2::execute() {
     else return false;
   });
 
+  allTracks.remove_if([&](const TrackInfo &p) {
+    return (p.nMeasurements <= 12);
+  });
+
   while (not allTracks.empty()) {
     TrackInfo selected = allTracks.front();
+    allTracks.erase(allTracks.begin());
     
     auto destProxy = selectedTracks.getTrack(selectedTracks.addTrack());
     destProxy.copyFrom(tracks.getTrack(selected.index), true);  // make sure we copy track states!
-
-    allTracks.remove_if([&](const TrackInfo &p) {
-      return (p.nMeasurements <= 12) || ((p.clusterSet & selected.clusterSet).count() > 6);
-    });
+    
+    if(not allTracks.empty()){ 
+      allTracks.remove_if([&](const TrackInfo &p) {
+        return ((p.clusterSet & selected.clusterSet).count() > 6);
+      });
+    }
   }
   ATH_MSG_DEBUG("There are " << selectedTracks.size() << " selected tracks for this event.");
 
-- 
GitLab