test
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 
35  Base(rh){}
36 
37 
39  Base(std::move(rh)){}
40 
43  return *this;
44  }
45 
47  Base::operator=(rh);
48  return *this;
49  }
50 
52  Base::swap(rh);
53  }
54 
55  TransientTrack( const Track & tk , const MagneticField* field);
56  TransientTrack( const TrackRef & tk , const MagneticField* field);
57  TransientTrack( const CandidatePtr & ptr , const MagneticField* field);
58  TransientTrack( const TrackRef & tk , const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
59 
60  TransientTrack( const Track & tk , const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
61  TransientTrack( const CandidatePtr & ptr , const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
62 
63  TransientTrack( const Track & tk , const double time, const double dtime, const MagneticField* field);
64  TransientTrack( const TrackRef & tk , const double time, const double dtime, const MagneticField* field);
65  TransientTrack( const CandidatePtr & ptr, const double time, const double dtime, const MagneticField* field);
66  TransientTrack( const TrackRef & tk , const double time, const double dtime, const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
67  TransientTrack( const Track & tk , const double time, const double dtime, const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
68  TransientTrack( const CandidatePtr & ptr, const double time, const double dtime, const MagneticField* field, const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
69 
70 
71  void setES(const edm::EventSetup& es) {sharedData().setES(es);}
72 
74  {sharedData().setTrackingGeometry(tg);}
75 
77  {sharedData().setBeamSpot(beamSpot);}
78 
79  FreeTrajectoryState initialFreeState() const {return data().initialFreeState();}
80 
82  {return data().outermostMeasurementState();}
83 
85  {return data().innermostMeasurementState();}
86 
89  {return data().trajectoryStateClosestToPoint(point);}
90 
92  {return data().stateOnSurface(point);}
93 
95  {return data().impactPointTSCP();}
96 
98  {return data().impactPointState();}
99 
101  {return data().impactPointStateAvailable();}
102 
103  TrackCharge charge() const {return data().charge();}
104 
105  bool operator== (const TransientTrack & other) const
106  {return &(data()) == &(other.data());}
107  // {return (a.persistentTrackRef()==tkr_);}
108 
109  bool operator< (const TransientTrack & other) const
110  {return &(data()) < &(other.data());}
111  // {return (initialFTS.momentum().z()<a.initialFreeState().momentum().z());}
112 
113  const MagneticField* field() const {return data().field();}
114 
115  const BasicTransientTrack* basicTransientTrack() const {return &(data());}
116 
117  double timeExt() const { return data().timeExt(); }
118  double dtErrorExt() const { return data().dtErrorExt(); }
119 
120  const Track & track() const {return data().track();}
121 
122  TrackBaseRef trackBaseRef() const {return data().trackBaseRef();}
123 
125  {return data().stateAtBeamLine();}
126 
127 // Methods forwarded to original track.
128 
134  TrackingRecHitRef recHit( size_t i ) const { return track().recHit( i ); }
136  size_t recHitsSize() const { return track().recHitsSize(); }
137  // hit pattern
138  const HitPattern &hitPattern() const { return track().hitPattern(); }
140  unsigned short numberOfValidHits() const { return track().hitPattern().numberOfValidHits(); }
144  double chi2() const { return track().chi2(); }
146  double ndof() const { return track().ndof(); }
148  double normalizedChi2() const { return track().chi2() / track().ndof(); }
149 
151  bool isValid() const {return Base::isValid() ;}
152 
153  };
154 
155 }
156 
157 #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:119
int numberOfValidHits() const
Definition: HitPattern.h:823
void swap(TransientTrack &rh)
bool operator<(const TransientTrack &other) const
TransientTrack(BasicTransientTrack *btt)
const HitPattern & hitPattern() const
TransientTrack & operator=(TransientTrack &&rh)
#define noexcept
double timeExt() const
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
TransientTrack & operator=(TransientTrack const &rh)
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:544
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:550
bool impactPointStateAvailable() const
def move
Definition: eostools.py:510
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:104
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
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:445
BasicTransientTrack::Proxy Base
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
double dtErrorExt() const
const T & data() const
Definition: ProxyBase.h:65
int numberOfLostHits(HitCategory category) const
Definition: HitPattern.h:902
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:17
double ndof() const
number of degrees of freedom of the fit
bool isValid() const
Definition: ProxyBase.h:79
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:114
TransientTrack(TransientTrack &&rh)
TrajectoryStateOnSurface impactPointState() const
trackingRecHit_iterator recHitsBegin() const
first iterator to RecHits
T & sharedData()
Definition: ProxyBase.h:77
*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
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
Definition: Track.h:109