Skip to content

Commit 07f69d5

Browse files
author
Francesco Mazzaschi
committed
Add Xi resonance mass
1 parent ce93863 commit 07f69d5

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

PWGLF/DataModel/LFLambda1405Table.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ DECLARE_SOA_COLUMN(Px, px, float); //! Px of the candi
3333
DECLARE_SOA_COLUMN(Py, py, float); //! Py of the candidate
3434
DECLARE_SOA_COLUMN(Pz, pz, float); //! Pz of the candidate
3535
DECLARE_SOA_COLUMN(Mass, mass, float); //! Invariant mass of the candidate
36+
DECLARE_SOA_COLUMN(MassXi1530, massXi1530, float); //! Invariant mass of the Xi(1530) candidate
3637
DECLARE_SOA_COLUMN(SigmaMinusMass, sigmaMinusMass, float); //! Invariant mass of the Sigma- candidate
3738
DECLARE_SOA_COLUMN(SigmaPlusMass, sigmaPlusMass, float); //! Invariant mass of the Sigma+ candidate
39+
DECLARE_SOA_COLUMN(XiMinusMass, xiMinusMass, float); //! Invariant mass of the Xi- candidate
3840
DECLARE_SOA_COLUMN(PtSigma, ptSigma, float); //! Signed pT of the Sigma daughter
3941
DECLARE_SOA_COLUMN(AlphaAPSigma, alphaAPSigma, float); //! Alpha of the Sigma
4042
DECLARE_SOA_COLUMN(QtAPSigma, qtAPSigma, float); //! qT of the Sigma
@@ -58,7 +60,8 @@ DECLARE_SOA_COLUMN(KinkDauPdgCode, kinkDauPdgCode, int); //! PDG code of the kin
5860
DECLARE_SOA_TABLE(Lambda1405Cands, "AOD", "LAMBDA1405",
5961
o2::soa::Index<>,
6062
lambda1405::Px, lambda1405::Py, lambda1405::Pz,
61-
lambda1405::Mass, lambda1405::SigmaMinusMass, lambda1405::SigmaPlusMass,
63+
lambda1405::Mass, lambda1405::MassXi1530,
64+
lambda1405::SigmaMinusMass, lambda1405::SigmaPlusMass, lambda1405::XiMinusMass,
6265
lambda1405::PtSigma, lambda1405::AlphaAPSigma, lambda1405::QtAPSigma, lambda1405::RadiusSigma,
6366
lambda1405::NSigmaTPCPiKink, lambda1405::NSigmaTOFPiKink,
6467
lambda1405::NSigmaTPCPrKink, lambda1405::NSigmaTOFPrKink,
@@ -68,7 +71,8 @@ DECLARE_SOA_TABLE(Lambda1405Cands, "AOD", "LAMBDA1405",
6871
DECLARE_SOA_TABLE(Lambda1405CandsMC, "AOD", "MCLAMBDA1405",
6972
o2::soa::Index<>,
7073
lambda1405::Px, lambda1405::Py, lambda1405::Pz,
71-
lambda1405::Mass, lambda1405::SigmaMinusMass, lambda1405::SigmaPlusMass,
74+
lambda1405::Mass, lambda1405::MassXi1530,
75+
lambda1405::SigmaMinusMass, lambda1405::SigmaPlusMass, lambda1405::XiMinusMass,
7276
lambda1405::PtSigma, lambda1405::AlphaAPSigma, lambda1405::QtAPSigma, lambda1405::RadiusSigma,
7377
lambda1405::NSigmaTPCPiKink, lambda1405::NSigmaTOFPiKink,
7478
lambda1405::NSigmaTPCPrKink, lambda1405::NSigmaTOFPrKink,

PWGLF/Tasks/Resonances/lambda1405analysis.cxx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ using CollisionsFullMC = soa::Join<aod::Collisions, aod::McCollisionLabels, aod:
3535
struct lambda1405candidate {
3636
// Columns for Lambda(1405) candidate
3737
float mass = -1; // Invariant mass of the Lambda(1405) candidate
38+
float massXi1530 = -1; // Invariant mass of the Xi(1530) candidate
3839
float px = -1; // Px of the Lambda(1405) candidate
3940
float py = -1; // Py of the Lambda(1405) candidate
4041
float pz = -1; // Pz of the Lambda(1405) candidate
@@ -44,6 +45,7 @@ struct lambda1405candidate {
4445
bool isSigmaMinus = false; // True if compatible with Sigma-
4546
float sigmaMinusMass = -1; // Invariant mass of the Sigma- candidate
4647
float sigmaPlusMass = -1; // Invariant mass of the Sigma+ candidate
48+
float xiMinusMass = -1; // Invariant mass of the Xi- candidate
4749
int sigmaSign = 0; // Sign of the Sigma candidate: 1 for matter, -1 for antimatter
4850
float sigmaPt = -1; // pT of the Sigma daughter
4951
float sigmaAlphaAP = -1; // Alpha of the Sigma
@@ -241,7 +243,8 @@ struct lambda1405analysis {
241243
auto sigmaMom = std::array{sigmaCand.pxMoth(), sigmaCand.pyMoth(), sigmaCand.pzMoth()};
242244
auto piMom = std::array{piTrack.px(), piTrack.py(), piTrack.pz()};
243245
double massSigma = lambda1405Cand.isSigmaMinus ? sigmaCand.mSigmaMinus() : sigmaCand.mSigmaPlus();
244-
float invMass = RecoDecay::m(std::array{sigmaMom, piMom}, std::array{massSigma, o2::constants::physics::MassPiPlus});
246+
float invMass = RecoDecay::m(std::array{sigmaMom, piMom}, std::array{o2::constants::physics::MassSigmaMinus, o2::constants::physics::MassPiPlus});
247+
float invMassXiPi = RecoDecay::m(std::array{sigmaMom, kinkDauMom}, std::array{o2::constants::physics::MassXiMinus, o2::constants::physics::MassPiPlus});
245248
if (invMass > cutUpperMass) {
246249
continue;
247250
}
@@ -254,9 +257,11 @@ struct lambda1405analysis {
254257
lambda1405Cand.py = sigmaMom[1] + piMom[1];
255258
lambda1405Cand.pz = sigmaMom[2] + piMom[2];
256259
lambda1405Cand.mass = invMass;
260+
lambda1405Cand.massXi1530 = invMassXiPi;
257261

258262
lambda1405Cand.sigmaMinusMass = sigmaCand.mSigmaMinus();
259263
lambda1405Cand.sigmaPlusMass = sigmaCand.mSigmaPlus();
264+
lambda1405Cand.xiMinusMass = sigmaCand.mXiMinus();
260265
lambda1405Cand.sigmaSign = sigmaCand.mothSign();
261266
lambda1405Cand.sigmaAlphaAP = alphaAP(sigmaMom, kinkDauMom);
262267
lambda1405Cand.sigmaQtAP = qtAP(sigmaMom, kinkDauMom);
@@ -322,7 +327,8 @@ struct lambda1405analysis {
322327
}
323328
if (fillOutputTree) {
324329
outputDataTable(lambda1405Cand.px, lambda1405Cand.py, lambda1405Cand.pz,
325-
lambda1405Cand.mass, lambda1405Cand.sigmaMinusMass, lambda1405Cand.sigmaPlusMass,
330+
lambda1405Cand.mass, lambda1405Cand.massXi1530,
331+
lambda1405Cand.sigmaMinusMass, lambda1405Cand.sigmaPlusMass, lambda1405Cand.xiMinusMass,
326332
lambda1405Cand.sigmaPt, lambda1405Cand.sigmaAlphaAP, lambda1405Cand.sigmaQtAP, lambda1405Cand.sigmaRadius,
327333
lambda1405Cand.kinkTPCNSigmaPi, lambda1405Cand.kinkTOFNSigmaPi,
328334
lambda1405Cand.kinkTPCNSigmaPr, lambda1405Cand.kinkTOFNSigmaPr,
@@ -406,7 +412,8 @@ struct lambda1405analysis {
406412

407413
if (fillOutputTree) {
408414
outputDataTableMC(lambda1405Cand.px, lambda1405Cand.py, lambda1405Cand.pz,
409-
lambda1405Cand.mass, lambda1405Cand.sigmaMinusMass, lambda1405Cand.sigmaPlusMass,
415+
lambda1405Cand.mass, lambda1405Cand.massXi1530,
416+
lambda1405Cand.sigmaMinusMass, lambda1405Cand.sigmaPlusMass, lambda1405Cand.xiMinusMass,
410417
lambda1405Cand.sigmaPt, lambda1405Cand.sigmaAlphaAP, lambda1405Cand.sigmaQtAP, lambda1405Cand.sigmaRadius,
411418
lambda1405Cand.kinkTPCNSigmaPi, lambda1405Cand.kinkTOFNSigmaPi,
412419
lambda1405Cand.kinkTPCNSigmaPr, lambda1405Cand.kinkTOFNSigmaPr,
@@ -417,6 +424,7 @@ struct lambda1405analysis {
417424
}
418425
}
419426
}
427+
420428
// Loop over generated particles to fill MC histograms
421429
for (const auto& mcPart : particlesMC) {
422430
if (std::abs(mcPart.pdgCode()) != lambda1405PdgCode) {
@@ -426,6 +434,7 @@ struct lambda1405analysis {
426434
if (!mcPart.has_daughters()) {
427435
continue; // Skip if no daughters
428436
}
437+
429438
// Check if the Lambda(1405) has a Sigma daughter
430439
bool hasSigmaDaughter = false;
431440
int dauPdgCode = 0;

0 commit comments

Comments
 (0)