Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a64cca0
Fixing pluralization of table names in DataModel. This was silently i…
cmuncinelli Mar 11, 2026
6f24d61
Adding TPC-onwards track selection for Jet building, more JetQA histo…
cmuncinelli Mar 13, 2026
d3690eb
TableProducer: Adding extra V0Selection QA histograms, removing unuse…
cmuncinelli Mar 24, 2026
b89ca50
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli Mar 27, 2026
cf6429b
Adding functions to study the "negative helicity problem": a problem …
cmuncinelli Mar 27, 2026
7479180
Introducing magnetic-field-related tests for diagnosing the helicity …
cmuncinelli Mar 28, 2026
6408d0e
Removing magnetic field fetching. Now assuming magnetic field always …
cmuncinelli Apr 6, 2026
04e0e02
Adding plots to study the eta dependence of the Ring Observable. Rena…
cmuncinelli Apr 8, 2026
f7945bd
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli Apr 17, 2026
2c22fab
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli May 1, 2026
55f6525
Producer: improving DCA cuts to minimize AEE and HEE impact (fake pol…
cmuncinelli May 1, 2026
7f79b59
Merge branch 'LambdaPolRing-v3' of github.com:cmuncinelli/O2Physics i…
cmuncinelli May 1, 2026
befd534
Small fixes to histogram names to fix runtime errors
cmuncinelli May 1, 2026
f342456
Implementing QA plots to understand (and find a way to minimize/remov…
cmuncinelli May 6, 2026
2a19647
Renaming histograms and adding "forceRandJet" options. As the Azimuth…
cmuncinelli May 7, 2026
1007d64
- Refactoring all jet distortion QAs into a single function.
cmuncinelli May 14, 2026
cd9bf1f
Implementing forceDatalikeJet variation and further optimizing applyP…
cmuncinelli May 14, 2026
0f83bf1
Fixing phi angle conventions (from 0 to 2PI in some plots, instead of…
cmuncinelli May 18, 2026
091be10
- Added nProxyResamples configurable, which allows for a resampling e…
cmuncinelli Jul 8, 2026
578e064
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli Aug 5, 2026
3eb261b
Major rework of the Ring Polarization datamodel, bug fixing in QA his…
cmuncinelli Aug 7, 2026
0b902d5
Adding doxygen documentation to macros
cmuncinelli Aug 7, 2026
88564fc
General title and axis fixes
cmuncinelli Aug 10, 2026
8de7279
- TableProducer: Added PVz-related counters to probe possible data as…
cmuncinelli Aug 14, 2026
88d07f0
Implementing quick QA for event mixing, and saving into a commit the …
cmuncinelli Aug 17, 2026
759302e
Reservoir sampling for event mixing of leading particles (commit prec…
cmuncinelli Aug 17, 2026
f768c44
Implementing event mixing for FastJet leading jets and Subleading jet…
cmuncinelli Aug 17, 2026
04f2980
Major cleaning of variable names (now using camelToe convention more …
cmuncinelli Aug 19, 2026
132c0b8
Fixing filter declaration
cmuncinelli Aug 19, 2026
02e8d98
Linter + clang formatting changes for standardized code production. T…
cmuncinelli Aug 19, 2026
4356704
Final fill guard corrections and comment removals
cmuncinelli Aug 19, 2026
bbbc91d
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli Aug 19, 2026
f85bdb7
Merge branch 'AliceO2Group:master' into LambdaPolRing-v3
cmuncinelli Aug 20, 2026
602e36f
Some more clang-formatting changes before PR
cmuncinelli Aug 20, 2026
961d4f5
IWYU fixes and cppcheck fixes
cmuncinelli Aug 20, 2026
0d009f6
Please consider the following formatting changes
alibuild Aug 20, 2026
a9d7056
Merge pull request #5 from alibuild/alibot-cleanup-17531
cmuncinelli Aug 20, 2026
3f17087
Fixing possibly wrong flagged usage by cppcheck
cmuncinelli Aug 20, 2026
6c7094a
Small fix on lambda function variable capturings
cmuncinelli Aug 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 46 additions & 29 deletions PWGLF/DataModel/lambdaJetPolarizationIons.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <Framework/AnalysisDataModel.h>

#include <cmath>
#include <cstdint>

namespace o2::aod
{
Expand All @@ -34,12 +35,16 @@ namespace lambdajetpol
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float);
DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float);
DECLARE_SOA_COLUMN(Zvtx, zvtx, float);
DECLARE_SOA_COLUMN(InteractionRate, interactionRate, float);
// DECLARE_SOA_COLUMN(MagField, magField, float);

// Jet (and jet proxies) information:
DECLARE_SOA_COLUMN(JetPt, jetPt, float);
DECLARE_SOA_COLUMN(JetEta, jetEta, float);
DECLARE_SOA_COLUMN(JetPhi, jetPhi, float);
DECLARE_SOA_COLUMN(JetNConstituents, jetNConstituents, int);
// DECLARE_SOA_COLUMN(JetNConstituents, jetNConstituents, uint16_t); // Currently removed from datamodel.
// Other variables can better reveal jet quenching and help identify good selection criteria for quenched jets proxies

DECLARE_SOA_COLUMN(LeadParticlePt, leadParticlePt, float);
DECLARE_SOA_COLUMN(LeadParticleEta, leadParticleEta, float);
Expand All @@ -50,22 +55,27 @@ DECLARE_SOA_COLUMN(V0Pt, v0Pt, float);
DECLARE_SOA_COLUMN(V0Eta, v0Eta, float);
DECLARE_SOA_COLUMN(V0Phi, v0Phi, float);

DECLARE_SOA_COLUMN(IsLambda, isLambda, bool);
DECLARE_SOA_COLUMN(IsAntiLambda, isAntiLambda, bool);
DECLARE_SOA_COLUMN(MassLambda, massLambda, float);
DECLARE_SOA_COLUMN(MassAntiLambda, massAntiLambda, float);
DECLARE_SOA_COLUMN(IsLambda, isLambda, bool); //! 0: antiLambda, 1: Lambda. There are no ambiguous candidates stored (those that pass both Lambda-specific and AntiLambda-specific checks)
// DECLARE_SOA_COLUMN(IsAntiLambda, isAntiLambda, bool);
DECLARE_SOA_COLUMN(MassV0, massV0, float);
// DECLARE_SOA_COLUMN(MassLambda, massLambda, float);
// DECLARE_SOA_COLUMN(MassAntiLambda, massAntiLambda, float);

DECLARE_SOA_COLUMN(PosPt, posPt, float);
DECLARE_SOA_COLUMN(PosPt, posPt, float); // Could consider rewriting this as proton/pion-like Pt, as in TPCNSigma, instead of Pos/Neg
DECLARE_SOA_COLUMN(PosEta, posEta, float);
DECLARE_SOA_COLUMN(PosPhi, posPhi, float);
DECLARE_SOA_COLUMN(NegPt, negPt, float);
DECLARE_SOA_COLUMN(NegEta, negEta, float);
DECLARE_SOA_COLUMN(NegPhi, negPhi, float);

DECLARE_SOA_COLUMN(PosTPCNSigmaPr, posTPCNSigmaPr, float);
DECLARE_SOA_COLUMN(PosTPCNSigmaPi, posTPCNSigmaPi, float);
DECLARE_SOA_COLUMN(NegTPCNSigmaPr, negTPCNSigmaPr, float);
DECLARE_SOA_COLUMN(NegTPCNSigmaPi, negTPCNSigmaPi, float);
// DECLARE_SOA_COLUMN(PosTPCNSigmaPr, posTPCNSigmaPr, float);
// DECLARE_SOA_COLUMN(PosTPCNSigmaPi, posTPCNSigmaPi, float);
// DECLARE_SOA_COLUMN(NegTPCNSigmaPr, negTPCNSigmaPr, float);
// DECLARE_SOA_COLUMN(NegTPCNSigmaPi, negTPCNSigmaPi, float);
// TPC Nsigma variables now stored only for non-ambiguous candidates (those that pass only the Lambda-specific or antiLambda-specific tests):
// (PrLike: proton-like daughter of the V0, either a proton (Lambda) or an antiproton (AntiLambda). PiLike is the pion daughter)
DECLARE_SOA_COLUMN(RoundPrLikeTPCNSigma, roundPrLikeTPCNSigma, int16_t); //! Stores nsigma with a precision of 0.01 nsigma. Following LFStrangenessPIDTables.h
DECLARE_SOA_COLUMN(RoundPiLikeTPCNSigma, roundPiLikeTPCNSigma, int16_t);

DECLARE_SOA_COLUMN(V0CosPA, v0CosPA, float);
DECLARE_SOA_COLUMN(V0Radius, v0Radius, float);
Expand All @@ -74,38 +84,46 @@ DECLARE_SOA_COLUMN(DcaPosToPV, dcaPosToPV, float);
DECLARE_SOA_COLUMN(DcaNegToPV, dcaNegToPV, float);

// Dynamic columns for jets (Px,Py,Pz):
DECLARE_SOA_DYNAMIC_COLUMN(JetPx, jetPx, //! Jet px
DECLARE_SOA_DYNAMIC_COLUMN(JetPx, jetPx,
[](float jetPt, float jetPhi) -> float { return jetPt * std::cos(jetPhi); });
DECLARE_SOA_DYNAMIC_COLUMN(JetPy, jetPy, //! Jet py
DECLARE_SOA_DYNAMIC_COLUMN(JetPy, jetPy,
[](float jetPt, float jetPhi) -> float { return jetPt * std::sin(jetPhi); });
DECLARE_SOA_DYNAMIC_COLUMN(JetPz, jetPz, //! Jet pz
DECLARE_SOA_DYNAMIC_COLUMN(JetPz, jetPz,
[](float jetPt, float jetEta) -> float { return jetPt * std::sinh(jetEta); });
// Same for leading particles:
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePx, leadParticlePx, //! Leading particle px
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePx, leadParticlePx,
[](float leadParticlePt, float leadParticlePhi) -> float { return leadParticlePt * std::cos(leadParticlePhi); });
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePy, leadParticlePy, //! Leading particle py
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePy, leadParticlePy,
[](float leadParticlePt, float leadParticlePhi) -> float { return leadParticlePt * std::sin(leadParticlePhi); });
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePz, leadParticlePz, //! Leading particle pz
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePz, leadParticlePz,
[](float leadParticlePt, float leadParticleEta) -> float { return leadParticlePt * std::sinh(leadParticleEta); });

// Dynamic columns for retrieving rounded Nsigma columns:
DECLARE_SOA_DYNAMIC_COLUMN(PrLikeTPCNSigma, prLikeTPCNSigma,
[](int16_t packedValue) -> float { return packedValue / 100.f; });
DECLARE_SOA_DYNAMIC_COLUMN(PiLikeTPCNSigma, piLikeTPCNSigma,
[](int16_t packedValue) -> float { return packedValue / 100.f; });
} // namespace lambdajetpol

DECLARE_SOA_TABLE(RingCollisions, "AOD", "RINGCOLLISION",
o2::soa::Index<>, // self-index: auto-assigned row number
o2::soa::Index<>, //! self-index: auto-assigned row number
lambdajetpol::CentFT0M,
lambdajetpol::CentFT0C,
lambdajetpol::CentFV0A);
lambdajetpol::CentFV0A,
lambdajetpol::Zvtx,
lambdajetpol::InteractionRate);

namespace lambdajetpol
{
DECLARE_SOA_INDEX_COLUMN(RingCollision, ringCollision); // Declare index after table is available
DECLARE_SOA_INDEX_COLUMN(RingCollision, ringCollision); //! Declare index after table is available
} // namespace lambdajetpol

DECLARE_SOA_TABLE(RingJets, "AOD", "RINGJET",
lambdajetpol::RingCollisionId, // relational index -> RingCollisions
lambdajetpol::RingCollisionId, //! relational index -> RingCollisions
lambdajetpol::JetPt,
lambdajetpol::JetEta,
lambdajetpol::JetPhi,
lambdajetpol::JetNConstituents,
// lambdajetpol::JetNConstituents,
// Dynamic columns (explicitly bound to their static inputs):
lambdajetpol::JetPx<lambdajetpol::JetPt, lambdajetpol::JetPhi>,
lambdajetpol::JetPy<lambdajetpol::JetPt, lambdajetpol::JetPhi>,
Expand All @@ -127,24 +145,23 @@ DECLARE_SOA_TABLE(RingLaV0s, "AOD", "RINGLAV0",
lambdajetpol::V0Eta,
lambdajetpol::V0Phi,
lambdajetpol::IsLambda,
lambdajetpol::IsAntiLambda,
lambdajetpol::MassLambda,
lambdajetpol::MassAntiLambda,
lambdajetpol::MassV0,
lambdajetpol::PosPt,
lambdajetpol::PosEta,
lambdajetpol::PosPhi,
lambdajetpol::NegPt,
lambdajetpol::NegEta,
lambdajetpol::NegPhi,
lambdajetpol::PosTPCNSigmaPr,
lambdajetpol::PosTPCNSigmaPi,
lambdajetpol::NegTPCNSigmaPr,
lambdajetpol::NegTPCNSigmaPi,
lambdajetpol::RoundPrLikeTPCNSigma,
lambdajetpol::RoundPiLikeTPCNSigma,
lambdajetpol::V0CosPA,
lambdajetpol::V0Radius,
lambdajetpol::DcaV0Daughters,
lambdajetpol::DcaPosToPV,
lambdajetpol::DcaNegToPV);
lambdajetpol::DcaNegToPV,
// Dynamic columns:
lambdajetpol::PrLikeTPCNSigma<lambdajetpol::RoundPrLikeTPCNSigma>,
lambdajetpol::PiLikeTPCNSigma<lambdajetpol::RoundPiLikeTPCNSigma>);

using RingCollision = RingCollisions::iterator; // Useful shorthand
} // namespace o2::aod
Expand Down
Loading
Loading