CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackExtra.h
Go to the documentation of this file.
1 #ifndef TrackReco_TrackExtra_h
2 #define TrackReco_TrackExtra_h
3 
14 #include <Rtypes.h>
23 
24 namespace reco {
25  class TrackExtra : public TrackExtraBase {
26  public:
28  enum { dimension = 5 };
30  enum { covarianceSize = dimension * ( dimension + 1 ) / 2 };
38  typedef unsigned int index;
39 
43  outerOk_(false),
44  outerDetId_(0),
47  innerOk_(false),
48  innerDetId_(0),
50  seedRef_(),
52  {
53  index idx = 0;
54  for( index i = 0; i < dimension; ++ i ) {
55  for( index j = 0; j <= i; ++ j ) {
56  outerCovariance_[ idx ] = 0;
57  innerCovariance_[ idx ] = 0;
58  ++idx;
59  }
60  }
61  }
62 
64  TrackExtra( const Point & outerPosition, const Vector & outerMomentum, bool ok ,
65  const Point & innerPosition, const Vector & innerMomentum, bool iok,
66  const CovarianceMatrix& outerState, unsigned int outerId,
67  const CovarianceMatrix& innerState, unsigned int innerId,
68  PropagationDirection seedDir,
70 
72  const Point & outerPosition() const { return outerPosition_; }
74  const Vector & outerMomentum() const { return outerMomentum_; }
76  bool outerOk() const { return outerOk_; }
78  const Point & innerPosition() const { return innerPosition_; }
80  const Vector & innerMomentum() const { return innerMomentum_; }
82  bool innerOk() const { return innerOk_; }
84  double outerPx() const { return outerMomentum_.X(); }
86  double outerPy() const { return outerMomentum_.Y(); }
88  double outerPz() const { return outerMomentum_.Z(); }
90  double outerX() const { return outerPosition_.X(); }
92  double outerY() const { return outerPosition_.Y(); }
94  double outerZ() const { return outerPosition_.Z(); }
96  double outerP() const { return outerMomentum().R(); }
98  double outerPt() const { return outerMomentum().Rho(); }
100  double outerPhi() const { return outerMomentum().Phi(); }
102  double outerEta() const { return outerMomentum().Eta(); }
104  double outerTheta() const { return outerMomentum().Theta(); }
106  double outerRadius() const { return outerPosition().Rho(); }
107 
109  CovarianceMatrix outerStateCovariance() const;
111  CovarianceMatrix innerStateCovariance() const;
113  CovarianceMatrix & fillOuter CMS_THREAD_SAFE ( CovarianceMatrix & v ) const;
115  CovarianceMatrix & fillInner CMS_THREAD_SAFE ( CovarianceMatrix & v ) const;
117  unsigned int outerDetId() const { return outerDetId_; }
119  unsigned int innerDetId() const { return innerDetId_; }
120  // direction how the hits were sorted in the original seed
122 
132 
134  const TrackResiduals &residuals () const { return trackResiduals_; }
135 
136  private:
137 
143  bool outerOk_;
146  unsigned int outerDetId_;
147 
148 
154  bool innerOk_;
157  unsigned int innerDetId_;
158 
161 
164  };
165 
166 }
167 
168 #endif
bool innerOk_
innermost hit validity flag
Definition: TrackExtra.h:154
double outerPz() const
z coordinate of momentum vector at the outermost hit position
Definition: TrackExtra.h:88
Vector outerMomentum_
momentum vector at outermost hit position
Definition: TrackExtra.h:141
int i
Definition: DBlmapReader.cc:9
edm::RefToBase< TrajectorySeed > seedRef() const
Definition: TrackExtra.h:128
math::XYZVector Vector
spatial vector
Definition: TrackExtra.h:34
double outerTheta() const
polar angle of the momentum vector at the outermost hit position
Definition: TrackExtra.h:104
math::Error< 5 >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackExtra.h:36
double outerPt() const
transverse momentum at the outermost hit position
Definition: TrackExtra.h:98
double outerRadius() const
polar radius of the outermost hit position
Definition: TrackExtra.h:106
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
Definition: TrackExtra.h:119
bool outerOk_
outermost hit validity flag
Definition: TrackExtra.h:143
const Vector & outerMomentum() const
momentum vector at outermost hit position
Definition: TrackExtra.h:74
ErrorD< N >::type type
Definition: Error.h:39
void setSeedRef(edm::RefToBase< TrajectorySeed > &r)
Definition: TrackExtra.h:129
const TrackResiduals & residuals() const
get the residuals
Definition: TrackExtra.h:134
PropagationDirection
double outerX() const
x coordinate the outermost hit position
Definition: TrackExtra.h:90
float outerCovariance_[covarianceSize]
outermost trajectory state curvilinear errors
Definition: TrackExtra.h:145
math::XYZPoint Point
point in the space
Definition: TrackExtra.h:32
double outerP() const
magnitude of momentum vector at the outermost hit position
Definition: TrackExtra.h:96
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
Definition: TrackExtra.cc:26
TrackResiduals trackResiduals_
unbiased track residuals
Definition: TrackExtra.h:163
edm::RefToBase< TrajectorySeed > seedRef_
Definition: TrackExtra.h:160
int j
Definition: DBlmapReader.cc:9
const Vector & innerMomentum() const
momentum vector at innermost hit position
Definition: TrackExtra.h:80
double outerPy() const
y coordinate of momentum vector at the outermost hit position
Definition: TrackExtra.h:86
unsigned int index
index type
Definition: TrackExtra.h:38
unsigned int outerDetId_
Definition: TrackExtra.h:146
Vector innerMomentum_
momentum vector at innermost hit position
Definition: TrackExtra.h:152
const Point & innerPosition() const
innermost hit position
Definition: TrackExtra.h:78
unsigned int innerDetId_
Definition: TrackExtra.h:157
double outerZ() const
z coordinate the outermost hit position
Definition: TrackExtra.h:94
CovarianceMatrix & fillInner(CovarianceMatrix &v) const
fill outermost trajectory state curvilinear errors
Definition: TrackExtra.cc:38
TrackExtra()
default constructor
Definition: TrackExtra.h:41
double outerPhi() const
azimuthal angle of the momentum vector at the outermost hit position
Definition: TrackExtra.h:100
PropagationDirection seedDirection() const
Definition: TrackExtra.h:121
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
Point innerPosition_
innermost hit position
Definition: TrackExtra.h:150
bool innerOk() const
returns true if the innermost hit is valid
Definition: TrackExtra.h:82
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
Definition: TrackExtra.cc:30
Point outerPosition_
outermost hit position
Definition: TrackExtra.h:139
float innerCovariance_[covarianceSize]
innermost trajectory state
Definition: TrackExtra.h:156
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
Definition: TrackExtra.h:117
double outerPx() const
x coordinate of momentum vector at the outermost hit position
Definition: TrackExtra.h:84
double outerY() const
y coordinate the outermost hit position
Definition: TrackExtra.h:92
volatile std::atomic< bool > shutdown_flag false
bool outerOk() const
returns true if the outermost hit is valid
Definition: TrackExtra.h:76
#define CMS_THREAD_SAFE
double outerEta() const
pseudorapidity the momentum vector at the outermost hit position
Definition: TrackExtra.h:102
const Point & outerPosition() const
outermost hit position
Definition: TrackExtra.h:72
PropagationDirection seedDir_
Definition: TrackExtra.h:159
CovarianceMatrix & fillOuter(CovarianceMatrix &v) const
fill outermost trajectory state curvilinear errors
Definition: TrackExtra.cc:34
void setResiduals(const TrackResiduals &r)
set the residuals
Definition: TrackExtra.h:131