Skip to content

Commit 5ac4d54

Browse files
committed
ITS: sort tracks in time by lower edge
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent ac5e647 commit 5ac4d54

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Detectors/ITSMFT/ITS/tracking/src/Tracker.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,12 +211,13 @@ void Tracker<NLayers>::sortTracks()
211211
bounded_vector<size_t> indices(trks.size(), mMemoryPool.get());
212212
std::iota(indices.begin(), indices.end(), 0);
213213
std::sort(indices.begin(), indices.end(), [&trks](size_t i, size_t j) {
214+
// provide tracks sorted by lower-bound
214215
const auto& a = trks[i];
215216
const auto& b = trks[j];
216-
const auto at = a.getTimeStamp();
217-
const auto bt = b.getTimeStamp();
218-
if (at.getTimeStamp() != bt.getTimeStamp()) { // sort first in time
219-
return at.getTimeStamp() < bt.getTimeStamp();
217+
const auto aLower = a.getTimeStamp().getTimeStamp() - a.getTimeStamp().getTimeStampError();
218+
const auto bLower = b.getTimeStamp().getTimeStamp() - b.getTimeStamp().getTimeStampError();
219+
if (aLower != bLower) {
220+
return aLower < bLower;
220221
}
221222
return a.isBetter(b, 1e9); // then sort tracks in quality
222223
});

0 commit comments

Comments
 (0)