Skip to content

Commit 16b9d78

Browse files
committed
"Added the LambdaStar configurables"
1 parent 280b391 commit 16b9d78

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

PWGLF/DataModel/LFSigmaTables.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sigma0Y, sigma0Y,
8484
return RecoDecay::y(std::array{photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz}, o2::constants::physics::MassSigma0);
8585
});
8686

87+
DECLARE_SOA_DYNAMIC_COLUMN(LambdaStarY, lambdaStarY,
88+
[](float photonPx, float photonPy, float photonPz, float lambdaPx, float lambdaPy, float lambdaPz) -> float {
89+
return RecoDecay::y(std::array{photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz}, o2::constants::physics::MassLambda1520);
90+
});
91+
8792
DECLARE_SOA_DYNAMIC_COLUMN(Phi, phi, //! Phi in the range [0, 2pi)
8893
[](float photonPx, float photonPy, float lambdaPx, float lambdaPy) -> float { return RecoDecay::phi(photonPx + lambdaPx, photonPy + lambdaPy); });
8994

@@ -169,6 +174,7 @@ DECLARE_SOA_TABLE(Sigma0Cores, "AOD", "SIGMA0CORES",
169174
sigma0Core::P<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
170175
sigma0Core::Sigma0Mass<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
171176
sigma0Core::Sigma0Y<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
177+
sigma0Core::LambdaStarY<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
172178
sigma0Core::Phi<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::LambdaPx, sigma0Core::LambdaPy>,
173179
sigma0Core::Eta<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
174180
sigma0Core::Radius<sigma0Core::X, sigma0Core::Y>,

PWGLF/TableProducer/Strangeness/sigma0builder.cxx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ struct sigma0builder {
121121
// Histogram registry
122122
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
123123

124+
// Species selection
125+
Configurable<bool> doLambdaStar{"doLambdaStar", false, "Build Lambda(1520) instead of Sigma0"};
126+
124127
Configurable<bool> fFillV03DPositionHistos{"fFillV03DPositionHistos", false, "Fill XYZ histo for Photons and Lambdas."};
125128
Configurable<bool> fFillNoSelV0Histos{"fFillNoSelV0Histos", false, "Fill QA histos for input V0s."};
126129
Configurable<bool> fFillSelPhotonHistos{"fFillSelPhotonHistos", true, "Fill QA histos for sel photons."};
@@ -2293,14 +2296,15 @@ struct sigma0builder {
22932296
auto arrMom = std::array{pVecPhotons, pVecLambda};
22942297
float sigmaMass = RecoDecay::m(arrMom, std::array{o2::constants::physics::MassPhoton, o2::constants::physics::MassLambda0});
22952298
float sigmaY = -999.f;
2299+
float TheoreticalMass = doLambdaStar ? o2::constants::physics::MassLambda1520 : o2::constants::physics::MassSigma0;
22962300

22972301
if constexpr (requires { gamma.pxMC(); lambda.pxMC(); }) // If MC
2298-
sigmaY = RecoDecay::y(std::array{gamma.pxMC() + lambda.pxMC(), gamma.pyMC() + lambda.pyMC(), gamma.pzMC() + lambda.pzMC()}, o2::constants::physics::MassSigma0);
2302+
sigmaY = RecoDecay::y(std::array{gamma.pxMC() + lambda.pxMC(), gamma.pyMC() + lambda.pyMC(), gamma.pzMC() + lambda.pzMC()}, TheoreticalMass);
22992303
else // If DATA
2300-
sigmaY = RecoDecay::y(std::array{gamma.px() + lambda.px(), gamma.py() + lambda.py(), gamma.pz() + lambda.pz()}, o2::constants::physics::MassSigma0);
2304+
sigmaY = RecoDecay::y(std::array{gamma.px() + lambda.px(), gamma.py() + lambda.py(), gamma.pz() + lambda.pz()}, TheoreticalMass);
23012305

23022306
histos.fill(HIST("SigmaSel/hSelectionStatistics"), 1.);
2303-
if (TMath::Abs(sigmaMass - o2::constants::physics::MassSigma0) > Sigma0Window)
2307+
if (TMath::Abs(sigmaMass - TheoreticalMass) > Sigma0Window)
23042308
return false;
23052309

23062310
histos.fill(HIST("SigmaSel/hSelectionStatistics"), 2.);
@@ -2415,14 +2419,15 @@ struct sigma0builder {
24152419

24162420
auto arrMom = std::array{pVecPhotons, pVecLambda};
24172421
float sigmaMass = RecoDecay::m(arrMom, std::array{o2::constants::physics::MassPhoton, o2::constants::physics::MassLambda0});
2422+
float TheoreticalMass = doLambdaStar ? o2::constants::physics::MassLambda1520 : o2::constants::physics::MassSigma0;
24182423

24192424
// N.B. At this stage, we are only using the reconstructed rapidity (ideally with a very loose cut)
24202425
// A proper selection should be done in the sigmaanalysis
2421-
float sigmaY = RecoDecay::y(std::array{gammapx + lambda.px(), gammapy + lambda.py(), gammapz + lambda.pz()}, o2::constants::physics::MassSigma0);
2426+
float sigmaY = RecoDecay::y(std::array{gammapx + lambda.px(), gammapy + lambda.py(), gammapz + lambda.pz()}, TheoreticalMass);
24222427

24232428
histos.fill(HIST("SigmaSel/hSelectionStatistics"), 1.);
24242429
histos.fill(HIST("SigmaSel/hSigmaMassBeforeSel"), sigmaMass);
2425-
if (TMath::Abs(sigmaMass - o2::constants::physics::MassSigma0) > Sigma0Window)
2430+
if (TMath::Abs(sigmaMass - TheoreticalMass) > Sigma0Window)
24262431
return false;
24272432

24282433
histos.fill(HIST("SigmaSel/hSelectionStatistics"), 2.);

PWGLF/Tasks/Strangeness/sigmaanalysis.cxx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ struct sigmaanalysis {
8989
//__________________________________________________
9090
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
9191

92+
// Species
93+
Configurable<bool> doLambdaStar{"doLambdaStar", false, "Build Lambda(1520) instead of Sigma0"};
94+
9295
// Event level
9396
Configurable<bool> doPPAnalysis{"doPPAnalysis", true, "if in pp, set to true"};
9497
Configurable<int> centralityEstimator{"centralityEstimator", kCentFT0C, "Run 3 centrality estimator (0:CentFT0C, 1:CentFT0M, 2:CentFT0CVariant1, 3:CentMFT, 4:CentNGlobal, 5:CentFV0A)"};
@@ -1616,13 +1619,13 @@ struct sigmaanalysis {
16161619
return false;
16171620

16181621
// Sigma0 specific selections
1619-
float sigma0Y = cand.sigma0Y();
1622+
float rapidity = doLambdaStar ? cand.lambdaStarY() : cand.sigma0Y();
16201623
if constexpr (requires { cand.sigma0MCY(); }) { // If MC
1621-
sigma0Y = cand.sigma0MCY();
1624+
rapidity = cand.sigma0MCY();
16221625
}
16231626

16241627
// Rapidity
1625-
if ((sigma0Y < sigma0Selections.Sigma0MinRapidity) || (sigma0Y > sigma0Selections.Sigma0MaxRapidity))
1628+
if ((rapidity < sigma0Selections.Sigma0MinRapidity) || (rapidity > sigma0Selections.Sigma0MaxRapidity))
16261629
return false;
16271630

16281631
// V0Pair Radius

0 commit comments

Comments
 (0)