CMS 3D CMS Logo

MuonTrackingRegionBuilder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackingTools_MuonTrackingRegionBuilder_H
2 #define RecoMuon_TrackingTools_MuonTrackingRegionBuilder_H
3 
24 
28 
31 
34 
35 class MuonServiceProxy;
37 class MagneticField;
41 
43 public:
47 
50 
52  std::vector<std::unique_ptr<TrackingRegion> > regions(const edm::Event&, const edm::EventSetup&) const override;
53 
55  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::TrackRef&) const;
56  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::Track& t) const {
57  return region(t, *theEvent, *theEventSetup);
58  }
59  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::Track&,
60  const edm::Event&,
61  const edm::EventSetup&) const;
62 
64  void setEvent(const edm::Event&, const edm::EventSetup&);
65 
67  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
68  static void fillDescriptionsHLT(edm::ParameterSetDescription& descriptions);
69  static void fillDescriptionsOffline(edm::ParameterSetDescription& descriptions);
70 
71 private:
73 
76 
77  bool useVertex;
78  bool useFixedZ;
79  bool useFixedPt;
82  bool thePrecise;
83 
85 
86  double theNsigmaEta;
87  double theNsigmaPhi;
88  double theNsigmaDz;
89 
94 
95  double thePtMin;
96  double thePhiMin;
97  double theEtaMin;
98  double theDeltaR;
99  double theHalfZ;
100  double theDeltaPhi;
101  double theDeltaEta;
102 
110 };
111 #endif
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
const edm::EventSetup * theEventSetup
~MuonTrackingRegionBuilder() override
Destructor.
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > msmakerToken
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Add Fill Descriptions.
MuonTrackingRegionBuilder(const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
MuonTrackingRegionBuilder(const edm::ParameterSet &par, edm::ConsumesCollector &iC)
Constructor.
void build(const edm::ParameterSet &, edm::ConsumesCollector &)
void setEvent(const edm::Event &, const edm::EventSetup &)
Pass the Event to the algo at each event.
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > bfieldToken
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &, const edm::EventSetup &) const override
Create Region of Interest.
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
static void fillDescriptionsOffline(edm::ParameterSetDescription &descriptions)
static void fillDescriptionsHLT(edm::ParameterSetDescription &descriptions)
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::Track &t) const