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 
14  : GsfTrack(),
15  tkr_(),
16  hasTime(false),
17  timeExt_(0.),
18  dtErrorExt_(0.),
19  theField(nullptr),
20  initialTSOSAvailable(false),
21  initialTSCPAvailable(false),
22  blStateAvailable(false),
23  theTIPExtrapolator() {}
24 
26  : GsfTrack(tk),
27  tkr_(),
28  hasTime(false),
29  timeExt_(0.),
30  dtErrorExt_(0.),
31  theField(field),
32  initialTSOSAvailable(false),
33  initialTSCPAvailable(false),
34  blStateAvailable(false) {
36 }
37 
39  const double time,
40  const double dtime,
41  const MagneticField* field)
42  : GsfTrack(tk),
43  tkr_(),
44  hasTime(true),
45  timeExt_(time),
46  dtErrorExt_(dtime),
47  theField(field),
48  initialTSOSAvailable(false),
49  initialTSCPAvailable(false),
50  blStateAvailable(false) {
52 }
53 
55  : GsfTrack(*tk),
56  tkr_(tk),
57  hasTime(false),
58  timeExt_(0.),
59  dtErrorExt_(0.),
60  theField(field),
61  initialTSOSAvailable(false),
62  initialTSCPAvailable(false),
63  blStateAvailable(false),
64  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
66 }
67 
69  const double time,
70  const double dtime,
71  const MagneticField* field)
72  : GsfTrack(*tk),
73  tkr_(tk),
74  hasTime(true),
75  timeExt_(time),
76  dtErrorExt_(dtime),
77  theField(field),
78  initialTSOSAvailable(false),
79  initialTSCPAvailable(false),
80  blStateAvailable(false),
81  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
83 }
84 
86  const MagneticField* field,
88  : GsfTrack(tk),
89  tkr_(),
90  hasTime(false),
91  timeExt_(0.),
92  dtErrorExt_(0.),
93  theField(field),
94  initialTSOSAvailable(false),
95  initialTSCPAvailable(false),
96  blStateAvailable(false),
97  theTrackingGeometry(tg),
98  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
100 }
101 
103  const double time,
104  const double dtime,
105  const MagneticField* field,
107  : GsfTrack(tk),
108  tkr_(),
109  hasTime(true),
110  timeExt_(time),
111  dtErrorExt_(dtime),
112  theField(field),
113  initialTSOSAvailable(false),
114  initialTSCPAvailable(false),
115  blStateAvailable(false),
116  theTrackingGeometry(tg),
117  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
119 }
120 
122  const MagneticField* field,
124  : GsfTrack(*tk),
125  tkr_(tk),
126  hasTime(false),
127  timeExt_(0.),
128  dtErrorExt_(0.),
129  theField(field),
130  initialTSOSAvailable(false),
131  initialTSCPAvailable(false),
132  blStateAvailable(false),
133  theTrackingGeometry(tg),
134  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
136 }
137 
139  const double time,
140  const double dtime,
141  const MagneticField* field,
143  : GsfTrack(*tk),
144  tkr_(tk),
145  hasTime(true),
146  timeExt_(time),
147  dtErrorExt_(dtime),
148  theField(field),
149  initialTSOSAvailable(false),
150  initialTSCPAvailable(false),
151  blStateAvailable(false),
152  theTrackingGeometry(tg),
153  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum)) {
155 }
156 
158  : GsfTrack(tt),
159  tkr_(tt.persistentTrackRef()),
160  hasTime(tt.hasTime),
161  timeExt_(tt.timeExt_),
162  dtErrorExt_(tt.dtErrorExt_),
163  theField(tt.field()),
164  initialFTS(tt.initialFreeState()),
165  initialTSOSAvailable(false),
166  initialTSCPAvailable(false),
167  theTIPExtrapolator(AnalyticalPropagator(tt.field(), alongMomentum)) {
168  if (tt.initialTSOSAvailable) {
169  initialTSOS = tt.impactPointState();
170  initialTSOSAvailable = true;
171  }
172  if (tt.initialTSCPAvailable) {
173  initialTSCP = tt.impactPointTSCP();
174  initialTSCPAvailable = true;
175  }
176 }
177 
179  theTrackingGeometry = tg;
180 }
181 
184  blStateAvailable = false;
185 }
186 
190  return initialTSOS;
191 }
192 
194  if (!initialTSCPAvailable) {
196  initialTSCPAvailable = true;
197  }
198  return initialTSCP;
199 }
200 
203 }
204 
207 }
208 
212  initialTSOSAvailable = true;
213 }
214 
217 }
218 
220  return builder(stateOnSurface(point), point);
221 }
222 
224  if (!blStateAvailable) {
225  TSCBLBuilderNoMaterial blsBuilder;
227  blStateAvailable = true;
228  }
230 }
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
TrajectoryStateOnSurface outerStateOnSurface(const reco::GsfTrack &tk) const
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const override
TrajectoryStateOnSurface impactPointState() const override
TrajectoryStateOnSurface initialTSOS
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &) override
GlobalPoint position() const
TrajectoryStateOnSurface outermostMeasurementState() const override
TrajectoryStateClosestToBeamLine stateAtBeamLine() const override
TrajectoryStateOnSurface innerStateOnSurface(const reco::GsfTrack &tk) const
TransverseImpactPointExtrapolator theTIPExtrapolator
void setBeamSpot(const reco::BeamSpot &beamSpot) override
const MagneticField * field() const override
TSCPBuilderNoMaterial builder
TrajectoryStateClosestToPoint impactPointTSCP() const override
TrajectoryStateClosestToPoint initialTSCP
const MagneticField * theField
double dtime()
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
fixed size matrix
FreeTrajectoryState initialFTS
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const override
TrajectoryStateOnSurface innermostMeasurementState() const override
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
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry