CMS 3D CMS Logo

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 {
39  class ParameterSet;
40  class EventSetup;
41 } // namespace edm
42 namespace reco {
43  class TransientTrack;
44 }
45 
46 class TrajectoryFitter;
47 class TrajectorySmoother;
48 class Propagator;
50 class Trajectory;
51 
53 public:
56 
59 
60  // Operations
61 
63  std::vector<Trajectory> transform(const reco::Track&) const override;
64 
66  const MagneticField* magneticField() const { return &*theMGField; }
67 
69  edm::ESHandle<GlobalTrackingGeometry> trackingGeometry() const { return theTrackingGeometry; }
70 
72  void setServices(const edm::EventSetup&) override;
73 
75  bool SlopeSum(const TransientTrackingRecHit::ConstRecHitContainer&) const;
76  float SumDy(const TransientTrackingRecHit::ConstRecHitContainer&) const;
77 
79  edm::ESHandle<TrajectoryFitter> fitter(bool, int, float) const;
80 
82  edm::ESHandle<TrajectorySmoother> smoother(bool, int, float) const;
83 
85 
86 protected:
87 private:
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 #endif
edm::ESHandle< Propagator > thePropagatorIO
edm::ESHandle< TrajectorySmoother > theSmootherOI
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
edm::ESHandle< TrajectorySmoother > theSmootherIO
edm::ESHandle< Propagator > thePropagatorOI
edm::ESHandle< TrajectoryFitter > theFitterOI
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::ESHandle< TrajectoryFitter > theFitterIO
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
std::vector< ConstRecHitPointer > ConstRecHitContainer
fixed size matrix
HLT enums.
edm::ESHandle< GlobalTrackingGeometry > trackingGeometry() const
the tracking geometry
edm::ESHandle< MagneticField > theMGField
const MagneticField * magneticField() const
the magnetic field
unsigned transform(const HcalDetId &id, unsigned transformCode)