CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
reco::CandidatePtrTransientTrack Class Reference

#include <CandidatePtrTransientTrack.h>

Inheritance diagram for reco::CandidatePtrTransientTrack:
reco::Track reco::BasicTransientTrack reco::TrackBase

Public Member Functions

CandidatePtr candidate () const override
 
 CandidatePtrTransientTrack ()
 
 CandidatePtrTransientTrack (const CandidatePtr &tk, const double time, const double dtime, const MagneticField *field)
 
 CandidatePtrTransientTrack (const CandidatePtr &tk, const double time, const double dtime, const MagneticField *field, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 CandidatePtrTransientTrack (const CandidatePtr &tk, const MagneticField *field)
 
 CandidatePtrTransientTrack (const CandidatePtr &tk, const MagneticField *field, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 CandidatePtrTransientTrack (const CandidatePtrTransientTrack &tt)
 
TrackCharge charge () const override
 
double dtErrorExt () const override
 
const MagneticFieldfield () const override
 
TrajectoryStateOnSurface impactPointState () const override
 
bool impactPointStateAvailable () const override
 
TrajectoryStateClosestToPoint impactPointTSCP () const override
 
FreeTrajectoryState initialFreeState () const override
 
TrajectoryStateOnSurface innermostMeasurementState () const override
 
CandidatePtrTransientTrackoperator= (const CandidatePtrTransientTrack &tt)
 
TrajectoryStateOnSurface outermostMeasurementState () const override
 
TrackRef persistentTrackRef () const
 
void setBeamSpot (const reco::BeamSpot &beamSpot) override
 
void setTrackingGeometry (const edm::ESHandle< GlobalTrackingGeometry > &) override
 
TrajectoryStateClosestToBeamLine stateAtBeamLine () const override
 
TrajectoryStateOnSurface stateOnSurface (const GlobalPoint &point) const override
 
double timeExt () const override
 
const Tracktrack () const override
 
TrackBaseRef trackBaseRef () const override
 
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint (const GlobalPoint &point) const override
 
- Public Member Functions inherited from reco::Track
const TrackExtraRefextra () const
 reference to "extra" object More...
 
CovarianceMatrixfillInner (CovarianceMatrix &v) const
 
CovarianceMatrixfillOuter (CovarianceMatrix &v) const
 fill outermost trajectory state curvilinear errors More...
 
unsigned short found () const
 Number of valid hits on track. More...
 
unsigned int innerDetId () const
 DetId of the detector on which surface the innermost state is located. More...
 
const math::XYZVectorinnerMomentum () const
 momentum vector at the innermost hit position More...
 
bool innerOk () const
 return true if the innermost hit is valid More...
 
const math::XYZPointinnerPosition () const
 position of the innermost hit More...
 
CovarianceMatrix innerStateCovariance () const
 innermost trajectory state curvilinear errors More...
 
unsigned short lost () const
 Number of lost (=invalid) hits on track. More...
 
unsigned int outerDetId () const
 DetId of the detector on which surface the outermost state is located. More...
 
double outerEta () const
 pseudorapidity of the momentum vector at the outermost hit position More...
 
const math::XYZVectorouterMomentum () const
 momentum vector at the outermost hit position More...
 
bool outerOk () const
 return true if the outermost hit is valid More...
 
double outerP () const
 magnitude of momentum vector at the outermost hit position More...
 
double outerPhi () const
 azimuthal angle of the momentum vector at the outermost hit position More...
 
const math::XYZPointouterPosition () const
 position of the outermost hit More...
 
double outerPt () const
 transverse momentum at the outermost hit position More...
 
double outerPx () const
 x coordinate of momentum vector at the outermost hit position More...
 
double outerPy () const
 y coordinate of momentum vector at the outermost hit position More...
 
double outerPz () const
 z coordinate of momentum vector at the outermost hit position More...
 
double outerRadius () const
 polar radius of the outermost hit position More...
 
CovarianceMatrix outerStateCovariance () const
 outermost trajectory state curvilinear errors More...
 
double outerTheta () const
 polar angle of the momentum vector at the outermost hit position More...
 
double outerX () const
 x coordinate of the outermost hit position More...
 
double outerY () const
 y coordinate of the outermost hit position More...
 
double outerZ () const
 z coordinate of the outermost hit position More...
 
TrackingRecHitRef recHit (size_t i) const
 Get i-th hit on the track. More...
 
auto recHits () const
 Access to reconstructed hits on the track. More...
 
trackingRecHit_iterator recHitsBegin () const
 Iterator to first hit on the track. More...
 
trackingRecHit_iterator recHitsEnd () const
 Iterator to last hit on the track. More...
 
size_t recHitsSize () const
 Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits). More...
 
const TrackResidualsresiduals () const
 get the residuals More...
 
const PropagationDirectionseedDirection () const
 direction of how the hits were sorted in the original seed More...
 
const edm::RefToBase< TrajectorySeed > & seedRef () const
 
void setExtra (const TrackExtraRef &ref)
 set reference to "extra" object More...
 
 Track ()
 default constructor More...
 
 Track (double chi2, double ndof, const Point &referencePoint, const Vector &momentum, int charge, const CovarianceMatrix &, TrackAlgorithm=undefAlgorithm, TrackQuality quality=undefQuality, float t0=0, float beta=0, float covt0t0=-1., float covbetabeta=-1.)
 constructor from fit parameters and error matrix More...
 
 ~Track () override
 virtual destructor More...
 
- Public Member Functions inherited from reco::TrackBase
TrackAlgorithm algo () const
 
AlgoMask algoMask () const
 
unsigned long long algoMaskUL () const
 
std::string algoName () const
 
bool appendHitPattern (const DetId &id, TrackingRecHit::Type hitType, const TrackerTopology &ttopo)
 
bool appendHitPattern (const TrackingRecHit &hit, const TrackerTopology &ttopo)
 append a single hit to the HitPattern More...
 
bool appendHitPattern (const uint16_t pattern, TrackingRecHit::Type hitType)
 
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)
 
double beta () const
 velocity at the reference point in natural units More...
 
double betaError () const
 error on beta More...
 
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 covBetaBeta () const
 error on beta More...
 
double covt0t0 () const
 error on t0 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 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 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 dxyError () const
 error on dxy More...
 
double dxyError (const BeamSpot &theBeamSpot) const
 error on dxy with respect to a user-given beamspot More...
 
double dxyError (Point const &vtx, math::Error< 3 >::type const &vertexCov) const
 error on dxy with respect to a user-given reference point + uncertainty (i.e. reco::Vertex position) 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
 
bool isTimeOk () const
 return true if timing measurement is usable More...
 
double lambda () const
 Lambda angle. More...
 
double lambdaError () const
 error on lambda More...
 
int missingInnerHits () const
 number of hits expected from inner track extrapolation but missing More...
 
int missingOuterHits () const
 number of hits expected from outer track extrapolation but missing 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 p2 () const
 momentum vector magnitude square 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 pt2 () const
 track transverse momentum square More...
 
double ptError () const
 error on Pt (set to 1000 TeV if charge==0 for safety) More...
 
double ptError2 () const
 error on Pt (set to 1000**2 TeV**2 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 t0 () const
 time at the reference point More...
 
double t0Error () const
 error on t0 More...
 
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, float t0=0.f, float beta=0.f, float covt0t0=-1.f, float covbetabeta=-1.f)
 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...
 
- Public Member Functions inherited from reco::BasicTransientTrack
virtual ~BasicTransientTrack ()
 

Private Types

enum  CacheStates { kUnset, kSetting, kSet }
 

Private Attributes

TSCPBuilderNoMaterial builder
 
double dtErrorExt_
 
bool hasTime
 
FreeTrajectoryState initialFTS
 
TrajectoryStateClosestToPoint initialTSCP
 
TrajectoryStateOnSurface initialTSOS
 
std::atomic< char > m_SCTBL
 
std::atomic< char > m_TSCP
 
std::atomic< char > m_TSOS
 
CandidatePtr ptr_
 
reco::BeamSpot theBeamSpot
 
const MagneticFieldtheField
 
edm::ESHandle< GlobalTrackingGeometrytheTrackingGeometry
 
double timeExt_
 
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
 

Additional Inherited Members

- Public Types inherited from reco::TrackBase
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, displacedGeneralStep = 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 Types inherited from reco::BasicTransientTrack
using BTT = BasicTransientTrack
 
using Proxy = ProxyBase11< BTT >
 
- Static Public Member Functions inherited from reco::TrackBase
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 inherited from reco::TrackBase
static const std::string algoNames []
 
static const std::string qualityNames []
 

Detailed Description

Definition at line 19 of file CandidatePtrTransientTrack.h.

Member Enumeration Documentation

◆ CacheStates

Enumerator
kUnset 
kSetting 
kSet 

Definition at line 111 of file CandidatePtrTransientTrack.h.

111 { kUnset, kSetting, kSet };

Constructor & Destructor Documentation

◆ CandidatePtrTransientTrack() [1/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( )

Definition at line 23 of file CandidatePtrTransientTrack.cc.

24  : Track(),
25  ptr_(),
26  hasTime(false),
27  timeExt_(0),
28  dtErrorExt_(0),
29  theField(nullptr),
30  m_TSOS(kUnset),
31  m_TSCP(kUnset),
32  m_SCTBL(kUnset) {}

◆ CandidatePtrTransientTrack() [2/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( const CandidatePtr tk,
const MagneticField field 
)

Definition at line 34 of file CandidatePtrTransientTrack.cc.

35  : Track(*ptr->bestTrack()),
36  ptr_(ptr),
37  hasTime(false),
38  timeExt_(0),
39  dtErrorExt_(0),
40  theField(field),
41  m_TSOS(kUnset),
42  m_TSCP(kUnset),
43  m_SCTBL(kUnset) {
45 }

References reco::Candidate::bestTrack(), field(), trajectoryStateTransform::initialFreeState(), and initialFTS.

◆ CandidatePtrTransientTrack() [3/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( const CandidatePtr tk,
const double  time,
const double  dtime,
const MagneticField field 
)

Definition at line 47 of file CandidatePtrTransientTrack.cc.

51  : Track(*ptr->bestTrack()),
52  ptr_(ptr),
53  hasTime(true),
54  timeExt_(time),
55  dtErrorExt_(dtime),
56  theField(field),
57  m_TSOS(kUnset),
58  m_TSCP(kUnset),
59  m_SCTBL(kUnset) {
61 }

References reco::Candidate::bestTrack(), field(), trajectoryStateTransform::initialFreeState(), and initialFTS.

◆ CandidatePtrTransientTrack() [4/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( const CandidatePtr tk,
const MagneticField field,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 63 of file CandidatePtrTransientTrack.cc.

66  : Track(*ptr->bestTrack()),
67  ptr_(ptr),
68  hasTime(false),
69  timeExt_(0),
70  dtErrorExt_(0),
71  theField(field),
72  m_TSOS(kUnset),
73  m_TSCP(kUnset),
74  m_SCTBL(kUnset),
77 }

References reco::Candidate::bestTrack(), field(), trajectoryStateTransform::initialFreeState(), and initialFTS.

◆ CandidatePtrTransientTrack() [5/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( const CandidatePtr tk,
const double  time,
const double  dtime,
const MagneticField field,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 79 of file CandidatePtrTransientTrack.cc.

84  : Track(*ptr->bestTrack()),
85  ptr_(ptr),
86  hasTime(true),
87  timeExt_(time),
88  dtErrorExt_(dtime),
89  theField(field),
90  m_TSOS(kUnset),
91  m_TSCP(kUnset),
92  m_SCTBL(kUnset),
95 }

References reco::Candidate::bestTrack(), field(), trajectoryStateTransform::initialFreeState(), and initialFTS.

◆ CandidatePtrTransientTrack() [6/6]

CandidatePtrTransientTrack::CandidatePtrTransientTrack ( const CandidatePtrTransientTrack tt)

Definition at line 97 of file CandidatePtrTransientTrack.cc.

98  : Track(tt),
99  ptr_(tt.candidate()),
100  hasTime(tt.hasTime),
101  timeExt_(tt.timeExt_),
102  dtErrorExt_(tt.dtErrorExt_),
103  theField(tt.field()),
104  initialFTS(tt.initialFreeState()),
105  m_TSOS(kUnset),
106  m_TSCP(kUnset) {
107  // see ThreadSafe statement above about the order of operator= and store
108  if (kSet == tt.m_TSOS.load()) {
109  initialTSOS = tt.impactPointState();
110  m_TSOS.store(kSet);
111  }
112  // see ThreadSafe statement above about the order of operator= and store
113  if (kSet == tt.m_TSCP.load()) {
114  initialTSCP = tt.impactPointTSCP();
115  m_TSCP.store(kSet);
116  }
117 }

References initialTSCP, initialTSOS, kSet, m_TSCP, m_TSOS, and groupFilesInBlocks::tt.

Member Function Documentation

◆ candidate()

CandidatePtr reco::CandidatePtrTransientTrack::candidate ( ) const
inlineoverridevirtual

◆ charge()

TrackCharge reco::CandidatePtrTransientTrack::charge ( void  ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 75 of file CandidatePtrTransientTrack.h.

75 { return Track::charge(); }

References reco::TrackBase::charge().

◆ dtErrorExt()

double reco::CandidatePtrTransientTrack::dtErrorExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 86 of file CandidatePtrTransientTrack.h.

86 { return (hasTime ? dtErrorExt_ : std::numeric_limits<double>::quiet_NaN()); }

References dtErrorExt_, and hasTime.

◆ field()

const MagneticField* reco::CandidatePtrTransientTrack::field ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 79 of file CandidatePtrTransientTrack.h.

79 { return theField; }

References theField.

Referenced by CandidatePtrTransientTrack().

◆ impactPointState()

TrajectoryStateOnSurface CandidatePtrTransientTrack::impactPointState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 128 of file CandidatePtrTransientTrack.cc.

128  {
129  // see ThreadSafe statement above about the order of operator= and store
130  if (kSet == m_TSOS.load())
131  return initialTSOS;
133  auto tmp = tipe.extrapolate(initialFTS, initialFTS.position());
134  char expected = kUnset;
135  if (m_TSOS.compare_exchange_strong(expected, kSetting)) {
136  initialTSOS = tmp;
137  m_TSOS.store(kSet);
138  return initialTSOS;
139  }
140  return tmp;
141 }

References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, initialTSOS, kSet, kSetting, kUnset, m_TSOS, FreeTrajectoryState::position(), theField, and createJobs::tmp.

◆ impactPointStateAvailable()

bool reco::CandidatePtrTransientTrack::impactPointStateAvailable ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 66 of file CandidatePtrTransientTrack.h.

66 { return (m_TSOS.load() == kSet ? true : false); }

References kSet, m_TSOS, and funct::true.

◆ impactPointTSCP()

TrajectoryStateClosestToPoint CandidatePtrTransientTrack::impactPointTSCP ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 143 of file CandidatePtrTransientTrack.cc.

143  {
144  // see ThreadSafe statement above about the order of operator= and store
145  if (kSet == m_TSCP.load())
146  return initialTSCP;
148  char expected = kUnset;
149  if (m_TSCP.compare_exchange_strong(expected, kSetting)) {
150  initialTSCP = tmp;
151  m_TSCP.store(kSet);
152  return initialTSCP;
153  }
154  return tmp;
155 }

References builder, initialFTS, initialTSCP, kSet, kSetting, kUnset, m_TSCP, FreeTrajectoryState::position(), and createJobs::tmp.

◆ initialFreeState()

FreeTrajectoryState reco::CandidatePtrTransientTrack::initialFreeState ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 47 of file CandidatePtrTransientTrack.h.

47 { return initialFTS; }

References initialFTS.

◆ innermostMeasurementState()

TrajectoryStateOnSurface CandidatePtrTransientTrack::innermostMeasurementState ( ) const
overridevirtual

◆ operator=()

CandidatePtrTransientTrack& reco::CandidatePtrTransientTrack::operator= ( const CandidatePtrTransientTrack tt)

◆ outermostMeasurementState()

TrajectoryStateOnSurface CandidatePtrTransientTrack::outermostMeasurementState ( ) const
overridevirtual

◆ persistentTrackRef()

TrackRef reco::CandidatePtrTransientTrack::persistentTrackRef ( ) const
inline

access to original persistent track

Definition at line 71 of file CandidatePtrTransientTrack.h.

71 { return TrackRef(); }

◆ setBeamSpot()

void CandidatePtrTransientTrack::setBeamSpot ( const reco::BeamSpot beamSpot)
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 123 of file CandidatePtrTransientTrack.cc.

123  {
125  m_SCTBL = kUnset;
126 }

References pwdgSkimBPark_cfi::beamSpot, kUnset, m_SCTBL, and theBeamSpot.

◆ setTrackingGeometry()

void CandidatePtrTransientTrack::setTrackingGeometry ( const edm::ESHandle< GlobalTrackingGeometry > &  tg)
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 119 of file CandidatePtrTransientTrack.cc.

119  {
120  theTrackingGeometry = tg;
121 }

References theTrackingGeometry.

◆ stateAtBeamLine()

TrajectoryStateClosestToBeamLine CandidatePtrTransientTrack::stateAtBeamLine ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 170 of file CandidatePtrTransientTrack.cc.

170  {
171  // see ThreadSafe statement above about the order of operator= and store
172  if (kSet == m_SCTBL.load())
174  TSCBLBuilderNoMaterial blsBuilder;
175  const auto tmp = blsBuilder(initialFTS, theBeamSpot);
176  char expected = kUnset;
177  if (m_SCTBL.compare_exchange_strong(expected, kSetting)) {
179  m_SCTBL.store(kSet);
181  }
182  return tmp;
183 }

References initialFTS, kSet, kSetting, kUnset, m_SCTBL, theBeamSpot, createJobs::tmp, and trajectoryStateClosestToBeamLine.

◆ stateOnSurface()

TrajectoryStateOnSurface CandidatePtrTransientTrack::stateOnSurface ( const GlobalPoint point) const
overridevirtual

The TSOS at any point. The initial state will be used for the propagation.

Implements reco::BasicTransientTrack.

Definition at line 165 of file CandidatePtrTransientTrack.cc.

165  {
167  return tipe.extrapolate(initialFTS, point);
168 }

References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, point, and theField.

◆ timeExt()

double reco::CandidatePtrTransientTrack::timeExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 85 of file CandidatePtrTransientTrack.h.

85 { return (hasTime ? timeExt_ : std::numeric_limits<double>::quiet_NaN()); }

References hasTime, and timeExt_.

◆ track()

const Track& reco::CandidatePtrTransientTrack::track ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 81 of file CandidatePtrTransientTrack.h.

81 { return *this; }

◆ trackBaseRef()

TrackBaseRef reco::CandidatePtrTransientTrack::trackBaseRef ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 73 of file CandidatePtrTransientTrack.h.

73 { return TrackBaseRef(); }

◆ trajectoryStateClosestToPoint()

TrajectoryStateClosestToPoint reco::CandidatePtrTransientTrack::trajectoryStateClosestToPoint ( const GlobalPoint point) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 53 of file CandidatePtrTransientTrack.h.

53  {
54  return builder(initialFTS, point);
55  }

References builder, initialFTS, and point.

Member Data Documentation

◆ builder

TSCPBuilderNoMaterial reco::CandidatePtrTransientTrack::builder
private

Definition at line 106 of file CandidatePtrTransientTrack.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

◆ dtErrorExt_

double reco::CandidatePtrTransientTrack::dtErrorExt_
private

Definition at line 91 of file CandidatePtrTransientTrack.h.

Referenced by dtErrorExt().

◆ hasTime

bool reco::CandidatePtrTransientTrack::hasTime
private

Definition at line 90 of file CandidatePtrTransientTrack.h.

Referenced by dtErrorExt(), and timeExt().

◆ initialFTS

FreeTrajectoryState reco::CandidatePtrTransientTrack::initialFTS
private

◆ initialTSCP

TrajectoryStateClosestToPoint reco::CandidatePtrTransientTrack::initialTSCP
mutableprivate

Definition at line 99 of file CandidatePtrTransientTrack.h.

Referenced by CandidatePtrTransientTrack(), and impactPointTSCP().

◆ initialTSOS

TrajectoryStateOnSurface reco::CandidatePtrTransientTrack::initialTSOS
mutableprivate

Definition at line 98 of file CandidatePtrTransientTrack.h.

Referenced by CandidatePtrTransientTrack(), and impactPointState().

◆ m_SCTBL

std::atomic<char> reco::CandidatePtrTransientTrack::m_SCTBL
mutableprivate

Definition at line 104 of file CandidatePtrTransientTrack.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

◆ m_TSCP

std::atomic<char> reco::CandidatePtrTransientTrack::m_TSCP
mutableprivate

Definition at line 103 of file CandidatePtrTransientTrack.h.

Referenced by CandidatePtrTransientTrack(), and impactPointTSCP().

◆ m_TSOS

std::atomic<char> reco::CandidatePtrTransientTrack::m_TSOS
mutableprivate

◆ ptr_

CandidatePtr reco::CandidatePtrTransientTrack::ptr_
private

Definition at line 89 of file CandidatePtrTransientTrack.h.

Referenced by candidate().

◆ theBeamSpot

reco::BeamSpot reco::CandidatePtrTransientTrack::theBeamSpot
private

Definition at line 108 of file CandidatePtrTransientTrack.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

◆ theField

const MagneticField* reco::CandidatePtrTransientTrack::theField
private

◆ theTrackingGeometry

edm::ESHandle<GlobalTrackingGeometry> reco::CandidatePtrTransientTrack::theTrackingGeometry
private

◆ timeExt_

double reco::CandidatePtrTransientTrack::timeExt_
private

Definition at line 91 of file CandidatePtrTransientTrack.h.

Referenced by timeExt().

◆ trajectoryStateClosestToBeamLine

TrajectoryStateClosestToBeamLine reco::CandidatePtrTransientTrack::trajectoryStateClosestToBeamLine
mutableprivate

Definition at line 100 of file CandidatePtrTransientTrack.h.

Referenced by stateAtBeamLine().

reco::CandidatePtrTransientTrack::m_TSCP
std::atomic< char > m_TSCP
Definition: CandidatePtrTransientTrack.h:103
reco::CandidatePtrTransientTrack::hasTime
bool hasTime
Definition: CandidatePtrTransientTrack.h:90
reco::CandidatePtrTransientTrack::initialTSOS
TrajectoryStateOnSurface initialTSOS
Definition: CandidatePtrTransientTrack.h:98
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
trajectoryStateTransform::initialFreeState
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field, bool withErr=true)
Definition: TrajectoryStateTransform.cc:58
groupFilesInBlocks.tt
int tt
Definition: groupFilesInBlocks.py:144
reco::CandidatePtrTransientTrack::theField
const MagneticField * theField
Definition: CandidatePtrTransientTrack.h:92
protons_cff.time
time
Definition: protons_cff.py:35
reco::CandidatePtrTransientTrack::trajectoryStateClosestToBeamLine
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
Definition: CandidatePtrTransientTrack.h:100
reco::TrackBaseRef
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:35
TransverseImpactPointExtrapolator
Definition: TransverseImpactPointExtrapolator.h:26
FreeTrajectoryState::position
GlobalPoint position() const
Definition: FreeTrajectoryState.h:67
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
reco::CandidatePtrTransientTrack::initialTSCP
TrajectoryStateClosestToPoint initialTSCP
Definition: CandidatePtrTransientTrack.h:99
trajectoryStateTransform::outerStateOnSurface
TrajectoryStateOnSurface outerStateOnSurface(const reco::Track &tk, const TrackingGeometry &geom, const MagneticField *field, bool withErr=true)
Definition: TrajectoryStateTransform.cc:118
reco::CandidatePtrTransientTrack::initialFTS
FreeTrajectoryState initialFTS
Definition: CandidatePtrTransientTrack.h:94
reco::CandidatePtrTransientTrack::builder
TSCPBuilderNoMaterial builder
Definition: CandidatePtrTransientTrack.h:106
reco::CandidatePtrTransientTrack::m_SCTBL
std::atomic< char > m_SCTBL
Definition: CandidatePtrTransientTrack.h:104
reco::CandidatePtrTransientTrack::field
const MagneticField * field() const override
Definition: CandidatePtrTransientTrack.h:79
reco::CandidatePtrTransientTrack::dtErrorExt_
double dtErrorExt_
Definition: CandidatePtrTransientTrack.h:91
reco::CandidatePtrTransientTrack::theTrackingGeometry
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
Definition: CandidatePtrTransientTrack.h:107
reco::CandidatePtrTransientTrack::timeExt_
double timeExt_
Definition: CandidatePtrTransientTrack.h:91
reco::TrackBase::charge
int charge() const
track electric charge
Definition: TrackBase.h:596
reco::CandidatePtrTransientTrack::kUnset
Definition: CandidatePtrTransientTrack.h:111
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
funct::true
true
Definition: Factorize.h:173
reco::CandidatePtrTransientTrack::ptr_
CandidatePtr ptr_
Definition: CandidatePtrTransientTrack.h:89
reco::CandidatePtrTransientTrack::kSetting
Definition: CandidatePtrTransientTrack.h:111
reco::CandidatePtrTransientTrack::kSet
Definition: CandidatePtrTransientTrack.h:111
TSCBLBuilderNoMaterial
Definition: TSCBLBuilderNoMaterial.h:13
reco::CandidatePtrTransientTrack::theBeamSpot
reco::BeamSpot theBeamSpot
Definition: CandidatePtrTransientTrack.h:108
reco::Track::Track
Track()
default constructor
Definition: Track.h:30
reco::CandidatePtrTransientTrack::m_TSOS
std::atomic< char > m_TSOS
Definition: CandidatePtrTransientTrack.h:102
trajectoryStateTransform::innerStateOnSurface
TrajectoryStateOnSurface innerStateOnSurface(const reco::Track &tk, const TrackingGeometry &geom, const MagneticField *field, bool withErr=true)
Definition: TrajectoryStateTransform.cc:110
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5