ATLAS Offline Software
Loading...
Searching...
No Matches
PESA::T2Track Class Reference

#include <T2Track.h>

Collaboration diagram for PESA::T2Track:

Public Member Functions

 T2Track (const Trk::Track &track)
 T2Track (const T2Track &track)=default
double Pt () const
double Eta () const
double Phi () const
double Z0 () const
double D0 () const
double Z0err () const
double D0err () const
double NDF () const
double Qual () const
double Chi2Prob () const
int SiHits () const
int PIXHits () const
int SCTHits () const
int TRTHits () const

Static Private Member Functions

static double trackChi2Prob (int ndf, double chi2)

Private Attributes

double m_Pt
double m_Eta
double m_Phi
double m_Z0
double m_D0
double m_Z0err
double m_D0err
double m_NDF
double m_Qual
double m_Chi2Prob
int m_SiHits
int m_PIXHits
int m_SCTHits
int m_TRTHits

Detailed Description

Definition at line 32 of file T2Track.h.

Constructor & Destructor Documentation

◆ T2Track() [1/2]

PESA::T2Track::T2Track ( const Trk::Track & track)
inline

Definition at line 37 of file T2Track.h.

38 {
39
40 const Trk::TrackParameters* trackPars = track.perigeeParameters();
41 if (trackPars) {
42 m_D0 = trackPars->parameters()[Trk::d0];
43 m_Z0 = trackPars->parameters()[Trk::z0];
44 if (trackPars->covariance()) {
45 m_D0err = Amg::error(*(trackPars->covariance()),Trk::d0);
46 m_Z0err = Amg::error(*(trackPars->covariance()),Trk::z0);
47 }
48 m_Phi = trackPars->parameters()[Trk::phi0];
49 float theta = trackPars->parameters()[Trk::theta];
50 m_Eta = -log(tan(0.5*theta));
51 float qOverP = trackPars->parameters()[Trk::qOverP];
52 m_Pt = std::abs(std::sin(theta)/qOverP)/Gaudi::Units::GeV;
53
54 const Trk::FitQuality* fq = track.fitQuality();
55 m_Qual = 1e8;
56 if (fq) {
57 if(fq->numberDoF()!=0) {
58 m_Qual = fq->chiSquared()/fq->numberDoF();
59 }
60 }
61 int nPix=0;
62 int nSct=0;
63 if( track.trackSummary() != nullptr){
64 nPix = track.trackSummary()->get(Trk::numberOfPixelHits);
65 nSct = track.trackSummary()->get(Trk::numberOfSCTHits);
66 } else {
67 for(auto tSOS = track.trackStateOnSurfaces()->begin();
68 tSOS!=track.trackStateOnSurfaces()->end(); ++tSOS) {
69 if ((*tSOS)->type(Trk::TrackStateOnSurface::Perigee) == false) {
70 const Trk::FitQualityOnSurface& fq = (*tSOS)->fitQualityOnSurface();
71 if(!fq) continue;
72 int nd = fq.numberDoF();
73 if(nd==2) nPix++;
74 if(nd==1) nSct++;
75 }
76 }
77 }
78 m_PIXHits = nPix;
79 m_SCTHits = nSct/2;
81 m_NDF = (m_PIXHits + m_SCTHits)*2 - 5;
82 m_TRTHits = 0; //for now: FTF tracks have no TRT extension in any case
83 }
84 m_Chi2Prob = -1;
85 const double chi2 = m_Qual * m_NDF;
86 if ( m_NDF > 0 && chi2 > 0. && ! std::isinf( chi2 ) )
87 {
88 m_Chi2Prob = TMath::Prob(chi2,m_NDF);
89 }
90 }
Scalar theta() const
theta method
double m_Pt
Definition T2Track.h:116
double m_Z0
Definition T2Track.h:119
double m_Qual
Definition T2Track.h:124
double m_Eta
Definition T2Track.h:117
double m_Phi
Definition T2Track.h:118
double m_D0
Definition T2Track.h:120
double m_Chi2Prob
Definition T2Track.h:125
double m_D0err
Definition T2Track.h:122
double m_Z0err
Definition T2Track.h:121
double m_NDF
Definition T2Track.h:123
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60
double chiSquared() const
returns the of the overall track fit
Definition FitQuality.h:56
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
double chi2(TH1 *h0, TH1 *h1)
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
@ qOverP
perigee
@ phi0
Definition ParamDefs.h:65
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64
ParametersBase< TrackParametersDim, Charged > TrackParameters
@ numberOfPixelHits
number of pixel layers on track with absence of hits

◆ T2Track() [2/2]

PESA::T2Track::T2Track ( const T2Track & track)
default

Member Function Documentation

◆ Chi2Prob()

double PESA::T2Track::Chi2Prob ( ) const
inline

Definition at line 105 of file T2Track.h.

105{ return m_Chi2Prob; }

◆ D0()

double PESA::T2Track::D0 ( ) const
inline

Definition at line 100 of file T2Track.h.

100{ return m_D0 ; }

◆ D0err()

double PESA::T2Track::D0err ( ) const
inline

Definition at line 102 of file T2Track.h.

102{ return m_D0err ; }

◆ Eta()

double PESA::T2Track::Eta ( ) const
inline

Definition at line 97 of file T2Track.h.

97{ return m_Eta ; }

◆ NDF()

double PESA::T2Track::NDF ( ) const
inline

Definition at line 103 of file T2Track.h.

103{ return m_NDF ; }

◆ Phi()

double PESA::T2Track::Phi ( ) const
inline

Definition at line 98 of file T2Track.h.

98{ return m_Phi ; }

◆ PIXHits()

int PESA::T2Track::PIXHits ( ) const
inline

Definition at line 107 of file T2Track.h.

107{ return m_PIXHits ; }

◆ Pt()

double PESA::T2Track::Pt ( ) const
inline

Definition at line 96 of file T2Track.h.

96{ return m_Pt ; }

◆ Qual()

double PESA::T2Track::Qual ( ) const
inline

Definition at line 104 of file T2Track.h.

104{ return m_Qual ; }

◆ SCTHits()

int PESA::T2Track::SCTHits ( ) const
inline

Definition at line 108 of file T2Track.h.

108{ return m_SCTHits ; }

◆ SiHits()

int PESA::T2Track::SiHits ( ) const
inline

Definition at line 106 of file T2Track.h.

106{ return m_SiHits ; }

◆ trackChi2Prob()

double PESA::T2Track::trackChi2Prob ( int ndf,
double chi2 )
staticprivate

◆ TRTHits()

int PESA::T2Track::TRTHits ( ) const
inline

Definition at line 109 of file T2Track.h.

109{ return m_TRTHits ; }

◆ Z0()

double PESA::T2Track::Z0 ( ) const
inline

Definition at line 99 of file T2Track.h.

99{ return m_Z0 ; }

◆ Z0err()

double PESA::T2Track::Z0err ( ) const
inline

Definition at line 101 of file T2Track.h.

101{ return m_Z0err ; }

Member Data Documentation

◆ m_Chi2Prob

double PESA::T2Track::m_Chi2Prob
private

Definition at line 125 of file T2Track.h.

◆ m_D0

double PESA::T2Track::m_D0
private

Definition at line 120 of file T2Track.h.

◆ m_D0err

double PESA::T2Track::m_D0err
private

Definition at line 122 of file T2Track.h.

◆ m_Eta

double PESA::T2Track::m_Eta
private

Definition at line 117 of file T2Track.h.

◆ m_NDF

double PESA::T2Track::m_NDF
private

Definition at line 123 of file T2Track.h.

◆ m_Phi

double PESA::T2Track::m_Phi
private

Definition at line 118 of file T2Track.h.

◆ m_PIXHits

int PESA::T2Track::m_PIXHits
private

Definition at line 127 of file T2Track.h.

◆ m_Pt

double PESA::T2Track::m_Pt
private

Definition at line 116 of file T2Track.h.

◆ m_Qual

double PESA::T2Track::m_Qual
private

Definition at line 124 of file T2Track.h.

◆ m_SCTHits

int PESA::T2Track::m_SCTHits
private

Definition at line 128 of file T2Track.h.

◆ m_SiHits

int PESA::T2Track::m_SiHits
private

Definition at line 126 of file T2Track.h.

◆ m_TRTHits

int PESA::T2Track::m_TRTHits
private

Definition at line 129 of file T2Track.h.

◆ m_Z0

double PESA::T2Track::m_Z0
private

Definition at line 119 of file T2Track.h.

◆ m_Z0err

double PESA::T2Track::m_Z0err
private

Definition at line 121 of file T2Track.h.


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