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:
24 
26 
28 
30 
32 
35  return *this;
36  }
37 
39  Base::operator=(rh);
40  return *this;
41  }
42 
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 setES(const edm::EventSetup& es) { sharedData().setES(es); }
79 
80  void setTrackingGeometry(const edm::ESHandle<GlobalTrackingGeometry>& tg) { sharedData().setTrackingGeometry(tg); }
81 
82  void setBeamSpot(const reco::BeamSpot& beamSpot) { sharedData().setBeamSpot(beamSpot); }
83 
84  FreeTrajectoryState initialFreeState() const { return data().initialFreeState(); }
85 
86  TrajectoryStateOnSurface outermostMeasurementState() const { return data().outermostMeasurementState(); }
87 
88  TrajectoryStateOnSurface innermostMeasurementState() const { return data().innermostMeasurementState(); }
89 
91  return data().trajectoryStateClosestToPoint(point);
92  }
93 
94  TrajectoryStateOnSurface stateOnSurface(const GlobalPoint& point) const { return data().stateOnSurface(point); }
95 
96  TrajectoryStateClosestToPoint impactPointTSCP() const { return data().impactPointTSCP(); }
97 
98  TrajectoryStateOnSurface impactPointState() const { return data().impactPointState(); }
99 
100  bool impactPointStateAvailable() const { return data().impactPointStateAvailable(); }
101 
102  TrackCharge charge() const { return data().charge(); }
103 
104  bool operator==(const TransientTrack& other) const { return &(data()) == &(other.data()); }
105  // {return (a.persistentTrackRef()==tkr_);}
106 
107  bool operator<(const TransientTrack& other) const { return &(data()) < &(other.data()); }
108  // {return (initialFTS.momentum().z()<a.initialFreeState().momentum().z());}
109 
110  const MagneticField* field() const { return data().field(); }
111 
112  const BasicTransientTrack* basicTransientTrack() const { return &(data()); }
113 
114  double timeExt() const { return data().timeExt(); }
115  double dtErrorExt() const { return data().dtErrorExt(); }
116 
117  const Track& track() const { return data().track(); }
118 
119  TrackBaseRef trackBaseRef() const { return data().trackBaseRef(); }
120 
121  TrajectoryStateClosestToBeamLine stateAtBeamLine() const { return data().stateAtBeamLine(); }
122 
123  // Methods forwarded to original track.
124 
130  TrackingRecHitRef recHit(size_t i) const { return track().recHit(i); }
132  size_t recHitsSize() const { return track().recHitsSize(); }
133  // hit pattern
134  const HitPattern& hitPattern() const { return track().hitPattern(); }
136  unsigned short numberOfValidHits() const { return track().hitPattern().numberOfValidHits(); }
140  double chi2() const { return track().chi2(); }
142  double ndof() const { return track().ndof(); }
144  double normalizedChi2() const { return track().chi2() / track().ndof(); }
145 
147  bool isValid() const { return Base::isValid(); }
148  };
149 
150 } // namespace reco
151 
152 #endif
unsigned short numberOfValidHits() const
number of hits found
bool operator==(const TransientTrack &other) const
void setBeamSpot(const reco::BeamSpot &beamSpot)
bool isValid() const
Make the ReferenceCountingProxy method to check validity public.
TrackBaseRef trackBaseRef() const
TrajectoryStateClosestToPoint impactPointTSCP() const
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits)...
Definition: Track.h:97
int numberOfValidHits() const
Definition: HitPattern.h:787
void swap(TransientTrack &rh)
bool operator<(const TransientTrack &other) const
TransientTrack(BasicTransientTrack *btt)
const HitPattern & hitPattern() const
TransientTrack & operator=(TransientTrack &&rh)
double timeExt() const
const MagneticField * field() const
size_t recHitsSize() const
number of RecHits
double chi2() const
chi-squared of the fit
ProxyBase11 & operator=(std::shared_ptr< U > p)
Definition: ProxyBase11.h:35
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
TrajectoryStateOnSurface innermostMeasurementState() const
const T & data() const
Definition: ProxyBase11.h:51
unsigned short numberOfLostHits() const
number of hits lost
int TrackCharge
Definition: TrackCharge.h:4
TrackCharge charge() const
TransientTrack & operator=(TransientTrack const &rh)
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:566
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:569
bool impactPointStateAvailable() const
TrackingRecHitRef recHit(size_t i) const
get n-th recHit
void swap(ProxyBase11 &other) noexcept
Definition: ProxyBase11.h:42
TrajectoryStateOnSurface outermostMeasurementState() const
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:88
void setES(const edm::EventSetup &es)
trackingRecHit_iterator recHitsEnd() const
last iterator to RecHits
FreeTrajectoryState initialFreeState() const
#define noexcept
const BasicTransientTrack * basicTransientTrack() const
const Track & track() const
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
T & sharedData()
Definition: ProxyBase11.h:64
BasicTransientTrack::Proxy Base
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
double dtErrorExt() const
int numberOfLostHits(HitCategory category) const
Definition: HitPattern.h:861
TransientTrack(TransientTrack const &rh)
double normalizedChi2() const
chi-squared divided by n.d.o.f.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
double ndof() const
number of degrees of freedom of the fit
fixed size matrix
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &tg)
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
Definition: Track.h:94
TransientTrack(TransientTrack &&rh)
TrajectoryStateOnSurface impactPointState() const
bool isValid() const
Definition: ProxyBase11.h:69
trackingRecHit_iterator recHitsBegin() const
first iterator to RecHits
def move(src, dest)
Definition: eostools.py:511
*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
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:91