File indexing completed on 2024-04-06 12:27:44
0001 #ifndef TrackingRegionsFromBeamSpotAndL2Tau_h
0002 #define TrackingRegionsFromBeamSpotAndL2Tau_h
0003
0004
0005
0006
0007
0008 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegionProducer.h"
0009 #include "RecoTracker/TkTrackingRegions/interface/RectangularEtaPhiTrackingRegion.h"
0010 #include "RecoTracker/MeasurementDet/interface/MeasurementTrackerEvent.h"
0011 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0012 #include "RecoTracker/Record/interface/TrackerMultipleScatteringRecord.h"
0013
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 #include "FWCore/Utilities/interface/InputTag.h"
0018 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 #include "DataFormats/Common/interface/Handle.h"
0021 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0022 #include "DataFormats/Candidate/interface/Candidate.h"
0023
0024
0025
0026
0027 class TrackingRegionsFromBeamSpotAndL2Tau : public TrackingRegionProducer {
0028 public:
0029 explicit TrackingRegionsFromBeamSpotAndL2Tau(const edm::ParameterSet& conf, edm::ConsumesCollector&& iC);
0030 ~TrackingRegionsFromBeamSpotAndL2Tau() override {}
0031
0032 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0033
0034 std::vector<std::unique_ptr<TrackingRegion> > regions(const edm::Event& e, const edm::EventSetup& es) const override;
0035
0036 private:
0037 float m_ptMin;
0038 float m_originRadius;
0039 float m_originHalfLength;
0040 float m_deltaEta;
0041 float m_deltaPhi;
0042 edm::EDGetTokenT<reco::CandidateView> token_jet;
0043 float m_jetMinPt;
0044 float m_jetMaxEta;
0045 int m_jetMaxN;
0046 edm::EDGetTokenT<MeasurementTrackerEvent> token_measurementTracker;
0047 RectangularEtaPhiTrackingRegion::UseMeasurementTracker m_whereToUseMeasurementTracker;
0048 bool m_searchOpt;
0049 edm::EDGetTokenT<reco::BeamSpot> token_beamSpot;
0050 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> token_field;
0051 edm::ESGetToken<MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord> token_msmaker;
0052 bool m_precise;
0053 };
0054
0055 #endif