CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TransientTrack.h
Go to the documentation of this file.
1 #ifndef TrackReco_TransientTrack_h
2 #define TrackReco_TransientTrack_h
3 
4 
14 
18 
19 namespace reco {
20 
22 
24 
25  public:
26 
28 
29  explicit TransientTrack( BasicTransientTrack * btt ) noexcept : Base(btt) {}
30 
32 
33 
34 #if defined( __GXX_EXPERIMENTAL_CXX0X__)
35 
37  Base(rh){}
38 
39 
41  Base(std::move(rh)){}
42 
44  Base::operator=(std::move(rh));
45  return *this;
46  }
47 
48  TransientTrack & operator=(TransientTrack const & rh) noexcept {
49  Base::operator=(rh);
50  return *this;
51  }
52 
53 #endif
54 
55  void swap(TransientTrack & rh) noexcept {
56  Base::swap(rh);
57  }
58 
59  TransientTrack( const Track & tk , const MagneticField* field);
60  TransientTrack( const TrackRef & tk , const MagneticField* field);
61 
62  TransientTrack( const TrackRef & tk , const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
63 
64  TransientTrack( const Track & tk , const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
65 
66 
67 
68  void setES(const edm::EventSetup& es) {sharedData().setES(es);}
69 
71  {sharedData().setTrackingGeometry(tg);}
72 
74  {sharedData().setBeamSpot(beamSpot);}
75 
76  FreeTrajectoryState initialFreeState() const {return data().initialFreeState();}
77 
79  {return data().outermostMeasurementState();}
80 
82  {return data().innermostMeasurementState();}
83 
86  {return data().trajectoryStateClosestToPoint(point);}
87 
89  {return data().stateOnSurface(point);}
90 
92  {return data().impactPointTSCP();}
93 
95  {return data().impactPointState();}
96 
98  {return data().impactPointStateAvailable();}
99 
100  TrackCharge charge() const {return data().charge();}
101 
102  bool operator== (const TransientTrack & other) const
103  {return &(data()) == &(other.data());}
104  // {return (a.persistentTrackRef()==tkr_);}
105 
106  bool operator< (const TransientTrack & other) const
107  {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  const Track & track() const {return data().track();}
115 
116  TrackBaseRef trackBaseRef() const {return data().trackBaseRef();}
117 
119  {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(); }
136  unsigned short numberOfLostHits() const { return track().hitPattern().numberOfLostHits(); }
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 
149 }
150 
151 #endif
unsigned short numberOfValidHits() const
number of hits found
int i
Definition: DBlmapReader.cc:9
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:69
int numberOfValidHits() const
Definition: HitPattern.h:589
int numberOfLostHits() const
Definition: HitPattern.h:646
void swap(TransientTrack &rh)
bool operator<(const TransientTrack &other) const
TransientTrack(BasicTransientTrack *btt)
const HitPattern & hitPattern() const
#define noexcept
const MagneticField * field() const
size_t recHitsSize() const
number of RecHits
double chi2() const
chi-squared of the fit
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
void swap(ProxyBase &other)
Definition: ProxyBase.h:46
TrajectoryStateOnSurface innermostMeasurementState() const
unsigned short numberOfLostHits() const
number of hits lost
int TrackCharge
Definition: TrackCharge.h:4
TrackCharge charge() const
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:105
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:107
bool impactPointStateAvailable() const
TrackingRecHitRef recHit(size_t i) const
get n-th recHit
TrajectoryStateOnSurface outermostMeasurementState() const
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
Definition: Track.h:63
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:221
void setES(const edm::EventSetup &es)
trackingRecHit_iterator recHitsEnd() const
last iterator to RecHits
FreeTrajectoryState initialFreeState() const
const BasicTransientTrack * basicTransientTrack() const
const Track & track() const
BasicTransientTrack::Proxy Base
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
const T & data() const
Definition: ProxyBase.h:67
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:17
double ndof() const
number of degrees of freedom of the fit
bool isValid() const
Definition: ProxyBase.h:81
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
ProxyBase & operator=(const ProxyBase &other)
Definition: ProxyBase.h:36
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &tg)
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
Definition: Track.h:67
TrajectoryStateOnSurface impactPointState() const
trackingRecHit_iterator recHitsBegin() const
first iterator to RecHits
T & sharedData()
Definition: ProxyBase.h:79
*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:65