ATLAS Offline Software
Loading...
Searching...
No Matches
columnar::TrackHelpers::TrackMomentumAccessors< CI, CM > Class Template Referencefinal

this gets the four momentum of a track, given the mass (and assuming a charge of +/- 1) More...

#include <TrackHelpers.h>

Collaboration diagram for columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >:

Public Types

using GenVecFourMom_t = xAOD::TrackParticle::GenVecFourMom_t

Public Member Functions

 TrackMomentumAccessors (ColumnarTool< CM > &columnarTool)
GenVecFourMom_t genvecP4 (ObjectId< CI, CM > trk, double m) const
double pt (ObjectId< CI, CM > object, double m) const
double eta (ObjectId< CI, CM > object, double m) const
double phi (ObjectId< CI, CM > object, double m) const

Private Attributes

ColumnAccessor< CI, float, CM > m_qOverPAcc
ColumnAccessor< CI, float, CM > m_thetaAcc
ColumnAccessor< CI, RetypeColumn< double, float >, CM > m_phiAcc

Detailed Description

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
class columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >

this gets the four momentum of a track, given the mass (and assuming a charge of +/- 1)

Ideally this should probably be integrated with MomentumAccessors, except for the two following issues:

  • MomentumAccessors doesn't allow to pass in a mass, which is needed for supporting different particle hypotheses
  • MomentumAccessors doesn't support "variant" container IDs, which muons require for their tracks.

If these issues get resolved, this class could be merge into that class, or otherwise it could potentially be set up as some parallel mechanism.

Definition at line 63 of file TrackHelpers.h.

Member Typedef Documentation

◆ GenVecFourMom_t

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
using columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::GenVecFourMom_t = xAOD::TrackParticle::GenVecFourMom_t

Definition at line 77 of file TrackHelpers.h.

Constructor & Destructor Documentation

◆ TrackMomentumAccessors()

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::TrackMomentumAccessors ( ColumnarTool< CM > & columnarTool)
inline

Definition at line 71 of file TrackHelpers.h.

72 : m_qOverPAcc (columnarTool, "qOverP"),
73 m_thetaAcc (columnarTool, "theta"),
74 m_phiAcc (columnarTool, "phi")
75 {}
this gets the four momentum of a track, given the mass (and assuming a charge of +/- 1)
ColumnAccessor< CI, float, CM > m_qOverPAcc
ColumnAccessor< CI, RetypeColumn< double, float >, CM > m_phiAcc
ColumnAccessor< CI, float, CM > m_thetaAcc

Member Function Documentation

◆ eta()

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
double columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::eta ( ObjectId< CI, CM > object,
double m ) const
inlinenodiscard

Definition at line 84 of file TrackHelpers.h.

84 {
85 return genvecP4 (object, m).eta(); }
GenVecFourMom_t genvecP4(ObjectId< CI, CM > trk, double m) const

◆ genvecP4()

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
GenVecFourMom_t columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::genvecP4 ( ObjectId< CI, CM > trk,
double m ) const
inlinenodiscard

Definition at line 78 of file TrackHelpers.h.

78 {
80 }
GenVecFourMom_t genvecP4(float qOverP, float thetaT, float phiT, double m)

◆ phi()

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
double columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::phi ( ObjectId< CI, CM > object,
double m ) const
inlinenodiscard

Definition at line 86 of file TrackHelpers.h.

86 {
87 return genvecP4 (object, m).phi(); }

◆ pt()

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
double columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::pt ( ObjectId< CI, CM > object,
double m ) const
inlinenodiscard

Definition at line 82 of file TrackHelpers.h.

82 {
83 return genvecP4 (object, m).pt(); }

Member Data Documentation

◆ m_phiAcc

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,RetypeColumn<double,float>,CM> columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::m_phiAcc
private

Definition at line 67 of file TrackHelpers.h.

◆ m_qOverPAcc

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,float,CM> columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::m_qOverPAcc
private

Definition at line 65 of file TrackHelpers.h.

◆ m_thetaAcc

template<ContainerIdConcept CI = ContainerId::track, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,float,CM> columnar::TrackHelpers::TrackMomentumAccessors< CI, CM >::m_thetaAcc
private

Definition at line 66 of file TrackHelpers.h.


The documentation for this class was generated from the following file: