Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-09-16 00:05:55

0001 #ifndef TrackingRegionsFromBeamSpotAndL2Tau_h
0002 #define TrackingRegionsFromBeamSpotAndL2Tau_h
0003 
0004 //
0005 // Class:           TrackingRegionsFromBeamSpotAndL2Tau
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 /** class TrackingRegionsFromBeamSpotAndL2Tau
0025  * plugin for creating eta-phi TrackingRegions in directions of L2 taus
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