8#ifndef COLUMNAR_TRACKING_TRACK_HELPERS_H
9#define COLUMNAR_TRACKING_TRACK_HELPERS_H
29 template<ContainerIdConcept CI = ContainerId::track,
typename CM=ColumnarModeDefault>
62 template<ContainerIdConcept CI = ContainerId::track,
typename CM=ColumnarModeDefault>
92 template<ContainerIdConcept CI = ContainerId::track,
typename CM=ColumnarModeDefault>
104 :
m_d0Acc (columnarTool,
"d0"),
112 xAOD::DefiningParameters_t tmp;
120 template<ContainerIdConcept CI = ContainerId::track,
typename CM=ColumnarModeDefault>
136 if( !valid )
throw std::runtime_error(
"DefiningParametersCovAccessor: track covariance matrix not available or improperly formatted");
A number of constexpr particle constants to avoid hardcoding them directly in various places.
Helper functions for TrackingDetails accessors.
a class representing a single object (electron, muons, etc.)
ColumnAccessor< CI, float, CM > m_qOverPAcc
ChargeAccessor(ColumnarTool< CM > &columnarTool)
float operator()(ObjectId< CI, CM > object) const
DefiningParametersAccessor(ColumnarTool< CM > &columnarTool)
ColumnAccessor< CI, float, CM > m_z0Acc
ColumnAccessor< CI, float, CM > m_qOverPAcc
ColumnAccessor< CI, float, CM > m_thetaAcc
xAOD::DefiningParameters_t operator()(ObjectId< CI, CM > trk) const
ColumnAccessor< CI, float, CM > m_d0Acc
ColumnAccessor< CI, float, CM > m_phi0Acc
const xAOD::ParametersCovMatrix_t operator()(ObjectId< CI, CM > trk) const
DefiningParametersCovAccessor(ColumnarTool< CM > &columnarTool)
ColumnAccessor< CI, std::vector< float >, CM > m_accCovMatrixDiag
ColumnAccessor< CI, std::vector< float >, CM > m_accCovMatrixOffDiag
ColumnAccessor< CI, float, CM > m_qOverPAcc
ColumnAccessor< CI, RetypeColumn< double, float >, CM > m_phiAcc
double eta(ObjectId< CI, CM > object, double m) const
double phi(ObjectId< CI, CM > object, double m) const
GenVecFourMom_t genvecP4(ObjectId< CI, CM > trk, double m) const
double pt(ObjectId< CI, CM > object, double m) const
xAOD::TrackParticle::GenVecFourMom_t GenVecFourMom_t
ColumnAccessor< CI, float, CM > m_thetaAcc
TrackMomentumAccessors(ColumnarTool< CM > &columnarTool)
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double > > GenVecFourMom_t
Base 4 Momentum type for TrackParticle.
AccessorTemplate< CI, CT, ColumnAccessMode::input, CM > ColumnAccessor
GenVecFourMom_t genvecP4(float qOverP, float thetaT, float phiT, double m)
xAOD::ParametersCovMatrix_t definingParametersCovMatrix(std::span< const float > covMatrixDiag, std::span< const float > covMatrixOffDiag, bool &valid)
float charge(float qOverP)