CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TransientTrackFromFTS.cc
Go to the documentation of this file.
7 // #include <iostream>
9 
10 using namespace reco;
11 
13  theField(0), initialTSOSAvailable(false), initialTSCPAvailable(false),
14  trackAvailable(false), blStateAvailable(false)
15 {}
16 
18  initialFTS(fts), theField(&(initialFTS.parameters().magneticField())),
19  initialTSOSAvailable(false), initialTSCPAvailable(false), trackAvailable(false),
20  blStateAvailable(false)
21 {}
22 
23 
26  initialFTS(fts), theField(&(initialFTS.parameters().magneticField())),
27  initialTSOSAvailable(false), initialTSCPAvailable(false), trackAvailable(false),
28  blStateAvailable(false), theTrackingGeometry(tg)
29 {}
30 
31 
33  initialFTS(tt.initialFreeState()), theField(tt.field()), initialTSOSAvailable(false),
34  initialTSCPAvailable(false), trackAvailable(false)
35 {
36  if (tt.initialTSOSAvailable) {
38  initialTSOSAvailable = true;
39  }
40  if (tt.initialTSCPAvailable) {
42  initialTSCPAvailable = true;
43  }
44 }
45 
46 
47 
49 {
51 }
52 
53 void
55 {
57 }
58 
60 {
62  blStateAvailable = false;
63 }
64 
65 
67 {
69  return initialTSOS;
70 }
71 
73 {
76  initialTSCPAvailable = true;
77  }
78  return initialTSCP;
79 }
80 
82 {
83  throw cms::Exception("LogicError") <<
84  "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an outermostMeasurementState";
85 }
86 
88 {
89  throw cms::Exception("LogicError") <<
90  "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an innermostMeasurementState";
91 }
92 
93 
95 {
98  initialTSOSAvailable = true;
99 }
100 
103 {
105  return tipe.extrapolate(initialFTS, point);
106 }
107 
109 {
110  if unlikely(!trackAvailable) {
112  math::XYZPoint pos( v.x(), v.y(), v.z() );
114  math::XYZVector mom( p.x(), p.y(), p.z() );
115 
116  theTrack = Track(0., 0., pos, mom, initialFTS.charge(),
118  trackAvailable = true;
119  }
120  return theTrack;
121 }
122 
124 {
126  TSCBLBuilderNoMaterial blsBuilder;
128  blStateAvailable = true;
129  }
131 }
132 
dictionary parameters
Definition: Parameters.py:2
TrajectoryStateOnSurface initialTSOS
TrajectoryStateOnSurface outermostMeasurementState() const
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
const MagneticField * theField
#define unlikely(x)
Definition: Likely.h:21
void setES(const edm::EventSetup &)
void setBeamSpot(const reco::BeamSpot &beamSpot)
TrajectoryStateClosestToPoint initialTSCP
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
TrajectoryStateOnSurface innermostMeasurementState() const
GlobalVector momentum() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:28
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
GlobalPoint position() const
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field)
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:13
const T & get() const
Definition: EventSetup.h:55
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
TrajectoryStateClosestToPoint impactPointTSCP() const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
TrajectoryStateOnSurface impactPointState() const
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
mathSSE::Vec4< T > v
*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