@@ -107,6 +107,22 @@ DECLARE_SOA_DYNAMIC_COLUMN(OPAngle, opAngle,
107107 return v1.Angle (v2);
108108 });
109109
110+ // Armenteros-Podolanski variables (photon = positive daughter, lambda = negative daughter)
111+ DECLARE_SOA_DYNAMIC_COLUMN (LStarAlpha, lStarAlpha, // ! Armenteros Alpha
112+ [](float photonPx, float photonPy, float photonPz, float lambdaPx, float lambdaPy, float lambdaPz) -> float {
113+ float momTot = RecoDecay::p (photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz);
114+ float lQlNeg = RecoDecay::dotProd (std::array{lambdaPx, lambdaPy, lambdaPz}, std::array{photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz}) / momTot;
115+ float lQlPos = RecoDecay::dotProd (std::array{photonPx, photonPy, photonPz}, std::array{photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz}) / momTot;
116+ return (lQlPos - lQlNeg) / (lQlPos + lQlNeg);
117+ });
118+
119+ DECLARE_SOA_DYNAMIC_COLUMN (LStarQtArm, lStarQtarm, // ! Armenteros Qt
120+ [](float photonPx, float photonPy, float photonPz, float lambdaPx, float lambdaPy, float lambdaPz) -> float {
121+ float momTot = RecoDecay::p2 (photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz);
122+ float dp = RecoDecay::dotProd (std::array{lambdaPx, lambdaPy, lambdaPz}, std::array{photonPx + lambdaPx, photonPy + lambdaPy, photonPz + lambdaPz});
123+ return std::sqrt (RecoDecay::p2 (lambdaPx, lambdaPy, lambdaPz) - dp * dp / momTot); // qtarm
124+ });
125+
110126// Photon
111127DECLARE_SOA_DYNAMIC_COLUMN (PhotonPt, photonPt, // ! Transverse momentum in GeV/c
112128 [](float photonPx, float photonPy) -> float {
@@ -163,6 +179,8 @@ DECLARE_SOA_TABLE(Sigma0Cores, "AOD", "SIGMA0CORES",
163179
164180 // Basic properties
165181 sigma0Core::X, sigma0Core::Y, sigma0Core::Z, sigma0Core::DCADaughters,
182+ sigma0Core::LStarAlpha<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
183+ sigma0Core::LStarQtArm<sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz>,
166184 sigma0Core::PhotonPx, sigma0Core::PhotonPy, sigma0Core::PhotonPz, sigma0Core::PhotonMass,
167185 sigma0Core::LambdaPx, sigma0Core::LambdaPy, sigma0Core::LambdaPz, sigma0Core::LambdaMass, sigma0Core::AntiLambdaMass,
168186
@@ -656,6 +674,12 @@ DECLARE_SOA_DYNAMIC_COLUMN(IsSigma0, isSigma0,
656674DECLARE_SOA_DYNAMIC_COLUMN (IsAntiSigma0, isAntiSigma0, // ! IsASigma0
657675 [](int pdgCode) -> bool { return pdgCode == PDG_t::kSigma0Bar ; }); // -3212
658676
677+ DECLARE_SOA_DYNAMIC_COLUMN (IsLambdaStar, isLambdaStar, // ! IsLambdaStar
678+ [](int pdgCode) -> bool { return pdgCode == 3124 ; }); // PYTHIA8 code for Lambda(1520)
679+
680+ DECLARE_SOA_DYNAMIC_COLUMN (IsAntiLambdaStar, isAntiLambdaStar, // ! IsAntiLambdaStar
681+ [](int pdgCode) -> bool { return pdgCode == -3124 ; }); // PYTHIA8 code for AntiLambda(1520)
682+
659683DECLARE_SOA_DYNAMIC_COLUMN (MCPx, mcpx, // ! Sigma0 px
660684 [](float photonMCPx, float lambdaMCPx) -> float { return photonMCPx + lambdaMCPx; });
661685DECLARE_SOA_DYNAMIC_COLUMN (MCPy, mcpy, // ! Sigma0 py
@@ -686,6 +710,11 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sigma0MCY, sigma0MCY,
686710 return RecoDecay::y (std::array{photonMCPx + lambdaMCPx, photonMCPy + lambdaMCPy, photonMCPz + lambdaMCPz}, o2::constants::physics::MassSigma0);
687711 });
688712
713+ DECLARE_SOA_DYNAMIC_COLUMN (LambdaStarMCY, lambdaStarMCY,
714+ [](float photonMCPx, float photonMCPy, float photonMCPz, float lambdaMCPx, float lambdaMCPy, float lambdaMCPz) -> float {
715+ return RecoDecay::y (std::array{photonMCPx + lambdaMCPx, photonMCPy + lambdaMCPy, photonMCPz + lambdaMCPz}, o2::constants::physics::MassLambda1520);
716+ });
717+
689718DECLARE_SOA_DYNAMIC_COLUMN (MCPhi, mcphi, // ! Phi in the range [0, 2pi)
690719 [](float photonMCPx, float photonMCPy, float lambdaMCPx, float lambdaMCPy) -> float { return RecoDecay::phi (photonMCPx + lambdaMCPx, photonMCPy + lambdaMCPy); });
691720
@@ -767,6 +796,8 @@ DECLARE_SOA_TABLE(Sigma0MCCores, "AOD", "SIGMA0MCCORES",
767796 // Dynamic columns
768797 sigma0MCCore::IsSigma0<sigma0MCCore::PDGCode>,
769798 sigma0MCCore::IsAntiSigma0<sigma0MCCore::PDGCode>,
799+ sigma0MCCore::IsLambdaStar<sigma0MCCore::PDGCode>,
800+ sigma0MCCore::IsAntiLambdaStar<sigma0MCCore::PDGCode>,
770801
771802 sigma0MCCore::MCPx<sigma0MCCore::PhotonMCPx, sigma0MCCore::LambdaMCPx>,
772803 sigma0MCCore::MCPy<sigma0MCCore::PhotonMCPy, sigma0MCCore::LambdaMCPy>,
@@ -775,6 +806,7 @@ DECLARE_SOA_TABLE(Sigma0MCCores, "AOD", "SIGMA0MCCORES",
775806 sigma0MCCore::MCP <sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
776807 sigma0MCCore::Sigma0MCMass<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
777808 sigma0MCCore::Sigma0MCY<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
809+ sigma0MCCore::LambdaStarMCY<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
778810 sigma0MCCore::MCPhi<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy>,
779811 sigma0MCCore::MCEta<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
780812 sigma0MCCore::MCOPAngle<sigma0MCCore::PhotonMCPx, sigma0MCCore::PhotonMCPy, sigma0MCCore::PhotonMCPz, sigma0MCCore::LambdaMCPx, sigma0MCCore::LambdaMCPy, sigma0MCCore::LambdaMCPz>,
@@ -1557,7 +1589,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(LambdaY, lambdaY, //! Rapidity
15571589DECLARE_SOA_DYNAMIC_COLUMN (LambdaPhi, lambdaPhi, // ! Phi in the range [0, 2pi)
15581590 [](float lambdaPx, float lambdaPy) -> float { return RecoDecay::phi (lambdaPx, lambdaPy); });
15591591
1560- } // namespace Pi0Core
1592+ } // namespace Xi0Core
15611593
15621594DECLARE_SOA_TABLE (Xi0Cores, " AOD" , " XI0CORES" ,
15631595 Xi0Core::X, Xi0Core::Y, Xi0Core::Z,
@@ -1823,7 +1855,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(LambdaMCY, lambdaMCY, //! Rapidity
18231855DECLARE_SOA_DYNAMIC_COLUMN (LambdaMCPhi, lambdaMCPhi, // ! Phi in the range [0, 2pi)
18241856 [](float lambdaMCPx, float lambdaMCPy) -> float { return RecoDecay::phi (lambdaMCPx, lambdaMCPy); });
18251857
1826- } // namespace Xi0CoreMC
1858+ } // namespace Xi0MCCore
18271859
18281860DECLARE_SOA_TABLE (Xi0MCCores, " AOD" , " XI0MCCORES" ,
18291861 // Basic properties
0 commit comments