Skip to content

Commit 3af5787

Browse files
committed
ITS: fix rof lut to work properly with added errors
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent 103e115 commit 3af5787

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

Detectors/ITSMFT/ITS/tracking/include/ITStracking/ROFLookupTables.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,8 @@ class ROFOverlapTable : public LayerTimingBase<NLayers>
342342
int64_t fromStart = o2::gpu::CAMath::Max((int64_t)layerFrom.getROFStartInBC(iROF) - (int64_t)layerFrom.mROFAddTimeErr, int64_t(0));
343343
int64_t fromEnd = (int64_t)layerFrom.getROFEndInBC(iROF) + layerFrom.mROFAddTimeErr;
344344

345-
int32_t firstROFTo = o2::gpu::CAMath::Max(0, (int32_t)((fromStart - (int64_t)layerTo.mROFDelay - (int64_t)layerTo.mROFBias) / (int64_t)layerTo.mROFLength));
346-
int32_t lastROFTo = (int32_t)((fromEnd - (int64_t)layerTo.mROFDelay - (int64_t)layerTo.mROFBias - 1) / (int64_t)layerTo.mROFLength);
345+
int32_t firstROFTo = o2::gpu::CAMath::Max(0, (int32_t)((fromStart - (int64_t)layerTo.mROFAddTimeErr - (int64_t)layerTo.mROFDelay - (int64_t)layerTo.mROFBias) / (int64_t)layerTo.mROFLength));
346+
int32_t lastROFTo = (int32_t)((fromEnd + (int64_t)layerTo.mROFAddTimeErr - (int64_t)layerTo.mROFDelay - (int64_t)layerTo.mROFBias - 1) / (int64_t)layerTo.mROFLength);
347347
firstROFTo = o2::gpu::CAMath::Max(0, firstROFTo);
348348
lastROFTo = o2::gpu::CAMath::Min((int32_t)layerTo.mNROFsTF - 1, lastROFTo);
349349

Detectors/ITSMFT/ITS/tracking/test/testROFLookupTables.cxx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(rofoverlap_staggered_alllayers_delay_delta)
240240
}
241241
{ // from 0 to 2 rof=0
242242
const auto& range = view.getOverlap(0, 2, 0);
243-
BOOST_CHECK_EQUAL(range.getEntries(), 3);
243+
BOOST_CHECK_EQUAL(range.getEntries(), 4);
244244
BOOST_CHECK_EQUAL(range.getFirstEntry(), 0);
245245
}
246246
{ // from 0 to 1 rof=1
@@ -250,13 +250,13 @@ BOOST_AUTO_TEST_CASE(rofoverlap_staggered_alllayers_delay_delta)
250250
}
251251
{ // from 0 to 2 rof=1
252252
const auto& range = view.getOverlap(0, 2, 1);
253-
BOOST_CHECK_EQUAL(range.getEntries(), 3);
254-
BOOST_CHECK_EQUAL(range.getFirstEntry(), 3);
253+
BOOST_CHECK_EQUAL(range.getEntries(), 4);
254+
BOOST_CHECK_EQUAL(range.getFirstEntry(), 2);
255255
}
256256
{ // from 1 to 2 rof=0
257257
const auto& range = view.getOverlap(1, 2, 0);
258-
BOOST_CHECK_EQUAL(range.getEntries(), 2);
259-
BOOST_CHECK_EQUAL(range.getFirstEntry(), 1);
258+
BOOST_CHECK_EQUAL(range.getEntries(), 4);
259+
BOOST_CHECK_EQUAL(range.getFirstEntry(), 0);
260260
}
261261
{ // from 1 to 0 rof=0
262262
const auto& range = view.getOverlap(1, 0, 0);
@@ -265,8 +265,8 @@ BOOST_AUTO_TEST_CASE(rofoverlap_staggered_alllayers_delay_delta)
265265
}
266266
{ // from 1 to 2 rof=1
267267
const auto& range = view.getOverlap(1, 2, 1);
268-
BOOST_CHECK_EQUAL(range.getEntries(), 2);
269-
BOOST_CHECK_EQUAL(range.getFirstEntry(), 3);
268+
BOOST_CHECK_EQUAL(range.getEntries(), 4);
269+
BOOST_CHECK_EQUAL(range.getFirstEntry(), 2);
270270
}
271271
{ // from 1 to 0 rof=1
272272
const auto& range = view.getOverlap(1, 0, 1);
@@ -275,8 +275,8 @@ BOOST_AUTO_TEST_CASE(rofoverlap_staggered_alllayers_delay_delta)
275275
}
276276
{ // from 1 to 2 rof=2
277277
const auto& range = view.getOverlap(1, 2, 2);
278-
BOOST_CHECK_EQUAL(range.getEntries(), 1);
279-
BOOST_CHECK_EQUAL(range.getFirstEntry(), 5);
278+
BOOST_CHECK_EQUAL(range.getEntries(), 2);
279+
BOOST_CHECK_EQUAL(range.getFirstEntry(), 4);
280280
}
281281
{ // from 1 to 0 rof=2
282282
const auto& range = view.getOverlap(1, 0, 2);
@@ -416,6 +416,7 @@ BOOST_AUTO_TEST_CASE(rofoverlap_timestamp_complex)
416416
table.defineLayer(3, 7, 50, 50, 0, 10);
417417
table.init();
418418
const auto& view = table.getView();
419+
view.printMapping(0, 1);
419420

420421
const auto t010 = view.getTimeStamp(0, 3, 1, 3);
421422
BOOST_CHECK_EQUAL(t010.getTimeStamp(), 350);

0 commit comments

Comments
 (0)