#include <DataFormats/GsfTrackReco/interface/GsfTrack.h>
Public Types | |
enum | { dimensionMode = 3 } |
parameter dimension mode More... | |
enum | { covarianceSizeMode = dimensionMode * ( dimensionMode + 1 ) / 2 } |
error matrix size mode More... | |
typedef math::Error < dimensionMode >::type | CovarianceMatrixMode |
3 parameter covariance matrix (momentum part) from mode | |
typedef math::Vector < dimensionMode >::type | ParameterVectorMode |
parameter vector (momentum part) from mode | |
Public Member Functions | |
int | chargeMode () const |
track electric charge from mode | |
double | covarianceMode (int i, int j) const |
(i,j)-th element of covarianve matrix ( i, j = 0, ... 2 ) from mode | |
CovarianceMatrixMode | covarianceMode () const |
return track covariance matrix from mode | |
double | errorMode (int i) const |
error on specified element from mode | |
double | etaMode () const |
pseudorapidity of momentum vector from mode | |
double | etaModeError () const |
error on eta from mode | |
const GsfTrackExtraRef & | gsfExtra () const |
reference to "extra" object | |
GsfTrack (double chi2, double ndof, const Point &, const Vector &, int charge, const CovarianceMatrix &) | |
constructor from fit parameters and error matrix notice that the reference point must be the point of closest approch to the beamline. | |
GsfTrack () | |
default constructor | |
double | lambdaMode () const |
Lambda angle from mode. | |
double | lambdaModeError () const |
error on lambda from mode | |
const Vector & | momentumMode () const |
track momentum vector from mode | |
double | parameterMode (int i) const |
i-th parameter ( i = 0, ... 2 ) from mode | |
ParameterVectorMode | parametersMode () const |
Track parameters with one-to-one correspondence to the covariance matrix from mode. | |
double | phiMode () const |
azimuthal angle of momentum vector from mode | |
double | phiModeError () const |
error on phi from mode | |
double | pMode () const |
momentum vector magnitude from mode | |
double | ptMode () const |
track transverse momentum from mode | |
double | ptModeError () const |
error on Pt (set to 1000 TeV if charge==0 for safety) from mode | |
double | pxMode () const |
x coordinate of momentum vector from mode | |
double | pyMode () const |
y coordinate of momentum vector from mode | |
double | pzMode () const |
z coordinate of momentum vector from mode | |
double | qoverpMode () const |
q/p from mode | |
double | qoverpModeError () const |
error on signed transverse curvature from mode | |
void | setGsfExtra (const GsfTrackExtraRef &ref) |
set reference to GSF "extra" object | |
void | setMode (int chargeMode, const Vector &momentumMode, const CovarianceMatrixMode &covarianceMode) |
set mode parameters | |
double | thetaMode () const |
polar angle from mode | |
double | thetaModeError () const |
error on theta from mode | |
Private Member Functions | |
CovarianceMatrixMode & | fill (CovarianceMatrixMode &v) const |
fill 3x3 SMatrix | |
Private Attributes | |
char | chargeMode_ |
electric charge from mode | |
float | covarianceMode_ [covarianceSizeMode] |
3x3 momentum part of covariance (in q/p, lambda, phi) | |
GsfTrackExtraRef | gsfExtra_ |
reference to GSF "extra" extension | |
Vector | momentumMode_ |
momentum vector from mode |
Definition at line 11 of file GsfTrack.h.
typedef math::Error<dimensionMode>::type reco::GsfTrack::CovarianceMatrixMode |
typedef math::Vector<dimensionMode>::type reco::GsfTrack::ParameterVectorMode |
anonymous enum |
anonymous enum |
error matrix size mode
Definition at line 16 of file GsfTrack.h.
00016 { covarianceSizeMode = dimensionMode * ( dimensionMode + 1 ) / 2 };
GsfTrack::GsfTrack | ( | ) |
default constructor
Definition at line 4 of file GsfTrack.cc.
References chargeMode_, covarianceMode_, dimensionMode, i, j, and momentumMode_.
00005 { 00006 chargeMode_ = 0; 00007 momentumMode_ = Vector(0.,0.,0.); 00008 typedef unsigned int index; 00009 index idx = 0; 00010 for( index i = 0; i < dimensionMode; ++ i ) 00011 for( index j = 0; j <= i; ++ j ) 00012 covarianceMode_[ idx ++ ] = 0.; 00013 }
GsfTrack::GsfTrack | ( | double | chi2, | |
double | ndof, | |||
const Point & | vertex, | |||
const Vector & | momentum, | |||
int | charge, | |||
const CovarianceMatrix & | cov | |||
) |
constructor from fit parameters and error matrix notice that the reference point must be the point of closest approch to the beamline.
Definition at line 15 of file GsfTrack.cc.
References covarianceMode_, dimensionMode, i, and j.
00016 : 00017 Track( chi2, ndof, vertex, momentum, charge, cov ), 00018 chargeMode_(charge), momentumMode_(momentum) { 00019 typedef unsigned int index; 00020 index idx = 0; 00021 for( index i = 0; i < dimensionMode; ++ i ) 00022 for( index j = 0; j <= i; ++ j ) 00023 covarianceMode_[ idx ++ ] = cov(i,j); 00024 }
int reco::GsfTrack::chargeMode | ( | ) | const [inline] |
track electric charge from mode
Definition at line 38 of file GsfTrack.h.
References chargeMode_.
Referenced by ptModeError(), and qoverpMode().
00038 { return chargeMode_; }
(i,j)-th element of covarianve matrix ( i, j = 0, ... 2 ) from mode
Definition at line 73 of file GsfTrack.h.
References covarianceMode_, and reco::TrackBase::covIndex().
00073 { return covarianceMode_[ covIndex( i, j ) ]; }
CovarianceMatrixMode reco::GsfTrack::covarianceMode | ( | ) | const [inline] |
return track covariance matrix from mode
Definition at line 68 of file GsfTrack.h.
Referenced by ptModeError(), and setMode().
00068 { CovarianceMatrixMode m; fill( m ); return m; }
double reco::GsfTrack::errorMode | ( | int | i | ) | const [inline] |
error on specified element from mode
Definition at line 75 of file GsfTrack.h.
References covarianceMode_, reco::TrackBase::covIndex(), and funct::sqrt().
Referenced by etaModeError(), lambdaModeError(), phiModeError(), qoverpModeError(), and thetaModeError().
00075 { return sqrt( covarianceMode_[ covIndex( i, i ) ] ); }
double reco::GsfTrack::etaMode | ( | ) | const [inline] |
pseudorapidity of momentum vector from mode
Definition at line 58 of file GsfTrack.h.
References momentumMode_.
00058 { return momentumMode_.Eta(); }
double reco::GsfTrack::etaModeError | ( | ) | const [inline] |
error on eta from mode
Definition at line 91 of file GsfTrack.h.
References errorMode(), reco::TrackBase::i_lambda, pMode(), and ptMode().
GsfTrack::CovarianceMatrixMode & GsfTrack::fill | ( | CovarianceMatrixMode & | v | ) | const [private] |
fill 3x3 SMatrix
Definition at line 40 of file GsfTrack.cc.
References covarianceMode_, dimensionMode, i, j, and v.
Referenced by covarianceMode().
00041 { 00042 typedef unsigned int index; 00043 index idx = 0; 00044 for( index i = 0; i < dimensionMode; ++ i ) 00045 for( index j = 0; j <= i; ++ j ) 00046 v( i, j ) = covarianceMode_[ idx ++ ]; 00047 return v; 00048 }
const GsfTrackExtraRef& reco::GsfTrack::gsfExtra | ( | ) | const [inline] |
reference to "extra" object
Definition at line 31 of file GsfTrack.h.
References gsfExtra_.
Referenced by MultiGaussianStateTransform::innerMultiState(), MultiGaussianStateTransform::innerMultiState1D(), MultiTrajectoryStateTransform::innerStateOnSurface(), MultiGaussianStateTransform::outerMultiState(), MultiGaussianStateTransform::outerMultiState1D(), and MultiTrajectoryStateTransform::outerStateOnSurface().
00031 { return gsfExtra_; }
double reco::GsfTrack::lambdaMode | ( | ) | const [inline] |
Lambda angle from mode.
Definition at line 44 of file GsfTrack.h.
References momentumMode_.
Referenced by parametersMode().
00044 { return M_PI/2 - momentumMode_.theta(); }
double reco::GsfTrack::lambdaModeError | ( | ) | const [inline] |
error on lambda from mode
Definition at line 89 of file GsfTrack.h.
References errorMode(), and reco::TrackBase::i_lambda.
const Vector& reco::GsfTrack::momentumMode | ( | ) | const [inline] |
track momentum vector from mode
Definition at line 61 of file GsfTrack.h.
References momentumMode_.
00061 { return momentumMode_; }
double reco::GsfTrack::parameterMode | ( | int | i | ) | const [inline] |
i-th parameter ( i = 0, ... 2 ) from mode
Definition at line 71 of file GsfTrack.h.
References parametersMode().
00071 { return parametersMode()[i]; }
ParameterVectorMode reco::GsfTrack::parametersMode | ( | ) | const [inline] |
Track parameters with one-to-one correspondence to the covariance matrix from mode.
Definition at line 64 of file GsfTrack.h.
References lambdaMode(), phiMode(), and qoverpMode().
Referenced by parameterMode().
00064 { 00065 return ParameterVectorMode(qoverpMode(),lambdaMode(),phiMode()); 00066 }
double reco::GsfTrack::phiMode | ( | ) | const [inline] |
azimuthal angle of momentum vector from mode
Definition at line 56 of file GsfTrack.h.
References momentumMode_.
Referenced by parametersMode().
00056 { return momentumMode_.Phi(); }
double reco::GsfTrack::phiModeError | ( | ) | const [inline] |
error on phi from mode
Definition at line 93 of file GsfTrack.h.
References errorMode(), and reco::TrackBase::i_phi.
double reco::GsfTrack::pMode | ( | ) | const [inline] |
momentum vector magnitude from mode
Definition at line 46 of file GsfTrack.h.
References momentumMode_.
Referenced by etaModeError(), ptModeError(), and qoverpMode().
00046 { return momentumMode_.R(); }
double reco::GsfTrack::ptMode | ( | ) | const [inline] |
track transverse momentum from mode
Definition at line 48 of file GsfTrack.h.
References momentumMode_, and funct::sqrt().
Referenced by etaModeError(), and ptModeError().
00048 { return sqrt( momentumMode_.Perp2() ); }
double reco::GsfTrack::ptModeError | ( | ) | const [inline] |
error on Pt (set to 1000 TeV if charge==0 for safety) from mode
Definition at line 80 of file GsfTrack.h.
References chargeMode(), covarianceMode(), reco::TrackBase::i_lambda, reco::TrackBase::i_qoverp, pMode(), ptMode(), pzMode(), and funct::sqrt().
00080 { 00081 return (chargeMode()!=0) ? sqrt( 00082 ptMode()*ptMode()*pMode()*pMode()/chargeMode()/chargeMode() * covarianceMode(i_qoverp,i_qoverp) 00083 + 2*ptMode()*pMode()/chargeMode()*pzMode() * covarianceMode(i_qoverp,i_lambda) 00084 + pzMode()*pzMode() * covarianceMode(i_lambda,i_lambda) ) : 1.e6; 00085 }
double reco::GsfTrack::pxMode | ( | ) | const [inline] |
x coordinate of momentum vector from mode
Definition at line 50 of file GsfTrack.h.
References momentumMode_.
00050 { return momentumMode_.x(); }
double reco::GsfTrack::pyMode | ( | ) | const [inline] |
y coordinate of momentum vector from mode
Definition at line 52 of file GsfTrack.h.
References momentumMode_.
00052 { return momentumMode_.y(); }
double reco::GsfTrack::pzMode | ( | ) | const [inline] |
z coordinate of momentum vector from mode
Definition at line 54 of file GsfTrack.h.
References momentumMode_.
Referenced by ptModeError().
00054 { return momentumMode_.z(); }
double reco::GsfTrack::qoverpMode | ( | ) | const [inline] |
q/p from mode
Definition at line 40 of file GsfTrack.h.
References chargeMode(), and pMode().
Referenced by parametersMode().
00040 { return chargeMode() / pMode(); }
double reco::GsfTrack::qoverpModeError | ( | ) | const [inline] |
error on signed transverse curvature from mode
Definition at line 78 of file GsfTrack.h.
References errorMode(), and reco::TrackBase::i_qoverp.
void reco::GsfTrack::setGsfExtra | ( | const GsfTrackExtraRef & | ref | ) | [inline] |
set reference to GSF "extra" object
Definition at line 29 of file GsfTrack.h.
References gsfExtra_.
Referenced by GsfTrackProducerBase::putInEvt().
00029 { gsfExtra_ = ref; }
void GsfTrack::setMode | ( | int | chargeMode, | |
const Vector & | momentumMode, | |||
const CovarianceMatrixMode & | covarianceMode | |||
) |
set mode parameters
Definition at line 27 of file GsfTrack.cc.
References chargeMode_, covarianceMode(), covarianceMode_, dimensionMode, i, j, and momentumMode_.
Referenced by GsfTrackProducerBase::fillMode().
00029 { 00030 chargeMode_ = chargeMode; 00031 momentumMode_ = momentumMode; 00032 typedef unsigned int index; 00033 index idx = 0; 00034 for( index i = 0; i < dimensionMode; ++ i ) 00035 for( index j = 0; j <= i; ++ j ) 00036 covarianceMode_[ idx ++ ] = covarianceMode(i,j); 00037 }
double reco::GsfTrack::thetaMode | ( | ) | const [inline] |
polar angle from mode
Definition at line 42 of file GsfTrack.h.
References momentumMode_.
00042 { return momentumMode_.theta(); }
double reco::GsfTrack::thetaModeError | ( | ) | const [inline] |
error on theta from mode
Definition at line 87 of file GsfTrack.h.
References errorMode(), and reco::TrackBase::i_lambda.
char reco::GsfTrack::chargeMode_ [private] |
electric charge from mode
Definition at line 104 of file GsfTrack.h.
Referenced by chargeMode(), GsfTrack(), and setMode().
float reco::GsfTrack::covarianceMode_[covarianceSizeMode] [private] |
3x3 momentum part of covariance (in q/p, lambda, phi)
Definition at line 108 of file GsfTrack.h.
Referenced by covarianceMode(), errorMode(), fill(), GsfTrack(), and setMode().
GsfTrackExtraRef reco::GsfTrack::gsfExtra_ [private] |
reference to GSF "extra" extension
Definition at line 102 of file GsfTrack.h.
Referenced by gsfExtra(), and setGsfExtra().
Vector reco::GsfTrack::momentumMode_ [private] |
momentum vector from mode
Definition at line 106 of file GsfTrack.h.
Referenced by etaMode(), GsfTrack(), lambdaMode(), momentumMode(), phiMode(), pMode(), ptMode(), pxMode(), pyMode(), pzMode(), setMode(), and thetaMode().