Back to home page

Project CMSSW displayed by LXR

 
 

    


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);