From 35a2fb3e206e4de253cc5e2bc700702ea2d94934 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 29 Sep 2022 08:56:02 -0500 Subject: [PATCH] Convert modules in L1Trigger/HardwareValidation to global - did minor changes to allow change to const - used mutable atomics for thread-safe incremented values --- .../interface/L1ComparatorRun2.h | 28 ++--- .../HardwareValidation/plugins/L1DEFilter.cc | 6 +- .../HardwareValidation/plugins/L1DEFilter.h | 11 +- .../plugins/L1DummyProducer.cc | 53 ++++---- .../plugins/L1DummyProducer.h | 114 ++++++++++-------- .../HardwareValidation/plugins/L1EmulBias.cc | 2 +- .../HardwareValidation/plugins/L1EmulBias.h | 44 ++++--- .../src/L1ComparatorRun2.cc | 2 +- 8 files changed, 135 insertions(+), 125 deletions(-) diff --git a/L1Trigger/HardwareValidation/interface/L1ComparatorRun2.h b/L1Trigger/HardwareValidation/interface/L1ComparatorRun2.h index 23596d20a4507..39c74105241c6 100644 --- a/L1Trigger/HardwareValidation/interface/L1ComparatorRun2.h +++ b/L1Trigger/HardwareValidation/interface/L1ComparatorRun2.h @@ -7,9 +7,7 @@ #include #include -//#include "FWCore/Framework/interface/global/EDProducer.h" - -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/ServiceRegistry/interface/Service.h" @@ -37,24 +35,24 @@ namespace l1t { - class L1ComparatorRun2 : public edm::EDProducer { + class L1ComparatorRun2 : public edm::global::EDProducer<> { public: explicit L1ComparatorRun2(const edm::ParameterSet& ps); ~L1ComparatorRun2() override; private: - void produce(edm::Event&, edm::EventSetup const&) override; + void produce(edm::StreamID, edm::Event&, edm::EventSetup const&) const override; - edm::EDGetToken JetDataToken_; - edm::EDGetToken JetEmulToken_; - edm::EDGetToken EGammaDataToken_; - edm::EDGetToken EGammaEmulToken_; - edm::EDGetToken TauDataToken_; - edm::EDGetToken TauEmulToken_; - edm::EDGetToken EtSumDataToken_; - edm::EDGetToken EtSumEmulToken_; - edm::EDGetToken CaloTowerDataToken_; - edm::EDGetToken CaloTowerEmulToken_; + edm::EDGetTokenT JetDataToken_; + edm::EDGetTokenT JetEmulToken_; + edm::EDGetTokenT EGammaDataToken_; + edm::EDGetTokenT EGammaEmulToken_; + edm::EDGetTokenT TauDataToken_; + edm::EDGetTokenT TauEmulToken_; + edm::EDGetTokenT EtSumDataToken_; + edm::EDGetTokenT EtSumEmulToken_; + edm::EDGetTokenT CaloTowerDataToken_; + edm::EDGetTokenT CaloTowerEmulToken_; int bxMax_; int bxMin_; diff --git a/L1Trigger/HardwareValidation/plugins/L1DEFilter.cc b/L1Trigger/HardwareValidation/plugins/L1DEFilter.cc index daab3ae9bfafb..8cc7afeb87924 100644 --- a/L1Trigger/HardwareValidation/plugins/L1DEFilter.cc +++ b/L1Trigger/HardwareValidation/plugins/L1DEFilter.cc @@ -2,10 +2,8 @@ #include "L1Trigger/HardwareValidation/interface/DEtrait.h" using dedefs::DEnsys; -L1DEFilter::L1DEFilter(const edm::ParameterSet& iConfig) { +L1DEFilter::L1DEFilter(const edm::ParameterSet& iConfig) : nEvt_{0}, nAgree_{0} { DEsource_ = iConfig.getParameter("DataEmulCompareSource"); - nEvt_ = 0; - nAgree_ = 0; flagSys_ = iConfig.getUntrackedParameter >("FlagSystems"); } @@ -18,7 +16,7 @@ void L1DEFilter::endJob() { } // ------------ method called on each new Event ------------ -bool L1DEFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { +bool L1DEFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { nEvt_++; bool pass = true; diff --git a/L1Trigger/HardwareValidation/plugins/L1DEFilter.h b/L1Trigger/HardwareValidation/plugins/L1DEFilter.h index bf33f3c8570ea..10cba14502a00 100644 --- a/L1Trigger/HardwareValidation/plugins/L1DEFilter.h +++ b/L1Trigger/HardwareValidation/plugins/L1DEFilter.h @@ -9,10 +9,11 @@ // system includes #include +#include // common includes #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" +#include "FWCore/Framework/interface/global/EDFilter.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -20,7 +21,7 @@ // d|e record #include "DataFormats/L1Trigger/interface/L1DataEmulRecord.h" -class L1DEFilter : public edm::EDFilter { +class L1DEFilter : public edm::global::EDFilter<> { public: explicit L1DEFilter(const edm::ParameterSet&); ~L1DEFilter() override; @@ -28,13 +29,13 @@ class L1DEFilter : public edm::EDFilter { private: void beginJob(void) override{}; //virtual void beginRun(edm::Run&, const edm::EventSetup&); - bool filter(edm::Event&, const edm::EventSetup&) override; + bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; void endJob() override; edm::InputTag DEsource_; std::vector flagSys_; - int nEvt_; - int nAgree_; + mutable std::atomic nEvt_; + mutable std::atomic nAgree_; }; #endif diff --git a/L1Trigger/HardwareValidation/plugins/L1DummyProducer.cc b/L1Trigger/HardwareValidation/plugins/L1DummyProducer.cc index 99fc880f40024..e161c52fa4f5d 100644 --- a/L1Trigger/HardwareValidation/plugins/L1DummyProducer.cc +++ b/L1Trigger/HardwareValidation/plugins/L1DummyProducer.cc @@ -138,7 +138,7 @@ L1DummyProducer::L1DummyProducer(const edm::ParameterSet& iConfig) { L1DummyProducer::~L1DummyProducer() {} -void L1DummyProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { +void L1DummyProducer::produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { edm::Service rng; CLHEP::HepRandomEngine* engine = &rng->getEngine(iEvent.streamID()); @@ -171,55 +171,56 @@ void L1DummyProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) std::unique_ptr glt_evm_data(new L1GlobalTriggerEvmReadoutRecord); std::unique_ptr glt_obj_data(new L1GlobalTriggerObjectMapRecord); + int nevt = nevt_++; /// fill candidate collections if (m_doSys[ETP]) - SimpleDigi(engine, ecal_tp_data); + SimpleDigi(nevt, engine, ecal_tp_data); if (m_doSys[HTP]) - SimpleDigi(engine, hcal_tp_data); + SimpleDigi(nevt, engine, hcal_tp_data); if (m_doSys[RCT]) - SimpleDigi(engine, rct_em_data); + SimpleDigi(nevt, engine, rct_em_data); if (m_doSys[RCT]) - SimpleDigi(engine, rct_rgn_data); + SimpleDigi(nevt, engine, rct_rgn_data); if (m_doSys[GCT]) - SimpleDigi(engine, gct_isolaem_data, 0); + SimpleDigi(nevt, engine, gct_isolaem_data, 0); if (m_doSys[GCT]) - SimpleDigi(engine, gct_noisoem_data, 1); + SimpleDigi(nevt, engine, gct_noisoem_data, 1); if (m_doSys[GCT]) - SimpleDigi(engine, gct_cenjets_data, 0); + SimpleDigi(nevt, engine, gct_cenjets_data, 0); if (m_doSys[GCT]) - SimpleDigi(engine, gct_forjets_data, 1); + SimpleDigi(nevt, engine, gct_forjets_data, 1); if (m_doSys[GCT]) - SimpleDigi(engine, gct_taujets_data, 2); + SimpleDigi(nevt, engine, gct_taujets_data, 2); if (m_doSys[DTP]) - SimpleDigi(engine, dtp_ph_data); + SimpleDigi(nevt, engine, dtp_ph_data); if (m_doSys[DTP]) - SimpleDigi(engine, dtp_th_data); + SimpleDigi(nevt, engine, dtp_th_data); if (m_doSys[DTF]) - SimpleDigi(engine, dtf_data, 0); + SimpleDigi(nevt, engine, dtf_data, 0); if (m_doSys[DTF]) - SimpleDigi(engine, dtf_trk_data); + SimpleDigi(nevt, engine, dtf_trk_data); if (m_doSys[CTP]) - SimpleDigi(engine, ctp_data); + SimpleDigi(nevt, engine, ctp_data); if (m_doSys[CTF]) - SimpleDigi(engine, ctf_data, 2); + SimpleDigi(nevt, engine, ctf_data, 2); if (m_doSys[CTF]) - SimpleDigi(engine, ctf_trk_data); + SimpleDigi(nevt, engine, ctf_trk_data); if (m_doSys[RPC]) - SimpleDigi(engine, rpc_cen_data, 1); + SimpleDigi(nevt, engine, rpc_cen_data, 1); if (m_doSys[RPC]) - SimpleDigi(engine, rpc_for_data, 3); + SimpleDigi(nevt, engine, rpc_for_data, 3); if (m_doSys[LTC]) - SimpleDigi(engine, ltc_data); + SimpleDigi(nevt, engine, ltc_data); if (m_doSys[GMT]) - SimpleDigi(engine, gmt_data); + SimpleDigi(nevt, engine, gmt_data); if (m_doSys[GMT]) - SimpleDigi(engine, gmt_rdt_data); + SimpleDigi(nevt, engine, gmt_rdt_data); if (m_doSys[GLT]) - SimpleDigi(engine, glt_rdt_data); + SimpleDigi(nevt, engine, glt_rdt_data); if (m_doSys[GLT]) - SimpleDigi(engine, glt_evm_data); + SimpleDigi(nevt, engine, glt_evm_data); if (m_doSys[GLT]) - SimpleDigi(engine, glt_obj_data); + SimpleDigi(nevt, engine, glt_obj_data); /// put collection if (m_doSys[ETP]) @@ -271,8 +272,6 @@ void L1DummyProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) if (m_doSys[GLT]) iEvent.put(std::move(glt_obj_data), instName[GLT][0]); - nevt_++; - if (verbose()) std::cout << "L1DummyProducer::produce end.\n" << std::flush; } diff --git a/L1Trigger/HardwareValidation/plugins/L1DummyProducer.h b/L1Trigger/HardwareValidation/plugins/L1DummyProducer.h index dd52ed28ecfe3..8b5abfa5fae73 100644 --- a/L1Trigger/HardwareValidation/plugins/L1DummyProducer.h +++ b/L1Trigger/HardwareValidation/plugins/L1DummyProducer.h @@ -18,10 +18,11 @@ #include #include "TMath.h" #include +#include // common includes #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -36,25 +37,23 @@ #include "CLHEP/Random/RandomEngine.h" #include "CLHEP/Random/RandGaussQ.h" -class L1DummyProducer : public edm::EDProducer { +class L1DummyProducer : public edm::global::EDProducer<> { public: explicit L1DummyProducer(const edm::ParameterSet&); ~L1DummyProducer() override; private: - void beginJob(void) override{}; //virtual void beginRun(edm::Run&, const edm::EventSetup&); - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override{}; + void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; public: template - void SimpleDigi(CLHEP::HepRandomEngine*, std::unique_ptr& data, int type = 0); + void SimpleDigi(int nevt, CLHEP::HepRandomEngine*, std::unique_ptr& data, int type = 0) const; private: int verbose_; - int verbose() { return verbose_; } - int nevt_; + int verbose() const { return verbose_; } + mutable std::atomic nevt_; bool m_doSys[dedefs::DEnsys]; std::string instName[dedefs::DEnsys][5]; @@ -64,14 +63,15 @@ class L1DummyProducer : public edm::EDProducer { }; template -void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine*, std::unique_ptr& data, int type) { +void L1DummyProducer::SimpleDigi(int, CLHEP::HepRandomEngine*, std::unique_ptr& data, int type) const { /*collections generated in specializations below*/ } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; int side = (engine->flat() > 0.5) ? -1 : 1; @@ -93,9 +93,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; int side = (engine->flat() > 0.5) ? -1 : 1; @@ -115,9 +116,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int nevt, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine)); @@ -127,7 +129,7 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, unsigned crate = (unsigned)(18 * engine->flat()); bool iso = (engine->flat() > 0.4); uint16_t index = (unsigned)(4 * engine->flat()); - int16_t bx = nevt_; + int16_t bx = nevt; L1CaloEmCand cand(rank, region, card, crate, iso, index, bx); data->push_back(cand); //L1CaloEmCand(unsigned rank, unsigned region, unsigned card, unsigned crate, bool iso, uint16_t index, int16_t bx); @@ -136,9 +138,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; int energy = (int)(EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine)); @@ -158,9 +161,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; bool iso; //= type==0; @@ -191,9 +195,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; bool isFor, isTau; @@ -230,9 +235,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; //typedef std::vector L1MuRegionalCandCollection; @@ -266,15 +272,16 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int nevt, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { assert(type == 0); int type_idx = type; //choose data type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; std::unique_ptr tracks(new L1MuRegionalCandCollection()); - SimpleDigi(engine, tracks, type_idx); + SimpleDigi(nevt, engine, tracks, type_idx); typedef std::vector L1MuDTTrackCandCollection; std::unique_ptr tracksd(new L1MuDTTrackCandCollection()); for (L1MuRegionalCandCollection::const_iterator it = tracks->begin(); it != tracks->end(); it++) { @@ -292,9 +299,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; typedef std::vector Phi_Container; @@ -326,9 +334,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; typedef std::vector The_Container; @@ -356,13 +365,14 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int nevt, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; //typedef std::vector L1MuGMTCandCollection; - L1MuGMTCand cand(0, nevt_); + L1MuGMTCand cand(0, nevt); //cand.setPhiPacked();//8bits //cand.setPtPacked ();//5bits //cand.setQuality ();//3bits @@ -370,7 +380,7 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, //cand.setIsolation();//1bit //cand.setMIP ();//1bit //cand.setChargePacked();//0:+, 1:-, 2:undef, 3:sync - //cand.setBx (nevt_); + //cand.setBx (nevt); //set physical values double eng = EBase_ + ESigm_ * CLHEP::RandGaussQ::shoot(engine); double phi = 2 * TMath::Pi() * engine->flat(); @@ -395,13 +405,14 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int nevt, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; L1MuGMTReadoutRecord rec(0); - int bxn = nevt_; + int bxn = nevt; rec.setBxNr(bxn); rec.setEvNr(bxn); rec.setBxInEvent(0); @@ -409,10 +420,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, std::unique_ptr trks_rpcb(new L1MuRegionalCandCollection); std::unique_ptr trks_csc(new L1MuRegionalCandCollection); std::unique_ptr trks_rpcf(new L1MuRegionalCandCollection); - SimpleDigi(engine, trks_dttf, 0); - SimpleDigi(engine, trks_rpcb, 1); - SimpleDigi(engine, trks_csc, 2); - SimpleDigi(engine, trks_rpcf, 3); + SimpleDigi(nevt, engine, trks_dttf, 0); + SimpleDigi(nevt, engine, trks_rpcb, 1); + SimpleDigi(nevt, engine, trks_csc, 2); + SimpleDigi(nevt, engine, trks_rpcf, 3); for (int i = 0; i < 4; i++) { rec.setInputCand(i, trks_dttf->at(i)); //dt : 0..3 rec.setInputCand(i + 4, trks_rpcb->at(i)); //rpcb: 4..7 @@ -444,7 +455,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine*, std::unique_ptr& data, int type) { +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine*, + std::unique_ptr& data, + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; //LTCs are FED id 816-823 @@ -478,9 +492,10 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine*, std::unique_ptr } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi....\n" << std::flush; //typedef MuonDigiCollection CSCCorrelatedLCTDigiCollection; @@ -506,16 +521,17 @@ inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, } template <> -inline void L1DummyProducer::SimpleDigi(CLHEP::HepRandomEngine* engine, +inline void L1DummyProducer::SimpleDigi(int nevt, + CLHEP::HepRandomEngine* engine, std::unique_ptr& data, - int type) { + int type) const { if (verbose()) std::cout << "L1DummyProducer::SimpleDigi...\n" << std::flush; std::unique_ptr dgcoll(new CSCCorrelatedLCTDigiCollection); - SimpleDigi(engine, dgcoll, 0); + SimpleDigi(nevt, engine, dgcoll, 0); csc::L1Track l1trk = csc::L1Track(); std::unique_ptr regcoll(new L1MuRegionalCandCollection); - SimpleDigi(engine, regcoll, 2); + SimpleDigi(nevt, engine, regcoll, 2); L1MuRegionalCand regcand = *(regcoll->begin()); l1trk.setDataWord(regcand.getDataWord()); l1trk.setBx(regcand.bx()); diff --git a/L1Trigger/HardwareValidation/plugins/L1EmulBias.cc b/L1Trigger/HardwareValidation/plugins/L1EmulBias.cc index f848eb4dffbec..97877f45aec06 100644 --- a/L1Trigger/HardwareValidation/plugins/L1EmulBias.cc +++ b/L1Trigger/HardwareValidation/plugins/L1EmulBias.cc @@ -139,7 +139,7 @@ L1EmulBias::L1EmulBias(const edm::ParameterSet& iConfig) { L1EmulBias::~L1EmulBias() {} // ------------ method called to produce the data ------------ -void L1EmulBias::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { +void L1EmulBias::produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { edm::Service rng; CLHEP::HepRandomEngine* engine = &rng->getEngine(iEvent.streamID()); diff --git a/L1Trigger/HardwareValidation/plugins/L1EmulBias.h b/L1Trigger/HardwareValidation/plugins/L1EmulBias.h index 557f448f681d9..2acb466c415c4 100644 --- a/L1Trigger/HardwareValidation/plugins/L1EmulBias.h +++ b/L1Trigger/HardwareValidation/plugins/L1EmulBias.h @@ -19,7 +19,7 @@ // common includes #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -34,24 +34,22 @@ #include "CLHEP/Random/RandomEngine.h" #include "CLHEP/Random/RandGaussQ.h" -class L1EmulBias : public edm::EDProducer { +class L1EmulBias : public edm::global::EDProducer<> { public: explicit L1EmulBias(const edm::ParameterSet&); ~L1EmulBias() override; protected: - void beginJob(void) override{}; //virtual void beginRun(edm::Run&, const edm::EventSetup&); - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob(void) override{}; + void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; public: template - void ModifyCollection(std::unique_ptr& data, const edm::Handle emul, CLHEP::HepRandomEngine*); + void ModifyCollection(std::unique_ptr& data, const edm::Handle emul, CLHEP::HepRandomEngine*) const; private: int verbose_; - int verbose() { return verbose_; } + int verbose() const { return verbose_; } edm::InputTag m_DEsource[dedefs::DEnsys][2]; bool m_doSys[dedefs::DEnsys]; std::string instName[dedefs::DEnsys][5]; @@ -65,14 +63,14 @@ class L1EmulBias : public edm::EDProducer { */ template -void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, CLHEP::HepRandomEngine*) { +void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, CLHEP::HepRandomEngine*) const { data = (std::unique_ptr)(const_cast(emul.product())); } template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef EcalTrigPrimDigiCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { EcalTriggerPrimitiveDigi col(*it); @@ -97,7 +95,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef HcalTrigPrimDigiCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { HcalTriggerPrimitiveDigi col(*it); @@ -119,7 +117,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef L1CaloEmCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { unsigned crate = it->rctCrate(); @@ -138,7 +136,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr& da template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef L1CaloRegionCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { unsigned crate = it->rctCrate(); @@ -156,7 +154,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef L1GctEmCandCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { unsigned raw = it->raw(); @@ -173,7 +171,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr& template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef L1GctJetCandCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { unsigned raw = it->raw(); @@ -189,7 +187,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef L1MuRegionalCandCollection::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { L1MuRegionalCand cand(*it); @@ -227,7 +225,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef std::vector TrackContainer; typedef TrackContainer::const_iterator col_cit; TrackContainer const* tracks_in = emul->getContainer(); @@ -258,7 +256,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr& template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine* engine) { + CLHEP::HepRandomEngine* engine) const { typedef std::vector Phi_Container; typedef Phi_Container::const_iterator col_it; Phi_Container const* tracks_in = emul->getContainer(); @@ -277,7 +275,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef std::vector Thi_Container; typedef Thi_Container::const_iterator col_cit; Thi_Container const* tracks_in = emul->getContainer(); @@ -299,7 +297,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef std::vector::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { data->push_back(*it); @@ -311,7 +309,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr& dat template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { //typedef std::vector L1MuGMTCandCollection; typedef std::vector::const_iterator col_cit; for (col_cit it = emul->begin(); it != emul->end(); it++) { @@ -329,7 +327,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr& template <> inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef std::vector::const_iterator col_cit; std::vector col = emul->getRecords(); for (col_cit it = col.begin(); it != col.end(); it++) { @@ -395,7 +393,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { //typedef MuonDigiCollection CSCCorrelatedLCTDigiCollection; typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt; //map iterator typedef CSCCorrelatedLCTDigiCollection::const_iterator vecIt; //vec iterator @@ -427,7 +425,7 @@ inline void L1EmulBias::ModifyCollection(std::unique_ptr inline void L1EmulBias::ModifyCollection(std::unique_ptr& data, const edm::Handle emul, - CLHEP::HepRandomEngine*) { + CLHEP::HepRandomEngine*) const { typedef L1CSCTrackCollection::const_iterator col_cit; //typedef std::vector L1CSCTrackCollection; //typedef std::pair L1CSCTrack; diff --git a/L1Trigger/HardwareValidation/src/L1ComparatorRun2.cc b/L1Trigger/HardwareValidation/src/L1ComparatorRun2.cc index 615f76667651b..52cc1c4212263 100644 --- a/L1Trigger/HardwareValidation/src/L1ComparatorRun2.cc +++ b/L1Trigger/HardwareValidation/src/L1ComparatorRun2.cc @@ -25,7 +25,7 @@ L1ComparatorRun2::L1ComparatorRun2(const ParameterSet& ps) { L1ComparatorRun2::~L1ComparatorRun2() {} -void L1ComparatorRun2::produce(Event& iEvent, const EventSetup& iSetup) { +void L1ComparatorRun2::produce(StreamID, Event& iEvent, const EventSetup& iSetup) const { unique_ptr RESULT(new L1DataEmulResultBxCollection); if (doLayer2_) {