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 
23 
25 
27 
29 
31 
35 
37 
38 namespace edm {class ParameterSet; class EventSetup;}
39 namespace reco {class TransientTrack;}
40 
41 class TrajectoryFitter;
42 class TrajectorySmoother;
43 class Propagator;
45 class Trajectory;
46 
48 
49 public:
50 
53 
56 
57  // Operations
58 
60  virtual std::vector<Trajectory> transform(const reco::Track&) const;
61 
63  const MagneticField* magneticField() const {return &*theMGField;}
64 
67 
69  virtual void setServices(const edm::EventSetup&);
70 
74 
76  edm::ESHandle<TrajectoryFitter> fitter(bool, int, float) const;
77 
79  edm::ESHandle<TrajectorySmoother> smoother(bool, int, float) const;
80 
82  getTransientRecHits(const reco::TransientTrack& track) const;
83 
84  protected:
85 
86  private:
87 
90 
91  edm::ESHandle<Propagator> propagator(bool, int, float) const;
92 
93  unsigned long long theCacheId_TC;
94  unsigned long long theCacheId_GTG;
95  unsigned long long theCacheId_MG;
96  unsigned long long theCacheId_TRH;
97 
99 
102 
105 
108 
111 
114 
115 };
116 #endif
117 
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
edm::ESHandle< Propagator > thePropagatorOI
edm::ESHandle< TrajectoryFitter > fitter(bool, int, float) const
the refitter used to refit the reco::Track
edm::ESHandle< TrajectoryFitter > theFitterOI
float SumDy(const TransientTrackingRecHit::ConstRecHitContainer &) const
decide if the track should be reversed
virtual std::vector< Trajectory > transform(const reco::Track &) const
Convert a reco::Track into Trajectory.
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::ESHandle< TrajectoryFitter > theFitterIO
bool SlopeSum(const TransientTrackingRecHit::ConstRecHitContainer &) const
calculate the sum of slopes for the track
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