@@ -637,6 +637,8 @@ DECLARE_SOA_DYNAMIC_COLUMN(DecayVtx, decayVtx, //! distance of d
637637 [](float vtxX, float vtxY, float vtxZ) -> float {
638638 return std::hypot (vtxX, vtxY, vtxZ);
639639 });
640+ DECLARE_SOA_COLUMN (Alpha, alpha, float ); // ! Armenteros-Podolanski alpha
641+ DECLARE_SOA_COLUMN (QtArm, qtArm, float ); // ! Armenteros-Podolanski qt
640642
641643// id columns for Lambda daughter tracks
642644DECLARE_SOA_INDEX_COLUMN_FULL (PosDau, posDau, int32_t , FTracks, " _PosDau" ); // ! index column for positive daughter track
@@ -740,6 +742,8 @@ DECLARE_SOA_TABLE_STAGED_VERSIONED(FLambdaExtras_001, "FLAMBDAEXTRA", 1, //! lam
740742 femtov0s::DecayVtxX,
741743 femtov0s::DecayVtxY,
742744 femtov0s::DecayVtxZ,
745+ femtov0s::Alpha,
746+ femtov0s::QtArm,
743747 femtov0s::DecayVtx<femtov0s::DecayVtxX, femtov0s::DecayVtxY, femtov0s::DecayVtxZ>,
744748 femtov0s::Pa<femtov0s::CosPa>);
745749
@@ -800,11 +804,101 @@ DECLARE_SOA_TABLE_STAGED_VERSIONED(FK0shortExtras_001, "FK0SHORTEXTRA", 1, //! k
800804 femtov0s::DecayVtxX,
801805 femtov0s::DecayVtxY,
802806 femtov0s::DecayVtxZ,
807+ femtov0s::Alpha,
808+ femtov0s::QtArm,
803809 femtov0s::DecayVtx<femtov0s::DecayVtxX, femtov0s::DecayVtxY, femtov0s::DecayVtxZ>,
804810 femtov0s::Pa<femtov0s::CosPa>);
805811
806812using FK0shortExtras = FK0shortExtras_001;
807813
814+ namespace femtophotons
815+ {
816+ // columns for bit masks
817+ DECLARE_SOA_COLUMN (Mask, mask, o2::analysis::femto::datatypes::PhotonMaskType); // ! Bitmask for photon (PCM) selections
818+
819+ // columns for debug information
820+ DECLARE_SOA_COLUMN (CosPa, cosPa, float ); // ! Cosine of pointing angle of the V0 (conversion) to the primary vertex
821+ DECLARE_SOA_DYNAMIC_COLUMN (Pa, pa, // ! pointing angle
822+ [](float cosPa) -> float {
823+ return std::acos (cosPa);
824+ });
825+ DECLARE_SOA_COLUMN (DcaToPvXY, dcaToPvXY, float ); // ! DCAxy of the photon (V0) to the primary vertex
826+ DECLARE_SOA_COLUMN (DcaToPvZ, dcaToPvZ, float ); // ! DCAz of the photon (V0) to the primary vertex
827+ DECLARE_SOA_COLUMN (Chi2Ndf, chi2Ndf, float ); // ! Chi2 / NDF of the reconstructed conversion vertex (KF)
828+ DECLARE_SOA_COLUMN (V0Radius, v0Radius, float ); // ! Transverse radius of the conversion point
829+ DECLARE_SOA_COLUMN (PosDauTpcNSigmaEl, posDauTpcNSigmaEl, float ); // ! TPC electron nSigma of the positive daughter
830+ DECLARE_SOA_COLUMN (NegDauTpcNSigmaEl, negDauTpcNSigmaEl, float ); // ! TPC electron nSigma of the negative daughter
831+ DECLARE_SOA_COLUMN (PosDauPt, posDauPt, float ); // ! pT of the positive daughter (at the conversion point)
832+ DECLARE_SOA_COLUMN (NegDauPt, negDauPt, float ); // ! pT of the negative daughter (at the conversion point)
833+ DECLARE_SOA_COLUMN (PosDauTpcInnerParam, posDauTpcInnerParam, float ); // ! momentum of the positive daughter at the inner wall of the TPC
834+ DECLARE_SOA_COLUMN (NegDauTpcInnerParam, negDauTpcInnerParam, float ); // ! momentum of the negative daughter at the inner wall of the TPC
835+ DECLARE_SOA_COLUMN (PosDauTpcSignal, posDauTpcSignal, float ); // ! TPC dE/dx of the positive daughter
836+ DECLARE_SOA_COLUMN (NegDauTpcSignal, negDauTpcSignal, float ); // ! TPC dE/dx of the negative daughter
837+ DECLARE_SOA_COLUMN (DecayVtxX, decayVtxX, float ); // ! x coordinate of conversion point
838+ DECLARE_SOA_COLUMN (DecayVtxY, decayVtxY, float ); // ! y coordinate of conversion point
839+ DECLARE_SOA_COLUMN (DecayVtxZ, decayVtxZ, float ); // ! z coordinate of conversion point
840+ DECLARE_SOA_DYNAMIC_COLUMN (DecayVtx, decayVtx, // ! distance of conversion point from nominal interaction point
841+ [](float vtxX, float vtxY, float vtxZ) -> float {
842+ return std::hypot (vtxX, vtxY, vtxZ);
843+ });
844+ } // namespace femtophotons
845+
846+ // table for basic PCM photon information (mass is fixed to 0 by construction, not stored)
847+ DECLARE_SOA_TABLE_STAGED_VERSIONED (FPhotons_001, " FPHOTON" , 1 , // ! femto PCM photons
848+ o2::soa::Index<>,
849+ femtobase::stored::FColId,
850+ femtobase::stored::Pt,
851+ femtobase::stored::Eta,
852+ femtobase::stored::Phi,
853+ femtobase::dynamic::P<femtobase::stored::Pt, femtobase::stored::Eta>,
854+ femtobase::dynamic::Px<femtobase::stored::Pt, femtobase::stored::Phi>,
855+ femtobase::dynamic::Py<femtobase::stored::Pt, femtobase::stored::Phi>,
856+ femtobase::dynamic::Pz<femtobase::stored::Pt, femtobase::stored::Eta>,
857+ femtobase::dynamic::Theta<femtobase::stored::Eta>);
858+ using FPhotons = FPhotons_001;
859+ using StoredFPhotons = StoredFPhotons_001;
860+
861+ // table for basic PCM photon information with compressed/binned kinematics
862+ DECLARE_SOA_TABLE_STAGED_VERSIONED (FLitePhotons_001, " FLITEPHOTON" , 1 ,
863+ o2::soa::Index<>,
864+ femtobase::stored::FLiteColId,
865+ femtobase::lite::UnsignedBinnedPt,
866+ femtobase::lite::BinnedEta,
867+ femtobase::lite::BinnedPhi,
868+ femtobase::lite::unsignedpt::Pt<femtobase::lite::UnsignedBinnedPt>,
869+ femtobase::lite::Eta<femtobase::lite::BinnedEta>,
870+ femtobase::lite::Phi<femtobase::lite::BinnedPhi>);
871+ using FLitePhotons = FLitePhotons_001;
872+ using FLitePhoton = FLitePhotons::iterator;
873+ using StoredFLitePhotons = StoredFLitePhotons_001;
874+
875+ DECLARE_SOA_TABLE_STAGED_VERSIONED (FPhotonMasks_001, " FPHOTONMASK" , 1 , // ! photon (PCM) masks
876+ femtophotons::Mask);
877+ using FPhotonMasks = FPhotonMasks_001;
878+ using StoredFPhotonMasks = StoredFPhotonMasks_001;
879+
880+ DECLARE_SOA_TABLE_STAGED_VERSIONED (FPhotonExtras_001, " FPHOTONEXTRA" , 1 , // ! photon (PCM) extra information
881+ femtophotons::CosPa,
882+ femtophotons::DcaToPvXY,
883+ femtophotons::DcaToPvZ,
884+ femtophotons::Chi2Ndf,
885+ femtophotons::V0Radius,
886+ femtophotons::PosDauPt,
887+ femtophotons::NegDauPt,
888+ femtophotons::PosDauTpcInnerParam,
889+ femtophotons::NegDauTpcInnerParam,
890+ femtophotons::PosDauTpcSignal,
891+ femtophotons::NegDauTpcSignal,
892+ femtophotons::PosDauTpcNSigmaEl,
893+ femtophotons::NegDauTpcNSigmaEl,
894+ femtophotons::DecayVtxX,
895+ femtophotons::DecayVtxY,
896+ femtophotons::DecayVtxZ,
897+ femtophotons::DecayVtx<femtophotons::DecayVtxX, femtophotons::DecayVtxY, femtophotons::DecayVtxZ>,
898+ femtophotons::Pa<femtophotons::CosPa>);
899+ using FPhotonExtras = FPhotonExtras_001;
900+ using StoredFPhotonExtras = StoredFPhotonExtras_001;
901+
808902namespace femtokinks
809903{
810904// columns for bit masks
0 commit comments