Skip to content

Resolve TPC digitizer calibration objects once per sector - #16083

Merged
sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:tpc-digi-calibrations
Nov 9, 2026
Merged

sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:tpc-digi-calibrations

Conversation

@sawenzel

@sawenzel sawenzel commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

This fixes repeated calibration lookups in the TPC digitizer and is a preparation for multithreaded TPC digitization.

DigitContainer::fillOutputContainer fetched its calibration objects from the CDBInterface on every flush: the ion-tail and common-mode pad parameters, the dead-channel map (rebuilt from the pad flags on each call), and the FEE config (even once per time bin). They are now fetched once per sector in Digitizer::init(), so worker threads will not need to touch the CDBInterface.

Digits, labels and common mode are unchanged (checked on PbPb and pp). The one exception is IonTailSettings.padITCorrFile: the old code then let SAMPAProcessing read freed calibration maps for the first sector, which this change fixes.

https://its.cern.ch/jira/browse/O2-7309

Assisted by Claude Code.

This moves the calibration lookups of the TPC DigitContainer out of the flush loop.

- fillOutputContainer fetched the ion-tail and common-mode pad parameters, the dead channel map and the FEE config from the CDBInterface on every flush, the FEE config even once per time bin.
- getDeadChannelMap() rebuilds the dead channel map from the pad flags on every call.
- updateCalibrations() now fetches them once per sector from Digitizer::init(), with a fallback on the first flush for callers that do not call init().
- SAMPAProcessing picks up its pointers after this update, because a FEE parameter file reload replaces the objects it points to.

https://its.cern.ch/jira/browse/O2-7309

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@sawenzel
sawenzel merged commit bc5ed44 into AliceO2Group:dev Nov 9, 2026
12 checks passed
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