Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
2819b3c
Testing Lambda invariant mass reconstruction from the derivedlambdakz…
cmuncinelli Oct 16, 2025
dc178be
Adding cmakelist changes
cmuncinelli Oct 16, 2025
e603313
Fixing CMakeLists to actually have the correct links for the code to …
cmuncinelli Oct 16, 2025
7b93900
Fixing dependencies, wrong syntax and missing variables/functions
cmuncinelli Oct 16, 2025
785d53b
Fixing some more dependencies for the event selection histograms
cmuncinelli Oct 17, 2025
4add503
Merge branch 'AliceO2Group:master' into LambdaPolRing
cmuncinelli Jan 28, 2026
7d14701
First tests, earlier version of passesLambdaLambdaBarHypothesis
cmuncinelli Feb 4, 2026
03b70fc
First full version of lambdaJetPolarizationIons. Removed unneeded tra…
cmuncinelli Feb 9, 2026
c5ed51a
Fixing CMakeLists
cmuncinelli Feb 9, 2026
9bb3538
Fixing compilation errors
cmuncinelli Feb 9, 2026
ccf6fcc
First version that runs on raw data (still has errors in event select…
cmuncinelli Feb 10, 2026
802bde6
Updating TOF usage and axes
cmuncinelli Feb 11, 2026
5692752
Adding collision column to derived data to reduce saves of centrality…
cmuncinelli Feb 11, 2026
98bf92c
First version of polarization code, with traditional ROOT vectors (IN…
cmuncinelli Feb 12, 2026
5a6c37b
First full code version (still has problems with histogram filling lo…
cmuncinelli Feb 13, 2026
cd43870
Fixing V0s table name to within maximum size to save in Derived Data.…
cmuncinelli Feb 14, 2026
2b8d86a
First full version of derived data consumer. Implemented preprocessor…
cmuncinelli Feb 14, 2026
c638237
First fully functional version (still needs QA to check if there is n…
cmuncinelli Feb 14, 2026
3329a51
Adding signal extraction histograms (mass dependencies)
cmuncinelli Feb 16, 2026
91a9de5
Updating usage of coarser axis
cmuncinelli Feb 16, 2026
5dfa2f4
Fixing signal extraction pt axes (now contains the 0.5-1.5 interval e…
cmuncinelli Feb 17, 2026
103ee37
Fixing histogram names and wrapping some angular variables to reuse axes
cmuncinelli Feb 18, 2026
ef120bd
Removing old parameter from file configurable group
cmuncinelli Feb 18, 2026
c5aab8c
Moving JetPolarization builder
cmuncinelli Feb 18, 2026
6b5a309
Fixing centrality usage
cmuncinelli Feb 19, 2026
7c9475a
Fixing CMakeLists for new Derived data consumer
cmuncinelli Feb 19, 2026
7f87d66
Adding centrality selections, more TProfiles for appropriate error ba…
cmuncinelli Feb 19, 2026
c6c0d51
Removing unused squared observable plots (no longer using them for er…
cmuncinelli Feb 20, 2026
34e7250
Adding convenience enums to builder + new hEventSelection bins for QA…
cmuncinelli Feb 26, 2026
08a03a1
Adding leading particle QA and second-to-leading jet studies. Studyin…
cmuncinelli Feb 28, 2026
3ba13b4
Initializing some variables for safer code (TableProducer). Adding in…
cmuncinelli Mar 2, 2026
171f8ac
Adding dynamic columns for readability. Adding more centrality inform…
cmuncinelli Mar 2, 2026
7cd4fe7
Adding extra V0 selection variables to DataModel. Cleaning up TablePr…
cmuncinelli Mar 3, 2026
73363f4
Merge branch 'AliceO2Group:master' into LambdaPolRing
cmuncinelli Mar 3, 2026
8a45f25
Removing unrelated code from older branch
cmuncinelli Mar 4, 2026
ce06589
Removing unneeded dependencies in CMakeLists, organizing TableProduce…
cmuncinelli Mar 4, 2026
44c227b
Fixing wrong table fill order. Cleaning up table subscriptions and re…
cmuncinelli Mar 4, 2026
78bb47a
Removing old centrality estimators from derived data consumer
cmuncinelli Mar 4, 2026
dbad510
Final fix before pull request -- Fixing repeated histogram name on pR…
cmuncinelli Mar 4, 2026
6867671
Initializing variables to avoid warnings (following O2 Code Guidelines)
cmuncinelli Mar 4, 2026
d321e59
Please consider the following formatting changes
alibuild Mar 4, 2026
f1c75a7
Merge pull request #1 from alibuild/alibot-cleanup-15263
cmuncinelli Mar 4, 2026
5d3cb83
Please consider the following formatting changes
alibuild Mar 4, 2026
ee34bf2
Merge pull request #2 from alibuild/alibot-cleanup-15263
cmuncinelli Mar 4, 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
150 changes: 150 additions & 0 deletions PWGLF/DataModel/lambdaJetPolarizationIons.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
///
/// \file lambdaJetPolarizationIons.h
/// \brief Derived Data table for Jet-induced polarization analysis (HI)
/// \author Cicero Domenico Muncinelli (cicero.domenico.muncinelli@cern.ch)
// Comments, questions, complaints, suggestions?
// Please write to:
// cicero.domenico.muncinelli@cern.ch
//

#ifndef PWGLF_DATAMODEL_LAMBDAJETPOL_H_
#define PWGLF_DATAMODEL_LAMBDAJETPOL_H_

#include <Framework/ASoA.h>

namespace o2::aod
{

namespace lambdajetpol
{

// DECLARE_SOA_COLUMN(CollIdx, collIdx, uint64_t); // Using a regular SOA column instead of an index column for convenience
// Collision information:
DECLARE_SOA_INDEX_COLUMN(Collision, collision);
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float);
DECLARE_SOA_COLUMN(CentFT0CVariant1, centFT0CVariant1, float);
DECLARE_SOA_COLUMN(CentMFT, centMFT, float);
DECLARE_SOA_COLUMN(CentNGlobal, centNGlobal, float);
DECLARE_SOA_COLUMN(CentFV0A, centFV0A, 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, uint64_t);

DECLARE_SOA_COLUMN(LeadParticlePt, leadParticlePt, float);
DECLARE_SOA_COLUMN(LeadParticleEta, leadParticleEta, float);
DECLARE_SOA_COLUMN(LeadParticlePhi, leadParticlePhi, float);

// V0 information:
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(PosPt, posPt, float);
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(V0CosPA, v0cosPA, float);
DECLARE_SOA_COLUMN(V0Radius, v0radius, float);
DECLARE_SOA_COLUMN(DcaV0Daughters, dcaV0daughters, float);
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
[](float jetPt, float jetPhi) -> float { return jetPt * std::cos(jetPhi); });
DECLARE_SOA_DYNAMIC_COLUMN(JetPy, jetPy, //! Jet py
[](float jetPt, float jetPhi) -> float { return jetPt * std::sin(jetPhi); });
DECLARE_SOA_DYNAMIC_COLUMN(JetPz, jetPz, //! Jet pz
[](float jetPt, float jetEta) -> float { return jetPt * std::sinh(jetEta); });
// Same for leading particles:
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePx, leadParticlePx, //! Leading particle px
[](float leadParticlePt, float leadParticlePhi) -> float { return leadParticlePt * std::cos(leadParticlePhi); });
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePy, leadParticlePy, //! Leading particle py
[](float leadParticlePt, float leadParticlePhi) -> float { return leadParticlePt * std::sin(leadParticlePhi); });
DECLARE_SOA_DYNAMIC_COLUMN(LeadParticlePz, leadParticlePz, //! Leading particle pz
[](float leadParticlePt, float leadParticleEta) -> float { return leadParticlePt * std::sinh(leadParticleEta); });

} // namespace lambdajetpol

DECLARE_SOA_TABLE(RingJets, "AOD", "RINGJETS", // Renamed to follow convention on "s" at the end of table name.
lambdajetpol::CollisionId, // Changed to an internal O2 index, slightly different from usual o2::soa::Index<> though
lambdajetpol::JetPt,
lambdajetpol::JetEta,
lambdajetpol::JetPhi,
lambdajetpol::JetNConstituents,
// Dynamic columns
lambdajetpol::JetPx<lambdajetpol::JetPt, lambdajetpol::JetPhi>, // Explicitly binding to static columns
lambdajetpol::JetPy<lambdajetpol::JetPt, lambdajetpol::JetPhi>,
lambdajetpol::JetPz<lambdajetpol::JetPt, lambdajetpol::JetEta>);

DECLARE_SOA_TABLE(RingLeadP, "AOD", "RINGLEADP", // Leading particle table
lambdajetpol::CollisionId,
lambdajetpol::LeadParticlePt,
lambdajetpol::LeadParticleEta,
lambdajetpol::LeadParticlePhi,
// Dynamic columns
lambdajetpol::LeadParticlePx<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticlePhi>,
lambdajetpol::LeadParticlePy<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticlePhi>,
lambdajetpol::LeadParticlePz<lambdajetpol::LeadParticlePt, lambdajetpol::LeadParticleEta>);

DECLARE_SOA_TABLE(RingLaV0s, "AOD", "RINGLAV0S",
lambdajetpol::CollisionId,
lambdajetpol::V0Pt,
lambdajetpol::V0Eta,
lambdajetpol::V0Phi,
lambdajetpol::IsLambda,
lambdajetpol::IsAntiLambda,
lambdajetpol::MassLambda,
lambdajetpol::MassAntiLambda,
lambdajetpol::PosPt,
lambdajetpol::PosEta,
lambdajetpol::PosPhi,
lambdajetpol::NegPt,
lambdajetpol::NegEta,
lambdajetpol::NegPhi,
lambdajetpol::PosTPCNSigmaPr,
lambdajetpol::PosTPCNSigmaPi,
lambdajetpol::NegTPCNSigmaPr,
lambdajetpol::NegTPCNSigmaPi,
lambdajetpol::V0CosPA,
lambdajetpol::V0Radius,
lambdajetpol::DcaV0Daughters,
lambdajetpol::DcaPosToPV,
lambdajetpol::DcaNegToPV);

DECLARE_SOA_TABLE(RingCollisions, "AOD", "RINGCOLLISIONS",
lambdajetpol::CollisionId,
lambdajetpol::CentFT0M,
lambdajetpol::CentFT0C,
lambdajetpol::CentFV0A);

} // namespace o2::aod

#endif // PWGLF_DATAMODEL_LAMBDAJETPOL_H_
5 changes: 5 additions & 0 deletions PWGLF/TableProducer/Strangeness/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ o2physics_add_dpl_workflow(lambdajetpolarizationbuilder
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(lambdajetpolarizationions
SOURCES lambdaJetPolarizationIons.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGJECore FastJet::FastJet O2Physics::AnalysisCCDB
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(stracents
SOURCES stracents.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore
Expand Down
Loading
Loading