7 using namespace dedefs;
12 for (
int sys = 0; sys <
DEnsys; sys++) {
21 std::vector<unsigned int> compColls = iConfig.
getUntrackedParameter<std::vector<unsigned int> >(
"DO_SYSTEM");
23 m_doSys[
i] = compColls[
i];
38 for (
int j = 0;
j < 5;
j++)
41 CollInstName[
GCT][0] +=
"isoEm";
42 CollInstName[
GCT][1] +=
"nonIsoEm";
43 CollInstName[
GCT][2] +=
"cenJets";
44 CollInstName[
GCT][3] +=
"forJets";
45 CollInstName[
GCT][4] +=
"tauJets";
46 CollInstName[
DTF][0] +=
"DT";
47 CollInstName[
DTF][1] +=
"DTTF";
48 CollInstName[
CTF][0] +=
"CSC";
49 CollInstName[
CTF][1] +=
"";
50 CollInstName[
RPC][0] +=
"RPCb";
51 CollInstName[
RPC][1] +=
"RPCf";
54 for (
int j = 0;
j < 5;
j++)
55 instName[
i][
j] = CollInstName[
i][
j];
59 for (
int j = 0;
j < 5;
j++)
79 produces<EcalTrigPrimDigiCollection>(instName[
ETP][0]);
81 produces<HcalTrigPrimDigiCollection>(instName[
HTP][0]);
83 produces<L1CaloEmCollection>(instName[
RCT][0]);
85 produces<L1CaloRegionCollection>(instName[
RCT][0]);
87 produces<L1GctEmCandCollection>(instName[
GCT][0]);
89 produces<L1GctEmCandCollection>(instName[
GCT][1]);
91 produces<L1GctJetCandCollection>(instName[
GCT][2]);
93 produces<L1GctJetCandCollection>(instName[
GCT][3]);
95 produces<L1GctJetCandCollection>(instName[
GCT][4]);
97 produces<L1MuDTChambPhContainer>(instName[
DTP][0]);
99 produces<L1MuDTChambThContainer>(instName[
DTP][0]);
101 produces<L1MuRegionalCandCollection>(instName[
DTF][0]);
103 produces<L1MuDTTrackContainer>(instName[
DTF][1]);
105 produces<CSCCorrelatedLCTDigiCollection>(instName[
CTP][0]);
107 produces<L1MuRegionalCandCollection>(instName[
CTF][0]);
109 produces<L1CSCTrackCollection>(instName[
CTF][1]);
111 produces<L1MuRegionalCandCollection>(instName[
RPC][0]);
113 produces<L1MuRegionalCandCollection>(instName[
RPC][1]);
115 produces<LTCDigiCollection>(instName[
LTC][0]);
117 produces<L1MuGMTCandCollection>(instName[
GMT][0]);
119 produces<L1MuGMTReadoutCollection>(instName[
GMT][0]);
121 produces<L1GlobalTriggerReadoutRecord>(instName[
GLT][0]);
123 produces<L1GlobalTriggerEvmReadoutRecord>(instName[
GLT][0]);
125 produces<L1GlobalTriggerObjectMapRecord>(instName[
GLT][0]);
128 if (!rng.isAvailable()) {
130 <<
"L1EmulBias requires the RandomNumberGeneratorService\n"
131 "which is not present in the configuration file. You must add the service\n"
132 "in the configuration file or remove the modules that require it.";
136 std::cout <<
"L1EmulBias::L1EmulBias()... done." << std::endl;
147 std::cout <<
"L1EmulBias::produce...\n" << std::flush;
178 iEvent.
getByLabel(m_DEsource[ETP][0].
label(), instName[ETP][0], ecal_tp_emul);
180 iEvent.
getByLabel(m_DEsource[HTP][0].
label(), instName[HTP][0], hcal_tp_emul);
182 iEvent.
getByLabel(m_DEsource[RCT][0].
label(), instName[RCT][0], rct_em_emul);
184 iEvent.
getByLabel(m_DEsource[RCT][0].
label(), instName[RCT][0], rct_rgn_emul);
186 iEvent.
getByLabel(m_DEsource[GCT][0].
label(), instName[GCT][0], gct_isolaem_emul);
188 iEvent.
getByLabel(m_DEsource[GCT][0].
label(), instName[GCT][1], gct_noisoem_emul);
190 iEvent.
getByLabel(m_DEsource[GCT][0].
label(), instName[GCT][2], gct_cenjets_emul);
192 iEvent.
getByLabel(m_DEsource[GCT][0].
label(), instName[GCT][3], gct_forjets_emul);
194 iEvent.
getByLabel(m_DEsource[GCT][0].
label(), instName[GCT][4], gct_taujets_emul);
196 iEvent.
getByLabel(m_DEsource[DTP][0].
label(), instName[DTP][0], dtp_ph_emul);
198 iEvent.
getByLabel(m_DEsource[DTP][0].
label(), instName[DTP][0], dtp_th_emul);
200 iEvent.
getByLabel(m_DEsource[DTF][0].
label(), instName[DTF][0], dtf_emul);
202 iEvent.
getByLabel(m_DEsource[DTF][0].
label(), instName[DTF][1], dtf_trk_emul);
204 iEvent.
getByLabel(m_DEsource[CTP][0].
label(), instName[CTP][0], ctp_emul);
206 iEvent.
getByLabel(m_DEsource[CTF][0].
label(), instName[CTF][0], ctf_emul);
208 iEvent.
getByLabel(m_DEsource[CTF][1].
label(), instName[CTF][1], ctf_trk_emul);
210 iEvent.
getByLabel(m_DEsource[RPC][0].
label(), instName[RPC][0], rpc_cen_emul);
212 iEvent.
getByLabel(m_DEsource[RPC][0].
label(), instName[RPC][1], rpc_for_emul);
214 iEvent.
getByLabel(m_DEsource[LTC][0].
label(), instName[LTC][0], ltc_emul);
216 iEvent.
getByLabel(m_DEsource[GMT][0].
label(), instName[GMT][0], gmt_emul);
218 iEvent.
getByLabel(m_DEsource[GMT][0].
label(), instName[GMT][0], gmt_rdt_emul);
220 iEvent.
getByLabel(m_DEsource[GLT][0].
label(), instName[GLT][0], glt_rdt_emul);
222 iEvent.
getByLabel(m_DEsource[GLT][0].
label(), instName[GLT][0], glt_evm_emul);
224 iEvent.
getByLabel(m_DEsource[GLT][0].
label(), instName[GLT][0], glt_obj_emul);
303 std::cout <<
"L1EmulBias::produce - modify...\n" << std::flush;
307 ModifyCollection(ecal_tp_data, ecal_tp_emul, engine);
309 ModifyCollection(hcal_tp_data, hcal_tp_emul, engine);
311 ModifyCollection(rct_em_data, rct_em_emul, engine);
313 ModifyCollection(rct_rgn_data, rct_rgn_emul, engine);
315 ModifyCollection(gct_isolaem_data, gct_isolaem_emul, engine);
317 ModifyCollection(gct_noisoem_data, gct_noisoem_emul, engine);
319 ModifyCollection(gct_cenjets_data, gct_cenjets_emul, engine);
321 ModifyCollection(gct_forjets_data, gct_forjets_emul, engine);
323 ModifyCollection(gct_taujets_data, gct_taujets_emul, engine);
325 ModifyCollection(dtp_ph_data, dtp_ph_emul, engine);
327 ModifyCollection(dtp_th_data, dtp_th_emul, engine);
329 ModifyCollection(dtf_data, dtf_emul, engine);
331 ModifyCollection(dtf_trk_data, dtf_trk_emul, engine);
333 ModifyCollection(ctp_data, ctp_emul, engine);
335 ModifyCollection(ctf_data, ctf_emul, engine);
337 ModifyCollection(ctf_trk_data, ctf_trk_emul, engine);
339 ModifyCollection(rpc_cen_data, rpc_cen_emul, engine);
341 ModifyCollection(rpc_for_data, rpc_for_emul, engine);
343 ModifyCollection(ltc_data, ltc_emul, engine);
345 ModifyCollection(gmt_data, gmt_emul, engine);
347 ModifyCollection(gmt_rdt_data, gmt_rdt_emul, engine);
349 ModifyCollection(glt_rdt_data, glt_rdt_emul, engine);
351 ModifyCollection(glt_evm_data, glt_evm_emul, engine);
353 ModifyCollection(glt_obj_data, glt_obj_emul, engine);
356 std::cout <<
"L1EmulBias::produce - put...\n" << std::flush;
368 iEvent.
put(
std::move(gct_isolaem_data), instName[GCT][0]);
370 iEvent.
put(
std::move(gct_noisoem_data), instName[GCT][1]);
372 iEvent.
put(
std::move(gct_cenjets_data), instName[GCT][2]);
374 iEvent.
put(
std::move(gct_forjets_data), instName[GCT][3]);
376 iEvent.
put(
std::move(gct_taujets_data), instName[GCT][4]);
409 std::cout <<
"L1EmulBias::produce...done.\n" << std::flush;
T getUntrackedParameter(std::string const &, T const &) const
std::vector< L1CaloEmCand > L1CaloEmCollection
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< L1CSCTrack > L1CSCTrackCollection
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
L1EmulBias(const edm::ParameterSet &)
std::vector< L1GctJetCand > L1GctJetCandCollection
static constexpr int verbose
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< LTCDigi > LTCDigiCollection
std::vector< L1MuRegionalCand > L1MuRegionalCandCollection
void produce(edm::Event &, const edm::EventSetup &) override
T getParameter(std::string const &) const
const std::string SystLabel[DEnsys]
StreamID streamID() const
std::vector< L1CaloRegion > L1CaloRegionCollection
std::vector< L1MuGMTCand > L1MuGMTCandCollection
std::vector< L1GctEmCand > L1GctEmCandCollection