CMS 3D CMS Logo

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::GsfTrack reco::TrackTransientTrack reco::GsfTransientTrack

List of all members.

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 math::Error< dimension >
::type 
CovarianceMatrix
 5 parameter covariance matrix
typedef unsigned int index
 index type
typedef math::Vector
< dimension >::type 
ParameterVector
 parameter vector
typedef math::XYZPoint Point
 point in the space
enum  TrackAlgorithm {
  undefAlgorithm = 0, ctf = 1, rs = 2, cosmics = 3,
  iter0 = 4, iter1 = 5, iter2 = 6, iter3 = 7,
  iter4 = 8, iter5 = 9, iter6 = 10, iter7 = 11,
  iter8 = 12, iter9 = 13, iter10 = 14, outInEcalSeededConv = 15,
  inOutEcalSeededConv = 16, nuclInter = 17, standAloneMuon = 18, globalMuon = 19,
  cosmicStandAloneMuon = 20, cosmicGlobalMuon = 21, iter1LargeD0 = 22, iter2LargeD0 = 23,
  iter3LargeD0 = 24, iter4LargeD0 = 25, iter5LargeD0 = 26, bTagGhostTracks = 27,
  beamhalo = 28, gsf = 29, algoSize = 30
}
 

track algorithm

More...
enum  TrackQuality {
  undefQuality = -1, loose = 0, tight = 1, highPurity = 2,
  confirmed = 3, goodIterative = 4, looseSetWithPV = 5, highPuritySetWithPV = 6,
  qualitySize = 7
}
 

track quality

More...
typedef math::XYZVector Vector
 spatial vector

Public Member Functions

TrackAlgorithm algo () const
std::string algoName () const
void appendHitPattern (const TrackingRecHit &hit)
int charge () const
 track electric charge
double chi2 () const
 chi-squared of the fit
CovarianceMatrix covariance () const
 return track covariance matrix
double covariance (int i, int j) const
 (i,j)-th element of covarianve matrix ( i, j = 0, ... 4 )
double d0 () const
 dxy parameter in perigee convention (d0 = - dxy)
double d0Error () const
 error on d0
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)
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.
double dszError () const
 error on dsz
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) below.
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.
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.
double dxyError () const
 error on dxy
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) below.
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.
double dzError () const
 error on dz
double error (int i) const
 error on specified element
double eta () const
 pseudorapidity of momentum vector
double etaError () const
 error on eta
CovarianceMatrixfill (CovarianceMatrix &v) const
 fill SMatrix
const HitPatternhitPattern () const
 Access the hit pattern, indicating in which Tracker layers the track has hits.
bool isLooper () const
double lambda () const
 Lambda angle.
double lambdaError () const
 error on lambda
const Vectormomentum () const
 track momentum vector
double ndof () const
 number of degrees of freedom of the fit
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)
unsigned short numberOfLostHits () const
 number of cases where track crossed a layer without getting a hit.
unsigned short numberOfValidHits () const
 number of valid hits found
double p () const
 momentum vector magnitude
double parameter (int i) const
 i-th parameter ( i = 0, ... 4 )
ParameterVector parameters () const
 Track parameters with one-to-one correspondence to the covariance matrix.
double phi () const
 azimuthal angle of momentum vector
double phiError () const
 error on phi
double pt () const
 track transverse momentum
double ptError () const
 error on Pt (set to 1000 TeV if charge==0 for safety)
double px () const
 x coordinate of momentum vector
double py () const
 y coordinate of momentum vector
double pz () const
 z coordinate of momentum vector
double qoverp () const
 q/p
double qoverpError () const
 error on signed transverse curvature
bool quality (const TrackQuality) const
 Track quality.
int qualityMask () const
const PointreferencePoint () const
 Reference point on the track.
void setAlgorithm (const TrackAlgorithm a, bool set=true)
 position index
void setHitPattern (const HitPattern &hitP)
 set hitPattern from pre-defined hitPattern
template<typename C >
void setHitPattern (const C &c)
 set hit patterns from vector of hit references
template<typename I >
void setHitPattern (const I &begin, const I &end)
void setHitPattern (const TrackingRecHit &hit, size_t i)
 set hit pattern for specified hit
void setNLoops (signed char value)
void setQuality (const TrackQuality, bool set=true)
void setQualityMask (int qualMask)
template<typename C >
void setTrackerExpectedHitsInner (const C &c)
template<typename I >
void setTrackerExpectedHitsInner (const I &begin, const I &end)
void setTrackerExpectedHitsInner (const TrackingRecHit &hit, size_t i)
void setTrackerExpectedHitsInner (const HitPattern &hitP)
void setTrackerExpectedHitsOuter (const HitPattern &hitP)
template<typename I >
void setTrackerExpectedHitsOuter (const I &begin, const I &end)
template<typename C >
void setTrackerExpectedHitsOuter (const C &c)
void setTrackerExpectedHitsOuter (const TrackingRecHit &hit, size_t i)
double theta () const
 polar angle
double thetaError () const
 error on theta
 TrackBase ()
 default constructor
 TrackBase (double chi2, double ndof, const Point &referencePoint, const Vector &momentum, int charge, const CovarianceMatrix &, TrackAlgorithm=undefAlgorithm, TrackQuality quality=undefQuality, signed char nloops=0)
 constructor from fit parameters and error matrix
const HitPatterntrackerExpectedHitsInner () const
 Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the first trajectory's hit.
const HitPatterntrackerExpectedHitsOuter () const
 Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last trajectory's hit.
double validFraction () const
 fraction of valid hits on the track
const Pointvertex () const
 reference point on the track. This method is DEPRECATED, please use referencePoint() instead
double vx () const
 x coordinate of the reference point on track
double vy () const
 y coordinate of the reference point on track
double vz () const
 z coordinate of the reference point on track
 ~TrackBase ()
 virtual destructor

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
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 [] = { "loose", "tight", "highPurity", "confirmed", "goodIterative", "looseSetWithPV", "highPuritySetWithPV"}

Private Attributes

uint8_t algorithm_
 track algorithm
char charge_
 electric charge
float chi2_
 chi-squared
float covariance_ [covarianceSize]
 perigee 5x5 covariance matrix
HitPattern hitPattern_
 hit pattern
Vector momentum_
 momentum vector at innermost point
float ndof_
 number of degrees of freedom
signed char nLoops_
 number of loops made during the building of the trajectory of a looper particle
uint8_t quality_
 track quality
HitPattern trackerExpectedHitsInner_
 hit pattern used for expected crossed layers after the last trajectory's hit
HitPattern trackerExpectedHitsOuter_
 hit pattern used for expected crossed layers before the first trajectory's hit
Point vertex_
 innermost (reference) point on track

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
Version:
Id:
TrackBase.h,v 1.87 2012/04/26 10:12:39 bellan Exp

Definition at line 63 of file TrackBase.h.


Member Typedef Documentation

5 parameter covariance matrix

Definition at line 72 of file TrackBase.h.

typedef unsigned int reco::TrackBase::index

index type

Definition at line 80 of file TrackBase.h.

parameter vector

Definition at line 70 of file TrackBase.h.

point in the space

Definition at line 76 of file TrackBase.h.

spatial vector

Definition at line 74 of file TrackBase.h.


Member Enumeration Documentation

anonymous enum

parameter dimension

Enumerator:
dimension 

Definition at line 66 of file TrackBase.h.

{ dimension = 5 };
anonymous enum

error matrix size

Enumerator:
covarianceSize 

Definition at line 68 of file TrackBase.h.

{ covarianceSize = dimension * ( dimension + 1 ) / 2 };
anonymous enum

enumerator provided indices to the five parameters

Enumerator:
i_qoverp 
i_lambda 
i_phi 
i_dxy 
i_dsz 

Definition at line 78 of file TrackBase.h.

track algorithm

Enumerator:
undefAlgorithm 
ctf 
rs 
cosmics 
iter0 
iter1 
iter2 
iter3 
iter4 
iter5 
iter6 
iter7 
iter8 
iter9 
iter10 
outInEcalSeededConv 
inOutEcalSeededConv 
nuclInter 
standAloneMuon 
globalMuon 
cosmicStandAloneMuon 
cosmicGlobalMuon 
iter1LargeD0 
iter2LargeD0 
iter3LargeD0 
iter4LargeD0 
iter5LargeD0 
bTagGhostTracks 
beamhalo 
gsf 
algoSize 

Definition at line 82 of file TrackBase.h.

track quality

Enumerator:
undefQuality 
loose 
tight 
highPurity 
confirmed 
goodIterative 
looseSetWithPV 
highPuritySetWithPV 
qualitySize 

Definition at line 95 of file TrackBase.h.


Constructor & Destructor Documentation

TrackBase::TrackBase ( )

default constructor

Definition at line 20 of file TrackBase.cc.

References covariance_, dimension, i, and j.

                     :
  chi2_(0), vertex_(0,0,0), momentum_(0,0,0), ndof_(0), charge_(0), algorithm_(undefAlgorithm), quality_(0), nLoops_(0) {
  index idx = 0;
  for( index i = 0; i < dimension; ++ i )
    for( index j = 0; j <= i; ++ j )
      covariance_[ idx ++ ]=0;
}
TrackBase::TrackBase ( double  chi2,
double  ndof,
const Point referencePoint,
const Vector momentum,
int  charge,
const CovarianceMatrix cov,
TrackAlgorithm  algorithm = undefAlgorithm,
TrackQuality  quality = undefQuality,
signed char  nloops = 0 
)

constructor from fit parameters and error matrix

Definition at line 28 of file TrackBase.cc.

References covariance_, dimension, i, j, and setQuality().

                                                                                          :
  chi2_( chi2 ), vertex_( vertex ), momentum_( momentum ), ndof_( ndof ), charge_( charge ), algorithm_(algorithm), quality_(0), nLoops_(nloops) {
  index idx = 0;
  for( index i = 0; i < dimension; ++ i )
    for( index j = 0; j <= i; ++ j )
      covariance_[ idx ++ ] = cov( i, j );
  setQuality(quality);
}
TrackBase::~TrackBase ( )

virtual destructor

Definition at line 39 of file TrackBase.cc.

                      {
}

Member Function Documentation

TrackBase::TrackAlgorithm reco::TrackBase::algo ( ) const [inline]
TrackBase::TrackAlgorithm TrackBase::algoByName ( const std::string &  name) [static]
std::string reco::TrackBase::algoName ( ) const [inline]

Definition at line 336 of file TrackBase.h.

References algorithm_, beamhalo, bTagGhostTracks, cosmicGlobalMuon, cosmics, cosmicStandAloneMuon, ctf, globalMuon, gsf, inOutEcalSeededConv, iter0, iter1, iter10, iter1LargeD0, iter2, iter2LargeD0, iter3, iter3LargeD0, iter4, iter4LargeD0, iter5, iter5LargeD0, iter6, iter7, iter8, iter9, nuclInter, outInEcalSeededConv, rs, standAloneMuon, and undefAlgorithm.

                                            {
    // I'd like to do:
    // return TrackBase::algoName(algorithm_);
    // but I cannot define a const static function. Why???

    switch(algorithm_)
      {
      case undefAlgorithm: return "undefAlgorithm";
      case ctf: return "ctf";
      case rs: return "rs";
      case cosmics: return "cosmics";
      case beamhalo: return "beamhalo";
      case iter0: return "iter0";
      case iter1: return "iter1";
      case iter2: return "iter2";
      case iter3: return "iter3";
      case iter4: return "iter4";
      case iter5: return "iter5";
      case iter6: return "iter6";
      case iter7: return "iter7";
      case iter8: return "iter8";
      case iter9: return "iter9";
      case iter10: return "iter10";
      case outInEcalSeededConv: return "outInEcalSeededConv";
      case inOutEcalSeededConv: return "inOutEcalSeededConv";
      case nuclInter: return "nuclInter";
      case standAloneMuon: return "standAloneMuon";
      case globalMuon: return "globalMuon";
      case cosmicStandAloneMuon: return "cosmicStandAloneMuon";
      case cosmicGlobalMuon: return "cosmicGlobalMuon";
      case iter1LargeD0: return "iter1LargeD0";
      case iter2LargeD0: return "iter2LargeD0";
      case iter3LargeD0: return "iter3LargeD0";
      case iter4LargeD0: return "iter4LargeD0";
      case iter5LargeD0: return "iter5LargeD0";
      case bTagGhostTracks: return "bTagGhostTracks";
      case gsf: return "gsf";
      }
    return "undefAlgorithm";
  }
std::string reco::TrackBase::algoName ( TrackAlgorithm  a) [inline, static]

Definition at line 411 of file TrackBase.h.

References algoNames, and algoSize.

                                                      {
    if(int(a) < int(algoSize) && int(a)>0) return algoNames[int(a)];
    return "undefAlgorithm";
  }
void reco::TrackBase::appendHitPattern ( const TrackingRecHit hit) [inline]

Definition at line 261 of file TrackBase.h.

References reco::HitPattern::appendHit(), and hitPattern_.

{ hitPattern_.appendHit( hit); }
int reco::TrackBase::charge ( ) const [inline]

track electric charge

Reimplemented in reco::GsfTransientTrack, and reco::TrackTransientTrack.

Definition at line 113 of file TrackBase.h.

References charge_.

Referenced by PFTrackTransformer::addPoints(), PFTrackTransformer::addPointsAndBrems(), EwkMuLumiMonitorDQM::analyze(), AlignmentTrackSelector::basicCuts(), FWVertexProxyBuilder::build(), FWSecVertexProxyBuilder::build(), Tau3MuReco::check4MuonTrack(), AlignmentTwoBodyDecayTrackSelector::checkCharge(), converter::StandAloneMuonTrackToCandidate::convert(), converter::TrackToCandidate::convert(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), IdealHelixParameters::evalCircleCenter(), MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos(), TrackAnalyzer::fillHistosForState(), TrackerValidationVariables::fillTrackQuantities(), cms::HICFTSfromL1orL2::FTSfromStandAlone(), ConversionFinder::getConversionInfo(), HTrackAssociator::getFreeTrajectoryState(), TrackDetectorAssociator::getFreeTrajectoryState(), AlCaHOCalibProducer::getFreeTrajectoryState(), VZeroFinder::getGlobalTrajectoryParameters(), PFDisplacedVertexCandidateFinder::getGlobalTrajectoryParameters(), FWPFTrackUtils::getTrack(), ValidHitPairFilter::getTrajectory(), EcalShowerProperties::getTrajectoryAtOuterPoint(), PlotRecTracks::getTrajectoryAtOuterPoint(), SeedFromProtoTrack::init(), HLTmmkkFilter::initialFreeState(), HLTmmkFilter::initialFreeState(), trajectoryStateTransform::initialFreeState(), trajectoryStateTransform::innerFreeState(), PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::inspectTrack(), MuonIdProducer::makeMuon(), MuonErrorMatrixAdjuster::makeTrack(), MatcherByPullsAlgorithm::match(), muonisolation::CaloExtractor::MuonAtCaloPosition(), trajectoryStateTransform::outerFreeState(), fireworks::prepareTrack(), PrintRecoObjects::print(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack(), MuonAlignmentFromReference::processMuonResidualsFromTrack(), AlignmentMonitorSegmentDifferences::processMuonResidualsFromTrack(), AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), QuarkoniaTrackSelector::produce(), SiStripElectronAssociator::produce(), ConversionSeedFilter::produce(), ShallowTracksProducer::produce(), spr::propagateECAL(), spr::propagateHCAL(), spr::propagateTracker(), spr::propagateTrackerEnd(), spr::propagateTrackToECAL(), spr::propagateTrackToHCAL(), TrackExtrapolator::propagateTrackToVolume(), ptError(), qoverp(), PFAlgo::reconstructTrack(), MuonDTLocalMillepedeAlgorithm::run(), FWConvTrackHitsDetailView::setTextInfo(), and FWTrackHitsDetailView::setTextInfo().

{ return charge_; }
double reco::TrackBase::chi2 ( void  ) const [inline]
double reco::TrackBase::covariance ( int  i,
int  j 
) const [inline]

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

Definition at line 187 of file TrackBase.h.

References covariance_, and covIndex().

{ return covariance_[ covIndex( i, j ) ]; }
CovarianceMatrix reco::TrackBase::covariance ( void  ) const [inline]
TrackBase::index reco::TrackBase::covIndex ( index  i,
index  j 
) [inline, static]

covariance matrix index in array

Definition at line 327 of file TrackBase.h.

References a, b, and j.

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

                                                               {
    int a = ( i <= j ? i : j ), b = ( i <= j ? j : i );
    return b * ( b + 1 ) / 2 + a;
  }
double reco::TrackBase::d0 ( ) const [inline]
double reco::TrackBase::d0Error ( ) const [inline]
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 125 of file TrackBase.h.

References p(), pt(), px(), py(), pz(), vx(), vy(), and vz().

Referenced by CosmicSplitterValidation::is_gold_muon(), MatcherByPullsAlgorithm::match(), muonisolation::CaloExtractor::MuonAtCaloPosition(), RecoTrackSelector::operator()(), parameters(), ShallowTracksProducer::produce(), RecoTracktoTP::r_dsz(), TPtoRecoTrack::rA_dsz(), and TPtoRecoTrack::rB_dsz().

{ return vz()*pt()/p() - (vx()*px()+vy()*py())/pt() * pz()/p(); }
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 169 of file TrackBase.h.

References p(), pt(), px(), py(), pz(), vx(), vy(), and vz().

                                              { 
      return (vz()-myBeamSpot.z())*pt()/p() - ((vx()-myBeamSpot.x())*px()+(vy()-myBeamSpot.y())*py())/pt() *pz()/p(); 
    }
double reco::TrackBase::dszError ( ) const [inline]

error on dsz

Definition at line 213 of file TrackBase.h.

References error(), and i_dsz.

Referenced by ShallowTracksProducer::produce().

{ return error( i_dsz ); }
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) below.

Definition at line 121 of file TrackBase.h.

References pt(), px(), py(), vx(), and vy().

Referenced by HLTMuonMatchAndPlot::analyze(), CheckHitPattern::analyze(), EwkMuLumiMonitorDQM::analyze(), TrackAnalyzer::analyze(), GenPurposeSkimmerData::analyze(), IsolatedTracksNxN::analyze(), PatTrackAnalyzer::analyze(), d0(), KalmanAlignmentTrackRefitter::debugTrackData(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), dxy(), PFDisplacedVertexHelper::TracksSelector::dxy(), AlignmentMonitorSegmentDifferences::event(), AlignmentMonitorMuonVsCurvature::event(), AlignmentMonitorMuonSystemMap1D::event(), MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos(), MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), HLTMuonTrackMassFilter::hltFilter(), PFDisplacedVertexHelper::isTrackSelected(), MatcherByPullsAlgorithm::match(), muonisolation::CaloExtractor::MuonAtCaloPosition(), HIProtoTrackFilter::operator()(), RecoTrackSelector::operator()(), HIPixelTrackFilter::operator()(), parameters(), PrintRecoObjects::print(), TriggerMatcherToHLTDebug::produce(), ShallowTracksProducer::produce(), TrackIPProducer::produce(), RecoTracktoTP::r_d02(), RecoTracktoTP::r_dxy(), TPtoRecoTrack::rA_d02(), TPtoRecoTrack::rA_dxy(), TPtoRecoTrack::rB_d02(), TPtoRecoTrack::rB_dxy(), MuonAlignmentFromReference::run(), reco::modules::CosmicTrackSelector::select(), pf2pat::IPCutPFCandidateSelectorDefinition::select(), ora::QueryableVector< Item >::select(), HLTMuonMatchAndPlot::selectedMuons(), TrackWithVertexSelector::testVertices(), reco::modules::TrackMultiSelector::testVtx(), and QcdUeDQM::trackSelection().

{ return ( - vx() * py() + vy() * px() ) / pt(); }
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 159 of file TrackBase.h.

References pt(), px(), py(), vx(), and vy().

                                              { 
      return ( - (vx()-myBeamSpot.x()) * py() + (vy()-myBeamSpot.y()) * px() ) / pt(); 
    }
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 164 of file TrackBase.h.

References dxy(), reco::BeamSpot::position(), and vz().

                                                  { 
      return dxy(theBeamSpot.position(vz()));
    }
double reco::TrackBase::dxyError ( ) const [inline]
double reco::TrackBase::dz ( ) const [inline]

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) below.

Definition at line 127 of file TrackBase.h.

References pt(), px(), py(), pz(), vx(), vy(), and vz().

Referenced by TrackSplittingMonitor::analyze(), HLTMuonMatchAndPlot::analyze(), CheckHitPattern::analyze(), TrackAnalyzer::analyze(), CosmicSplitterValidation::analyze(), IsolatedTracksNxN::analyze(), AlignmentTrackSelector::basicCuts(), KalmanAlignmentTrackRefitter::debugTrackData(), AlignmentMonitorGeneric::event(), MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos(), MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(), MillePedeMonitor::fillTrack(), TrackerValidationVariables::fillTrackQuantities(), PFTauVertexSelector::filter(), ConversionFinder::getConversionInfo(), spr::goodTrack(), HLTMuonTrackMassFilter::hltFilter(), muonisolation::CaloExtractor::MuonAtCaloPosition(), HIPixelTrackFilter::operator()(), JetTracksAssociationDRVertexAssigned::produce(), TriggerMatcherToHLTDebug::produce(), TrackIPProducer::produce(), fireworks::pushPixelHits(), RecoTracktoTP::r_dz(), RecoTracktoTP::r_dz2(), TPtoRecoTrack::rA_dz(), TPtoRecoTrack::rA_dz2(), TPtoRecoTrack::rB_dz(), TPtoRecoTrack::rB_dz2(), HIPAlignmentAlgorithm::run(), reco::modules::CosmicTrackSelector::select(), pf2pat::IPCutPFCandidateSelectorDefinition::select(), ora::QueryableVector< Item >::select(), HLTMuonMatchAndPlot::selectedMuons(), PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::selectPriVtxCompatibleWithTrack(), TrackWithVertexSelector::testTrack(), TrackWithVertexSelector::testVertices(), reco::modules::TrackMultiSelector::testVtx(), and QcdUeDQM::trackSelection().

{ return vz() - (vx()*px()+vy()*py())/pt() * (pz()/pt()); }
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 173 of file TrackBase.h.

References pt(), px(), py(), pz(), vx(), vy(), and vz().

                                             { 
      return (vz()-myBeamSpot.z()) - ((vx()-myBeamSpot.x())*px()+(vy()-myBeamSpot.y())*py())/pt() * pz()/pt(); 
    }
double reco::TrackBase::dzError ( ) const [inline]
double reco::TrackBase::error ( int  i) const [inline]

error on specified element

Definition at line 189 of file TrackBase.h.

References covariance_, covIndex(), and mathSSE::sqrt().

Referenced by d0Error(), dszError(), dxyError(), dzError(), etaError(), lambdaError(), phiError(), TriggerMatcherToHLTDebug::produce(), qoverpError(), and thetaError().

{ return sqrt( covariance_[ covIndex( i, i ) ] ); }
double reco::TrackBase::eta ( ) const [inline]

pseudorapidity of momentum vector

Definition at line 141 of file TrackBase.h.

References momentum_.

Referenced by DeDxDiscriminatorLearner::algoAnalyze(), SiStripGainFromData::algoAnalyze(), CheckHitPattern::analyze(), EwkMuLumiMonitorDQM::analyze(), TrackAnalyzer::analyze(), SegmentTrackAnalyzer::analyze(), CosmicSplitterValidation::analyze(), GenPurposeSkimmerData::analyze(), SiPixelLorentzAngle::analyze(), IsolatedTracksCone::analyze(), IsolatedTracksNxN::analyze(), GetTrackTrajInfo::analyze(), PatTrackAnalyzer::analyze(), CalibrationTrackSelector::basicCuts(), AlignmentTrackSelector::basicCuts(), FWTrackProxyBuilder::build(), pat::CaloIsolationEnergy::calculate(), JetPlusTrackProducerAA::calculateBGtracksJet(), spr::chargeIsolationHcal(), compEcalEnergySum(), compHcalEnergySum(), KalmanAlignmentTrackRefitter::debugTrackData(), muonisolation::PixelTrackExtractor::deposit(), muonisolation::ExtractorFromDeposits::deposit(), muonisolation::JetExtractor::deposit(), muonisolation::CaloExtractorByAssociator::deposit(), muonisolation::CaloExtractor::deposit(), muonisolation::TrackExtractor::deposit(), PFCandWithSuperClusterExtractor::depositFromObject(), muonisolation::CaloExtractorByAssociator::deposits(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), TrackAnalyzer::doTrackerSpecificFillHists(), PrimaryVertexAnalyzer4PU::dumpHitInfo(), MuonCaloCompatibility::evaluate(), AlignmentMonitorGeneric::event(), MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos(), MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(), MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos(), TrackAnalyzer::fillHistosForState(), JPTJetAnalyzer::fillTrackHistograms(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), TrackerValidationVariables::fillTrackQuantities(), reco::HcalNoiseInfoProducer::filltracks(), MuonAlignmentPreFilter::filter(), reco::CentralityProducer::filter(), PFElecTkProducer::FindPfRef(), MuonShowerInformationFiller::getCompatibleDets(), Tau3MuReco::getDeltaR(), MuonIdProducer::isGoodTrack(), MatcherByPullsAlgorithm::match(), HSCPTrackSelector::matchingMuon(), TrackClassFilter::operator()(), RecoTrackSelector::operator()(), TrackClassMatch::operator()(), PrimaryVertexAnalyzer4PU::printEventSummary(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), examples::TrackAnalysisAlgorithm::process(), SoftElectronProducer::produce(), QuarkoniaTrackSelector::produce(), JetTracksAssociationDRVertexAssigned::produce(), reco::modules::AnalyticalTrackSelector::produce(), L3MuonIsolationProducer::produce(), JetVetoedTracksAssociationDRVertex::produce(), JetTracksAssociationDRVertex::produce(), L3MuonCombinedRelativeIsolationProducer::produce(), TriggerMatcherToHLTDebug::produce(), ShallowTracksProducer::produce(), DeDxDiscriminatorProducer::produce(), fireworks::pushPixelHits(), SoftLepton::refineJetAxis(), SimpleCutsIsolator::result(), CutsIsolatorWithCorrection::result(), HIPAlignmentAlgorithm::run(), MuonDTLocalMillepedeAlgorithm::run(), MuonMillepedeAlgorithm::run(), reco::modules::CosmicTrackSelector::select(), ora::QueryableVector< Item >::select(), FWConvTrackHitsDetailView::setTextInfo(), FWTrackHitsDetailView::setTextInfo(), FWPFTrackUtils::setupLegoTrack(), FWPFTrackUtils::setupTrack(), reco::SoftLeptonTagInfo::taggingVariables(), TrackWithVertexSelector::testTrack(), EwkMuLumiMonitorDQM::tkIso(), QcdUeDQM::trackSelection(), muonisolation::TrackExtractor::vetos(), muonisolation::PixelTrackExtractor::vetos(), and egammaisolation::EgammaTrackExtractor::vetos().

{ return momentum_.Eta(); }
double reco::TrackBase::etaError ( ) const [inline]

error on eta

Definition at line 205 of file TrackBase.h.

References error(), i_lambda, p(), and pt().

Referenced by TrackAnalyzer::fillHistosForState(), and ShallowTracksProducer::produce().

{ return error( i_lambda ) * p()/pt(); }
TrackBase::CovarianceMatrix & TrackBase::fill ( CovarianceMatrix v) const

fill SMatrix

Reimplemented in reco::GsfTrack.

Definition at line 42 of file TrackBase.cc.

References covariance_, and reco::fillCovariance().

Referenced by covariance().

                                                                        {
  return fillCovariance( v, covariance_ );
}
const HitPattern& reco::TrackBase::hitPattern ( ) const [inline]

Access the hit pattern, indicating in which Tracker layers the track has hits.

Definition at line 223 of file TrackBase.h.

References hitPattern_.

Referenced by CheckHitPattern::analyze(), TrackAnalyzer::analyze(), IsolatedTracksCone::analyze(), GetTrackTrajInfo::analyze(), IsolatedTracksNxN::analyze(), PatTrackAnalyzer::analyze(), spr::coneChargeIsolation(), TrackAnalyzer::doTrackerSpecificFillHists(), MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos(), TrackAnalyzer::fillHistosForState(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), reco::TransientTrack::hitPattern(), HLTTrackWithHits::hltFilter(), PFMuonAlgo::isTrackerTightMuon(), reco::TransientTrack::numberOfLostHits(), reco::TransientTrack::numberOfValidHits(), TrackClassFilter::operator()(), reco::TrackSelector::operator()(), RecoTrackSelector::operator()(), GhostTrackComputer::operator()(), TrackClassMatch::operator()(), FWTrackResidualDetailView::prepareData(), CheckHitPattern::print(), PFMuonAlgo::printMuonProperties(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), TrackIPProducer::produce(), TrackClusterRemover::produce(), PFAlgo::reconstructTrack(), reco::Track::residualX(), reco::Track::residualY(), HIPAlignmentAlgorithm::run(), reco::modules::CosmicTrackSelector::select(), reco::modules::TrackMultiSelector::select(), ora::QueryableVector< Item >::select(), FWConvTrackHitsDetailView::setTextInfo(), TrackWithVertexSelector::testTrack(), and QcdUeDQM::trackSelection().

{ return hitPattern_; }
bool reco::TrackBase::isLooper ( ) const [inline]

Definition at line 292 of file TrackBase.h.

References nLoops_.

{ return (nLoops_>0);}
double reco::TrackBase::lambda ( ) const [inline]
double reco::TrackBase::lambdaError ( ) const [inline]
const Vector& reco::TrackBase::momentum ( ) const [inline]
double reco::TrackBase::ndof ( ) const [inline]
signed char reco::TrackBase::nLoops ( ) const [inline]

Definition at line 293 of file TrackBase.h.

References nLoops_.

{return nLoops_;}
double reco::TrackBase::normalizedChi2 ( ) const [inline]

chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)

Definition at line 111 of file TrackBase.h.

References chi2_, and ndof_.

Referenced by TrackSplittingMonitor::analyze(), TrackAnalyzer::analyze(), CosmicSplitterValidation::analyze(), IsolatedTracksNxN::analyze(), helper::SimpleJetTrackAssociator::associate(), helper::SimpleJetTrackAssociator::associateTransient(), CalibrationTrackSelector::basicCuts(), AlignmentTrackSelector::basicCuts(), KalmanAlignmentTrackRefitter::debugTrackData(), AlignmentMonitorTracksFromTrajectories::event(), AlignmentMonitorGeneric::event(), MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(), MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos(), TrackAnalyzer::fillHistosForState(), MillePedeMonitor::fillTrack(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), TrackerValidationVariables::fillTrackQuantities(), spr::goodTrack(), HLTMuonTrackMassFilter::hltFilter(), PFDisplacedVertexHelper::isTrackSelected(), MuonResidualsFromTrack::normalizedChi2(), TrackClassFilter::operator()(), reco::TrackSelector::operator()(), RecoTrackSelector::operator()(), GhostTrackComputer::operator()(), TrackClassMatch::operator()(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack(), TrackIPProducer::produce(), HIPAlignmentAlgorithm::run(), MuonMillepedeAlgorithm::run(), reco::modules::CosmicTrackSelector::select(), reco::modules::TrackMultiSelector::select(), ora::QueryableVector< Item >::select(), reco::SoftLeptonTagInfo::taggingVariables(), TrackWithVertexSelector::testTrack(), and QcdUeDQM::trackSelection().

{ return ndof_ != 0 ? chi2_ / ndof_ : chi2_ * 1e6; }
unsigned short reco::TrackBase::numberOfLostHits ( ) const [inline]
unsigned short reco::TrackBase::numberOfValidHits ( ) const [inline]
double reco::TrackBase::p ( ) const [inline]

momentum vector magnitude

Definition at line 129 of file TrackBase.h.

References momentum_.

Referenced by PFTrackTransformer::addPoints(), DeDxDiscriminatorLearner::algoAnalyze(), SiStripGainFromData::algoAnalyze(), IsolatedTracksHcalScale::analyze(), EwkMuLumiMonitorDQM::analyze(), CosmicSplitterValidation::analyze(), IsolatedTracksCone::analyze(), IsolatedTracksNxN::analyze(), AlignmentTrackSelector::basicCuts(), HBHEHitMap::calcTracksNeighborTowers_(), HBHEHitMap::calcTracksSameTowers_(), pat::TrackerIsolationPt::calculate(), spr::chargeIsolation(), spr::chargeIsolationCone(), spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), spr::coneChargeIsolation(), dsz(), dzError(), etaError(), MuonCaloCompatibility::evaluate(), AlignmentMonitorSegmentDifferences::event(), AlignmentMonitorMuonVsCurvature::event(), AlignmentMonitorMuonSystemMap1D::event(), TrackAnalyzer::fillHistosForState(), TrackerValidationVariables::fillTrackQuantities(), reco::HcalNoiseInfoProducer::filltracks(), MuonAlignmentPreFilter::filter(), MuonShowerInformationFiller::getCompatibleDets(), ConversionFinder::getConversionInfo(), MuonIdProducer::isGoodTrack(), PFDisplacedVertexHelper::lambdaCP(), MuonIdProducer::makeMuon(), MuonIdTruthInfo::matchChi2(), muonid::matchTracks(), muonisolation::CaloExtractor::MuonAtCaloPosition(), TrackClassFilter::operator()(), TrackClassMatch::operator()(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), QuarkoniaTrackSelector::produce(), SoftElectronProducer::produce(), JetTracksAssociationDRVertexAssigned::produce(), SiStripElectronAssociator::produce(), JetVetoedTracksAssociationDRVertex::produce(), JetTracksAssociationDRVertex::produce(), ShallowTracksProducer::produce(), DeDxDiscriminatorProducer::produce(), ptError(), qoverp(), PFAlgo::reconstructTrack(), MuonTrackingRegionBuilder::region(), CSCOverlapsAlignmentAlgorithm::run(), HIPAlignmentAlgorithm::run(), MuonAlignmentFromReference::run(), MuonDTLocalMillepedeAlgorithm::run(), CandCommonVertexFitterBase::set(), PFCandCommonVertexFitterBase::set(), reco::SoftLeptonTagInfo::taggingVariables(), and reco::JetTracksAssociation::tracksP4().

{ return momentum_.R(); }
double reco::TrackBase::parameter ( int  i) const [inline]

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

Definition at line 185 of file TrackBase.h.

References i, and parameters().

Referenced by TriggerMatcherToHLTDebug::produce().

{ return parameters()[i]; }
ParameterVector reco::TrackBase::parameters ( void  ) const [inline]

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

Definition at line 178 of file TrackBase.h.

References dsz(), dxy(), lambda(), phi(), and qoverp().

Referenced by SiStripFineDelayHit::detId(), and parameter().

                                       { 
      return ParameterVector(qoverp(),lambda(),phi(),dxy(),dsz());
    }
double reco::TrackBase::phi ( ) const [inline]

azimuthal angle of momentum vector

Definition at line 139 of file TrackBase.h.

References momentum_.

Referenced by TrackSplittingMonitor::analyze(), TrackAnalyzer::analyze(), SegmentTrackAnalyzer::analyze(), CosmicSplitterValidation::analyze(), SiPixelLorentzAngle::analyze(), GenPurposeSkimmerData::analyze(), PatTrackAnalyzer::analyze(), CalibrationTrackSelector::basicCuts(), AlignmentTrackSelector::basicCuts(), pat::CaloIsolationEnergy::calculate(), JetPlusTrackProducerAA::calculateBGtracksJet(), spr::chargeIsolationHcal(), AlignmentTwoBodyDecayTrackSelector::checkAcoplanarity(), AlignmentTwoBodyDecayTrackSelector::checkMETAcoplanarity(), compEcalEnergySum(), compHcalEnergySum(), KalmanAlignmentTrackRefitter::debugTrackData(), muonisolation::PixelTrackExtractor::deposit(), muonisolation::ExtractorFromDeposits::deposit(), muonisolation::JetExtractor::deposit(), muonisolation::CaloExtractorByAssociator::deposit(), muonisolation::CaloExtractor::deposit(), muonisolation::TrackExtractor::deposit(), PFCandWithSuperClusterExtractor::depositFromObject(), muonisolation::CaloExtractorByAssociator::deposits(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), TrackAnalyzer::doTrackerSpecificFillHists(), AlignmentMonitorGeneric::event(), TrackAnalyzer::fillHistosForState(), JPTJetAnalyzer::fillTrackHistograms(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), TrackerValidationVariables::fillTrackQuantities(), PFElecTkProducer::FindPfRef(), MuonShowerInformationFiller::getCompatibleDets(), Tau3MuReco::getDeltaR(), MuonTrackValidator::getRecoMomentum(), MTVHistoProducerAlgoForTracker::getRecoMomentum(), CosmicSplitterValidation::is_gold_muon(), MatcherByPullsAlgorithm::match(), MuonIdTruthInfo::matchChi2(), HSCPTrackSelector::matchingMuon(), muonisolation::CaloExtractor::MuonAtCaloPosition(), parameters(), PrimaryVertexAnalyzer4PU::printEventSummary(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), JetTracksAssociationDRVertexAssigned::produce(), JetVetoedTracksAssociationDRVertex::produce(), JetTracksAssociationDRVertex::produce(), ShallowTracksProducer::produce(), SoftLepton::refineJetAxis(), HIPAlignmentAlgorithm::run(), MuonDTLocalMillepedeAlgorithm::run(), MuonMillepedeAlgorithm::run(), FWConvTrackHitsDetailView::setTextInfo(), FWTrackHitsDetailView::setTextInfo(), reco::SoftLeptonTagInfo::taggingVariables(), EwkMuLumiMonitorDQM::tkIso(), QcdUeDQM::trackSelection(), muonisolation::TrackExtractor::vetos(), muonisolation::PixelTrackExtractor::vetos(), and egammaisolation::EgammaTrackExtractor::vetos().

{ return momentum_.Phi(); }
double reco::TrackBase::phiError ( ) const [inline]
double reco::TrackBase::pt ( ) const [inline]

track transverse momentum

Definition at line 131 of file TrackBase.h.

References momentum_, and mathSSE::sqrt().

Referenced by PFTrackTransformer::addPoints(), PFTrackTransformer::addPointsAndBrems(), SiStripGainFromData::algoAnalyze(), TrackSplittingMonitor::analyze(), IsolatedTracksHcalScale::analyze(), EwkMuLumiMonitorDQM::analyze(), TrackAnalyzer::analyze(), SegmentTrackAnalyzer::analyze(), CosmicSplitterValidation::analyze(), GenPurposeSkimmerData::analyze(), SiPixelLorentzAngle::analyze(), IsolatedTracksCone::analyze(), IsolatedTracksNxN::analyze(), L25TauAnalyzer::analyze(), PatTrackAnalyzer::analyze(), TkConvValidator::analyze(), CalibrationTrackSelector::basicCuts(), AlignmentTrackSelector::basicCuts(), FWTrackProxyBuilder::build(), TrackProducerAlgorithm< reco::Track >::buildTrack(), Tau3MuReco::check4MuonTrack(), KalmanAlignmentTrackRefitter::debugTrackData(), muonisolation::PixelTrackExtractor::deposit(), muonisolation::CaloExtractor::deposit(), muonisolation::TrackExtractor::deposit(), PFCandWithSuperClusterExtractor::depositFromObject(), muonisolation::PixelTrackExtractor::directionAtPresetRadius(), dsz(), PrimaryVertexAnalyzer4PU::dumpHitInfo(), dxy(), dz(), dzError(), fw::estimate_field(), etaError(), AlignmentMonitorSegmentDifferences::event(), AlignmentMonitorMuonVsCurvature::event(), AlignmentMonitorMuonSystemMap1D::event(), AlignmentMonitorGeneric::event(), TrackAnalyzer::fillHistosForState(), MillePedeMonitor::fillTrack(), JPTJetAnalyzer::fillTrackHistograms(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), TrackerValidationVariables::fillTrackQuantities(), reco::HcalNoiseInfoProducer::filltracks(), MuonAlignmentPreFilter::filter(), reco::CentralityProducer::filter(), ConversionFinder::getConversionInfo(), MuonTrackValidator::getRecoMomentum(), MTVHistoProducerAlgoForTracker::getRecoMomentum(), JPTJetTesterUnCorr::getSumPt(), JPTJetTester::getSumPt(), spr::goodTrack(), MuonIdProducer::isGoodTrack(), PFDisplacedVertexHelper::isTrackSelected(), MatcherByPullsAlgorithm::match(), HSCPTrackSelector::matchingMuon(), muonid::matchTracks(), muonisolation::CaloExtractor::MuonAtCaloPosition(), HIProtoTrackFilter::operator()(), PixelTrackFilterByKinematics::operator()(), reco::TrackSelector::operator()(), RecoTrackSelector::operator()(), CalibrationTrackSelector::ComparePt::operator()(), HIPixelTrackFilter::operator()(), reco::Vertex::TrackEqual::operator()(), AlignmentTrackSelector::ComparePt::operator()(), fireworks::prepareTrack(), PrimaryVertexAnalyzer4PU::printEventSummary(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), examples::TrackAnalysisAlgorithm::process(), AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack(), MuonAlignmentFromReference::processMuonResidualsFromTrack(), AlignmentMonitorSegmentDifferences::processMuonResidualsFromTrack(), AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), QuarkoniaTrackSelector::produce(), SoftElectronProducer::produce(), reco::modules::AnalyticalTrackSelector::produce(), reco::modules::MultiTrackSelector::produce(), L3MuonCombinedRelativeIsolationProducer::produce(), TriggerMatcherToHLTDebug::produce(), ShallowTracksProducer::produce(), TrackIPProducer::produce(), ptError(), SoftLepton::refineJetAxis(), GlobalMuonRefitter::refit(), CutsIsolatorWithCorrection::result(), HIPAlignmentAlgorithm::run(), MuonAlignmentFromReference::run(), MuonDTLocalMillepedeAlgorithm::run(), MuonMillepedeAlgorithm::run(), reco::modules::CosmicTrackSelector::select(), reco::modules::TrackMultiSelector::select(), ora::QueryableVector< Item >::select(), reco::modules::HICaloCompatibleTrackSelector::selectByPFCands(), reco::modules::HICaloCompatibleTrackSelector::selectByTowers(), PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::selectPriVtxCompatibleWithTrack(), FWConvTrackHitsDetailView::setTextInfo(), FWTrackHitsDetailView::setTextInfo(), FWPFTrackUtils::setupLegoTrack(), FWPFTrackUtils::setupTrack(), TrackClusterSplitter::splitCluster(), TrackWithVertexSelector::testTrack(), EwkMuLumiMonitorDQM::tkIso(), reco::PFDisplacedVertex::trackPosition(), QcdUeDQM::trackSelection(), and ObjectValidator::validTrack().

{ return sqrt( momentum_.Perp2() ); }
double reco::TrackBase::ptError ( ) const [inline]
double reco::TrackBase::px ( ) const [inline]
double reco::TrackBase::py ( ) const [inline]
double reco::TrackBase::pz ( ) const [inline]
double reco::TrackBase::qoverp ( ) const [inline]
double reco::TrackBase::qoverpError ( ) const [inline]
bool reco::TrackBase::quality ( const TrackQuality  q) const [inline]
TrackBase::TrackQuality TrackBase::qualityByName ( const std::string &  name) [static]

Definition at line 46 of file TrackBase.cc.

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

Referenced by AlignmentTrackSelector::AlignmentTrackSelector(), reco::modules::AnalyticalTrackSelector::AnalyticalTrackSelector(), IsolatedTracksCone::analyze(), IsolatedTracksNxN::analyze(), PatTrackAnalyzer::analyze(), BeamFitter::BeamFitter(), CaloRecoTauTagInfoAlgorithm::CaloRecoTauTagInfoAlgorithm(), reco::CentralityProducer::CentralityProducer(), spr::chargeIsolation(), spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), spr::coneChargeIsolation(), reco::modules::CosmicTrackSelector::CosmicTrackSelector(), FilterOutScraping::filter(), IsolatedTracksHcalScale::IsolatedTracksHcalScale(), PFDisplacedVertexHelper::isTrackSelected(), JetBProbabilityComputer::JetBProbabilityComputer(), JetPlusTrackProducerAA::JetPlusTrackProducerAA(), JetProbabilityComputer::JetProbabilityComputer(), LightPFTrackProducer::LightPFTrackProducer(), reco::modules::MultiTrackSelector::MultiTrackSelector(), TrackClassFilter::operator()(), PFTrackProducer::PFTrackProducer(), IsolatedTracksNxN::printTrack(), IsolatedTracksCone::printTrack(), cms::SimpleTrackListMerger::produce(), FastTrackMerger::produce(), reco::modules::HICaloCompatibleTrackSelector::produce(), PromptTrackCountingComputer::PromptTrackCountingComputer(), spr::propagateCALO(), QcdUeDQM::QcdUeDQM(), QualityCutsAnalyzer::QualityCutsAnalyzer(), RecoTrackSelector::RecoTrackSelector(), SeedClusterRemover::SeedClusterRemover(), reco::modules::HICaloCompatibleTrackSelector::selectByPFCands(), reco::modules::HICaloCompatibleTrackSelector::selectByTowers(), TrackWithVertexSelector::testTrack(), TrackClusterRemover::TrackClusterRemover(), TrackCountingComputer::TrackCountingComputer(), TrackExtrapolator::TrackExtrapolator(), TrackFilterForPVFinding::TrackFilterForPVFinding(), cms::TrackListMerger::TrackListMerger(), reco::TrackSelector::TrackSelector(), V0Fitter::V0Fitter(), and VertexAssociatorByTracks::VertexAssociatorByTracks().

                                                                   {
  TrackQuality size = qualitySize;
  int index = std::find(qualityNames, qualityNames+size, name)-qualityNames;
  if(index == size) return undefQuality; // better this or throw() ?

  // cast
  return TrackQuality(index);
}
int reco::TrackBase::qualityMask ( ) const [inline]

Definition at line 286 of file TrackBase.h.

References quality_.

Referenced by PrimaryVertexAnalyzer4PU::fillTrackHistos(), and reco::modules::MultiTrackSelector::produce().

{ return quality_; }
std::string reco::TrackBase::qualityName ( TrackQuality  q) [inline, static]

Definition at line 406 of file TrackBase.h.

References qualityNames, and qualitySize.

Referenced by TkAlCaRecoMonitor::beginJob(), IsolatedTracksNxN::printTrack(), and IsolatedTracksCone::printTrack().

                                                        {
    if(int(q) < int(qualitySize) && int(q)>=0) return qualityNames[int(q)];
    return "undefQuality";
  }
const Point& reco::TrackBase::referencePoint ( ) const [inline]
void reco::TrackBase::setAlgorithm ( const TrackAlgorithm  a,
bool  set = true 
) [inline]

position index

Track algorithm

Definition at line 273 of file TrackBase.h.

References a, algorithm_, and undefAlgorithm.

Referenced by TrackProducerAlgorithm< reco::GsfTrack >::buildTrack(), and TrackListCombiner::produce().

void reco::TrackBase::setHitPattern ( const TrackingRecHit hit,
size_t  i 
) [inline]

set hit pattern for specified hit

Definition at line 260 of file TrackBase.h.

References hitPattern_, and reco::HitPattern::set().

{ hitPattern_.set( hit, i ); }
template<typename C >
void reco::TrackBase::setHitPattern ( const C &  c) [inline]
template<typename I >
void reco::TrackBase::setHitPattern ( const I &  begin,
const I &  end 
) [inline]

Definition at line 253 of file TrackBase.h.

References hitPattern_, and reco::HitPattern::set().

{ hitPattern_.set( begin, end ); }
void reco::TrackBase::setHitPattern ( const HitPattern hitP) [inline]

set hitPattern from pre-defined hitPattern

Definition at line 266 of file TrackBase.h.

References hitPattern_.

{hitPattern_ = hitP;}
void reco::TrackBase::setNLoops ( signed char  value) [inline]
void reco::TrackBase::setQuality ( const TrackQuality  q,
bool  set = true 
) [inline]

Definition at line 393 of file TrackBase.h.

References lumiQueryAPI::q, quality_, and undefQuality.

Referenced by TrackBase().

                                                                           {
    switch(q){
    case undefQuality: quality_=0;
    default: 
      {
        if (set)//regular OR if setting value to true
          quality_= quality_ | (1<<q) ;
        else // doing "half-XOR" if unsetting value
          quality_= quality_ & (~(1<<q));
      }
    }
  }
void reco::TrackBase::setQualityMask ( int  qualMask) [inline]

Definition at line 287 of file TrackBase.h.

References quality_.

Referenced by TrackProducerAlgorithm< reco::Track >::buildTrack().

{quality_ = qualMask;}
void reco::TrackBase::setTrackerExpectedHitsInner ( const HitPattern hitP) [inline]

Definition at line 267 of file TrackBase.h.

References trackerExpectedHitsInner_.

template<typename I >
void reco::TrackBase::setTrackerExpectedHitsInner ( const I &  begin,
const I &  end 
) [inline]

Definition at line 255 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsInner_.

void reco::TrackBase::setTrackerExpectedHitsInner ( const TrackingRecHit hit,
size_t  i 
) [inline]

Definition at line 262 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsInner_.

{ trackerExpectedHitsInner_.set( hit, i ); }
template<typename C >
void reco::TrackBase::setTrackerExpectedHitsInner ( const C &  c) [inline]

Definition at line 248 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsInner_.

{ trackerExpectedHitsInner_.set( c.begin(), c.end() ); }
template<typename I >
void reco::TrackBase::setTrackerExpectedHitsOuter ( const I &  begin,
const I &  end 
) [inline]

Definition at line 257 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsOuter_.

void reco::TrackBase::setTrackerExpectedHitsOuter ( const TrackingRecHit hit,
size_t  i 
) [inline]

Definition at line 263 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsOuter_.

{ trackerExpectedHitsOuter_.set( hit, i ); }
template<typename C >
void reco::TrackBase::setTrackerExpectedHitsOuter ( const C &  c) [inline]

Definition at line 250 of file TrackBase.h.

References reco::HitPattern::set(), and trackerExpectedHitsOuter_.

{ trackerExpectedHitsOuter_.set( c.begin(), c.end() ); }
void reco::TrackBase::setTrackerExpectedHitsOuter ( const HitPattern hitP) [inline]

Definition at line 268 of file TrackBase.h.

References trackerExpectedHitsOuter_.

double reco::TrackBase::theta ( ) const [inline]
double reco::TrackBase::thetaError ( ) const [inline]
const HitPattern& reco::TrackBase::trackerExpectedHitsInner ( ) const [inline]

Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the first trajectory's hit.

Definition at line 225 of file TrackBase.h.

References trackerExpectedHitsInner_.

Referenced by CheckHitPattern::analyze(), IsolatedTracksNxN::analyze(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), CheckHitPattern::print(), IsolatedTracksNxN::printTrack(), and FWConvTrackHitsDetailView::setTextInfo().

const HitPattern& reco::TrackBase::trackerExpectedHitsOuter ( ) const [inline]

Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last trajectory's hit.

Definition at line 227 of file TrackBase.h.

References trackerExpectedHitsOuter_.

Referenced by IsolatedTracksNxN::analyze(), PrimaryVertexAnalyzer4PU::fillTrackHistos(), spr::goodTrack(), PFDisplacedVertexHelper::isTrackSelected(), and IsolatedTracksNxN::printTrack().

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

fraction of valid hits on the track

Definition at line 236 of file TrackBase.h.

References hitPattern_, reco::HitPattern::numberOfLostTrackerHits(), reco::HitPattern::numberOfValidTrackerHits(), trackerExpectedHitsInner_, trackerExpectedHitsOuter_, and TrackValidation_HighPurity_cff::valid.

                                 {
      int valid = hitPattern_.numberOfValidTrackerHits();
      int lost  = hitPattern_.numberOfLostTrackerHits();
      int lostIn = trackerExpectedHitsInner_.numberOfLostTrackerHits();
      int lostOut = trackerExpectedHitsOuter_.numberOfLostTrackerHits();
      if ((valid+lost+lostIn+lostOut)==0) return -1;
      return valid/(1.0*(valid+lost+lostIn+lostOut));
    }
const Point& reco::TrackBase::vertex ( ) const [inline]
double reco::TrackBase::vx ( ) const [inline]
double reco::TrackBase::vy ( ) const [inline]
double reco::TrackBase::vz ( ) const [inline]

Member Data Documentation

std::string const TrackBase::algoNames [static]
Initial value:
 { "undefAlgorithm", "ctf", "rs", "cosmics", 
                                             "iter0", "iter1", "iter2","iter3","iter4","iter5","iter6","iter7","iter8","iter9","iter10",
                                             "outInEcalSeededConv","inOutEcalSeededConv",
                                             "nuclInter",
                                             "standAloneMuon","globalMuon","cosmicStandAloneMuon","cosmicGlobalMuon",
                                             "iter1LargeD0","iter2LargeD0","iter3LargeD0","iter4LargeD0","iter5LargeD0",
                                             "bTagGhostTracks", 
                                             "beamhalo" , 
                                             "gsf" }

Definition at line 92 of file TrackBase.h.

Referenced by algoByName(), and algoName().

uint8_t reco::TrackBase::algorithm_ [private]

track algorithm

Definition at line 318 of file TrackBase.h.

Referenced by algo(), algoName(), and setAlgorithm().

char reco::TrackBase::charge_ [private]

electric charge

Definition at line 316 of file TrackBase.h.

Referenced by charge().

float reco::TrackBase::chi2_ [private]

chi-squared

Definition at line 306 of file TrackBase.h.

Referenced by chi2(), and normalizedChi2().

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

perigee 5x5 covariance matrix

Definition at line 304 of file TrackBase.h.

Referenced by covariance(), error(), fill(), and TrackBase().

momentum vector at innermost point

Definition at line 310 of file TrackBase.h.

Referenced by eta(), lambda(), momentum(), p(), phi(), pt(), px(), py(), pz(), and theta().

float reco::TrackBase::ndof_ [private]

number of degrees of freedom

Definition at line 313 of file TrackBase.h.

Referenced by ndof(), and normalizedChi2().

signed char reco::TrackBase::nLoops_ [private]

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

Definition at line 323 of file TrackBase.h.

Referenced by isLooper(), nLoops(), and setNLoops().

uint8_t reco::TrackBase::quality_ [private]

track quality

Definition at line 320 of file TrackBase.h.

Referenced by quality(), qualityMask(), setQuality(), and setQualityMask().

std::string const TrackBase::qualityNames = { "loose", "tight", "highPurity", "confirmed", "goodIterative", "looseSetWithPV", "highPuritySetWithPV"} [static]

Definition at line 96 of file TrackBase.h.

Referenced by qualityByName(), and qualityName().

hit pattern used for expected crossed layers after the last trajectory's hit

Definition at line 299 of file TrackBase.h.

Referenced by setTrackerExpectedHitsInner(), trackerExpectedHitsInner(), and validFraction().

hit pattern used for expected crossed layers before the first trajectory's hit

Definition at line 301 of file TrackBase.h.

Referenced by setTrackerExpectedHitsOuter(), trackerExpectedHitsOuter(), and validFraction().

innermost (reference) point on track

Definition at line 308 of file TrackBase.h.

Referenced by referencePoint(), vertex(), vx(), vy(), and vz().