CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes
reco::TrackBase Class Reference

#include <DataFormats/TrackReco/interface/TrackBase.h>

Inheritance diagram for reco::TrackBase:
reco::Track reco::CandidatePtrTransientTrack reco::GsfTrack reco::TrackTransientTrack reco::GsfTransientTrack

Public Types

enum  { dimension = 5 }
 parameter dimension More...
 
enum  { covarianceSize = dimension * (dimension + 1) / 2 }
 error matrix size More...
 
enum  {
  i_qoverp = 0, i_lambda, i_phi, i_dxy,
  i_dsz
}
 enumerator provided indices to the five parameters More...
 
typedef std::bitset< algoSizeAlgoMask
 algo mask More...
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 5 parameter covariance matrix More...
 
typedef unsigned int index
 index type More...
 
typedef math::Vector
< dimension >::type 
ParameterVector
 parameter vector More...
 
typedef math::XYZPoint Point
 point in the space More...
 
enum  TrackAlgorithm {
  undefAlgorithm = 0, ctf = 1, duplicateMerge = 2, cosmics = 3,
  initialStep = 4, lowPtTripletStep = 5, pixelPairStep = 6, detachedTripletStep = 7,
  mixedTripletStep = 8, pixelLessStep = 9, tobTecStep = 10, jetCoreRegionalStep = 11,
  conversionStep = 12, muonSeededStepInOut = 13, muonSeededStepOutIn = 14, outInEcalSeededConv = 15,
  inOutEcalSeededConv = 16, nuclInter = 17, standAloneMuon = 18, globalMuon = 19,
  cosmicStandAloneMuon = 20, cosmicGlobalMuon = 21, highPtTripletStep = 22, lowPtQuadStep = 23,
  detachedQuadStep = 24, reservedForUpgrades1 = 25, reservedForUpgrades2 = 26, bTagGhostTracks = 27,
  beamhalo = 28, gsf = 29, hltPixel = 30, hltIter0 = 31,
  hltIter1 = 32, hltIter2 = 33, hltIter3 = 34, hltIter4 = 35,
  hltIterX = 36, hiRegitMuInitialStep = 37, hiRegitMuLowPtTripletStep = 38, hiRegitMuPixelPairStep = 39,
  hiRegitMuDetachedTripletStep = 40, hiRegitMuMixedTripletStep = 41, hiRegitMuPixelLessStep = 42, hiRegitMuTobTecStep = 43,
  hiRegitMuMuonSeededStepInOut = 44, hiRegitMuMuonSeededStepOutIn = 45, algoSize = 46
}
 track algorithm More...
 
enum  TrackQuality {
  undefQuality = -1, loose = 0, tight = 1, highPurity = 2,
  confirmed = 3, goodIterative = 4, looseSetWithPV = 5, highPuritySetWithPV = 6,
  discarded = 7, qualitySize = 8
}
 track quality More...
 
typedef math::XYZVector Vector
 spatial vector More...
 

Public Member Functions

TrackAlgorithm algo () const
 
AlgoMask algoMask () const
 
unsigned long long algoMaskUL () const
 
std::string algoName () const
 
bool appendHitPattern (const TrackingRecHit &hit, const TrackerTopology &ttopo)
 append a single hit to the HitPattern More...
 
bool appendHitPattern (const DetId &id, TrackingRecHit::Type hitType, const TrackerTopology &ttopo)
 
template<typename C >
bool appendHits (const C &c, const TrackerTopology &ttopo)
 append hit patterns from vector of hit references More...
 
template<typename I >
bool appendHits (const I &begin, const I &end, const TrackerTopology &ttopo)
 
bool appendMuonHitPattern (const DetId &id, TrackingRecHit::Type hitType)
 
bool appendTrackerHitPattern (uint16_t subdet, uint16_t layer, uint16_t stereo, TrackingRecHit::Type hitType)
 
int charge () const
 track electric charge More...
 
double chi2 () const
 chi-squared of the fit More...
 
CovarianceMatrix covariance () const
 return track covariance matrix More...
 
double covariance (int i, int j) const
 (i,j)-th element of covariance matrix (i, j = 0, ... 4) More...
 
double d0 () const
 dxy parameter in perigee convention (d0 = -dxy) More...
 
double d0Error () const
 error on d0 More...
 
double dsz () const
 dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0,0,0): see parametrization definition above for details) More...
 
double dsz (const Point &myBeamSpot) const
 dsz parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as the distance in the S-Z plane to the beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks. More...
 
double dszError () const
 error on dsz More...
 
double dxy () const
 dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close to (0,0,0): see parametrization definition above for details). See also function dxy(myBeamSpot). More...
 
double dxy (const Point &myBeamSpot) const
 dxy parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as a minimum transverse distance if beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks. More...
 
double dxy (const BeamSpot &theBeamSpot) const
 dxy parameter with respect to the beamSpot taking into account the beamspot slopes (WARNING: this quantity can only be interpreted as a minimum transverse distance if beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks. More...
 
double dxyError () const
 error on dxy More...
 
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 (0,0,0). See also function dz(myBeamSpot) More...
 
double dz (const Point &myBeamSpot) const
 dz parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as the track z0, if the beamSpot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks. More...
 
double dzError () const
 error on dz More...
 
double error (int i) const
 error on specified element More...
 
double eta () const
 pseudorapidity of momentum vector More...
 
double etaError () const
 error on eta More...
 
CovarianceMatrixfill (CovarianceMatrix &v) const
 fill SMatrix More...
 
const HitPatternhitPattern () const
 Access the hit pattern, indicating in which Tracker layers the track has hits. More...
 
bool isAlgoInMask (TrackAlgorithm a) const
 
bool isLooper () const
 
double lambda () const
 Lambda angle. More...
 
double lambdaError () const
 error on lambda More...
 
const Vectormomentum () const
 track momentum vector More...
 
double ndof () const
 number of degrees of freedom of the fit More...
 
signed char nLoops () const
 
double normalizedChi2 () const
 chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero) More...
 
unsigned short numberOfLostHits () const
 number of cases where track crossed a layer without getting a hit. More...
 
unsigned short numberOfValidHits () const
 number of valid hits found More...
 
TrackAlgorithm originalAlgo () const
 
double p () const
 momentum vector magnitude More...
 
double parameter (int i) const
 i-th parameter ( i = 0, ... 4 ) More...
 
ParameterVector parameters () const
 Track parameters with one-to-one correspondence to the covariance matrix. More...
 
double phi () const
 azimuthal angle of momentum vector More...
 
double phiError () const
 error on phi More...
 
double pt () const
 track transverse momentum More...
 
double ptError () const
 error on Pt (set to 1000 TeV if charge==0 for safety) More...
 
double px () const
 x coordinate of momentum vector More...
 
double py () const
 y coordinate of momentum vector More...
 
double pz () const
 z coordinate of momentum vector More...
 
double qoverp () const
 q / p More...
 
double qoverpError () const
 error on signed transverse curvature More...
 
bool quality (const TrackQuality) const
 Track quality. More...
 
int qualityMask () const
 
const PointreferencePoint () const
 Reference point on the track. More...
 
void resetHitPattern ()
 Sets HitPattern as empty. More...
 
void setAlgoMask (AlgoMask a)
 
void setAlgorithm (const TrackAlgorithm a)
 Track algorithm. More...
 
void setNLoops (signed char value)
 
void setOriginalAlgorithm (const TrackAlgorithm a)
 
void setQuality (const TrackQuality)
 
void setQualityMask (int qualMask)
 
void setStopReason (uint8_t value)
 
uint8_t stopReason () const
 
double theta () const
 polar angle More...
 
double thetaError () const
 error on theta More...
 
 TrackBase ()
 default constructor More...
 
 TrackBase (double chi2, double ndof, const Point &vertex, const Vector &momentum, int charge, const CovarianceMatrix &cov, TrackAlgorithm=undefAlgorithm, TrackQuality quality=undefQuality, signed char nloops=0, uint8_t stopReason=0)
 constructor from fit parameters and error matrix More...
 
double validFraction () const
 fraction of valid hits on the track More...
 
const Pointvertex () const
 reference point on the track. This method is DEPRECATED, please use referencePoint() instead More...
 
double vx () const
 x coordinate of the reference point on track More...
 
double vy () const
 y coordinate of the reference point on track More...
 
double vz () const
 z coordinate of the reference point on track More...
 
virtual ~TrackBase ()
 virtual destructor More...
 

Static Public Member Functions

static TrackAlgorithm algoByName (const std::string &name)
 
static std::string algoName (TrackAlgorithm)
 
static index covIndex (index i, index j)
 covariance matrix index in array More...
 
static TrackQuality qualityByName (const std::string &name)
 
static std::string qualityName (TrackQuality)
 

Static Public Attributes

static const std::string algoNames []
 
static const std::string qualityNames []
 

Private Attributes

std::bitset< algoSizealgoMask_
 algo mask, bit set for the algo where it was reconstructed + each algo a track was found overlapping by the listmerger More...
 
uint8_t algorithm_
 track algorithm More...
 
char charge_
 electric charge More...
 
float chi2_
 chi-squared More...
 
float covariance_ [covarianceSize]
 perigee 5x5 covariance matrix More...
 
HitPattern hitPattern_
 hit pattern More...
 
Vector momentum_
 momentum vector at innermost point More...
 
float ndof_
 number of degrees of freedom More...
 
signed char nLoops_
 number of loops made during the building of the trajectory of a looper particle More...
 
uint8_t originalAlgorithm_
 track algorithm More...
 
uint8_t quality_
 track quality More...
 
uint8_t stopReason_
 Stop Reason. More...
 
Point vertex_
 innermost (reference) point on track More...
 

Detailed Description

Common base class to all track types, including Muon fits. Internally, the following information is stored:

A reference position on the track: (vx,vy,vz)

Momentum at this given reference point on track: (px,py,pz)

5D curvilinear covariance matrix from the track fit

Charge

Chi-square and number of degrees of freedom

Summary information of the hit pattern

For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre of CMS. For muons, this is not necessarily true.

Parameters associated to the 5D curvilinear covariance matrix:
(qoverp, lambda, phi, dxy, dsz)
defined as:

qoverp = q / abs(p) = signed inverse of momentum [1/GeV]

lambda = pi/2 - polar angle at the given point

phi = azimuth angle at the given point

dxy = -vx*sin(phi) + vy*cos(phi) [cm]

dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm]

Geometrically, dxy is the signed distance in the XY plane between the the straight line passing through (vx,vy) with azimuthal angle phi and the point (0,0).
The dsz parameter is the signed distance in the SZ plane between the the straight line passing through (vx,vy,vz) with angles (phi, lambda) and the point (s=0,z=0). The S axis is defined by the projection of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0).

Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY in two cases:

When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it (so that the differences between considering the exact trajectory or a straight line in this range are negligible). This is usually true for Tracker tracks.

When the track has infinite or extremely high momentum

More details about this parametrization are provided in the following document:
A. Strandlie, W. Wittek, "Propagation of Covariance Matrices...", CMS Note 2006/001

Author
Thomas Speer, Luca Lista, Pascal Vanlaer, Juan Alcaraz

Definition at line 63 of file TrackBase.h.

Member Typedef Documentation

typedef std::bitset<algoSize> reco::TrackBase::AlgoMask

algo mask

Definition at line 146 of file TrackBase.h.

5 parameter covariance matrix

Definition at line 77 of file TrackBase.h.

typedef unsigned int reco::TrackBase::index

index type

Definition at line 95 of file TrackBase.h.

parameter vector

Definition at line 74 of file TrackBase.h.

point in the space

Definition at line 83 of file TrackBase.h.

spatial vector

Definition at line 80 of file TrackBase.h.

Member Enumeration Documentation

anonymous enum

parameter dimension

Enumerator
dimension 

Definition at line 68 of file TrackBase.h.

anonymous enum

error matrix size

Enumerator
covarianceSize 

Definition at line 71 of file TrackBase.h.

anonymous enum

enumerator provided indices to the five parameters

Enumerator
i_qoverp 
i_lambda 
i_phi 
i_dxy 
i_dsz 

Definition at line 86 of file TrackBase.h.

track algorithm

Enumerator
undefAlgorithm 
ctf 
duplicateMerge 
cosmics 
initialStep 
lowPtTripletStep 
pixelPairStep 
detachedTripletStep 
mixedTripletStep 
pixelLessStep 
tobTecStep 
jetCoreRegionalStep 
conversionStep 
muonSeededStepInOut 
muonSeededStepOutIn 
outInEcalSeededConv 
inOutEcalSeededConv 
nuclInter 
standAloneMuon 
globalMuon 
cosmicStandAloneMuon 
cosmicGlobalMuon 
highPtTripletStep 
lowPtQuadStep 
detachedQuadStep 
reservedForUpgrades1 
reservedForUpgrades2 
bTagGhostTracks 
beamhalo 
gsf 
hltPixel 
hltIter0 
hltIter1 
hltIter2 
hltIter3 
hltIter4 
hltIterX 
hiRegitMuInitialStep 
hiRegitMuLowPtTripletStep 
hiRegitMuPixelPairStep 
hiRegitMuDetachedTripletStep 
hiRegitMuMixedTripletStep 
hiRegitMuPixelLessStep 
hiRegitMuTobTecStep 
hiRegitMuMuonSeededStepInOut 
hiRegitMuMuonSeededStepOutIn 
algoSize 

Definition at line 99 of file TrackBase.h.

track quality

Enumerator
undefQuality 
loose 
tight 
highPurity 
confirmed 
goodIterative 
looseSetWithPV 
highPuritySetWithPV 
discarded 
qualitySize 

Definition at line 151 of file TrackBase.h.

Constructor & Destructor Documentation

TrackBase::TrackBase ( )

default constructor

Definition at line 69 of file TrackBase.cc.

References algoMask_, algorithm_, covariance_, dimension, i, customizeTrackingMonitorSeedNumber::idx, and j.

69  :
70  chi2_(0),
71  vertex_(0, 0, 0),
72  momentum_(0, 0, 0),
73  ndof_(0),
74  charge_(0),
77  quality_(0),
78  nLoops_(0),
79  stopReason_(0)
80 {
81  algoMask_.set(algorithm_);
82  index idx = 0;
83  for (index i = 0; i < dimension; ++i) {
84  for (index j = 0; j <= i; ++j) {
85  covariance_[idx++] = 0;
86  }
87  }
88 }
uint8_t stopReason_
Stop Reason.
Definition: TrackBase.h:441
float chi2_
chi-squared
Definition: TrackBase.h:410
int i
Definition: DBlmapReader.cc:9
unsigned int index
index type
Definition: TrackBase.h:95
uint8_t quality_
track quality
Definition: TrackBase.h:435
uint8_t originalAlgorithm_
track algorithm
Definition: TrackBase.h:431
char charge_
electric charge
Definition: TrackBase.h:425
Point vertex_
innermost (reference) point on track
Definition: TrackBase.h:413
signed char nLoops_
number of loops made during the building of the trajectory of a looper particle
Definition: TrackBase.h:438
std::bitset< algoSize > algoMask_
algo mask, bit set for the algo where it was reconstructed + each algo a track was found overlapping ...
Definition: TrackBase.h:419
int j
Definition: DBlmapReader.cc:9
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
float ndof_
number of degrees of freedom
Definition: TrackBase.h:422
float covariance_[covarianceSize]
perigee 5x5 covariance matrix
Definition: TrackBase.h:407
Vector momentum_
momentum vector at innermost point
Definition: TrackBase.h:416
uint8_t algorithm_
track algorithm
Definition: TrackBase.h:428
TrackBase::TrackBase ( double  chi2,
double  ndof,
const Point vertex,
const Vector momentum,
int  charge,
const CovarianceMatrix cov,
TrackAlgorithm  algorithm = undefAlgorithm,
TrackQuality  quality = undefQuality,
signed char  nloops = 0,
uint8_t  stopReason = 0 
)

constructor from fit parameters and error matrix

Definition at line 90 of file TrackBase.cc.

References algoMask_, algorithm_, covariance_, dimension, i, customizeTrackingMonitorSeedNumber::idx, j, and setQuality().

92  :
93  chi2_(chi2),
94  vertex_(vertex),
95  momentum_(momentum),
96  ndof_(ndof),
97  charge_(charge),
100  quality_(0),
101  nLoops_(nloops),
103 {
104  algoMask_.set(algorithm_);
105 
106  index idx = 0;
107  for (index i = 0; i < dimension; ++i) {
108  for (index j = 0; j <= i; ++j) {
109  covariance_[idx++] = cov(i, j);
110  }
111  }
112  setQuality(quality);
113 }
uint8_t stopReason_
Stop Reason.
Definition: TrackBase.h:441
float chi2_
chi-squared
Definition: TrackBase.h:410
int i
Definition: DBlmapReader.cc:9
void setQuality(const TrackQuality)
Definition: TrackBase.h:518
unsigned int index
index type
Definition: TrackBase.h:95
uint8_t quality_
track quality
Definition: TrackBase.h:435
uint8_t originalAlgorithm_
track algorithm
Definition: TrackBase.h:431
char charge_
electric charge
Definition: TrackBase.h:425
Point vertex_
innermost (reference) point on track
Definition: TrackBase.h:413
uint8_t stopReason() const
Definition: TrackBase.h:399
signed char nLoops_
number of loops made during the building of the trajectory of a looper particle
Definition: TrackBase.h:438
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
Definition: TrackBase.h:682
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:544
std::bitset< algoSize > algoMask_
algo mask, bit set for the algo where it was reconstructed + each algo a track was found overlapping ...
Definition: TrackBase.h:419
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:550
int j
Definition: DBlmapReader.cc:9
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
float ndof_
number of degrees of freedom
Definition: TrackBase.h:422
float covariance_[covarianceSize]
perigee 5x5 covariance matrix
Definition: TrackBase.h:407
Vector momentum_
momentum vector at innermost point
Definition: TrackBase.h:416
int charge() const
track electric charge
Definition: TrackBase.h:562
uint8_t algorithm_
track algorithm
Definition: TrackBase.h:428
TrackBase::~TrackBase ( )
virtual

virtual destructor

Definition at line 115 of file TrackBase.cc.

116 {
117  ;
118 }

Member Function Documentation

TrackBase::TrackAlgorithm reco::TrackBase::algo ( ) const
inline

Definition at line 492 of file TrackBase.h.

Referenced by RecoTrackSelectorBase::operator()(), and PrintRecoObjects::print().

TrackBase::TrackAlgorithm TrackBase::algoByName ( const std::string &  name)
static

Definition at line 137 of file TrackBase.cc.

References algoNames, algoSize, spr::find(), findQualityFiles::size, and undefAlgorithm.

Referenced by RecoTrackSelectorBase::RecoTrackSelectorBase().

138 {
140  int index = std::find(algoNames, algoNames + size, name) - algoNames;
141  if (index == size) {
142  return undefAlgorithm; // better this or throw() ?
143  }
144 
145  // cast
146  return TrackAlgorithm(index);
147 }
unsigned int index
index type
Definition: TrackBase.h:95
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
TrackAlgorithm
track algorithm
Definition: TrackBase.h:99
static const std::string algoNames[]
Definition: TrackBase.h:148
tuple size
Write out results.
AlgoMask reco::TrackBase::algoMask ( ) const
inline
unsigned long long reco::TrackBase::algoMaskUL ( ) const
inline

Definition at line 364 of file TrackBase.h.

std::string reco::TrackBase::algoName ( ) const
inline

Definition at line 503 of file TrackBase.h.

std::string reco::TrackBase::algoName ( TrackAlgorithm  a)
inlinestatic

Definition at line 535 of file TrackBase.h.

bool reco::TrackBase::appendHitPattern ( const TrackingRecHit hit,
const TrackerTopology ttopo 
)
inline

append a single hit to the HitPattern

Definition at line 455 of file TrackBase.h.

Referenced by PixelTrackProducer::store().

bool reco::TrackBase::appendHitPattern ( const DetId id,
TrackingRecHit::Type  hitType,
const TrackerTopology ttopo 
)
inline

Definition at line 450 of file TrackBase.h.

template<typename C >
bool reco::TrackBase::appendHits ( const C &  c,
const TrackerTopology ttopo 
)

append hit patterns from vector of hit references

Definition at line 480 of file TrackBase.h.

template<typename I >
bool reco::TrackBase::appendHits ( const I &  begin,
const I &  end,
const TrackerTopology ttopo 
)

Definition at line 474 of file TrackBase.h.

bool reco::TrackBase::appendMuonHitPattern ( const DetId id,
TrackingRecHit::Type  hitType 
)
inline

This is meant to be used only in cases where the an already-packed hit information is re-interpreted in terms of HitPattern (i.e. the IO rule for reading old versions of HitPattern)

Definition at line 464 of file TrackBase.h.

bool reco::TrackBase::appendTrackerHitPattern ( uint16_t  subdet,
uint16_t  layer,
uint16_t  stereo,
TrackingRecHit::Type  hitType 
)
inline

This is meant to be used only in cases where the an already-packed hit information is re-interpreted in terms of HitPattern (i.e. MiniAOD PackedCandidate, and the IO rule for reading old versions of HitPattern)

Definition at line 460 of file TrackBase.h.

int reco::TrackBase::charge ( ) const
inline
double reco::TrackBase::chi2 ( void  ) const
inline
TrackBase::CovarianceMatrix reco::TrackBase::covariance ( void  ) const
inline

return track covariance matrix

Definition at line 726 of file TrackBase.h.

Referenced by SeedFromProtoTrack::init(), trajectoryStateTransform::initialFreeState(), and reco::print().

double reco::TrackBase::covariance ( int  i,
int  j 
) const
inline

(i,j)-th element of covariance matrix (i, j = 0, ... 4)

Definition at line 740 of file TrackBase.h.

TrackBase::index reco::TrackBase::covIndex ( index  i,
index  j 
)
inlinestatic

covariance matrix index in array

Definition at line 485 of file TrackBase.h.

Referenced by reco::GsfTrack::covarianceMode(), and reco::GsfTrack::errorMode().

double reco::TrackBase::d0 ( ) const
inline

dxy parameter in perigee convention (d0 = -dxy)

Definition at line 592 of file TrackBase.h.

Referenced by AlignmentMonitorGeneric::event(), and TrackWithVertexSelector::testTrack().

double reco::TrackBase::d0Error ( ) const
inline

error on d0

Definition at line 797 of file TrackBase.h.

Referenced by HIPixelTrackFilter::operator()().

double reco::TrackBase::dsz ( ) const
inline

dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0,0,0): see parametrization definition above for details)

Definition at line 598 of file TrackBase.h.

Referenced by RecoTrackSelectorBase::operator()(), and RecoTracktoTP::r_dsz().

double reco::TrackBase::dsz ( const Point myBeamSpot) const
inline

dsz parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as the distance in the S-Z plane to the beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks.

Definition at line 706 of file TrackBase.h.

double reco::TrackBase::dszError ( ) const
inline

error on dsz

Definition at line 803 of file TrackBase.h.

double reco::TrackBase::dxy ( ) const
inline

dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close to (0,0,0): see parametrization definition above for details). See also function dxy(myBeamSpot).

Definition at line 586 of file TrackBase.h.

Referenced by PrimaryVertexAssignment::chargedHadronVertex(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), spr::goodTrack(), HIProtoTrackFilter::operator()(), HIPixelTrackFilter::operator()(), RecoTrackSelectorBase::operator()(), PrintRecoObjects::print(), RecoTracktoTP::r_d02(), RecoTracktoTP::r_dxy(), pf2pat::IPCutPFCandidateSelectorDefinition::select(), and TrackWithVertexSelector::testVertices().

double reco::TrackBase::dxy ( const Point myBeamSpot) const
inline

dxy parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as a minimum transverse distance if beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks.

Definition at line 690 of file TrackBase.h.

double reco::TrackBase::dxy ( const BeamSpot theBeamSpot) const
inline

dxy parameter with respect to the beamSpot taking into account the beamspot slopes (WARNING: this quantity can only be interpreted as a minimum transverse distance if beamSpot, if the beam spot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks.

Definition at line 698 of file TrackBase.h.

double reco::TrackBase::dxyError ( ) const
inline
double reco::TrackBase::dz ( ) const
inline
double reco::TrackBase::dz ( const Point myBeamSpot) const
inline

dz parameter with respect to a user-given beamSpot (WARNING: this quantity can only be interpreted as the track z0, if the beamSpot is reasonably close to the refPoint, since linear approximations are involved). This is a good approximation for Tracker tracks.

Definition at line 714 of file TrackBase.h.

double reco::TrackBase::dzError ( ) const
inline
double reco::TrackBase::error ( int  i) const
inline

error on specified element

Definition at line 746 of file TrackBase.h.

double reco::TrackBase::eta ( ) const
inline
double reco::TrackBase::etaError ( ) const
inline

error on eta

Definition at line 779 of file TrackBase.h.

TrackBase::CovarianceMatrix & TrackBase::fill ( CovarianceMatrix v) const

fill SMatrix

Definition at line 120 of file TrackBase.cc.

References covariance_, and reco::fillCovariance().

121 {
122  return fillCovariance(v, covariance_);
123 }
PerigeeCovarianceMatrix & fillCovariance(PerigeeCovarianceMatrix &v, const float *data)
float covariance_[covarianceSize]
perigee 5x5 covariance matrix
Definition: TrackBase.h:407
const HitPattern & reco::TrackBase::hitPattern ( ) const
inline
bool reco::TrackBase::isAlgoInMask ( TrackAlgorithm  a) const
inline

Definition at line 365 of file TrackBase.h.

Referenced by BadGlobalMuonTagger::outInOnly().

bool reco::TrackBase::isLooper ( ) const
inline

Definition at line 872 of file TrackBase.h.

double reco::TrackBase::lambda ( ) const
inline

Lambda angle.

Definition at line 580 of file TrackBase.h.

double reco::TrackBase::lambdaError ( ) const
inline

error on lambda

Definition at line 773 of file TrackBase.h.

const TrackBase::Vector & reco::TrackBase::momentum ( ) const
inline
double reco::TrackBase::ndof ( ) const
inline

number of degrees of freedom of the fit

Definition at line 550 of file TrackBase.h.

Referenced by reco::TransientTrack::ndof(), and reco::TransientTrack::normalizedChi2().

signed char reco::TrackBase::nLoops ( ) const
inline

Definition at line 877 of file TrackBase.h.

double reco::TrackBase::normalizedChi2 ( ) const
inline
unsigned short reco::TrackBase::numberOfLostHits ( ) const
inline

number of cases where track crossed a layer without getting a hit.

Definition at line 821 of file TrackBase.h.

Referenced by TrackWithVertexSelector::testTrack().

unsigned short reco::TrackBase::numberOfValidHits ( ) const
inline
TrackBase::TrackAlgorithm reco::TrackBase::originalAlgo ( ) const
inline

Definition at line 496 of file TrackBase.h.

Referenced by RecoTrackSelectorBase::operator()().

double reco::TrackBase::p ( ) const
inline
double reco::TrackBase::parameter ( int  i) const
inline

i-th parameter ( i = 0, ... 4 )

Definition at line 734 of file TrackBase.h.

TrackBase::ParameterVector reco::TrackBase::parameters ( void  ) const
inline

Track parameters with one-to-one correspondence to the covariance matrix.

Definition at line 720 of file TrackBase.h.

double reco::TrackBase::phi ( ) const
inline
double reco::TrackBase::phiError ( ) const
inline

error on phi

Definition at line 785 of file TrackBase.h.

double reco::TrackBase::pt ( void  ) const
inline
double reco::TrackBase::ptError ( ) const
inline

error on Pt (set to 1000 TeV if charge==0 for safety)

Definition at line 758 of file TrackBase.h.

Referenced by TrackWithVertexSelector::testTrack().

double reco::TrackBase::px ( ) const
inline
double reco::TrackBase::py ( ) const
inline
double reco::TrackBase::pz ( ) const
inline
double reco::TrackBase::qoverp ( ) const
inline

q / p

Definition at line 568 of file TrackBase.h.

Referenced by spr::goodTrack().

double reco::TrackBase::qoverpError ( ) const
inline

error on signed transverse curvature

Definition at line 752 of file TrackBase.h.

Referenced by spr::goodTrack().

bool reco::TrackBase::quality ( const TrackQuality  ) const
inline
TrackBase::TrackQuality TrackBase::qualityByName ( const std::string &  name)
static

Definition at line 125 of file TrackBase.cc.

References spr::find(), qualityNames, qualitySize, findQualityFiles::size, and undefQuality.

Referenced by FilterOutScraping::filter(), TrackIsoCalculator::getBkgSubTrackIso(), TrackIsoCalculator::getTrackIso(), LightPFTrackProducer::LightPFTrackProducer(), MuonTrackCut::MuonTrackCut(), TrackClassFilter::operator()(), PromptTrackCountingComputer::PromptTrackCountingComputer(), RecoTrackSelectorBase::RecoTrackSelectorBase(), L1Analysis::L1AnalysisRecoTrack::SetTracks(), TemplatedJetProbabilityComputer< Container, Base >::TemplatedJetProbabilityComputer(), TemplatedTrackCountingComputer< Container, Base >::TemplatedTrackCountingComputer(), TrackWithVertexSelector::testTrack(), TrackExtrapolator::TrackExtrapolator(), TrackFilterForPVFinding::TrackFilterForPVFinding(), and reco::TrackSelector::TrackSelector().

126 {
129  if (index == size) {
130  return undefQuality; // better this or throw() ?
131  }
132 
133  // cast
134  return TrackQuality(index);
135 }
unsigned int index
index type
Definition: TrackBase.h:95
TrackQuality
track quality
Definition: TrackBase.h:151
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
static const std::string qualityNames[]
Definition: TrackBase.h:164
This class analyses the reconstruction quality for a given track.
Definition: TrackQuality.h:28
tuple size
Write out results.
int reco::TrackBase::qualityMask ( ) const
inline

Definition at line 857 of file TrackBase.h.

std::string reco::TrackBase::qualityName ( TrackQuality  q)
inlinestatic

Definition at line 527 of file TrackBase.h.

const TrackBase::Point & reco::TrackBase::referencePoint ( ) const
inline

Reference point on the track.

Definition at line 676 of file TrackBase.h.

Referenced by SeedFromProtoTrack::init(), and PrintRecoObjects::print().

void reco::TrackBase::resetHitPattern ( )
inline

Sets HitPattern as empty.

Definition at line 468 of file TrackBase.h.

void reco::TrackBase::setAlgoMask ( AlgoMask  a)
inline

Definition at line 361 of file TrackBase.h.

void reco::TrackBase::setAlgorithm ( const TrackAlgorithm  a)
inline

Track algorithm.

Definition at line 842 of file TrackBase.h.

void reco::TrackBase::setNLoops ( signed char  value)
inline

Definition at line 867 of file TrackBase.h.

void reco::TrackBase::setOriginalAlgorithm ( const TrackAlgorithm  a)
inline

Definition at line 849 of file TrackBase.h.

void reco::TrackBase::setQuality ( const TrackQuality  )
inline

Definition at line 518 of file TrackBase.h.

Referenced by TrackBase().

void reco::TrackBase::setQualityMask ( int  qualMask)
inline

Definition at line 862 of file TrackBase.h.

void reco::TrackBase::setStopReason ( uint8_t  value)
inline

Definition at line 397 of file TrackBase.h.

uint8_t reco::TrackBase::stopReason ( ) const
inline

Definition at line 399 of file TrackBase.h.

double reco::TrackBase::theta ( ) const
inline

polar angle

Definition at line 574 of file TrackBase.h.

Referenced by Tau.Tau::zImpact().

double reco::TrackBase::thetaError ( ) const
inline

error on theta

Definition at line 767 of file TrackBase.h.

double reco::TrackBase::validFraction ( ) const
inline

fraction of valid hits on the track

Definition at line 827 of file TrackBase.h.

const TrackBase::Point & reco::TrackBase::vertex ( ) const
inline
double reco::TrackBase::vx ( ) const
inline

x coordinate of the reference point on track

Definition at line 652 of file TrackBase.h.

Referenced by FWSecVertexProxyBuilder::build(), directionAlongMomentum(), fw::estimate_field(), and TrackExtrapolator::propagateTrackToVolume().

double reco::TrackBase::vy ( ) const
inline

y coordinate of the reference point on track

Definition at line 658 of file TrackBase.h.

Referenced by FWSecVertexProxyBuilder::build(), directionAlongMomentum(), fw::estimate_field(), and TrackExtrapolator::propagateTrackToVolume().

double reco::TrackBase::vz ( ) const
inline

Member Data Documentation

std::bitset<algoSize> reco::TrackBase::algoMask_
private

algo mask, bit set for the algo where it was reconstructed + each algo a track was found overlapping by the listmerger

Definition at line 419 of file TrackBase.h.

Referenced by TrackBase().

std::string const TrackBase::algoNames
static

Definition at line 148 of file TrackBase.h.

Referenced by algoByName().

uint8_t reco::TrackBase::algorithm_
private

track algorithm

Definition at line 428 of file TrackBase.h.

Referenced by TrackBase().

char reco::TrackBase::charge_
private

electric charge

Definition at line 425 of file TrackBase.h.

float reco::TrackBase::chi2_
private

chi-squared

Definition at line 410 of file TrackBase.h.

float reco::TrackBase::covariance_[covarianceSize]
private

perigee 5x5 covariance matrix

Definition at line 407 of file TrackBase.h.

Referenced by fill(), and TrackBase().

HitPattern reco::TrackBase::hitPattern_
private

hit pattern

Definition at line 404 of file TrackBase.h.

Vector reco::TrackBase::momentum_
private

momentum vector at innermost point

Definition at line 416 of file TrackBase.h.

float reco::TrackBase::ndof_
private

number of degrees of freedom

Definition at line 422 of file TrackBase.h.

signed char reco::TrackBase::nLoops_
private

number of loops made during the building of the trajectory of a looper particle

Definition at line 438 of file TrackBase.h.

uint8_t reco::TrackBase::originalAlgorithm_
private

track algorithm

Definition at line 431 of file TrackBase.h.

uint8_t reco::TrackBase::quality_
private

track quality

Definition at line 435 of file TrackBase.h.

std::string const TrackBase::qualityNames
static
Initial value:
= {
"loose",
"tight",
"highPurity",
"confirmed",
"goodIterative",
"looseSetWithPV",
"highPuritySetWithPV",
"discarded"
}

Definition at line 164 of file TrackBase.h.

Referenced by qualityByName().

uint8_t reco::TrackBase::stopReason_
private

Stop Reason.

Definition at line 441 of file TrackBase.h.

Point reco::TrackBase::vertex_
private

innermost (reference) point on track

Definition at line 413 of file TrackBase.h.