CMS 3D CMS Logo

GsfTransientTrack.cc
Go to the documentation of this file.
8 #include <iostream>
9 
10 using namespace reco;
11 using namespace std;
12 
13 
14 
16  GsfTrack(), tkr_(), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
17  theField(0), initialTSOSAvailable(false),
18  initialTSCPAvailable(false), blStateAvailable(false), theTIPExtrapolator()
19 {}
20 
22  GsfTrack(tk),
23  tkr_(), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
26 {
27 
29 }
30 
32  const double dtime,
33  const MagneticField* field) :
34  GsfTrack(tk),
35  tkr_(), hasTime(true), timeExt_(time), dtErrorExt_(dtime),
38 {
39 
41 }
42 
43 
45  GsfTrack(*tk),
46  tkr_(tk), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
50 {
51 
53 }
54 
56  const double time,
57  const double dtime,
58  const MagneticField* field) :
59  GsfTrack(*tk),
60  tkr_(tk), hasTime(true), timeExt_(time), dtErrorExt_(dtime),
64 {
65 
67 }
68 
71  GsfTrack(tk),
72  tkr_(), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
76 {
77 
79 }
80 
82  const double dtime,
83  const MagneticField* field,
85  GsfTrack(tk),
86  tkr_(),
87  hasTime(true), timeExt_(time), dtErrorExt_(dtime),
91 {
92 
94 }
95 
98  GsfTrack(*tk),
99  tkr_(tk), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
103 {
104 
106 }
107 
109  const double dtime,
110  const MagneticField* field,
112  GsfTrack(*tk),
113  tkr_(tk), hasTime(true), timeExt_(time), dtErrorExt_(dtime),
117 {
118 
120 }
121 
122 
124  GsfTrack(tt),
125  tkr_(tt.persistentTrackRef()),
127  theField(tt.field()),
131 {
132  if (tt.initialTSOSAvailable) {
134  initialTSOSAvailable = true;
135  }
136  if (tt.initialTSCPAvailable) {
138  initialTSCPAvailable = true;
139  }
140 }
141 
142 
143 
145 
147 
148 }
149 
151 
152  theTrackingGeometry = tg;
153 
154 }
155 
157 {
159  blStateAvailable = false;
160 }
161 
162 
164 {
166  return initialTSOS;
167 }
168 
170 {
171  if (!initialTSCPAvailable) {
173  initialTSCPAvailable = true;
174  }
175  return initialTSCP;
176 }
177 
179 {
180  MultiTrajectoryStateTransform theMTransform;
181  return theMTransform.outerStateOnSurface((*this),*theTrackingGeometry,theField);
182 }
183 
185 {
186  MultiTrajectoryStateTransform theMTransform;
187  return theMTransform.innerStateOnSurface((*this),*theTrackingGeometry,theField);
188 }
189 
191 {
194  initialTSOSAvailable = true;
195 }
196 
199 {
201 }
202 
203 
206 {
207  return builder(stateOnSurface(point), point);
208 }
209 
211 {
212  if (!blStateAvailable) {
213  TSCBLBuilderNoMaterial blsBuilder;
215  blStateAvailable = true;
216  }
218 }
219 
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
TrajectoryStateClosestToPoint impactPointTSCP() const
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
FreeTrajectoryState initialFreeState() const
TrajectoryStateOnSurface initialTSOS
TrajectoryStateOnSurface outerStateOnSurface(const reco::GsfTrack &tk) const
void calculateTSOSAtVertex() const
TransverseImpactPointExtrapolator theTIPExtrapolator
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &)
void setBeamSpot(const reco::BeamSpot &beamSpot)
TSCPBuilderNoMaterial builder
TrajectoryStateOnSurface impactPointState() const
TrajectoryStateClosestToPoint initialTSCP
GlobalPoint position() const
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
const MagneticField * theField
const T & get() const
Definition: EventSetup.h:56
TrajectoryStateOnSurface outermostMeasurementState() const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
TrajectoryStateOnSurface innerStateOnSurface(const reco::GsfTrack &tk) const
fixed size matrix
FreeTrajectoryState initialFTS
const MagneticField * field() const
TrajectoryStateOnSurface innermostMeasurementState() const
GsfTrackRef persistentTrackRef() const
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field, bool withErr=true)
*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
void setES(const edm::EventSetup &)
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry