Skip to content

[PWGCF] Add Lambda and anti-Lambda spin-correlation analysis - #17837

Open
Akash-Raj-285 wants to merge 8 commits into
AliceO2Group:masterfrom
Akash-Raj-285:lambda-spin-analysis
Open

Akash-Raj-285 wants to merge 8 commits into
AliceO2Group:masterfrom
Akash-Raj-285:lambda-spin-analysis

Conversation

@Akash-Raj-285

Copy link
Copy Markdown

Summary

This draft PR introduces a PWGCF workflow for studying spin correlations in Lambda–anti-Lambda, Lambda–Lambda, and anti-Lambda–anti-Lambda pairs.

The workflow reconstructs and selects Lambda and anti-Lambda candidates, provides optional Monte Carlo truth and efficiency processing, and produces same-event and mixed-event spin-correlation distributions.

The spin observable is constructed from the proton and antiproton daughter momenta after boosting them into their respective parent hyperon rest frames.

Main components

The workflow contains the following analysis tasks:

  • LambdaOrAntiLambdaProducerWithSpin

    • Reconstructs Lambda and anti-Lambda candidates from V0 candidates.
    • Applies event, daughter-track, PID, topology, and Lambda kinematic selections.
    • Stores event information, candidate kinematics, topology variables, and daughter information in derived tables.
  • LambdaAntiLambdaSelector

    • Separates the combined candidate table into Lambda and anti-Lambda tables.
    • Provides the tables consumed by the pair-analysis task.
  • LambdaAntiLambdaPairAnalysis

    • Constructs Lambda–anti-Lambda, Lambda–Lambda, and anti-Lambda–anti-Lambda pairs.
    • Produces same-event and mixed-event angular-correlation histograms.
    • Stores pair and event counters needed for normalization.
  • LambdaAntiLambdaMcRecoTableProducer

    • Produces reconstructed candidates with Monte Carlo truth information.
    • Produces event-selection information associated with generated MC collisions.
  • LambdaAntiLambdaEfficiencyPlots

    • Produces reconstructed and generated Lambda/anti-Lambda efficiency histograms.
  • LambdaAntiLambdaSelectionCutFlow

    • Provides reconstructed-event and Lambda-selection cut-flow histograms.

The MC-specific processing functions use PROCESS_SWITCH and are disabled by default, allowing them to be enabled explicitly for MC processing without changing the workflow topology.

Same-event pair classification

Same-event pairs are divided into short-range and long-range samples.

A pair is classified as short range when both conditions are satisfied:

|Delta y| < 0.5
|Delta phi| < pi/3

@github-actions github-actions Bot added the pwgcf label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

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

@victor-gonzalez victor-gonzalez 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.

@Akash-Raj-285, thanks for incorporating this new analysis!

I approve it for the time being for the full CI test to complete.

But, as this is a new analysis, it would be good to start with a clean linter check. I observed in the linter output that there only a minor number of warning although spread out along the source file. It would be good if can fix them while the CI checks are performed. You know that you can run the linter for checking your files locally.

Thanks in advance!!!

@dsarkaralice

dsarkaralice commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

This analysis is already ongoing in CF and LF on pp, OO and Pb-Pb in min bias, multiplicity dependence and energy dependence. This is not a new analysis. Please contact the CF and LF coordinators and conveners for more information. Thanks!

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for f51401e at 2026-09-15 15:05:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'Found 13 errors and 2 warnings.'
Found 13 errors and 2 warnings.
++ [[ 13 -gt 0 ]]
++ cat /sw/BUILD/e5db91721dc66e532a0014aa0ae72b0771519a97/O2Physics-code-check/errors.txt
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:35:1: error: included header Vector4D.h is not used directly [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:393:3: error: no header providing "o2::framework::Produces" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:424:111: error: no header providing "M_PI" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:467:52: error: no header providing "TH1" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:860:3: error: no header providing "o2::framework::Partition" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1039:33: error: no header providing "PDG_t" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1507:22: error: no header providing "TString" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1656:15: error: no header providing "ROOT::Math::PxPyPzMVector" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1668:44: error: the parameter 'proton1' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1668:79: error: the parameter 'proton2' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1713:58: error: no header providing "o2::soa::CombinationsFullIndexPolicy" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1774:56: error: no header providing "o2::soa::CombinationsStrictlyUpperIndexPolicy" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:2112:49: error: no header providing "o2::soa::combinations" is directly included [misc-include-cleaner,-warnings-as-errors]
++ [[ 2 -gt 0 ]]
++ cat /sw/BUILD/e5db91721dc66e532a0014aa0ae72b0771519a97/O2Physics-code-check/warnings.txt
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1294:11: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
PWGCF/TwoParticleCorrelations/Tasks/lambdaOrAntiLambdaProducerWithSpin.cxx:1672:11: warning: variable 'cosTheta' is not initialized [cppcoreguidelines-init-variables]
++ [[ 13 -gt 0 ]]
++ exit 1
--

Full log here.

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