7 using namespace dedefs;
13 for(
int sys=0; sys<
DEnsys; sys++) {
22 std::vector<unsigned int> compColls
25 m_doSys[
i] = compColls[
i];
40 for(
int j=0;
j<5;
j++)
43 CollInstName[
GCT][0]+=
"isoEm" ;
44 CollInstName[
GCT][1]+=
"nonIsoEm";
45 CollInstName[
GCT][2]+=
"cenJets" ;
46 CollInstName[
GCT][3]+=
"forJets" ;
47 CollInstName[
GCT][4]+=
"tauJets" ;
48 CollInstName[
DTF][0]+=
"DT" ;
49 CollInstName[
DTF][1]+=
"DTTF" ;
50 CollInstName[
CTF][0]+=
"CSC" ;
51 CollInstName[
CTF][1]+=
"" ;
52 CollInstName[
RPC][0]+=
"RPCb" ;
53 CollInstName[
RPC][1]+=
"RPCf" ;
56 for(
int j=0;
j<5;
j++)
57 instName[
i][
j] = CollInstName[
i][
j];
61 for(
int j=0;
j<5;
j++)
62 if(instName[
i][
j] !=
"")
64 <<
" " <<
j <<
" " << instName[
i][
j]
68 assert(
ETP==0); assert(
HTP==1); assert(
RCT== 2); assert(
GCT== 3);
69 assert(
DTP==4); assert(
DTF==5); assert(
CTP== 6); assert(
CTF== 7);
70 assert(
RPC==8); assert(
LTC==9); assert(
GMT==10); assert(
GLT==11);
73 if(m_doSys[
ETP]) produces<EcalTrigPrimDigiCollection> (instName[
ETP][0]);
74 if(m_doSys[
HTP]) produces<HcalTrigPrimDigiCollection> (instName[
HTP][0]);
75 if(m_doSys[
RCT]) produces<L1CaloEmCollection> (instName[
RCT][0]);
76 if(m_doSys[RCT]) produces<L1CaloRegionCollection> (instName[
RCT][0]);
77 if(m_doSys[
GCT]) produces<L1GctEmCandCollection> (instName[
GCT][0]);
78 if(m_doSys[GCT]) produces<L1GctEmCandCollection> (instName[
GCT][1]);
79 if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[
GCT][2]);
80 if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[
GCT][3]);
81 if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[
GCT][4]);
82 if(m_doSys[
DTP]) produces<L1MuDTChambPhContainer> (instName[
DTP][0]);
83 if(m_doSys[DTP]) produces<L1MuDTChambThContainer> (instName[
DTP][0]);
84 if(m_doSys[
DTF]) produces<L1MuRegionalCandCollection> (instName[
DTF][0]);
85 if(m_doSys[DTF]) produces<L1MuDTTrackContainer> (instName[
DTF][1]);
86 if(m_doSys[
CTP]) produces<CSCCorrelatedLCTDigiCollection> (instName[
CTP][0]);
87 if(m_doSys[
CTF]) produces<L1MuRegionalCandCollection> (instName[
CTF][0]);
88 if(m_doSys[CTF]) produces<L1CSCTrackCollection> (instName[
CTF][1]);
89 if(m_doSys[
RPC]) produces<L1MuRegionalCandCollection> (instName[
RPC][0]);
90 if(m_doSys[RPC]) produces<L1MuRegionalCandCollection> (instName[
RPC][1]);
91 if(m_doSys[
LTC]) produces<LTCDigiCollection> (instName[
LTC][0]);
92 if(m_doSys[
GMT]) produces<L1MuGMTCandCollection> (instName[
GMT][0]);
93 if(m_doSys[GMT]) produces<L1MuGMTReadoutCollection> (instName[
GMT][0]);
94 if(m_doSys[
GLT]) produces<L1GlobalTriggerReadoutRecord> (instName[
GLT][0]);
95 if(m_doSys[GLT]) produces<L1GlobalTriggerEvmReadoutRecord>(instName[
GLT][0]);
96 if(m_doSys[GLT]) produces<L1GlobalTriggerObjectMapRecord> (instName[
GLT][0]);
99 if(!rng.isAvailable()) {
101 <<
"L1EmulBias requires the RandomNumberGeneratorService\n"
102 "which is not present in the configuration file. You must add the service\n"
103 "in the configuration file or remove the modules that require it.";
107 std::cout <<
"L1EmulBias::L1EmulBias()... done." << std::endl;
121 std::cout <<
"L1EmulBias::produce...\n" << std::flush;
151 if(m_doSys[
ETP]) iEvent.
getByLabel(m_DEsource[ETP][0].
label(),instName[ETP][0], ecal_tp_emul);
152 if(m_doSys[
HTP]) iEvent.
getByLabel(m_DEsource[HTP][0].
label(),instName[HTP][0], hcal_tp_emul);
153 if(m_doSys[
RCT]) iEvent.
getByLabel(m_DEsource[RCT][0].
label(),instName[RCT][0], rct_em_emul);
154 if(m_doSys[RCT]) iEvent.
getByLabel(m_DEsource[RCT][0].
label(),instName[RCT][0], rct_rgn_emul);
155 if(m_doSys[
GCT]) iEvent.
getByLabel(m_DEsource[GCT][0].
label(),instName[GCT][0],gct_isolaem_emul);
156 if(m_doSys[GCT]) iEvent.
getByLabel(m_DEsource[GCT][0].
label(),instName[GCT][1],gct_noisoem_emul);
157 if(m_doSys[GCT]) iEvent.
getByLabel(m_DEsource[GCT][0].
label(),instName[GCT][2],gct_cenjets_emul);
158 if(m_doSys[GCT]) iEvent.
getByLabel(m_DEsource[GCT][0].
label(),instName[GCT][3],gct_forjets_emul);
159 if(m_doSys[GCT]) iEvent.
getByLabel(m_DEsource[GCT][0].
label(),instName[GCT][4],gct_taujets_emul);
160 if(m_doSys[
DTP]) iEvent.
getByLabel(m_DEsource[DTP][0].
label(),instName[DTP][0], dtp_ph_emul);
161 if(m_doSys[DTP]) iEvent.
getByLabel(m_DEsource[DTP][0].
label(),instName[DTP][0], dtp_th_emul);
162 if(m_doSys[
DTF]) iEvent.
getByLabel(m_DEsource[DTF][0].
label(),instName[DTF][0], dtf_emul);
163 if(m_doSys[DTF]) iEvent.
getByLabel(m_DEsource[DTF][0].
label(),instName[DTF][1], dtf_trk_emul);
164 if(m_doSys[
CTP]) iEvent.
getByLabel(m_DEsource[CTP][0].
label(),instName[CTP][0], ctp_emul);
165 if(m_doSys[
CTF]) iEvent.
getByLabel(m_DEsource[CTF][0].
label(),instName[CTF][0], ctf_emul);
166 if(m_doSys[CTF]) iEvent.
getByLabel(m_DEsource[CTF][1].
label(),instName[CTF][1], ctf_trk_emul);
167 if(m_doSys[
RPC]) iEvent.
getByLabel(m_DEsource[RPC][0].
label(),instName[RPC][0], rpc_cen_emul);
168 if(m_doSys[RPC]) iEvent.
getByLabel(m_DEsource[RPC][0].
label(),instName[RPC][1], rpc_for_emul);
169 if(m_doSys[
LTC]) iEvent.
getByLabel(m_DEsource[LTC][0].
label(),instName[LTC][0], ltc_emul);
170 if(m_doSys[
GMT]) iEvent.
getByLabel(m_DEsource[GMT][0].
label(),instName[GMT][0], gmt_emul);
171 if(m_doSys[GMT]) iEvent.
getByLabel(m_DEsource[GMT][0].
label(),instName[GMT][0], gmt_rdt_emul);
172 if(m_doSys[
GLT]) iEvent.
getByLabel(m_DEsource[GLT][0].
label(),instName[GLT][0], glt_rdt_emul);
173 if(m_doSys[GLT]) iEvent.
getByLabel(m_DEsource[GLT][0].
label(),instName[GLT][0], glt_evm_emul);
174 if(m_doSys[GLT]) iEvent.
getByLabel(m_DEsource[GLT][0].
label(),instName[GLT][0], glt_obj_emul);
177 if(m_doSys[ETP]) assert( ecal_tp_emul.
isValid());
178 if(m_doSys[HTP]) assert( hcal_tp_emul.
isValid());
179 if(m_doSys[RCT]) assert( rct_em_emul.
isValid());
180 if(m_doSys[RCT]) assert( rct_rgn_emul.
isValid());
181 if(m_doSys[GCT]) assert(gct_isolaem_emul.
isValid());
182 if(m_doSys[GCT]) assert(gct_noisoem_emul.
isValid());
183 if(m_doSys[GCT]) assert(gct_cenjets_emul.
isValid());
184 if(m_doSys[GCT]) assert(gct_forjets_emul.
isValid());
185 if(m_doSys[GCT]) assert(gct_taujets_emul.
isValid());
186 if(m_doSys[DTP]) assert( dtp_ph_emul.
isValid());
187 if(m_doSys[DTP]) assert( dtp_th_emul.
isValid());
188 if(m_doSys[DTF]) assert( dtf_emul.
isValid());
189 if(m_doSys[DTF]) assert( dtf_trk_emul.
isValid());
190 if(m_doSys[CTP]) assert( ctp_emul.
isValid());
191 if(m_doSys[CTF]) assert( ctf_emul.
isValid());
192 if(m_doSys[CTF]) assert( ctf_trk_emul.
isValid());
193 if(m_doSys[RPC]) assert( rpc_cen_emul.
isValid());
194 if(m_doSys[RPC]) assert( rpc_for_emul.
isValid());
195 if(m_doSys[LTC]) assert( ltc_emul.
isValid());
196 if(m_doSys[GMT]) assert( gmt_emul.
isValid());
197 if(m_doSys[GMT]) assert( gmt_rdt_emul.
isValid());
198 if(m_doSys[GLT]) assert( glt_rdt_emul.
isValid());
199 if(m_doSys[GLT]) assert( glt_evm_emul.
isValid());
200 if(m_doSys[GLT]) assert( glt_obj_emul.
isValid());
229 std::cout <<
"L1EmulBias::produce - modify...\n" << std::flush;
232 if(m_doSys[ETP]) ModifyCollection( ecal_tp_data, ecal_tp_emul, engine);
233 if(m_doSys[HTP]) ModifyCollection( hcal_tp_data, hcal_tp_emul, engine);
234 if(m_doSys[RCT]) ModifyCollection( rct_em_data, rct_em_emul, engine);
235 if(m_doSys[RCT]) ModifyCollection( rct_rgn_data, rct_rgn_emul, engine);
236 if(m_doSys[GCT]) ModifyCollection(gct_isolaem_data,gct_isolaem_emul, engine);
237 if(m_doSys[GCT]) ModifyCollection(gct_noisoem_data,gct_noisoem_emul, engine);
238 if(m_doSys[GCT]) ModifyCollection(gct_cenjets_data,gct_cenjets_emul, engine);
239 if(m_doSys[GCT]) ModifyCollection(gct_forjets_data,gct_forjets_emul, engine);
240 if(m_doSys[GCT]) ModifyCollection(gct_taujets_data,gct_taujets_emul, engine);
241 if(m_doSys[DTP]) ModifyCollection( dtp_ph_data, dtp_ph_emul, engine);
242 if(m_doSys[DTP]) ModifyCollection( dtp_th_data, dtp_th_emul, engine);
243 if(m_doSys[DTF]) ModifyCollection( dtf_data, dtf_emul, engine);
244 if(m_doSys[DTF]) ModifyCollection( dtf_trk_data, dtf_trk_emul, engine);
245 if(m_doSys[CTP]) ModifyCollection( ctp_data, ctp_emul, engine);
246 if(m_doSys[CTF]) ModifyCollection( ctf_data, ctf_emul, engine);
247 if(m_doSys[CTF]) ModifyCollection( ctf_trk_data, ctf_trk_emul, engine);
248 if(m_doSys[RPC]) ModifyCollection( rpc_cen_data, rpc_cen_emul, engine);
249 if(m_doSys[RPC]) ModifyCollection( rpc_for_data, rpc_for_emul, engine);
250 if(m_doSys[LTC]) ModifyCollection( ltc_data, ltc_emul, engine);
251 if(m_doSys[GMT]) ModifyCollection( gmt_data, gmt_emul, engine);
252 if(m_doSys[GMT]) ModifyCollection( gmt_rdt_data, gmt_rdt_emul, engine);
253 if(m_doSys[GLT]) ModifyCollection( glt_rdt_data, glt_rdt_emul, engine);
254 if(m_doSys[GLT]) ModifyCollection( glt_evm_data, glt_evm_emul, engine);
255 if(m_doSys[GLT]) ModifyCollection( glt_obj_data, glt_obj_emul, engine);
258 std::cout <<
"L1EmulBias::produce - put...\n" << std::flush;
261 if(m_doSys[ETP]) iEvent.
put( ecal_tp_data, instName[ETP][0]);
262 if(m_doSys[HTP]) iEvent.
put( hcal_tp_data, instName[HTP][0]);
263 if(m_doSys[RCT]) iEvent.
put( rct_em_data, instName[RCT][0]);
264 if(m_doSys[RCT]) iEvent.
put( rct_rgn_data, instName[RCT][0]);
265 if(m_doSys[GCT]) iEvent.
put(gct_isolaem_data, instName[GCT][0]);
266 if(m_doSys[GCT]) iEvent.
put(gct_noisoem_data, instName[GCT][1]);
267 if(m_doSys[GCT]) iEvent.
put(gct_cenjets_data, instName[GCT][2]);
268 if(m_doSys[GCT]) iEvent.
put(gct_forjets_data, instName[GCT][3]);
269 if(m_doSys[GCT]) iEvent.
put(gct_taujets_data, instName[GCT][4]);
270 if(m_doSys[DTP]) iEvent.
put( dtp_ph_data, instName[DTP][0]);
271 if(m_doSys[DTP]) iEvent.
put( dtp_th_data, instName[DTP][0]);
272 if(m_doSys[DTF]) iEvent.
put( dtf_data, instName[DTF][0]);
273 if(m_doSys[DTF]) iEvent.
put( dtf_trk_data, instName[DTF][1]);
274 if(m_doSys[CTP]) iEvent.
put( ctp_data, instName[CTP][0]);
275 if(m_doSys[CTF]) iEvent.
put( ctf_data, instName[CTF][0]);
276 if(m_doSys[CTF]) iEvent.
put( ctf_trk_data, instName[CTF][1]);
277 if(m_doSys[RPC]) iEvent.
put( rpc_cen_data, instName[RPC][0]);
278 if(m_doSys[RPC]) iEvent.
put( rpc_for_data, instName[RPC][1]);
279 if(m_doSys[LTC]) iEvent.
put( ltc_data, instName[LTC][0]);
280 if(m_doSys[GMT]) iEvent.
put( gmt_data, instName[GMT][0]);
281 if(m_doSys[GMT]) iEvent.
put( gmt_rdt_data, instName[GMT][0]);
282 if(m_doSys[GLT]) iEvent.
put( glt_rdt_data, instName[GLT][0]);
283 if(m_doSys[GLT]) iEvent.
put( glt_evm_data, instName[GLT][0]);
284 if(m_doSys[GLT]) iEvent.
put( glt_obj_data, instName[GLT][0]);
287 std::cout <<
"L1EmulBias::produce...done.\n" << std::flush;
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< L1CaloEmCand > L1CaloEmCollection
std::vector< L1CSCTrack > L1CSCTrackCollection
L1EmulBias(const edm::ParameterSet &)
std::vector< L1GctJetCand > L1GctJetCandCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void produce(edm::Event &, const edm::EventSetup &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< LTCDigi > LTCDigiCollection
std::vector< L1MuRegionalCand > L1MuRegionalCandCollection
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &) const =0
Use this engine in event methods.
const std::string SystLabel[DEnsys]
StreamID streamID() const
std::vector< L1CaloRegion > L1CaloRegionCollection
std::vector< L1MuGMTCand > L1MuGMTCandCollection
std::vector< L1GctEmCand > L1GctEmCandCollection