CMS 3D CMS Logo

MuonTrackingRegionByPtBuilder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_MuonTrackingRegionByPtBuilder_h
2 #define RecoMuon_GlobalTrackingTools_MuonTrackingRegionByPtBuilder_h
3 
8 
12 
15 
18 
19 class MuonServiceProxy;
21 class MagneticField;
25 
27 public:
31 
33  ~MuonTrackingRegionByPtBuilder() override = default;
34 
36  std::vector<std::unique_ptr<TrackingRegion> > regions(const edm::Event&, const edm::EventSetup&) const override;
37 
39  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::TrackRef&) const;
40  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::Track& t) const {
41  return region(t, *theEvent, *theEventSetup);
42  }
43  std::unique_ptr<RectangularEtaPhiTrackingRegion> region(const reco::Track&,
44  const edm::Event&,
45  const edm::EventSetup&) const;
46 
48  void setEvent(const edm::Event&, const edm::EventSetup&);
49 
51  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
52 
53 private:
55 
58 
59  bool useVertex;
60  bool useFixedZ;
61  bool useFixedPt;
62  bool thePrecise;
63 
65 
66  double theNsigmaDz;
67 
68  double thePtMin;
69  double theDeltaR;
70  double theHalfZ;
71 
72  std::vector<double> ptRanges_;
73  std::vector<double> deltaEtas_;
74  std::vector<double> deltaPhis_;
75 
83 };
84 #endif
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::TrackRef &) const
Define tracking region.
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &, const edm::EventSetup &) const override
Create Region of Interest.
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
void build(const edm::ParameterSet &, edm::ConsumesCollector &)
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > msmakerToken
~MuonTrackingRegionByPtBuilder() override=default
Destructor.
edm::EDGetTokenT< reco::TrackCollection > inputCollectionToken
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Add Fill Descriptions.
RectangularEtaPhiTrackingRegion::UseMeasurementTracker theOnDemand
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerToken
std::unique_ptr< RectangularEtaPhiTrackingRegion > region(const reco::Track &t) const
MuonTrackingRegionByPtBuilder(const edm::ParameterSet &par, edm::ConsumesCollector &iC)
Constructor.
MuonTrackingRegionByPtBuilder(const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > bfieldToken
void setEvent(const edm::Event &, const edm::EventSetup &)
Pass the Event to the algo at each event.