Skip to content

Fix out-of-range BC slice for ambiguous tracks past the last BC - #15832

Merged
sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:fix-aodproducer-bcslice-past-last-bc
Sep 23, 2026
Merged

sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:fix-aodproducer-bcslice-past-last-bc

Conversation

@sawenzel

Copy link
Copy Markdown
Collaborator

This fixes a problem in the AOD producer's BC slice assignment for ambiguous tracks.

  • BunchCrossings::lower_bound returns {size(), 0} when no BC is at or after the requested one, and fillBCSlice used that pair unchecked.
  • A track whose time window starts after the last BC of the timeframe therefore got fIndexSliceBCs[0] equal to the number of BCs, one past the end of the BC table.
  • The same pair sets the time reference, where 0 - mStartIR.toLong() underflows in unsigned arithmetic, so fTrackTime was written as about -4.6e20 ns.
  • The binary-search implementation that the accelerated lookup replaced clamped this case to the last BC; fillBCSlice now does the same.
  • Seen in LHC26a5a_gp_2025_v10 (Pb-Pb apass1 anchored MC), where 51 of 736770 ambiguous tracks were affected and later crashed the AnalysisQC event selection QA task.

This fixes a problem in the AOD producer's BC slice assignment for ambiguous
tracks.

- BunchCrossings::lower_bound returns {size(), 0} when no BC is at or after the
  requested one, and fillBCSlice used that pair unchecked.
- A track whose time window starts after the last BC of the timeframe therefore
  got fIndexSliceBCs[0] equal to the number of BCs, one past the end of the BC
  table.
- The same pair sets the time reference, where 0 - mStartIR.toLong() underflows
  in unsigned arithmetic, so fTrackTime was written as about -4.6e20 ns.
- The binary-search implementation that the accelerated lookup replaced clamped
  this case to the last BC; fillBCSlice now does the same.
- Seen in LHC26a5a_gp_2025_v10 (Pb-Pb apass1 anchored MC), where 51 of 736770
  ambiguous tracks were affected and later crashed the AnalysisQC event
  selection QA task.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sawenzel
sawenzel requested a review from a team as a code owner September 22, 2026 20:33
@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for 1d089f7 at 2026-09-23 00:03:

No log files found

Full log here.

@sawenzel
sawenzel merged commit b7270bb into AliceO2Group:dev Sep 23, 2026
10 of 11 checks passed
@sawenzel
sawenzel deleted the fix-aodproducer-bcslice-past-last-bc branch September 23, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants