|
|
Go to the documentation of this file. 1 #ifndef TrackReco_TrackBase_h
2 #define TrackReco_TrackBase_h
177 signed char nloops = 0,
182 float covbetabeta = -1.
f);
206 double theta()
const;
270 double dxy(
const Point &myBeamSpot)
const;
276 double dsz(
const Point &myBeamSpot)
const;
279 double dz(
const Point &myBeamSpot)
const;
300 double error(
int i)
const;
363 template <
typename C>
366 template <
typename I>
430 signed char nLoops()
const;
516 template <
typename I>
521 template <
typename C>
527 int a = (
i <=
j ?
i :
j);
528 int b = (
i <=
j ?
j :
i);
529 return b * (
b + 1) / 2 +
a;
561 return "undefQuality";
568 return "undefAlgorithm";
653 return (-(
vx() - myBeamSpot.x()) *
py() + (
vy() - myBeamSpot.y()) *
px()) /
pt();
665 return (
vz() - myBeamSpot.z()) *
pt() /
p() -
666 ((
vx() - myBeamSpot.x()) *
px() + (
vy() - myBeamSpot.y()) *
py()) /
pt() *
pz() /
p();
673 return (
vz() - myBeamSpot.z()) -
674 ((
vx() - myBeamSpot.x()) *
px() + (
vy() - myBeamSpot.y()) *
py()) /
pt() *
pz() /
pt();
765 if ((
valid + lost + lostIn + lostOut) == 0) {
769 return valid / (double)(
valid + lost + lostIn + lostOut);
void setQuality(const TrackQuality)
CovarianceMatrix & fill(CovarianceMatrix &v) const
fill SMatrix
bool appendHit(const TrackingRecHit &hit, const TrackerTopology &ttopo)
char charge_
electric charge
unsigned int index
index type
Point vertex_
innermost (reference) point on track
static index covIndex(index i, index j)
covariance matrix index in array
uint8_t algorithm_
track algorithm
double qoverpError() const
error on signed transverse curvature
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
double lambdaError() const
error on lambda
double etaError() const
error on eta
const Point & referencePoint() const
Reference point on the track.
double p() const
momentum vector magnitude
double betaError() const
error on beta
double t0() const
time at the reference point
double thetaError() const
error on theta
Covariance3DMatrix rotatedCovariance3D() const
TrackAlgorithm
track algorithm
double validFraction() const
fraction of valid hits on the track
double vx() const
x coordinate of the reference point on track
TrackBase()
default constructor
double t0Error() const
error on t0
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0,...
TrackQuality
track quality
static std::string qualityName(TrackQuality)
double px() const
x coordinate of momentum vector
TrackAlgorithm originalAlgo() const
double ndof() const
number of degrees of freedom of the fit
signed char nLoops_
number of loops made during the building of the trajectory of a looper particle
reco::TrackBase::ParameterVector ParameterVector
int numberOfLostHits(HitCategory category) const
AlgoMask algoMask() const
unsigned short numberOfValidHits() const
number of valid hits found
double dxyError() const
error on dxy
double covt0t0() const
error on t0
double pt() const
track transverse momentum
void setOriginalAlgorithm(const TrackAlgorithm a)
double parameter(int i) const
i-th parameter ( i = 0, ... 4 )
const std::complex< double > I
double py() const
y coordinate of momentum vector
double vz() const
z coordinate of the reference point on track
bool appendTrackerHitPattern(uint16_t subdet, uint16_t layer, uint16_t stereo, TrackingRecHit::Type hitType)
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
void setNLoops(signed char value)
math::Vector< dimension >::type ParameterVector
parameter vector
std::string algoName() const
int charge() const
track electric charge
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...
CovarianceMatrix covariance() const
return track covariance matrix
const Point & position() const
position
This class analyses the reconstruction quality for a given track.
double phi() const
azimuthal angle of momentum vector
void setStopReason(uint8_t value)
std::bitset< algoSize > algoMask_
algo mask, bit set for the algo where it was reconstructed + each algo a track was found overlapping ...
Structure Point Contains parameters of Gaussian fits to DMRs.
virtual ~TrackBase()
virtual destructor
XYZPointD XYZPoint
point in space with cartesian internal representation
bool appendHits(const I &begin, const I &end, const TrackerTopology &ttopo)
bool isAlgoInMask(TrackAlgorithm a) const
double eta() const
pseudorapidity of momentum vector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
unsigned long long algoMaskUL() const
double dzError() const
error on dz
double covBetaBeta() const
error on beta
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
float covt0t0_
errors for time and velocity (separate from cov for now)
uint8_t stopReason() const
float covariance_[covarianceSize]
perigee 5x5 covariance matrix
double beta() const
velocity at the reference point in natural units
double chi2() const
chi-squared of the fit
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
signed char nLoops() const
bool isTimeOk() const
return true if timing measurement is usable
double error(int i) const
error on specified element
bool appendHitPattern(const TrackingRecHit &hit, const TrackerTopology &ttopo)
append a single hit to the HitPattern
Vector momentum_
momentum vector at innermost point
ParameterVector parameters() const
Track parameters with one-to-one correspondence to the covariance matrix.
void resetHitPattern()
Sets HitPattern as empty.
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead
void setAlgorithm(const TrackAlgorithm a)
Track algorithm.
math::XYZPoint Point
point in the space
TrackAlgorithm algo() const
static TrackQuality qualityByName(const std::string &name)
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
void setAlgoMask(AlgoMask a)
static const std::string qualityNames[]
double d0Error() const
error on d0
double vy() const
y coordinate of the reference point on track
int numberOfValidTrackerHits() const
bool appendMuonHit(const DetId &id, TrackingRecHit::Type hitType)
bool appendTrackerHit(uint16_t subdet, uint16_t layer, uint16_t stereo, TrackingRecHit::Type hitType)
std::bitset< algoSize > AlgoMask
algo mask
int numberOfLostTrackerHits(HitCategory category) const
double phiError() const
error on phi
uint8_t stopReason_
Stop Reason.
double pz() const
z coordinate of momentum vector
void setQualityMask(int qualMask)
static TrackAlgorithm algoByName(const std::string &name)
double dszError() const
error on dsz
bool appendHits(const C &c, const TrackerTopology &ttopo)
append hit patterns from vector of hit references
float ndof_
number of degrees of freedom
const Vector & momentum() const
track momentum vector
int numberOfValidHits() const
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
double theta() const
polar angle
double lambda() const
Lambda angle.
static const std::string algoNames[]
float t0_
time at the reference point on track
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
uint8_t quality_
track quality
bool quality(const TrackQuality) const
Track quality.
uint8_t originalAlgorithm_
track algorithm
HitPattern hitPattern_
hit pattern
bool appendMuonHitPattern(const DetId &id, TrackingRecHit::Type hitType)
double qoverp() const
q / p
math::XYZVector Vector
spatial vector