1 #ifndef TrackReco_TrackBase_h
2 #define TrackReco_TrackBase_h
99 iter1 = 5,
iter2 = 6,
iter3 = 7,
iter4 = 8,
iter5 = 9,
iter6 = 10,
iter7 = 11,
iter8 = 12,
iter9 = 13,
iter10 = 14,
134 signed char nloops = 0);
155 double theta()
const;
209 const Point &
vertex()
const ;
213 double dxy(
const Point &myBeamSpot)
const;
219 double dsz(
const Point &myBeamSpot)
const;
222 double dz(
const Point &myBeamSpot)
const;
237 double error(
int i)
const;
270 CovarianceMatrix &
fill(CovarianceMatrix &
v)
const;
329 signed char nLoops()
const;
393 return setHitPattern(c.begin(), c.end());
398 int a = (i <= j ? i :
j);
399 int b = (i <= j ? j :
i);
400 return b * (b + 1) / 2 + a;
416 return "undefAlgorithm";
448 return "outInEcalSeededConv";
450 return "inOutEcalSeededConv";
454 return "standAloneMuon";
458 return "cosmicStandAloneMuon";
460 return "cosmicGlobalMuon";
462 return "iter1LargeD0";
464 return "iter2LargeD0";
466 return "iter3LargeD0";
468 return "iter4LargeD0";
470 return "iter5LargeD0";
472 return "bTagGhostTracks";
476 return "undefAlgorithm";
513 return "undefQuality";
518 if (
int(a) <
int(
algoSize) &&
int(a) > 0) {
521 return "undefAlgorithm";
673 return (-(
vx() - myBeamSpot.x()) *
py() + (
vy() - myBeamSpot.y()) *
px()) /
pt();
689 return (
vz() - myBeamSpot.z()) *
pt() /
p() - ((
vx() - myBeamSpot.x()) *
px() + (
vy() - myBeamSpot.y()) *
py()) /
pt() *
pz() /
p();
697 return (
vz() - myBeamSpot.z()) - ((
vx() - myBeamSpot.x()) *
px() + (
vy() - myBeamSpot.y()) *
py()) /
pt() *
pz() /
pt();
815 if ((valid + lost + lostIn + lostOut) == 0) {
819 return valid / (double)(valid + lost + lostIn + lostOut);
double qoverp() const
q / p
double p() const
momentum vector magnitude
void setQualityMask(int qualMask)
const Point & referencePoint() const
Reference point on the track.
double d0Error() const
error on d0
static std::string qualityName(TrackQuality)
unsigned int index
index type
static index covIndex(index i, index j)
covariance matrix index in array
uint8_t quality_
track quality
double validFraction() const
fraction of valid hits on the track
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
TrackBase()
default constructor
TrackQuality
track quality
double theta() const
polar angle
double dxyError() const
error on dxy
char charge_
electric charge
int numberOfValidHits() const
Point vertex_
innermost (reference) point on track
double etaError() const
error on eta
double phi() const
azimuthal angle of momentum vector
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
math::Vector< dimension >::type ParameterVector
parameter vector
double px() const
x coordinate of momentum vector
const Vector & momentum() const
track momentum vector
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0...
signed char nLoops_
number of loops made during the building of the trajectory of a looper particle
TrackAlgorithm
track algorithm
int numberOfLostTrackerHits(HitCategory category) const
TrackAlgorithm algo() const
void setNLoops(signed char value)
bool appendHits(const C &c)
append hit patterns from vector of hit references
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
double dszError() const
error on dsz
double eta() const
pseudorapidity of momentum vector
void setQuality(const TrackQuality, bool set=true)
static const std::string qualityNames[]
double chi2() const
chi-squared of the fit
double ndof() const
number of degrees of freedom of the fit
CovarianceMatrix covariance() const
return track covariance matrix
double pt() const
track transverse momentum
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
double phiError() const
error on phi
bool appendHitPattern(const TrackingRecHit &hit)
append a single hit to the HitPattern
double lambda() const
Lambda angle.
const std::complex< double > I
double error(int i) const
error on specified element
bool appendHits(const I &begin, const I &end)
unsigned short numberOfValidHits() const
number of valid hits found
void resetHitPattern()
Sets HitPattern as empty.
math::XYZPoint Point
point in the space
double pz() const
z coordinate of momentum vector
double parameter(int i) const
i-th parameter ( i = 0, ... 4 )
double qoverpError() const
error on signed transverse curvature
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
double dzError() const
error on dz
double vz() const
z coordinate of the reference point on track
static TrackQuality qualityByName(const std::string &name)
virtual ~TrackBase()
virtual destructor
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
signed char nLoops() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
std::string algoName() const
This class analyses the reconstruction quality for a given track.
float ndof_
number of degrees of freedom
static const std::string algoNames[]
bool quality(const TrackQuality) const
Track quality.
int numberOfLostHits(HitCategory category) const
int numberOfValidTrackerHits() const
ParameterVector parameters() const
Track parameters with one-to-one correspondence to the covariance matrix.
double lambdaError() const
error on lambda
double vy() const
y coordinate of the reference point on track
float covariance_[covarianceSize]
perigee 5x5 covariance matrix
HitPattern hitPattern_
hit pattern
void setAlgorithm(const TrackAlgorithm a, bool set=true)
Track algorithm.
CovarianceMatrix & fill(CovarianceMatrix &v) const
fill SMatrix
static TrackAlgorithm algoByName(const std::string &name)
bool appendHit(const TrackingRecHit &hit)
Vector momentum_
momentum vector at innermost point
int charge() const
track electric charge
const Point & position() const
position
uint8_t algorithm_
track algorithm
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
math::XYZVector Vector
spatial vector
double py() const
y coordinate of momentum vector
double vx() const
x coordinate of the reference point on track
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
double thetaError() const
error on theta