Skip to content

[PWGCF] Add Lambda-proton balance function analysis task - #17838

Merged
dsarkaralice merged 21 commits into
AliceO2Group:masterfrom
Anoop1379:Lambda-Proton-Update
Sep 17, 2026
Merged

dsarkaralice merged 21 commits into
AliceO2Group:masterfrom
Anoop1379:Lambda-Proton-Update

Conversation

@Anoop1379

Copy link
Copy Markdown
Contributor

This PR introduces the lambda-proton-balance-function analysis task (lambdaProtonBalanceFunction.cxx) under PWGCF/TwoParticleCorrelations/Tasks to measure single- and two-particle density correlations and evaluate the Lambda-proton balance function.

This contains:

  1. Physics Observables:
  • Computes rho1 and rho2 density distributions in (Delta-eta, Delta-phi) and (Delta-y, Delta-phi) unrolled spaces.
  • Evaluates all baryon-baryon and baryon-antibaryon pairs (Lambda-p, Lambda-pbar, AntiLambda-p, AntiLambda-pbar) as well as p-p baseline and Lambda-Lambda pairs.
  • Provides pT-differential pair correlation histograms.
  1. Track and Particle Selections:
  • Primary protons and antiprotons selected using standard TPC/ITS track quality, tight DCAxy/DCAz cuts, and combined TPC + TOF PID with configurable momentum switch threshold.
  • Lambda and AntiLambda candidates reconstructed through V0 topological cuts (CosPA, decay radius, DCA to PV, daughter TPC nSigma PID, and K0s mass rejection window).
  1. Corrections and QA Diagnostics:
  • Primary proton vs. V0 daughter proton candidate overlap rejection (autocorrelation / split-track veto) with dedicated ProtonVetoQA diagnostics.
  • Event-level pileup monitoring and cutflow tracking.

Validation:

  • Passed o2_linter.py checks with 0 errors.
  • Formatted according to ALICE conventions using clang-format.
  • Executable registered in CMakeLists.txt.

1. Measures single-particle (rho1) and two-particle (rho2) density distributions in (delta_eta, delta_phi) and (delta_y, delta_phi) bins to evaluate the Lambda-proton balance function.
2. Evaluates all pair combinations: Lambda-p, Lambda-pbar, AntiLambda-p, and AntiLambda-pbar, along with p-p baseline and Lambda-Lambda pairs.
3. Includes pT-differential pair correlation histograms.
4. Selects primary (anti)protons using TPC/ITS quality cuts, DCA cuts, and combined TPC + TOF PID with momentum threshold switch.
5. Reconstructs Lambda and AntiLambda candidates via V0 topology, daughter PID, and K0s mass rejection window.
6. Implements primary-proton vs. V0 daughter-proton overlap veto to eliminate autocorrelation / split-track artifacts, tracked by ProtonVetoQA.
7. Includes comprehensive QA.
@github-actions

github-actions Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

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

Anoop1379 and others added 3 commits September 9, 2026 18:05
Removed unnecessary passDCA check for proton tracks.
Please consider the following formatting changes to AliceO2Group#17838
@wenyaCern

Copy link
Copy Markdown
Collaborator

Hi @Anoop1379 , please fix the errors reported by the o2-linter check

@Anoop1379

Anoop1379 commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor Author

@wenyaCern

I have fixed the o2-linter issue. For the four pre-existing workflow/file name mismatches in CMakeLists.txt, I added the required name/o2-workflow disable comments with reasons.

The o2-linter check is now passing successfully.

Thank you.

@dsarkaralice
dsarkaralice enabled auto-merge (squash) September 16, 2026 03:50
dsarkaralice
dsarkaralice previously approved these changes Sep 16, 2026
@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/staging for f6fd50a at 2026-09-16 05:55:

## sw/BUILD/O2Physics-latest/log
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:21:10: fatal error: Common/DataModel/PIDResponse.h: No such file or directory
ninja: build stopped: subcommand failed.

Full log here.

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for f6fd50a at 2026-09-16 05:57:

## sw/BUILD/O2Physics-latest/log
/sw/SOURCES/O2Physics/slc10_x86-64-slc10_x86-64/0/PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:21:10: fatal error: Common/DataModel/PIDResponse.h: No such file or directory
ninja: build stopped: subcommand failed.

Full log here.

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/o2 for f6fd50a at 2026-09-16 06:43:

## sw/BUILD/O2Physics-latest/log
/sw/SOURCES/O2Physics/slc10_x86-64-slc10_x86-64/0/PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:21:10: fatal error: Common/DataModel/PIDResponse.h: No such file or directory
ninja: build stopped: subcommand failed.

Full log here.

auto-merge was automatically disabled September 16, 2026 10:35

Head branch was pushed to by a user without write access

@dsarkaralice
dsarkaralice enabled auto-merge (squash) September 17, 2026 18:26
@dsarkaralice
dsarkaralice merged commit 1c8495f into AliceO2Group:master Sep 17, 2026
12 of 14 checks passed
@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for 5a96167 at 2026-09-17 21:21:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'Found 1 errors and 13 warnings.'
Found 1 errors and 13 warnings.
++ [[ 1 -gt 0 ]]
++ cat /sw/BUILD/153ed96c702a4e5369677c7bde2e7dc62e118a6d/O2Physics-code-check/errors.txt
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:262:5: error: Variable 'pt' with floating point type 'float' should not be used as a loop counter [clang-analyzer-security.FloatLoopCounter,-warnings-as-errors]
++ [[ 13 -gt 0 ]]
++ cat /sw/BUILD/153ed96c702a4e5369677c7bde2e7dc62e118a6d/O2Physics-code-check/warnings.txt
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:375:16: warning: redundant boolean literal in conditional return statement [readability-simplify-boolean-expr]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:378:7: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:479:11: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:482:11: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2202:26: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2204:26: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2209:26: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2211:26: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2297:28: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2303:28: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2366:52: warning: use 'contains' to check for membership [readability-container-contains]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2394:47: warning: statement should be inside braces [readability-braces-around-statements]
PWGCF/TwoParticleCorrelations/Tasks/lambdaProtonBalanceFunction.cxx:2406:47: warning: statement should be inside braces [readability-braces-around-statements]
++ [[ 1 -gt 0 ]]
++ exit 1
--

Full log here.

@Anoop1379
Anoop1379 deleted the Lambda-Proton-Update branch September 19, 2026 13:16
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.

4 participants