CMS 3D CMS Logo

TransientTrackFromFTS.h
Go to the documentation of this file.
1 #ifndef TrackReco_TransientTrackFromFTS_h
2 #define TrackReco_TransientTrackFromFTS_h
3 
13 
14 namespace reco {
15 
17  public:
18 
20 
22  TransientTrackFromFTS(const FreeTrajectoryState & fts, const double time, const double dtime);
23 
25  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
27  const double time,
28  const double dtime,
29  const edm::ESHandle<GlobalTrackingGeometry>& trackingGeometry);
30 
32 
34 
35  void setES(const edm::EventSetup& ) override;
36 
38 
39  void setBeamSpot(const reco::BeamSpot& beamSpot) override;
40 
41  FreeTrajectoryState initialFreeState() const override {return initialFTS;}
42 
44 
46 
49  {return builder(initialFTS, point);}
50 
55 
57 
59 
60  bool impactPointStateAvailable() const override {return initialTSOSAvailable;}
61 
62  TrackCharge charge() const override {return initialFTS.charge();}
63 
64  const MagneticField* field() const override {return theField;}
65 
66  const Track & track() const override;
67 
68  TrackBaseRef trackBaseRef() const override { return TrackBaseRef();}
69 
71 
72  double timeExt() const override { return ( hasTime ? timeExt_ : std::numeric_limits<double>::quiet_NaN() ); }
73  double dtErrorExt() const override { return ( hasTime ? dtErrorExt_ : std::numeric_limits<double>::quiet_NaN() ); }
74 
75  private:
76 
77  void calculateTSOSAtVertex() const;
78 
80  bool hasTime;
81  double timeExt_;
82  double dtErrorExt_;
87  mutable Track theTrack;
92 
93  };
94 
95 }
96 
97 #endif
TrajectoryStateClosestToBeamLine stateAtBeamLine() const override
void setES(const edm::EventSetup &) override
const MagneticField * field() const override
TrajectoryStateOnSurface outermostMeasurementState() const override
bool impactPointStateAvailable() const override
TrajectoryStateOnSurface initialTSOS
TrackCharge charge() const
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &) override
const MagneticField * theField
int TrackCharge
Definition: TrackCharge.h:4
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const override
TrajectoryStateClosestToPoint initialTSCP
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:32
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
FreeTrajectoryState initialFreeState() const override
const Track & track() const override
TrajectoryStateOnSurface impactPointState() const override
void setBeamSpot(const reco::BeamSpot &beamSpot) override
TrajectoryStateClosestToPoint impactPointTSCP() const override
double timeExt() const override
TrajectoryStateOnSurface innermostMeasurementState() const override
TrackBaseRef trackBaseRef() const override
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
fixed size matrix
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const override
TransientTrackFromFTS & operator=(const TransientTrackFromFTS &tt)
double dtErrorExt() const override
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
*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
TrackCharge charge() const override