Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-10 02:21:02

0001 #ifndef OMTFProducer_H
0002 #define OMTFProducer_H
0003 
0004 #include "FWCore/Framework/interface/one/EDProducer.h"
0005 #include "FWCore/Utilities/interface/EDGetToken.h"
0006 
0007 #include "L1Trigger/L1TMuonOverlapPhase2/interface/OmtfEmulation.h"
0008 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0009 
0010 class L1TMuonOverlapPhase2TrackProducer : public edm::one::EDProducer<edm::one::WatchRuns> {
0011 public:
0012   L1TMuonOverlapPhase2TrackProducer(const edm::ParameterSet&);
0013 
0014   ~L1TMuonOverlapPhase2TrackProducer() override = default;
0015 
0016   void beginJob() override;
0017 
0018   void endJob() override;
0019 
0020   void beginRun(edm::Run const& run, edm::EventSetup const& iSetup) override;
0021 
0022   void endRun(edm::Run const& run, edm::EventSetup const& iSetup) override{};
0023 
0024   void produce(edm::Event&, const edm::EventSetup&) override;
0025 
0026 private:
0027   MuStubsInputTokens muStubsInputTokens;
0028 
0029   edm::ESGetToken<L1TMuonOverlapParams, L1TMuonOverlapParamsRcd> omtfParamsEsToken;
0030 
0031   //needed for AngleConverterBase
0032   MuonGeometryTokens muonGeometryTokens;
0033 
0034   ///needed by tools/CandidateSimMuonMatcher.h
0035   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magneticFieldEsToken;
0036   edm::ESGetToken<Propagator, TrackingComponentsRecord> propagatorEsToken;
0037 
0038   OmtfEmulation omtfEmulation;
0039 };
0040 
0041 #endif