CMS 3D CMS Logo

TransientTrack.h
Go to the documentation of this file.
1 #ifndef TrackReco_TransientTrack_h
2 #define TrackReco_TransientTrack_h
3 
12 
16 
17 namespace reco {
18 
21 
22  public:
23  TransientTrack() noexcept {}
24 
25  explicit TransientTrack(BasicTransientTrack* btt) noexcept : Base(btt) {}
26 
27  ~TransientTrack() noexcept {}
28 
29  TransientTrack(TransientTrack const& rh) noexcept : Base(rh) {}
30 
31  TransientTrack(TransientTrack&& rh) noexcept : Base(std::move(rh)) {}
32 
35  return *this;
36  }
37 
38  TransientTrack& operator=(TransientTrack const& rh) noexcept {
39  Base::operator=(rh);
40  return *this;
41  }
42 
43  void swap(TransientTrack& rh) noexcept { Base::swap(rh); }
44 
45  TransientTrack(const Track& tk, const MagneticField* field);
46  TransientTrack(const TrackRef& tk, const MagneticField* field);
47  TransientTrack(const CandidatePtr& ptr, const MagneticField* field);
48  TransientTrack(const TrackRef& tk,
49  const MagneticField* field,
50  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
51 
52  TransientTrack(const Track& tk,
53  const MagneticField* field,
54  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
55  TransientTrack(const CandidatePtr& ptr,
56  const MagneticField* field,
57  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
58 
59  TransientTrack(const Track& tk, const double time, const double dtime, const MagneticField* field);
60  TransientTrack(const TrackRef& tk, const double time, const double dtime, const MagneticField* field);
61  TransientTrack(const CandidatePtr& ptr, const double time, const double dtime, const MagneticField* field);
62  TransientTrack(const TrackRef& tk,
63  const double time,
64  const double dtime,
65  const MagneticField* field,
66  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
67  TransientTrack(const Track& tk,
68  const double time,
69  const double dtime,
70  const MagneticField* field,
71  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
72  TransientTrack(const CandidatePtr& ptr,
73  const double time,
74  const double dtime,
75  const MagneticField* field,
76  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
77 
78  void setTrackingGeometry(const edm::ESHandle<GlobalTrackingGeometry>& tg) { sharedData().setTrackingGeometry(tg); }
79 
80  void setBeamSpot(const reco::BeamSpot& beamSpot) { sharedData().setBeamSpot(beamSpot); }
81 
82  FreeTrajectoryState initialFreeState() const { return data().initialFreeState(); }
83 
84  TrajectoryStateOnSurface outermostMeasurementState() const { return data().outermostMeasurementState(); }
85 
86  TrajectoryStateOnSurface innermostMeasurementState() const { return data().innermostMeasurementState(); }
87 
89  return data().trajectoryStateClosestToPoint(point);
90  }
91 
92  TrajectoryStateOnSurface stateOnSurface(const GlobalPoint& point) const { return data().stateOnSurface(point); }
93 
94  TrajectoryStateClosestToPoint impactPointTSCP() const { return data().impactPointTSCP(); }
95 
96  TrajectoryStateOnSurface impactPointState() const { return data().impactPointState(); }
97 
98  bool impactPointStateAvailable() const { return data().impactPointStateAvailable(); }
99 
100  TrackCharge charge() const { return data().charge(); }
101 
102  bool operator==(const TransientTrack& other) const { return &(data()) == &(other.data()); }
103  // {return (a.persistentTrackRef()==tkr_);}
104 
105  bool operator<(const TransientTrack& other) const { return &(data()) < &(other.data()); }
106  // {return (initialFTS.momentum().z()<a.initialFreeState().momentum().z());}
107 
108  const MagneticField* field() const { return data().field(); }
109 
110  const BasicTransientTrack* basicTransientTrack() const { return &(data()); }
111 
112  double timeExt() const { return data().timeExt(); }
113  double dtErrorExt() const { return data().dtErrorExt(); }
114 
115  const Track& track() const { return data().track(); }
116 
117  TrackBaseRef trackBaseRef() const { return data().trackBaseRef(); }
118 
119  TrajectoryStateClosestToBeamLine stateAtBeamLine() const { return data().stateAtBeamLine(); }
120 
121  // Methods forwarded to original track.
122 
128  TrackingRecHitRef recHit(size_t i) const { return track().recHit(i); }
130  size_t recHitsSize() const { return track().recHitsSize(); }
131  // hit pattern
132  const HitPattern& hitPattern() const { return track().hitPattern(); }
134  unsigned short numberOfValidHits() const { return track().hitPattern().numberOfValidHits(); }
138  double chi2() const { return track().chi2(); }
140  double ndof() const { return track().ndof(); }
142  double normalizedChi2() const { return track().chi2() / track().ndof(); }
143 
145  bool isValid() const { return Base::isValid(); }
146  };
147 
148 } // namespace reco
149 
150 #endif
TrajectoryStateClosestToBeamLine
Definition: TrajectoryStateClosestToBeamLine.h:15
reco::TransientTrack::trackBaseRef
TrackBaseRef trackBaseRef() const
Definition: TransientTrack.h:117
reco::TransientTrack::TransientTrack
TransientTrack(TransientTrack const &rh) noexcept
Definition: TransientTrack.h:29
mps_fire.i
i
Definition: mps_fire.py:428
reco::TransientTrack::dtErrorExt
double dtErrorExt() const
Definition: TransientTrack.h:113
FreeTrajectoryState.h
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
reco::Track::recHitsBegin
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:88
reco::TransientTrack::timeExt
double timeExt() const
Definition: TransientTrack.h:112
reco::TransientTrack::stateAtBeamLine
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
Definition: TransientTrack.h:119
reco::TransientTrack::operator=
TransientTrack & operator=(TransientTrack &&rh) noexcept
Definition: TransientTrack.h:33
reco::TransientTrack::charge
TrackCharge charge() const
Definition: TransientTrack.h:100
protons_cff.time
time
Definition: protons_cff.py:35
reco::TrackBase::ndof
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:590
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
reco::TransientTrack::recHitsBegin
trackingRecHit_iterator recHitsBegin() const
first iterator to RecHits
Definition: TransientTrack.h:124
reco::HitPattern::numberOfLostHits
int numberOfLostHits(HitCategory category) const
Definition: HitPattern.h:878
reco::TransientTrack::initialFreeState
FreeTrajectoryState initialFreeState() const
Definition: TransientTrack.h:82
reco::TransientTrack::numberOfValidHits
unsigned short numberOfValidHits() const
number of hits found
Definition: TransientTrack.h:134
reco::TransientTrack::stateOnSurface
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
Definition: TransientTrack.h:92
edm::Ref< TrackCollection >
reco::TransientTrack::operator=
TransientTrack & operator=(TransientTrack const &rh) noexcept
Definition: TransientTrack.h:38
reco::TransientTrack::basicTransientTrack
const BasicTransientTrack * basicTransientTrack() const
Definition: TransientTrack.h:110
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
reco::HitPattern
Definition: HitPattern.h:147
ProxyBase11::operator=
ProxyBase11 & operator=(std::shared_ptr< U > p)
Definition: ProxyBase11.h:35
reco::Track::recHitsSize
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits).
Definition: Track.h:97
Track.h
TrackFwd.h
reco::TransientTrack::operator==
bool operator==(const TransientTrack &other) const
Definition: TransientTrack.h:102
reco::TransientTrack::impactPointStateAvailable
bool impactPointStateAvailable() const
Definition: TransientTrack.h:98
reco::TransientTrack::setBeamSpot
void setBeamSpot(const reco::BeamSpot &beamSpot)
Definition: TransientTrack.h:80
reco::TransientTrack::recHitsEnd
trackingRecHit_iterator recHitsEnd() const
last iterator to RecHits
Definition: TransientTrack.h:126
reco::Track::recHitsEnd
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:91
reco::BeamSpot
Definition: BeamSpot.h:21
reco::Track
Definition: Track.h:27
edm::ESHandle< GlobalTrackingGeometry >
trackingPlots.other
other
Definition: trackingPlots.py:1464
reco::TransientTrack::recHitsSize
size_t recHitsSize() const
number of RecHits
Definition: TransientTrack.h:130
RefToBase.h
edm::OwnVector::const_iterator
Definition: OwnVector.h:41
ProxyBase11::swap
void swap(ProxyBase11 &other) noexcept
Definition: ProxyBase11.h:42
reco::TransientTrack::impactPointTSCP
TrajectoryStateClosestToPoint impactPointTSCP() const
Definition: TransientTrack.h:94
reco::TransientTrack::trajectoryStateClosestToPoint
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
Definition: TransientTrack.h:88
ProxyBase11::sharedData
T & sharedData()
Definition: ProxyBase11.h:64
reco::TransientTrack::numberOfLostHits
unsigned short numberOfLostHits() const
number of hits lost
Definition: TransientTrack.h:136
reco::TransientTrack::recHit
TrackingRecHitRef recHit(size_t i) const
get n-th recHit
Definition: TransientTrack.h:128
reco::TransientTrack::swap
void swap(TransientTrack &rh) noexcept
Definition: TransientTrack.h:43
reco::TransientTrack::chi2
double chi2() const
chi-squared of the fit
Definition: TransientTrack.h:138
reco::TransientTrack::impactPointState
TrajectoryStateOnSurface impactPointState() const
Definition: TransientTrack.h:96
reco::TransientTrack::TransientTrack
TransientTrack() noexcept
Definition: TransientTrack.h:23
reco::TransientTrack::TransientTrack
TransientTrack(TransientTrack &&rh) noexcept
Definition: TransientTrack.h:31
ProxyBase11::isValid
bool isValid() const
Definition: ProxyBase11.h:69
reco::BasicTransientTrack
Definition: BasicTransientTrack.h:21
reco::TransientTrack::TransientTrack
TransientTrack(BasicTransientTrack *btt) noexcept
Definition: TransientTrack.h:25
reco::TransientTrack::outermostMeasurementState
TrajectoryStateOnSurface outermostMeasurementState() const
Definition: TransientTrack.h:84
TrajectoryStateClosestToPoint
Definition: TrajectoryStateClosestToPoint.h:18
reco::TrackBase::chi2
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:587
reco::Track::recHit
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
Definition: Track.h:94
reco::TransientTrack::field
const MagneticField * field() const
Definition: TransientTrack.h:108
reco::HitPattern::TRACK_HITS
Definition: HitPattern.h:155
edm::Ptr< Candidate >
reco::TrackBase::hitPattern
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:504
BasicTransientTrack.h
reco::TransientTrack::isValid
bool isValid() const
Make the ReferenceCountingProxy method to check validity public.
Definition: TransientTrack.h:145
eostools.move
def move(src, dest)
Definition: eostools.py:511
reco::TransientTrack
Definition: TransientTrack.h:19
reco::TransientTrack::Base
BasicTransientTrack::Proxy Base
Definition: TransientTrack.h:20
reco::TransientTrack::track
const Track & track() const
Definition: TransientTrack.h:115
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
ProxyBase11
Definition: ProxyBase11.h:23
reco::TransientTrack::hitPattern
const HitPattern & hitPattern() const
Definition: TransientTrack.h:132
ProxyBase11::data
const T & data() const
Definition: ProxyBase11.h:51
reco::TransientTrack::~TransientTrack
~TransientTrack() noexcept
Definition: TransientTrack.h:27
edm::RefToBase< reco::Track >
reco::TransientTrack::ndof
double ndof() const
number of degrees of freedom of the fit
Definition: TransientTrack.h:140
math::GlobalPoint
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
reco::TransientTrack::operator<
bool operator<(const TransientTrack &other) const
Definition: TransientTrack.h:105
reco::HitPattern::numberOfValidHits
int numberOfValidHits() const
Definition: HitPattern.h:804
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
MagneticField
Definition: MagneticField.h:19
reco::TransientTrack::normalizedChi2
double normalizedChi2() const
chi-squared divided by n.d.o.f.
Definition: TransientTrack.h:142
reco::TransientTrack::setTrackingGeometry
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &tg)
Definition: TransientTrack.h:78
reco::TransientTrack::innermostMeasurementState
TrajectoryStateOnSurface innermostMeasurementState() const
Definition: TransientTrack.h:86