Skip to content

[TF3] Add efficiency, time resolution and ToA maps from ccdb - #15883

Merged
njacazio merged 12 commits into
AliceO2Group:devfrom
GiorgioAlbertoLucia:iotof-digi
Oct 9, 2026
Merged

njacazio merged 12 commits into
AliceO2Group:devfrom
GiorgioAlbertoLucia:iotof-digi

Conversation

@GiorgioAlbertoLucia

@GiorgioAlbertoLucia GiorgioAlbertoLucia commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

@maciacco

This pull request introduces improvements to the IOTOF digitizer simulation and a new macro to test the time resolution

Improvements in the digitization

  • Added support in DPLDigitizerParam for specifying optional efficiency, resolution, and time of arrival map paths, which can be loaded from CCDB or various file sources

  • Updated Digitizer to load these maps using a new loadMap method, supporting both CCDB and ROOT file sources, and to prepare a scaled resolution map for position-dependent time resolution

  • The time smearing logic in Digitizer::smearTime now uses the loaded resolution and time of arrival maps to apply position-dependent Gaussian smearing

  • NOTE: the resolution map determines the relative in-pixel resolution, while the nominal value is set by an independent parameter of the DPLDigitizerParam class

  • Refactored map loading logic into a generic loadMap method and added prepareScaledResolutionMap for normalization, improving code maintainability and extensibility.

  • Fixed a run-time inconsistency in the output size within IOTOFDigitizerSpec.cxx

Testing

  • Added a new test macro CheckTimeResolutionIOTOF.C to the CMake configuration, ensuring that time resolution features can be tested and validated

Efficiency, time resolution and time of arrival maps can be found in the ccdb at these paths

  • ccdb://Users/g/glucia/tmp/ALICE3/IOTOF/pixelEfficiency
  • ccdb://Users/g/glucia/tmp/ALICE3/IOTOF/pixelResolution
  • ccdb://Users/g/glucia/tmp/ALICE3/IOTOF/pixelTimeOfArrival

I will upload some examples of the mean and rms of the time resolution when the maps are used in the digitization
Input resolution map
Screenshot 2026-10-09 at 11 55 31
Observed in-pixel resolution
Screenshot 2026-10-09 at 11 56 37

Input time of arrival map
Screenshot 2026-10-09 at 11 57 24
Observed in-pixel time of arrival
Screenshot 2026-10-09 at 11 58 07

@GiorgioAlbertoLucia GiorgioAlbertoLucia changed the title Add efficiency map from ccdb [TF3] Add efficiency map from ccdb Oct 1, 2026
@GiorgioAlbertoLucia
GiorgioAlbertoLucia marked this pull request as ready for review October 1, 2026 13:23
@GiorgioAlbertoLucia
GiorgioAlbertoLucia marked this pull request as draft October 1, 2026 14:05
@GiorgioAlbertoLucia GiorgioAlbertoLucia changed the title [TF3] Add efficiency map from ccdb [TF3] Add efficiency, time resolution and ToA maps from ccdb Oct 9, 2026
@GiorgioAlbertoLucia
GiorgioAlbertoLucia marked this pull request as ready for review October 9, 2026 10:03
@maciacco

maciacco commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Thanks Giorgio looks good to me. @njacazio this is ready to merge

@njacazio
njacazio enabled auto-merge (squash) October 9, 2026 15:55
@njacazio

njacazio commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Good for me as well, let's see @shahor02

@shahor02 shahor02 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,
The proper way to load the ccdb object in the workflow is via DPL CCDB fetcher instead of the CCDB manager. If you need to make it conditional on the configurable option, this option simply should be checked the before making a request of the ccdb param e.g. here:

inputs.emplace_back("IOTOF_aptsresp", "TF3", "APTSRESP", 0, o2::framework::Lifetime::Condition, o2::framework::ccdbParamSpec("IT3/Calib/APTSResponse"));
.
That said, the case of loading a private file from the CCDB can also be handled via CCDB: one should just remap this particular CCDB object path to your private file linked to snapshot.root in the <path>/IT3/Calib/Smear via e.g.

--condition-remap file:///<path>=IT3/Calib/Smear"

I can merge this as is to not stall the work, but it would be good to fix this. Let me know.

@njacazio
njacazio merged commit d3b4ba2 into AliceO2Group:dev Oct 9, 2026
12 of 13 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.

4 participants