File indexing completed on 2024-09-07 04:37:00
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
0032 MuonGeometryTokens muonGeometryTokens;
0033
0034
0035 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magneticFieldEsToken;
0036 edm::ESGetToken<Propagator, TrackingComponentsRecord> propagatorEsToken;
0037
0038 OmtfEmulation omtfEmulation;
0039 };
0040
0041 #endif