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 
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 
70 
72  void setServices(const edm::EventSetup&) override;
73 
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:
98 
101 
102  edm::ESHandle<Propagator> propagator(bool, int, float) const;
103 
104  unsigned long long theCacheId_TC;
105  unsigned long long theCacheId_GTG;
106  unsigned long long theCacheId_MG;
107  unsigned long long theCacheId_TRH;
108 
110 
113 
116 
119 
122 
125 };
126 #endif
const edm::ESGetToken< Propagator, TrackingComponentsRecord > theIOpropToken
float SumDy(const TransientTrackingRecHit::ConstRecHitContainer &) const
decide if the track should be reversed
void setServices(const edm::EventSetup &) override
set the services needed by the TrackTransformer
edm::ESHandle< Propagator > thePropagatorIO
edm::ESHandle< TrajectorySmoother > theSmootherOI
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theMFToken
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
edm::ESHandle< TrajectorySmoother > theSmootherIO
const edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theTkRecHitBuildToken
edm::ESHandle< TrajectoryFitter > theFitterOI
const edm::ESGetToken< Propagator, TrackingComponentsRecord > theOIpropToken
bool SlopeSum(const TransientTrackingRecHit::ConstRecHitContainer &) const
calculate the sum of slopes for the track
const edm::ESGetToken< TrajectorySmoother, TrajectoryFitter::Record > theIOSmootherToken
~TrackTransformerForCosmicMuons() override
Destructor.
const MagneticField * magneticField() const
the magnetic field
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
edm::ESHandle< TrajectoryFitter > theFitterIO
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
edm::ESHandle< TrajectoryFitter > fitter(bool, int, float) const
the refitter used to refit the reco::Track
std::vector< ConstRecHitPointer > ConstRecHitContainer
edm::ESHandle< GlobalTrackingGeometry > trackingGeometry() const
the tracking geometry
const edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theMuonRecHitBuildToken
edm::ESHandle< TrajectorySmoother > smoother(bool, int, float) const
the smoother used to smooth the trajectory which came from the refitting step
TrackTransformerForCosmicMuons(const edm::ParameterSet &, edm::ConsumesCollector)
Constructor.
const edm::ESGetToken< TrajectoryFitter, TrajectoryFitter::Record > theOIFitterToken
fixed size matrix
HLT enums.
edm::ESHandle< Propagator > propagator(bool, int, float) const
const edm::ESGetToken< TrajectorySmoother, TrajectoryFitter::Record > theOISmootherToken
const edm::ESGetToken< TrajectoryFitter, TrajectoryFitter::Record > theIOFitterToken
edm::ESHandle< MagneticField > theMGField
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > thGlobTrackGeoToken
TransientTrackingRecHit::ConstRecHitContainer getTransientRecHits(const reco::TransientTrack &track) const
std::vector< Trajectory > transform(const reco::Track &) const override
Convert a reco::Track into Trajectory.