CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackTransformerForCosmicMuons.h
Go to the documentation of this file.
1 #ifndef TrackingTools_TrackRefitter_TrackTransformerForCosmicMuons_H
2 #define TrackingTools_TrackRefitter_TrackTransformerForCosmicMuons_H
3 
24 
26 
28 
30 
32 
36 
38 
39 namespace edm {class ParameterSet; class EventSetup;}
40 namespace reco {class TransientTrack;}
41 
42 class TrajectoryFitter;
43 class TrajectorySmoother;
44 class Propagator;
46 class Trajectory;
47 
49 
50 public:
51 
54 
57 
58  // Operations
59 
61  virtual std::vector<Trajectory> transform(const reco::Track&) const;
62 
64  const MagneticField* magneticField() const {return &*theMGField;}
65 
68 
70  virtual void setServices(const edm::EventSetup&);
71 
75 
77  edm::ESHandle<TrajectoryFitter> fitter(bool, int, float) const;
78 
80  edm::ESHandle<TrajectorySmoother> smoother(bool, int, float) const;
81 
84 
85  protected:
86 
87  private:
88 
91 
92  edm::ESHandle<Propagator> propagator(bool, int, float) const;
93 
94  unsigned long long theCacheId_TC;
95  unsigned long long theCacheId_GTG;
96  unsigned long long theCacheId_MG;
97  unsigned long long theCacheId_TRH;
98 
100 
103 
106 
109 
112 
115 
116 };
117 #endif
118 
edm::ESHandle< Propagator > propagator(bool, int, float) const
edm::ESHandle< Propagator > thePropagatorIO
edm::ESHandle< TrajectorySmoother > theSmootherOI
virtual void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
TrackTransformerForCosmicMuons(const edm::ParameterSet &)
Constructor.
edm::ESHandle< TrajectorySmoother > theSmootherIO
float SumDy(TransientTrackingRecHit::ConstRecHitContainer) const
decide if the track should be reversed
edm::ESHandle< Propagator > thePropagatorOI
edm::ESHandle< TrajectoryFitter > fitter(bool, int, float) const
the refitter used to refit the reco::Track
edm::ESHandle< TrajectoryFitter > theFitterOI
virtual std::vector< Trajectory > transform(const reco::Track &) const
Convert a reco::Track into Trajectory.
bool SlopeSum(TransientTrackingRecHit::ConstRecHitContainer) const
calculate the sum of slopes for the track
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::ESHandle< TrajectoryFitter > theFitterIO
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
std::vector< ConstRecHitPointer > ConstRecHitContainer
edm::ESHandle< TrajectorySmoother > smoother(bool, int, float) const
the smoother used to smooth the trajectory which came from the refitting step
edm::ESHandle< GlobalTrackingGeometry > trackingGeometry() const
the tracking geometry
edm::ESHandle< MagneticField > theMGField
const MagneticField * magneticField() const
the magnetic field
TransientTrackingRecHit::ConstRecHitContainer getTransientRecHits(const reco::TransientTrack &track) const