CMS 3D CMS Logo

Track.h
Go to the documentation of this file.
1 #ifndef TrackReco_Track_h
2 #define TrackReco_Track_h
3 
24 
25 namespace reco
26 {
27 
28 class Track : public TrackBase
29 {
30 
31 public:
32 
34  Track() { }
35 
37  ~Track() override;
38 
40  Track(double chi2, double ndof, const Point & referencePoint,
41  const Vector & momentum, int charge, const CovarianceMatrix &,
43 
45  bool outerOk() const {
46  return extra_->outerOk();
47  }
48 
50  bool innerOk() const {
51  return extra_->innerOk();
52  }
53 
55  const math::XYZPoint & innerPosition() const {
56  return extra_->innerPosition();
57  }
58 
60  const math::XYZVector & innerMomentum() const {
61  return extra_->innerMomentum();
62  }
63 
65  const math::XYZPoint & outerPosition() const {
66  return extra_->outerPosition();
67  }
68 
70  const math::XYZVector & outerMomentum() const {
71  return extra_->outerMomentum();
72  }
73 
76  return extra_->outerStateCovariance();
77  }
78 
81  return extra_->innerStateCovariance();
82  }
83 
86  return extra_->fillOuter(v);
87  }
88 
90  return extra_->fillInner(v);
91  }
92 
94  unsigned int outerDetId() const {
95  return extra_->outerDetId();
96  }
97 
99  unsigned int innerDetId() const {
100  return extra_->innerDetId();
101  }
102 
105  return extra_->recHitsBegin();
106  }
107 
110  return extra_->recHitsEnd();
111  }
112 
114  TrackingRecHitRef recHit(size_t i) const {
115  return extra_->recHit(i);
116  }
117 
119  size_t recHitsSize() const {
120  return extra_->recHitsSize();
121  }
122 
124  double outerPx() const {
125  return extra_->outerPx();
126  }
127 
129  double outerPy() const {
130  return extra_->outerPy();
131  }
132 
134  double outerPz() const {
135  return extra_->outerPz();
136  }
137 
139  double outerX() const {
140  return extra_->outerX();
141  }
142 
144  double outerY() const {
145  return extra_->outerY();
146  }
147 
149  double outerZ() const {
150  return extra_->outerZ();
151  }
152 
154  double outerP() const {
155  return extra_->outerP();
156  }
157 
159  double outerPt() const {
160  return extra_->outerPt();
161  }
162 
164  double outerPhi() const {
165  return extra_->outerPhi();
166  }
167 
169  double outerEta() const {
170  return extra_->outerEta();
171  }
172 
174  double outerTheta() const {
175  return extra_->outerTheta();
176  }
177 
179  double outerRadius() const {
180  return extra_->outerRadius();
181  }
182 
184  void setExtra(const TrackExtraRef & ref) {
185  extra_ = ref;
186  }
187 
189  const TrackExtraRef & extra() const {
190  return extra_;
191  }
192 
194  unsigned short found() const {
195  return numberOfValidHits();
196  }
197 
199  unsigned short lost() const {
200  return numberOfLostHits();
201  }
202 
205  return extra_->seedDirection();
206  }
207 
214  return extra_->seedRef();
215  }
216 
218  const TrackResiduals &residuals() const {return extra_->residuals();}
219 
220 
221 private:
224 
225 };
226 
227 }
228 
229 #endif
230 
const edm::RefToBase< TrajectorySeed > & seedRef() const
Definition: Track.h:213
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:681
unsigned short lost() const
Number of lost (=invalid) hits on track.
Definition: Track.h:199
~Track() override
virtual destructor
Definition: Track.cc:13
double outerPy() const
y coordinate of momentum vector at the outermost hit position
Definition: Track.h:129
const TrackExtraRef & extra() const
reference to "extra" object
Definition: Track.h:189
TrackExtraRef extra_
Reference to additional information stored only on RECO.
Definition: Track.h:223
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits)...
Definition: Track.h:119
CovarianceMatrix & fillInner(CovarianceMatrix &v) const
Definition: Track.h:89
double outerP() const
magnitude of momentum vector at the outermost hit position
Definition: Track.h:154
bool innerOk() const
return true if the innermost hit is valid
Definition: Track.h:50
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:826
PropagationDirection
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:675
const math::XYZPoint & outerPosition() const
position of the outermost hit
Definition: Track.h:65
Track()
default constructor
Definition: Track.h:34
TrackAlgorithm
track algorithm
Definition: TrackBase.h:99
double outerZ() const
z coordinate of the outermost hit position
Definition: Track.h:149
const math::XYZPoint & innerPosition() const
position of the innermost hit
Definition: Track.h:55
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:549
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:555
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
Definition: Track.h:75
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
Definition: Track.h:94
#define CMS_THREAD_SAFE
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:820
double outerX() const
x coordinate of the outermost hit position
Definition: Track.h:139
math::XYZPoint Point
point in the space
Definition: TrackBase.h:83
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:104
double outerPz() const
z coordinate of momentum vector at the outermost hit position
Definition: Track.h:134
double outerPt() const
transverse momentum at the outermost hit position
Definition: Track.h:159
double outerRadius() const
polar radius of the outermost hit position
Definition: Track.h:179
double outerEta() const
pseudorapidity of the momentum vector at the outermost hit position
Definition: Track.h:169
void setExtra(const TrackExtraRef &ref)
set reference to "extra" object
Definition: Track.h:184
const math::XYZVector & outerMomentum() const
momentum vector at the outermost hit position
Definition: Track.h:70
bool outerOk() const
return true if the outermost hit is valid
Definition: Track.h:45
const PropagationDirection & seedDirection() const
direction of how the hits were sorted in the original seed
Definition: Track.h:204
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
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
Definition: Track.h:80
This class analyses the reconstruction quality for a given track.
Definition: TrackQuality.h:28
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:510
fixed size matrix
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
Definition: Track.h:60
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
Definition: Track.h:114
unsigned short found() const
Number of valid hits on track.
Definition: Track.h:194
double outerY() const
y coordinate of the outermost hit position
Definition: Track.h:144
const TrackResiduals & residuals() const
get the residuals
Definition: Track.h:218
int charge() const
track electric charge
Definition: TrackBase.h:567
double outerTheta() const
polar angle of the momentum vector at the outermost hit position
Definition: Track.h:174
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
Definition: Track.h:99
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
double outerPhi() const
azimuthal angle of the momentum vector at the outermost hit position
Definition: Track.h:164
CovarianceMatrix & fillOuter(CovarianceMatrix &v) const
fill outermost trajectory state curvilinear errors
Definition: Track.h:85
double outerPx() const
x coordinate of momentum vector at the outermost hit position
Definition: Track.h:124
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:109