File indexing completed on 2024-04-06 12:21:03
0001 #include <iostream>
0002 #include <vector>
0003
0004 #include "FWCore/Framework/interface/ConsumesCollector.h"
0005 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0006
0007 #include "CondFormats/DataRecord/interface/L1TMuonOverlapParamsRcd.h"
0008 #include "CondFormats/L1TObjects/interface/L1TMuonOverlapParams.h"
0009
0010 #include "L1Trigger/L1TMuonOverlap/plugins/L1TMuonOverlapTrackProducer.h"
0011 #include "L1Trigger/L1TMuonOverlap/interface/OMTFProcessor.h"
0012 #include "L1Trigger/L1TMuonOverlap/interface/OMTFinput.h"
0013 #include "L1Trigger/L1TMuonOverlap/interface/OMTFConfiguration.h"
0014 #include "L1Trigger/L1TMuonOverlap/interface/XMLConfigWriter.h"
0015
0016 #include "L1Trigger/RPCTrigger/interface/RPCConst.h"
0017
0018 L1TMuonOverlapTrackProducer::L1TMuonOverlapTrackProducer(const edm::ParameterSet& cfg)
0019 : m_Reconstruction(cfg, consumesCollector()) {
0020 produces<l1t::RegionalMuonCandBxCollection>("OMTF");
0021
0022 inputTokenDTPh = consumes<L1MuDTChambPhContainer>(cfg.getParameter<edm::InputTag>("srcDTPh"));
0023 inputTokenDTTh = consumes<L1MuDTChambThContainer>(cfg.getParameter<edm::InputTag>("srcDTTh"));
0024 inputTokenCSC = consumes<CSCCorrelatedLCTDigiCollection>(cfg.getParameter<edm::InputTag>("srcCSC"));
0025 inputTokenRPC = consumes<RPCDigiCollection>(cfg.getParameter<edm::InputTag>("srcRPC"));
0026 }
0027
0028
0029 L1TMuonOverlapTrackProducer::~L1TMuonOverlapTrackProducer() {}
0030
0031
0032 void L1TMuonOverlapTrackProducer::beginJob() { m_Reconstruction.beginJob(); }
0033
0034
0035 void L1TMuonOverlapTrackProducer::endJob() { m_Reconstruction.endJob(); }
0036
0037
0038 void L1TMuonOverlapTrackProducer::beginRun(edm::Run const& run, edm::EventSetup const& iSetup) {
0039 m_Reconstruction.beginRun(run, iSetup);
0040 }
0041
0042
0043 void L1TMuonOverlapTrackProducer::produce(edm::Event& iEvent, const edm::EventSetup& evSetup) {
0044 std::ostringstream str;
0045
0046 std::unique_ptr<l1t::RegionalMuonCandBxCollection> candidates = m_Reconstruction.reconstruct(iEvent, evSetup);
0047
0048 iEvent.put(std::move(candidates), "OMTF");
0049 }
0050
0051
0052 #include "FWCore/Framework/interface/MakerMacros.h"
0053 DEFINE_FWK_MODULE(L1TMuonOverlapTrackProducer);