Skip to content

[PWGLF] Add percentile-based flattenicity classes and corrections - #17723

Merged
romainschotter merged 1 commit into
AliceO2Group:masterfrom
sprasadphy:master
Sep 2, 2026
Merged

[PWGLF] Add percentile-based flattenicity classes and corrections#17723
romainschotter merged 1 commit into
AliceO2Group:masterfrom
sprasadphy:master

Conversation

@sprasadphy

Copy link
Copy Markdown
Contributor

This version of PR contains major changes inspired by fixing memory problem in the existing way to storing the values. Following changes have been done.

  1. This PR adds the machinery to define flattenicity classes from measured percentiles and apply the corresponding corrections to K0s, Lambda, AntiLambda, and Xi spectra. The output is additive: 60 new histograms are added, with none removed or renamed.

  2. Percentile-driven classes: The relevant axes are now ConfigurableAxis, allowing the 1-rho boundaries to be taken directly from measured percentiles. New processFlatDistData / processFlatDistMC processes provide the flattenicity distributions needed to determine these boundaries.

  3. MC closure: Efficiency and loss histograms now also have _TrueFlat versions based on generator-level 1-rho, together with class-migration and event-selection-bias matrices. Both measured- and true-class estimates are produced in processGenMC, while flattenicityforLossCorrRec selects which one is used for the corrections.

4.Correction inputs: Added the feed-down response matrices and generated mother spectra in the same events/classes, along with DCA-of-V0-to-PV templates, pT resolution, and charged-particle information needed for the multiplicity-dependent corrections.

5.Calibration from CCDB: The hardcoded flattenicity calibration constants are replaced with per-run CCDB objects for channel gains and z-vertex equalisation. Both calibrations are disabled by default, with a unity fallback and warning when an object is missing; the z-vertex correction now acts directly on the lattice cells.

6.Fixes: Generated-particle rapidity now follows the reconstructed rapidity settings, shared histograms cannot be double-counted across processes, and MC denominators correctly follow applyCentSel. Daughter selection is shared between V0 and cascade paths, processDataRun3Cascade now defaults to false, and unsupported flattenicityforanalysis settings in MC are rejected.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 43 warnings, 🔕 0 disabled

@romainschotter
romainschotter enabled auto-merge (squash) September 2, 2026 05:20
@alibuild

alibuild commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/staging for 56655f7 at 2026-09-02 11:07:

## sw/BUILD/O2Physics-latest/log
c++: fatal error: Killed signal terminated program cc1plus
c++: fatal error: Killed signal terminated program cc1plus
ninja: build stopped: subcommand failed.

Full log here.

@romainschotter
romainschotter merged commit 439e7b1 into AliceO2Group:master Sep 2, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants