CMS 3D CMS Logo

GlobalDigisProducer.cc
Go to the documentation of this file.
1 
12 
14  : fName(""),
15  verbosity(0),
16  frequency(0),
17  label(""),
18  getAllProvenances(false),
19  printProvenanceInfo(false),
20  theCSCStripPedestalSum(0),
21  theCSCStripPedestalCount(0),
22  count(0) {
23  std::string MsgLoggerCat = "GlobalDigisProducer_GlobalDigisProducer";
24 
25  // get information from parameter set
26  fName = iPSet.getUntrackedParameter<std::string>("Name");
27  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
28  frequency = iPSet.getUntrackedParameter<int>("Frequency");
29  label = iPSet.getParameter<std::string>("Label");
30  edm::ParameterSet m_Prov = iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
31  getAllProvenances = m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
32  printProvenanceInfo = m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
33 
34  // get Labels to use to extract information
35  ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
36  ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
37  ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
38  HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
39  HCalDigi_ = iPSet.getParameter<edm::InputTag>("HCalDigi");
40  SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc");
41  SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc");
42  MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc");
43  MuCSCStripSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCStripSrc");
44  MuCSCWireSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCWireSrc");
45  // fix for consumes
46  ECalEBSrc_Token_ = consumes<EBDigiCollection>(iPSet.getParameter<edm::InputTag>("ECalEBSrc"));
47  ECalEESrc_Token_ = consumes<EEDigiCollection>(iPSet.getParameter<edm::InputTag>("ECalEESrc"));
48  ECalESSrc_Token_ = consumes<ESDigiCollection>(iPSet.getParameter<edm::InputTag>("ECalESSrc"));
49  HCalSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("HCalSrc"));
50  HBHEDigi_Token_ = consumes<edm::SortedCollection<HBHEDataFrame>>(iPSet.getParameter<edm::InputTag>("HCalDigi"));
51  HODigi_Token_ = consumes<edm::SortedCollection<HODataFrame>>(iPSet.getParameter<edm::InputTag>("HCalDigi"));
52  HFDigi_Token_ = consumes<edm::SortedCollection<HFDataFrame>>(iPSet.getParameter<edm::InputTag>("HCalDigi"));
53  SiStripSrc_Token_ = consumes<edm::DetSetVector<SiStripDigi>>(iPSet.getParameter<edm::InputTag>("SiStripSrc"));
54  SiPxlSrc_Token_ = consumes<edm::DetSetVector<PixelDigi>>(iPSet.getParameter<edm::InputTag>("SiPxlSrc"));
55  MuDTSrc_Token_ = consumes<DTDigiCollection>(iPSet.getParameter<edm::InputTag>("MuDTSrc"));
56  MuCSCStripSrc_Token_ = consumes<CSCStripDigiCollection>(iPSet.getParameter<edm::InputTag>("MuCSCStripSrc"));
57  MuCSCWireSrc_Token_ = consumes<CSCWireDigiCollection>(iPSet.getParameter<edm::InputTag>("MuCSCWireSrc"));
58  //
59  const std::string barrelHitsName("EcalHitsEB");
60  const std::string endcapHitsName("EcalHitsEE");
61  const std::string preshowerHitsName("EcalHitsES");
62  EBHits_Token_ = consumes<CrossingFrame<PCaloHit>>(edm::InputTag(std::string("mix"), std::string("barrelHitsName")));
63  EEHits_Token_ = consumes<CrossingFrame<PCaloHit>>(edm::InputTag(std::string("mix"), std::string("endcapHitsName")));
65  consumes<CrossingFrame<PCaloHit>>(edm::InputTag(std::string("mix"), std::string("preshowerHitsName")));
66 
67  // use value of first digit to determine default output level (inclusive)
68  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
69  verbosity %= 10;
70 
71  // create persistent object
72  produces<PGlobalDigi>(label);
73 
74  // print out Parameter Set information being used
75  if (verbosity >= 0) {
76  edm::LogInfo(MsgLoggerCat) << "\n===============================\n"
77  << "Initialized as EDProducer with parameter values:\n"
78  << " Name = " << fName << "\n"
79  << " Verbosity = " << verbosity << "\n"
80  << " Frequency = " << frequency << "\n"
81  << " Label = " << label << "\n"
82  << " GetProv = " << getAllProvenances << "\n"
83  << " PrintProv = " << printProvenanceInfo << "\n"
84  << " ECalEBSrc = " << ECalEBSrc_.label() << ":" << ECalEBSrc_.instance() << "\n"
85  << " ECalEESrc = " << ECalEESrc_.label() << ":" << ECalEESrc_.instance() << "\n"
86  << " ECalESSrc = " << ECalESSrc_.label() << ":" << ECalESSrc_.instance() << "\n"
87  << " HCalSrc = " << HCalSrc_.label() << ":" << HCalSrc_.instance() << "\n"
88  << " HCalDigi = " << HCalDigi_.label() << ":" << HCalDigi_.instance() << "\n"
89  << " SiStripSrc = " << SiStripSrc_.label() << ":" << SiStripSrc_.instance() << "\n"
90  << " SiPixelSrc = " << SiPxlSrc_.label() << ":" << SiPxlSrc_.instance() << "\n"
91  << " MuDTSrc = " << MuDTSrc_.label() << ":" << MuDTSrc_.instance() << "\n"
92  << " MuCSCStripSrc = " << MuCSCStripSrc_.label() << ":" << MuCSCStripSrc_.instance()
93  << "\n"
94  << " MuCSCWireSrc = " << MuCSCWireSrc_.label() << ":" << MuCSCWireSrc_.instance()
95  << "\n"
96  << "===============================\n";
97  }
98 
99  // set default constants
100  // ECal
101  ECalgainConv_[0] = 0.;
102  ECalgainConv_[1] = 1.;
103  ECalgainConv_[2] = 2.;
104  ECalgainConv_[3] = 12.;
105  ECalbarrelADCtoGeV_ = 0.035;
106  ECalendcapADCtoGeV_ = 0.06;
107 }
108 
110 
112  std::string MsgLoggerCat = "GlobalDigisProducer_beginJob";
113 
114  // // setup calorimeter constants from service
115  // edm::ESHandle<EcalADCToGeVConstant> pAgc;
116  // iSetup.get<EcalADCToGeVConstantRcd>().get(pAgc);
117  // const EcalADCToGeVConstant* agc = pAgc.product();
118 
119  EcalMGPAGainRatio *defaultRatios = new EcalMGPAGainRatio();
120 
121  ECalgainConv_[0] = 0.;
122  ECalgainConv_[1] = 1.;
123  ECalgainConv_[2] = defaultRatios->gain12Over6();
124  ECalgainConv_[3] = ECalgainConv_[2] * (defaultRatios->gain6Over1());
125 
126  delete defaultRatios;
127 
128  // ECalbarrelADCtoGeV_ = agc->getEBValue();
129  // ECalendcapADCtoGeV_ = agc->getEEValue();
130 
131  if (verbosity >= 0) {
132  edm::LogInfo(MsgLoggerCat) << "Modified Calorimeter gain constants: g0 = " << ECalgainConv_[0]
133  << ", g1 = " << ECalgainConv_[1] << ", g2 = " << ECalgainConv_[2]
134  << ", g3 = " << ECalgainConv_[3];
135  // edm::LogInfo(MsgLoggerCat)
136  // << "Modified Calorimeter ADCtoGeV constants: barrel = "
137  // << ECalbarrelADCtoGeV_ << ", endcap = " << ECalendcapADCtoGeV_;
138  }
139 
140  // clear storage vectors
141  clear();
142  return;
143 }
144 
146  std::string MsgLoggerCat = "GlobalDigisProducer_endJob";
147  if (verbosity >= 0)
148  edm::LogInfo(MsgLoggerCat) << "Terminating having processed " << count << " events.";
149  return;
150 }
151 
153  std::string MsgLoggerCat = "GlobalDigisProducer_produce";
154 
155  // keep track of number of events processed
156  ++count;
157 
158  // THIS BLOCK MIGRATED HERE FROM beginJob:
159  // setup calorimeter constants from service
161  iSetup.get<EcalADCToGeVConstantRcd>().get(pAgc);
162  const EcalADCToGeVConstant *agc = pAgc.product();
165  if (verbosity >= 0) {
166  edm::LogInfo(MsgLoggerCat) << "Modified Calorimeter ADCtoGeV constants: barrel = " << ECalbarrelADCtoGeV_
167  << ", endcap = " << ECalendcapADCtoGeV_;
168  }
169 
170  // get event id information
171  edm::RunNumber_t nrun = iEvent.id().run();
172  edm::EventNumber_t nevt = iEvent.id().event();
173 
174  if (verbosity > 0) {
175  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count << " events total)";
176  } else if (verbosity == 0) {
177  if (nevt % frequency == 0 || nevt == 1) {
178  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count
179  << " events total)";
180  }
181  }
182 
183  // clear event holders
184  clear();
185 
186  // look at information available in the event
187  if (getAllProvenances) {
188  std::vector<const edm::StableProvenance *> AllProv;
189  iEvent.getAllStableProvenance(AllProv);
190 
191  if (verbosity >= 0)
192  edm::LogInfo(MsgLoggerCat) << "Number of Provenances = " << AllProv.size();
193 
194  if (printProvenanceInfo && (verbosity >= 0)) {
195  TString eventout("\nProvenance info:\n");
196 
197  for (unsigned int i = 0; i < AllProv.size(); ++i) {
198  eventout += "\n ******************************";
199  eventout += "\n Module : ";
200  // eventout += (AllProv[i]->product).moduleLabel();
201  eventout += AllProv[i]->moduleLabel();
202  eventout += "\n ProductID : ";
203  // eventout += (AllProv[i]->product).productID_.id_;
204  eventout += AllProv[i]->productID().id();
205  eventout += "\n ClassName : ";
206  // eventout += (AllProv[i]->product).fullClassName_;
207  eventout += AllProv[i]->className();
208  eventout += "\n InstanceName : ";
209  // eventout += (AllProv[i]->product).productInstanceName_;
210  eventout += AllProv[i]->productInstanceName();
211  eventout += "\n BranchName : ";
212  // eventout += (AllProv[i]->product).branchName_;
213  eventout += AllProv[i]->branchName();
214  }
215  eventout += "\n ******************************\n";
216  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
217  printProvenanceInfo = false;
218  }
219  getAllProvenances = false;
220  }
221 
222  // call fill functions
223  // gather Ecal information from event
224  fillECal(iEvent, iSetup);
225  // gather Hcal information from event
226  fillHCal(iEvent, iSetup);
227  // gather Track information from event
228  fillTrk(iEvent, iSetup);
229  // gather Muon information from event
230  fillMuon(iEvent, iSetup);
231 
232  if (verbosity > 0)
233  edm::LogInfo(MsgLoggerCat) << "Done gathering data from event.";
234 
235  // produce object to put into event
236  std::unique_ptr<PGlobalDigi> pOut(new PGlobalDigi);
237 
238  if (verbosity > 2)
239  edm::LogInfo(MsgLoggerCat) << "Saving event contents:";
240 
241  // call store functions
242  // store ECal information in produce
243  storeECal(*pOut);
244  // store HCal information in produce
245  storeHCal(*pOut);
246  // store Track information in produce
247  storeTrk(*pOut);
248  // store Muon information in produce
249  storeMuon(*pOut);
250 
251  // store information in event
252  iEvent.put(std::move(pOut), label);
253 
254  return;
255 }
256 
258  std::string MsgLoggerCat = "GlobalDigisProducer_fillECal";
259 
260  TString eventout;
261  if (verbosity > 0)
262  eventout = "\nGathering info:";
263 
264  // extract crossing frame from event
265  // edm::Handle<CrossingFrame> crossingFrame;
267  // iEvent.getByType(crossingFrame);
268  // if (!crossingFrame.isValid()) {
269  // edm::LogWarning(MsgLoggerCat)
270  // << "Unable to crossingFrame in event!";
271  // return;
272  //}
273 
275  // extract EB information
277  bool isBarrel = true;
279  iEvent.getByToken(ECalEBSrc_Token_, EcalDigiEB);
280  if (!EcalDigiEB.isValid()) {
281  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalDigiEB in event!";
282  return;
283  }
284  if (EcalDigiEB->empty())
285  isBarrel = false;
286 
287  if (isBarrel) {
288  // loop over simhits
289  iEvent.getByToken(EBHits_Token_, crossingFrame);
290  if (!crossingFrame.isValid()) {
291  edm::LogWarning(MsgLoggerCat) << "Unable to find cal barrel crossingFrame in event!";
292  return;
293  }
294  // std::unique_ptr<MixCollection<PCaloHit> >
295  // barrelHits(new MixCollection<PCaloHit>
296  // (crossingFrame.product(), barrelHitsName));
297  std::unique_ptr<MixCollection<PCaloHit>> barrelHits(new MixCollection<PCaloHit>(crossingFrame.product()));
298 
299  // keep track of sum of simhit energy in each crystal
300  MapType ebSimMap;
301  for (MixCollection<PCaloHit>::MixItr hitItr = barrelHits->begin(); hitItr != barrelHits->end(); ++hitItr) {
302  EBDetId ebid = EBDetId(hitItr->id());
303 
304  uint32_t crystid = ebid.rawId();
305  ebSimMap[crystid] += hitItr->energy();
306  }
307 
308  // loop over digis
309  const EBDigiCollection *barrelDigi = EcalDigiEB.product();
310 
311  std::vector<double> ebAnalogSignal;
312  std::vector<double> ebADCCounts;
313  std::vector<double> ebADCGains;
314  ebAnalogSignal.reserve(EBDataFrame::MAXSAMPLES);
315  ebADCCounts.reserve(EBDataFrame::MAXSAMPLES);
316  ebADCGains.reserve(EBDataFrame::MAXSAMPLES);
317 
318  int i = 0;
319  for (unsigned int digis = 0; digis < EcalDigiEB->size(); ++digis) {
320  // for (std::vector<EBDataFrame>::const_iterator digis =
321  // barrelDigi->begin();
322  // digis != barrelDigi->end();
323  // ++digis) {
324 
325  ++i;
326 
327  EBDataFrame ebdf = (*barrelDigi)[digis];
328  int nrSamples = ebdf.size();
329 
330  EBDetId ebid = ebdf.id();
331  // EBDetId ebid = digis->id();
332 
333  double Emax = 0;
334  int Pmax = 0;
335  double pedestalPreSample = 0.;
336  double pedestalPreSampleAnalog = 0.;
337 
338  for (int sample = 0; sample < nrSamples; ++sample) {
339  // for (int sample = 0; sample < digis->size(); ++sample) {
340  ebAnalogSignal[sample] = 0.;
341  ebADCCounts[sample] = 0.;
342  ebADCGains[sample] = -1.;
343  }
344 
345  // calculate maximum energy and pedestal
346  for (int sample = 0; sample < nrSamples; ++sample) {
347  // for (int sample = 0; sample < digis->size(); ++sample) {
348 
349  EcalMGPASample thisSample = ebdf[sample];
350  ebADCCounts[sample] = (thisSample.adc());
351  ebADCGains[sample] = (thisSample.gainId());
352  ebAnalogSignal[sample] = (ebADCCounts[sample] * ECalgainConv_[(int)ebADCGains[sample]] * ECalbarrelADCtoGeV_);
353  if (Emax < ebAnalogSignal[sample]) {
354  Emax = ebAnalogSignal[sample];
355  Pmax = sample;
356  }
357  if (sample < 3) {
358  pedestalPreSample += ebADCCounts[sample];
359  pedestalPreSampleAnalog += ebADCCounts[sample] * ECalgainConv_[(int)ebADCGains[sample]] * ECalbarrelADCtoGeV_;
360  }
361  }
362  pedestalPreSample /= 3.;
363  pedestalPreSampleAnalog /= 3.;
364 
365  // calculate pedestal subtracted digi energy in the crystal
366  double Erec = Emax - pedestalPreSampleAnalog * ECalgainConv_[(int)ebADCGains[Pmax]];
367 
368  // gather necessary information
369  EBCalAEE.push_back(Erec);
370  EBCalSHE.push_back(ebSimMap[ebid.rawId()]);
371  EBCalmaxPos.push_back(Pmax);
372  }
373 
374  if (verbosity > 1) {
375  eventout += "\n Number of EBDigis collected:.............. ";
376  eventout += i;
377  }
378  }
379 
381  // extract EE information
383  bool isEndCap = true;
385  iEvent.getByToken(ECalEESrc_Token_, EcalDigiEE);
386  if (!EcalDigiEE.isValid()) {
387  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalDigiEE in event!";
388  return;
389  }
390  if (EcalDigiEE->empty())
391  isEndCap = false;
392 
393  if (isEndCap) {
394  // loop over simhits
395  iEvent.getByToken(EEHits_Token_, crossingFrame);
396  if (!crossingFrame.isValid()) {
397  edm::LogWarning(MsgLoggerCat) << "Unable to find cal endcap crossingFrame in event!";
398  return;
399  }
400  // std::unique_ptr<MixCollection<PCaloHit> >
401  // endcapHits(new MixCollection<PCaloHit>
402  // (crossingFrame.product(), endcapHitsName));
403  std::unique_ptr<MixCollection<PCaloHit>> endcapHits(new MixCollection<PCaloHit>(crossingFrame.product()));
404 
405  // keep track of sum of simhit energy in each crystal
406  MapType eeSimMap;
407  for (MixCollection<PCaloHit>::MixItr hitItr = endcapHits->begin(); hitItr != endcapHits->end(); ++hitItr) {
408  EEDetId eeid = EEDetId(hitItr->id());
409 
410  uint32_t crystid = eeid.rawId();
411  eeSimMap[crystid] += hitItr->energy();
412  }
413 
414  // loop over digis
415  const EEDigiCollection *endcapDigi = EcalDigiEE.product();
416 
417  std::vector<double> eeAnalogSignal;
418  std::vector<double> eeADCCounts;
419  std::vector<double> eeADCGains;
420  eeAnalogSignal.reserve(EEDataFrame::MAXSAMPLES);
421  eeADCCounts.reserve(EEDataFrame::MAXSAMPLES);
422  eeADCGains.reserve(EEDataFrame::MAXSAMPLES);
423 
424  int i = 0;
425  // for (std::vector<EEDataFrame>::const_iterator digis =
426  // endcapDigi->begin();
427  // digis != endcapDigi->end();
428  // ++digis) {
429  for (unsigned int digis = 0; digis < EcalDigiEE->size(); ++digis) {
430  ++i;
431 
432  EEDataFrame eedf = (*endcapDigi)[digis];
433  int nrSamples = eedf.size();
434 
435  EEDetId eeid = eedf.id();
436  // EEDetId eeid = digis->id();
437 
438  double Emax = 0;
439  int Pmax = 0;
440  double pedestalPreSample = 0.;
441  double pedestalPreSampleAnalog = 0.;
442 
443  for (int sample = 0; sample < nrSamples; ++sample) {
444  // for (int sample = 0; sample < digis->size(); ++sample) {
445  eeAnalogSignal[sample] = 0.;
446  eeADCCounts[sample] = 0.;
447  eeADCGains[sample] = -1.;
448  }
449 
450  // calculate maximum enery and pedestal
451  for (int sample = 0; sample < nrSamples; ++sample) {
452  // for (int sample = 0; sample < digis->size(); ++sample) {
453 
454  EcalMGPASample thisSample = eedf[sample];
455 
456  eeADCCounts[sample] = (thisSample.adc());
457  eeADCGains[sample] = (thisSample.gainId());
458  eeAnalogSignal[sample] = (eeADCCounts[sample] * ECalgainConv_[(int)eeADCGains[sample]] * ECalbarrelADCtoGeV_);
459  if (Emax < eeAnalogSignal[sample]) {
460  Emax = eeAnalogSignal[sample];
461  Pmax = sample;
462  }
463  if (sample < 3) {
464  pedestalPreSample += eeADCCounts[sample];
465  pedestalPreSampleAnalog += eeADCCounts[sample] * ECalgainConv_[(int)eeADCGains[sample]] * ECalbarrelADCtoGeV_;
466  }
467  }
468  pedestalPreSample /= 3.;
469  pedestalPreSampleAnalog /= 3.;
470 
471  // calculate pedestal subtracted digi energy in the crystal
472  double Erec = Emax - pedestalPreSampleAnalog * ECalgainConv_[(int)eeADCGains[Pmax]];
473 
474  // gather necessary information
475  EECalAEE.push_back(Erec);
476  EECalSHE.push_back(eeSimMap[eeid.rawId()]);
477  EECalmaxPos.push_back(Pmax);
478  }
479 
480  if (verbosity > 1) {
481  eventout += "\n Number of EEDigis collected:.............. ";
482  eventout += i;
483  }
484  }
485 
487  // extract ES information
489  bool isPreshower = true;
491  iEvent.getByToken(ECalESSrc_Token_, EcalDigiES);
492  if (!EcalDigiES.isValid()) {
493  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalDigiES in event!";
494  return;
495  }
496  if (EcalDigiES->empty())
497  isPreshower = false;
498 
499  if (isPreshower) {
500  // loop over simhits
501  iEvent.getByToken(ESHits_Token_, crossingFrame);
502  if (!crossingFrame.isValid()) {
503  edm::LogWarning(MsgLoggerCat) << "Unable to find cal preshower crossingFrame in event!";
504  return;
505  }
506  // std::unique_ptr<MixCollection<PCaloHit> >
507  // preshowerHits(new MixCollection<PCaloHit>
508  // (crossingFrame.product(), preshowerHitsName));
509  std::unique_ptr<MixCollection<PCaloHit>> preshowerHits(new MixCollection<PCaloHit>(crossingFrame.product()));
510 
511  // keep track of sum of simhit energy in each crystal
512  MapType esSimMap;
513  for (MixCollection<PCaloHit>::MixItr hitItr = preshowerHits->begin(); hitItr != preshowerHits->end(); ++hitItr) {
514  ESDetId esid = ESDetId(hitItr->id());
515 
516  uint32_t crystid = esid.rawId();
517  esSimMap[crystid] += hitItr->energy();
518  }
519 
520  // loop over digis
521  const ESDigiCollection *preshowerDigi = EcalDigiES.product();
522 
523  std::vector<double> esADCCounts;
524  esADCCounts.reserve(ESDataFrame::MAXSAMPLES);
525 
526  int i = 0;
527  for (unsigned int digis = 0; digis < EcalDigiES->size(); ++digis) {
528  // for (std::vector<ESDataFrame>::const_iterator digis =
529  // preshowerDigi->begin();
530  // digis != preshowerDigi->end();
531  // ++digis) {
532 
533  ++i;
534 
535  ESDataFrame esdf = (*preshowerDigi)[digis];
536  int nrSamples = esdf.size();
537 
538  ESDetId esid = esdf.id();
539  // ESDetId esid = digis->id();
540 
541  for (int sample = 0; sample < nrSamples; ++sample) {
542  // for (int sample = 0; sample < digis->size(); ++sample) {
543  esADCCounts[sample] = 0.;
544  }
545 
546  // gether ADC counts
547  for (int sample = 0; sample < nrSamples; ++sample) {
548  ESSample thisSample = esdf[sample];
549  // for (int sample = 0; sample < digis->size(); ++sample) {
550  esADCCounts[sample] = (thisSample.adc());
551  }
552 
553  ESCalADC0.push_back(esADCCounts[0]);
554  ESCalADC1.push_back(esADCCounts[1]);
555  ESCalADC2.push_back(esADCCounts[2]);
556  ESCalSHE.push_back(esSimMap[esid.rawId()]);
557  }
558 
559  if (verbosity > 1) {
560  eventout += "\n Number of ESDigis collected:.............. ";
561  eventout += i;
562  }
563  }
564 
565  if (verbosity > 0)
566  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
567 
568  return;
569 }
570 
572  std::string MsgLoggerCat = "GlobalDigisProducer_storeECal";
573 
574  if (verbosity > 2) {
575  TString eventout("\n nEBDigis = ");
576  eventout += EBCalmaxPos.size();
577  for (unsigned int i = 0; i < EBCalmaxPos.size(); ++i) {
578  eventout += "\n (maxPos, AEE, SHE) = (";
579  eventout += EBCalmaxPos[i];
580  eventout += ", ";
581  eventout += EBCalAEE[i];
582  eventout += ", ";
583  eventout += EBCalSHE[i];
584  eventout += ")";
585  }
586  eventout += "\n nEEDigis = ";
587  eventout += EECalmaxPos.size();
588  for (unsigned int i = 0; i < EECalmaxPos.size(); ++i) {
589  eventout += "\n (maxPos, AEE, SHE) = (";
590  eventout += EECalmaxPos[i];
591  eventout += ", ";
592  eventout += EECalAEE[i];
593  eventout += ", ";
594  eventout += EECalSHE[i];
595  eventout += ")";
596  }
597  eventout += "\n nESDigis = ";
598  eventout += ESCalADC0.size();
599  for (unsigned int i = 0; i < ESCalADC0.size(); ++i) {
600  eventout += "\n (ADC0, ADC1, ADC2, SHE) = (";
601  eventout += ESCalADC0[i];
602  eventout += ", ";
603  eventout += ESCalADC1[i];
604  eventout += ", ";
605  eventout += ESCalADC2[i];
606  eventout += ", ";
607  eventout += ESCalSHE[i];
608  eventout += ")";
609  }
610  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
611  }
612 
616 
617  return;
618 }
619 
621  std::string MsgLoggerCat = "GlobalDigisProducer_fillHCal";
622 
623  TString eventout;
624  if (verbosity > 0)
625  eventout = "\nGathering info:";
626 
627  // get calibration info
628  edm::ESHandle<HcalDbService> HCalconditions;
629  iSetup.get<HcalDbRecord>().get(HCalconditions);
630  if (!HCalconditions.isValid()) {
631  edm::LogWarning(MsgLoggerCat) << "Unable to find HCalconditions in event!";
632  return;
633  }
634  // HcalCalibrations calibrations;
635  CaloSamples tool;
636 
638  // extract simhit info
641  iEvent.getByToken(HCalSrc_Token_, hcalHits);
642  if (!hcalHits.isValid()) {
643  edm::LogWarning(MsgLoggerCat) << "Unable to find hcalHits in event!";
644  return;
645  }
646  const edm::PCaloHitContainer *simhitResult = hcalHits.product();
647 
648  MapType fHBEnergySimHits;
649  MapType fHEEnergySimHits;
650  MapType fHOEnergySimHits;
651  MapType fHFEnergySimHits;
652  for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin(); simhits != simhitResult->end();
653  ++simhits) {
654  HcalDetId detId(simhits->id());
655  uint32_t cellid = detId.rawId();
656 
657  if (detId.subdet() == sdHcalBrl) {
658  fHBEnergySimHits[cellid] += simhits->energy();
659  }
660  if (detId.subdet() == sdHcalEC) {
661  fHEEnergySimHits[cellid] += simhits->energy();
662  }
663  if (detId.subdet() == sdHcalOut) {
664  fHOEnergySimHits[cellid] += simhits->energy();
665  }
666  if (detId.subdet() == sdHcalFwd) {
667  fHFEnergySimHits[cellid] += simhits->energy();
668  }
669  }
670 
672  // get HBHE information
675  iEvent.getByToken(HBHEDigi_Token_, hbhe);
676  if (!hbhe.isValid()) {
677  edm::LogWarning(MsgLoggerCat) << "Unable to find HBHEDataFrame in event!";
678  return;
679  }
681 
682  int iHB = 0;
683  int iHE = 0;
684  for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
685  HcalDetId cell(ihbhe->id());
686 
687  if ((cell.subdet() == sdHcalBrl) || (cell.subdet() == sdHcalEC)) {
688  // HCalconditions->makeHcalCalibration(cell, &calibrations);
689  const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
690  const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
691  const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
692 
693  HcalCoderDb coder(*channelCoder, *shape);
694  coder.adc2fC(*ihbhe, tool);
695 
696  // get HB info
697  if (cell.subdet() == sdHcalBrl) {
698  ++iHB;
699  float fDigiSum = 0.0;
700  for (int ii = 0; ii < tool.size(); ++ii) {
701  // default ped is 4.5
702  int capid = (*ihbhe)[ii].capid();
703  fDigiSum += (tool[ii] - calibrations.pedestal(capid));
704  }
705 
706  HBCalAEE.push_back(fDigiSum);
707  HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
708  }
709 
710  // get HE info
711  if (cell.subdet() == sdHcalEC) {
712  ++iHE;
713  float fDigiSum = 0.0;
714  for (int ii = 0; ii < tool.size(); ++ii) {
715  int capid = (*ihbhe)[ii].capid();
716  fDigiSum += (tool[ii] - calibrations.pedestal(capid));
717  }
718 
719  HECalAEE.push_back(fDigiSum);
720  HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
721  }
722  }
723  }
724 
725  if (verbosity > 1) {
726  eventout += "\n Number of HBDigis collected:.............. ";
727  eventout += iHB;
728  }
729 
730  if (verbosity > 1) {
731  eventout += "\n Number of HEDigis collected:.............. ";
732  eventout += iHE;
733  }
734 
736  // get HO information
739  iEvent.getByToken(HODigi_Token_, ho);
740  if (!ho.isValid()) {
741  edm::LogWarning(MsgLoggerCat) << "Unable to find HODataFrame in event!";
742  return;
743  }
745 
746  int iHO = 0;
747  for (iho = ho->begin(); iho != ho->end(); ++iho) {
748  HcalDetId cell(iho->id());
749 
750  if (cell.subdet() == sdHcalOut) {
751  // HCalconditions->makeHcalCalibration(cell, &calibrations);
752  const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
753  const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
754  const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
755 
756  HcalCoderDb coder(*channelCoder, *shape);
757  coder.adc2fC(*iho, tool);
758 
759  ++iHO;
760  float fDigiSum = 0.0;
761  for (int ii = 0; ii < tool.size(); ++ii) {
762  // default ped is 4.5
763  int capid = (*iho)[ii].capid();
764  fDigiSum += (tool[ii] - calibrations.pedestal(capid));
765  }
766 
767  HOCalAEE.push_back(fDigiSum);
768  HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
769  }
770  }
771 
772  if (verbosity > 1) {
773  eventout += "\n Number of HODigis collected:.............. ";
774  eventout += iHO;
775  }
776 
778  // get HF information
781  iEvent.getByToken(HFDigi_Token_, hf);
782  if (!hf.isValid()) {
783  edm::LogWarning(MsgLoggerCat) << "Unable to find HFDataFrame in event!";
784  return;
785  }
787 
788  int iHF = 0;
789  for (ihf = hf->begin(); ihf != hf->end(); ++ihf) {
790  HcalDetId cell(ihf->id());
791 
792  if (cell.subdet() == sdHcalFwd) {
793  // HCalconditions->makeHcalCalibration(cell, &calibrations);
794  const HcalCalibrations &calibrations = HCalconditions->getHcalCalibrations(cell);
795  const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
796  const HcalQIEShape *shape = HCalconditions->getHcalShape(channelCoder);
797 
798  HcalCoderDb coder(*channelCoder, *shape);
799  coder.adc2fC(*ihf, tool);
800 
801  ++iHF;
802  float fDigiSum = 0.0;
803  for (int ii = 0; ii < tool.size(); ++ii) {
804  // default ped is 1.73077
805  int capid = (*ihf)[ii].capid();
806  fDigiSum += (tool[ii] - calibrations.pedestal(capid));
807  }
808 
809  HFCalAEE.push_back(fDigiSum);
810  HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
811  }
812  }
813 
814  if (verbosity > 1) {
815  eventout += "\n Number of HFDigis collected:.............. ";
816  eventout += iHF;
817  }
818 
819  if (verbosity > 0)
820  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
821 
822  return;
823 }
824 
826  std::string MsgLoggerCat = "GlobalDigisProducer_storeHCal";
827 
828  if (verbosity > 2) {
829  TString eventout("\n nHBDigis = ");
830  eventout += HBCalAEE.size();
831  for (unsigned int i = 0; i < HBCalAEE.size(); ++i) {
832  eventout += "\n (AEE, SHE) = (";
833  eventout += HBCalAEE[i];
834  eventout += ", ";
835  eventout += HBCalSHE[i];
836  eventout += ")";
837  }
838  eventout += "\n nHEDigis = ";
839  eventout += HECalAEE.size();
840  for (unsigned int i = 0; i < HECalAEE.size(); ++i) {
841  eventout += "\n (AEE, SHE) = (";
842  eventout += HECalAEE[i];
843  eventout += ", ";
844  eventout += HECalSHE[i];
845  eventout += ")";
846  }
847  eventout += "\n nHODigis = ";
848  eventout += HOCalAEE.size();
849  for (unsigned int i = 0; i < HOCalAEE.size(); ++i) {
850  eventout += "\n (AEE, SHE) = (";
851  eventout += HOCalAEE[i];
852  eventout += ", ";
853  eventout += HOCalSHE[i];
854  eventout += ")";
855  }
856  eventout += "\n nHFDigis = ";
857  eventout += HFCalAEE.size();
858  for (unsigned int i = 0; i < HFCalAEE.size(); ++i) {
859  eventout += "\n (AEE, SHE) = (";
860  eventout += HFCalAEE[i];
861  eventout += ", ";
862  eventout += HFCalSHE[i];
863  eventout += ")";
864  }
865 
866  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
867  }
868 
869  product.putHBCalDigis(HBCalAEE, HBCalSHE);
870  product.putHECalDigis(HECalAEE, HECalSHE);
871  product.putHOCalDigis(HOCalAEE, HOCalSHE);
872  product.putHFCalDigis(HFCalAEE, HFCalSHE);
873 
874  return;
875 }
876 
878  // Retrieve tracker topology from geometry
879  edm::ESHandle<TrackerTopology> tTopoHandle;
880  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
881  const TrackerTopology *const tTopo = tTopoHandle.product();
882 
883  std::string MsgLoggerCat = "GlobalDigisProducer_fillTrk";
884 
885  TString eventout;
886  if (verbosity > 0)
887  eventout = "\nGathering info:";
888 
889  // get strip information
891  iEvent.getByToken(SiStripSrc_Token_, stripDigis);
892  if (!stripDigis.isValid()) {
893  edm::LogWarning(MsgLoggerCat) << "Unable to find stripDigis in event!";
894  return;
895  }
896 
897  int nStripBrl = 0, nStripFwd = 0;
899  for (DSViter = stripDigis->begin(); DSViter != stripDigis->end(); ++DSViter) {
900  unsigned int id = DSViter->id;
901  DetId detId(id);
905 
906  // get TIB
907  if (detId.subdetId() == sdSiTIB) {
908  for (iter = begin; iter != end; ++iter) {
909  ++nStripBrl;
910  if (tTopo->tibLayer(id) == 1) {
911  TIBL1ADC.push_back((*iter).adc());
912  TIBL1Strip.push_back((*iter).strip());
913  }
914  if (tTopo->tibLayer(id) == 2) {
915  TIBL2ADC.push_back((*iter).adc());
916  TIBL2Strip.push_back((*iter).strip());
917  }
918  if (tTopo->tibLayer(id) == 3) {
919  TIBL3ADC.push_back((*iter).adc());
920  TIBL3Strip.push_back((*iter).strip());
921  }
922  if (tTopo->tibLayer(id) == 4) {
923  TIBL4ADC.push_back((*iter).adc());
924  TIBL4Strip.push_back((*iter).strip());
925  }
926  }
927  }
928 
929  // get TOB
930  if (detId.subdetId() == sdSiTOB) {
931  for (iter = begin; iter != end; ++iter) {
932  ++nStripBrl;
933  if (tTopo->tobLayer(id) == 1) {
934  TOBL1ADC.push_back((*iter).adc());
935  TOBL1Strip.push_back((*iter).strip());
936  }
937  if (tTopo->tobLayer(id) == 2) {
938  TOBL2ADC.push_back((*iter).adc());
939  TOBL2Strip.push_back((*iter).strip());
940  }
941  if (tTopo->tobLayer(id) == 3) {
942  TOBL3ADC.push_back((*iter).adc());
943  TOBL3Strip.push_back((*iter).strip());
944  }
945  if (tTopo->tobLayer(id) == 4) {
946  TOBL4ADC.push_back((*iter).adc());
947  TOBL4Strip.push_back((*iter).strip());
948  }
949  }
950  }
951 
952  // get TID
953  if (detId.subdetId() == sdSiTID) {
954  for (iter = begin; iter != end; ++iter) {
955  ++nStripFwd;
956  if (tTopo->tidWheel(id) == 1) {
957  TIDW1ADC.push_back((*iter).adc());
958  TIDW1Strip.push_back((*iter).strip());
959  }
960  if (tTopo->tidWheel(id) == 2) {
961  TIDW2ADC.push_back((*iter).adc());
962  TIDW2Strip.push_back((*iter).strip());
963  }
964  if (tTopo->tidWheel(id) == 3) {
965  TIDW3ADC.push_back((*iter).adc());
966  TIDW3Strip.push_back((*iter).strip());
967  }
968  }
969  }
970 
971  // get TEC
972  if (detId.subdetId() == sdSiTEC) {
973  for (iter = begin; iter != end; ++iter) {
974  ++nStripFwd;
975  if (tTopo->tecWheel(id) == 1) {
976  TECW1ADC.push_back((*iter).adc());
977  TECW1Strip.push_back((*iter).strip());
978  }
979  if (tTopo->tecWheel(id) == 2) {
980  TECW2ADC.push_back((*iter).adc());
981  TECW2Strip.push_back((*iter).strip());
982  }
983  if (tTopo->tecWheel(id) == 3) {
984  TECW3ADC.push_back((*iter).adc());
985  TECW3Strip.push_back((*iter).strip());
986  }
987  if (tTopo->tecWheel(id) == 4) {
988  TECW4ADC.push_back((*iter).adc());
989  TECW4Strip.push_back((*iter).strip());
990  }
991  if (tTopo->tecWheel(id) == 5) {
992  TECW5ADC.push_back((*iter).adc());
993  TECW5Strip.push_back((*iter).strip());
994  }
995  if (tTopo->tecWheel(id) == 6) {
996  TECW6ADC.push_back((*iter).adc());
997  TECW6Strip.push_back((*iter).strip());
998  }
999  if (tTopo->tecWheel(id) == 7) {
1000  TECW7ADC.push_back((*iter).adc());
1001  TECW7Strip.push_back((*iter).strip());
1002  }
1003  if (tTopo->tecWheel(id) == 8) {
1004  TECW8ADC.push_back((*iter).adc());
1005  TECW8Strip.push_back((*iter).strip());
1006  }
1007  }
1008  }
1009  } // end loop over DataSetVector
1010 
1011  if (verbosity > 1) {
1012  eventout += "\n Number of BrlStripDigis collected:........ ";
1013  eventout += nStripBrl;
1014  }
1015 
1016  if (verbosity > 1) {
1017  eventout += "\n Number of FrwdStripDigis collected:....... ";
1018  eventout += nStripFwd;
1019  }
1020 
1021  // get pixel information
1023  iEvent.getByToken(SiPxlSrc_Token_, pixelDigis);
1024  if (!pixelDigis.isValid()) {
1025  edm::LogWarning(MsgLoggerCat) << "Unable to find pixelDigis in event!";
1026  return;
1027  }
1028 
1029  int nPxlBrl = 0, nPxlFwd = 0;
1031  for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end(); ++DPViter) {
1032  unsigned int id = DPViter->id;
1033  DetId detId(id);
1037 
1038  // get Barrel pixels
1039  if (detId.subdetId() == sdPxlBrl) {
1040  for (iter = begin; iter != end; ++iter) {
1041  ++nPxlBrl;
1042  if (tTopo->pxbLayer(id) == 1) {
1043  BRL1ADC.push_back((*iter).adc());
1044  BRL1Row.push_back((*iter).row());
1045  BRL1Col.push_back((*iter).column());
1046  }
1047  if (tTopo->pxbLayer(id) == 2) {
1048  BRL2ADC.push_back((*iter).adc());
1049  BRL2Row.push_back((*iter).row());
1050  BRL2Col.push_back((*iter).column());
1051  }
1052  if (tTopo->pxbLayer(id) == 3) {
1053  BRL3ADC.push_back((*iter).adc());
1054  BRL3Row.push_back((*iter).row());
1055  BRL3Col.push_back((*iter).column());
1056  }
1057  }
1058  }
1059 
1060  // get Forward pixels
1061  if (detId.subdetId() == sdPxlFwd) {
1062  for (iter = begin; iter != end; ++iter) {
1063  ++nPxlFwd;
1064  if (tTopo->pxfDisk(id) == 1) {
1065  if (tTopo->pxfSide(id) == 1) {
1066  FWD1nADC.push_back((*iter).adc());
1067  FWD1nRow.push_back((*iter).row());
1068  FWD1nCol.push_back((*iter).column());
1069  }
1070  if (tTopo->pxfSide(id) == 2) {
1071  FWD1pADC.push_back((*iter).adc());
1072  FWD1pRow.push_back((*iter).row());
1073  FWD1pCol.push_back((*iter).column());
1074  }
1075  }
1076  if (tTopo->pxfDisk(id) == 2) {
1077  if (tTopo->pxfSide(id) == 1) {
1078  FWD2nADC.push_back((*iter).adc());
1079  FWD2nRow.push_back((*iter).row());
1080  FWD2nCol.push_back((*iter).column());
1081  }
1082  if (tTopo->pxfSide(id) == 2) {
1083  FWD2pADC.push_back((*iter).adc());
1084  FWD2pRow.push_back((*iter).row());
1085  FWD2pCol.push_back((*iter).column());
1086  }
1087  }
1088  }
1089  }
1090  }
1091 
1092  if (verbosity > 1) {
1093  eventout += "\n Number of BrlPixelDigis collected:........ ";
1094  eventout += nPxlBrl;
1095  }
1096 
1097  if (verbosity > 1) {
1098  eventout += "\n Number of FrwdPixelDigis collected:....... ";
1099  eventout += nPxlFwd;
1100  }
1101 
1102  if (verbosity > 0)
1103  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1104 
1105  return;
1106 }
1107 
1109  std::string MsgLoggerCat = "GlobalDigisProducer_storeTrk";
1110 
1111  if (verbosity > 2) {
1112  // strip output
1113  TString eventout("\n nTIBL1 = ");
1114  eventout += TIBL1ADC.size();
1115  for (unsigned int i = 0; i < TIBL1ADC.size(); ++i) {
1116  eventout += "\n (ADC, strip) = (";
1117  eventout += TIBL1ADC[i];
1118  eventout += ", ";
1119  eventout += TIBL1Strip[i];
1120  eventout += ")";
1121  }
1122  eventout += "\n nTIBL2 = ";
1123  eventout += TIBL2ADC.size();
1124  for (unsigned int i = 0; i < TIBL2ADC.size(); ++i) {
1125  eventout += "\n (ADC, strip) = (";
1126  eventout += TIBL2ADC[i];
1127  eventout += ", ";
1128  eventout += TIBL2Strip[i];
1129  eventout += ")";
1130  }
1131  eventout += "\n nTIBL3 = ";
1132  eventout += TIBL3ADC.size();
1133  for (unsigned int i = 0; i < TIBL3ADC.size(); ++i) {
1134  eventout += "\n (ADC, strip) = (";
1135  eventout += TIBL3ADC[i];
1136  eventout += ", ";
1137  eventout += TIBL3Strip[i];
1138  eventout += ")";
1139  }
1140  eventout += "\n nTIBL4 = ";
1141  eventout += TIBL4ADC.size();
1142  for (unsigned int i = 0; i < TIBL4ADC.size(); ++i) {
1143  eventout += "\n (ADC, strip) = (";
1144  eventout += TIBL4ADC[i];
1145  eventout += ", ";
1146  eventout += TIBL4Strip[i];
1147  eventout += ")";
1148  }
1149  eventout += "\n nTOBL1 = ";
1150  eventout += TOBL1ADC.size();
1151  for (unsigned int i = 0; i < TOBL1ADC.size(); ++i) {
1152  eventout += "\n (ADC, strip) = (";
1153  eventout += TOBL1ADC[i];
1154  eventout += ", ";
1155  eventout += TOBL1Strip[i];
1156  eventout += ")";
1157  }
1158  eventout += "\n nTOBL2 = ";
1159  eventout += TOBL2ADC.size();
1160  for (unsigned int i = 0; i < TOBL2ADC.size(); ++i) {
1161  eventout += "\n (ADC, strip) = (";
1162  eventout += TOBL2ADC[i];
1163  eventout += ", ";
1164  eventout += TOBL2Strip[i];
1165  eventout += ")";
1166  }
1167  eventout += "\n nTOBL3 = ";
1168  eventout += TOBL3ADC.size();
1169  for (unsigned int i = 0; i < TOBL3ADC.size(); ++i) {
1170  eventout += "\n (ADC, strip) = (";
1171  eventout += TOBL3ADC[i];
1172  eventout += ", ";
1173  eventout += TOBL3Strip[i];
1174  eventout += ")";
1175  }
1176  eventout += "\n nTOBL4 = ";
1177  eventout += TOBL4ADC.size();
1178  for (unsigned int i = 0; i < TOBL4ADC.size(); ++i) {
1179  eventout += "\n (ADC, strip) = (";
1180  eventout += TOBL4ADC[i];
1181  eventout += ", ";
1182  eventout += TOBL4Strip[i];
1183  eventout += ")";
1184  }
1185  eventout += "\n nTIDW1 = ";
1186  eventout += TIDW1ADC.size();
1187  for (unsigned int i = 0; i < TIDW1ADC.size(); ++i) {
1188  eventout += "\n (ADC, strip) = (";
1189  eventout += TIDW1ADC[i];
1190  eventout += ", ";
1191  eventout += TIDW1Strip[i];
1192  eventout += ")";
1193  }
1194  eventout += "\n nTIDW2 = ";
1195  eventout += TIDW2ADC.size();
1196  for (unsigned int i = 0; i < TIDW2ADC.size(); ++i) {
1197  eventout += "\n (ADC, strip) = (";
1198  eventout += TIDW2ADC[i];
1199  eventout += ", ";
1200  eventout += TIDW2Strip[i];
1201  eventout += ")";
1202  }
1203  eventout += "\n nTIDW3 = ";
1204  eventout += TIDW3ADC.size();
1205  for (unsigned int i = 0; i < TIDW3ADC.size(); ++i) {
1206  eventout += "\n (ADC, strip) = (";
1207  eventout += TIDW3ADC[i];
1208  eventout += ", ";
1209  eventout += TIDW3Strip[i];
1210  eventout += ")";
1211  }
1212  eventout += "\n nTECW1 = ";
1213  eventout += TECW1ADC.size();
1214  for (unsigned int i = 0; i < TECW1ADC.size(); ++i) {
1215  eventout += "\n (ADC, strip) = (";
1216  eventout += TECW1ADC[i];
1217  eventout += ", ";
1218  eventout += TECW1Strip[i];
1219  eventout += ")";
1220  }
1221  eventout += "\n nTECW2 = ";
1222  eventout += TECW2ADC.size();
1223  for (unsigned int i = 0; i < TECW2ADC.size(); ++i) {
1224  eventout += "\n (ADC, strip) = (";
1225  eventout += TECW2ADC[i];
1226  eventout += ", ";
1227  eventout += TECW2Strip[i];
1228  eventout += ")";
1229  }
1230  eventout += "\n nTECW3 = ";
1231  eventout += TECW3ADC.size();
1232  for (unsigned int i = 0; i < TECW3ADC.size(); ++i) {
1233  eventout += "\n (ADC, strip) = (";
1234  eventout += TECW3ADC[i];
1235  eventout += ", ";
1236  eventout += TECW3Strip[i];
1237  eventout += ")";
1238  }
1239  eventout += "\n nTECW4 = ";
1240  eventout += TECW4ADC.size();
1241  for (unsigned int i = 0; i < TECW4ADC.size(); ++i) {
1242  eventout += "\n (ADC, strip) = (";
1243  eventout += TECW4ADC[i];
1244  eventout += ", ";
1245  eventout += TECW4Strip[i];
1246  eventout += ")";
1247  }
1248  eventout += "\n nTECW5 = ";
1249  eventout += TECW5ADC.size();
1250  for (unsigned int i = 0; i < TECW5ADC.size(); ++i) {
1251  eventout += "\n (ADC, strip) = (";
1252  eventout += TECW5ADC[i];
1253  eventout += ", ";
1254  eventout += TECW5Strip[i];
1255  eventout += ")";
1256  }
1257  eventout += "\n nTECW6 = ";
1258  eventout += TECW6ADC.size();
1259  for (unsigned int i = 0; i < TECW6ADC.size(); ++i) {
1260  eventout += "\n (ADC, strip) = (";
1261  eventout += TECW6ADC[i];
1262  eventout += ", ";
1263  eventout += TECW6Strip[i];
1264  eventout += ")";
1265  }
1266  eventout += "\n nTECW7 = ";
1267  eventout += TECW7ADC.size();
1268  for (unsigned int i = 0; i < TECW7ADC.size(); ++i) {
1269  eventout += "\n (ADC, strip) = (";
1270  eventout += TECW7ADC[i];
1271  eventout += ", ";
1272  eventout += TECW7Strip[i];
1273  eventout += ")";
1274  }
1275  eventout += "\n nTECW8 = ";
1276  eventout += TECW8ADC.size();
1277  for (unsigned int i = 0; i < TECW8ADC.size(); ++i) {
1278  eventout += "\n (ADC, strip) = (";
1279  eventout += TECW8ADC[i];
1280  eventout += ", ";
1281  eventout += TECW8Strip[i];
1282  eventout += ")";
1283  }
1284 
1285  // pixel output
1286  eventout += "\n nBRL1 = ";
1287  eventout += BRL1ADC.size();
1288  for (unsigned int i = 0; i < BRL1ADC.size(); ++i) {
1289  eventout += "\n (ADC, row, column) = (";
1290  eventout += BRL1ADC[i];
1291  eventout += ", ";
1292  eventout += BRL1Row[i];
1293  eventout += ", ";
1294  eventout += BRL1Col[i];
1295  eventout += ")";
1296  }
1297  eventout += "\n nBRL2 = ";
1298  eventout += BRL2ADC.size();
1299  for (unsigned int i = 0; i < BRL2ADC.size(); ++i) {
1300  eventout += "\n (ADC, row, column) = (";
1301  eventout += BRL2ADC[i];
1302  eventout += ", ";
1303  eventout += BRL2Row[i];
1304  eventout += ", ";
1305  eventout += BRL2Col[i];
1306  eventout += ")";
1307  }
1308  eventout += "\n nBRL3 = ";
1309  eventout += BRL3ADC.size();
1310  for (unsigned int i = 0; i < BRL3ADC.size(); ++i) {
1311  eventout += "\n (ADC, row, column) = (";
1312  eventout += BRL3ADC[i];
1313  eventout += ", ";
1314  eventout += BRL3Row[i];
1315  eventout += ", ";
1316  eventout += BRL3Col[i];
1317  eventout += ")";
1318  }
1319  eventout += "\n nFWD1p = ";
1320  eventout += FWD1pADC.size();
1321  for (unsigned int i = 0; i < FWD1pADC.size(); ++i) {
1322  eventout += "\n (ADC, row, column) = (";
1323  eventout += FWD1pADC[i];
1324  eventout += ", ";
1325  eventout += FWD1pRow[i];
1326  eventout += ", ";
1327  eventout += FWD1pCol[i];
1328  eventout += ")";
1329  }
1330  eventout += "\n nFWD1p = ";
1331  eventout += FWD1nADC.size();
1332  for (unsigned int i = 0; i < FWD1nADC.size(); ++i) {
1333  eventout += "\n (ADC, row, column) = (";
1334  eventout += FWD1nADC[i];
1335  eventout += ", ";
1336  eventout += FWD1nRow[i];
1337  eventout += ", ";
1338  eventout += FWD1nCol[i];
1339  eventout += ")";
1340  }
1341  eventout += "\n nFWD1p = ";
1342  eventout += FWD2pADC.size();
1343  for (unsigned int i = 0; i < FWD2pADC.size(); ++i) {
1344  eventout += "\n (ADC, row, column) = (";
1345  eventout += FWD2pADC[i];
1346  eventout += ", ";
1347  eventout += FWD2pRow[i];
1348  eventout += ", ";
1349  eventout += FWD2pCol[i];
1350  eventout += ")";
1351  }
1352  eventout += "\n nFWD2p = ";
1353  eventout += FWD2nADC.size();
1354  for (unsigned int i = 0; i < FWD2nADC.size(); ++i) {
1355  eventout += "\n (ADC, row, column) = (";
1356  eventout += FWD2nADC[i];
1357  eventout += ", ";
1358  eventout += FWD2nRow[i];
1359  eventout += ", ";
1360  eventout += FWD2nCol[i];
1361  eventout += ")";
1362  }
1363 
1364  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1365  }
1366 
1367  // strip output
1368  product.putTIBL1Digis(TIBL1ADC, TIBL1Strip);
1369  product.putTIBL2Digis(TIBL2ADC, TIBL2Strip);
1370  product.putTIBL3Digis(TIBL3ADC, TIBL3Strip);
1371  product.putTIBL4Digis(TIBL4ADC, TIBL4Strip);
1372  product.putTOBL1Digis(TOBL1ADC, TOBL1Strip);
1373  product.putTOBL2Digis(TOBL2ADC, TOBL2Strip);
1374  product.putTOBL3Digis(TOBL3ADC, TOBL3Strip);
1375  product.putTOBL4Digis(TOBL4ADC, TOBL4Strip);
1376  product.putTIDW1Digis(TIDW1ADC, TIDW1Strip);
1377  product.putTIDW2Digis(TIDW2ADC, TIDW2Strip);
1378  product.putTIDW3Digis(TIDW3ADC, TIDW3Strip);
1379  product.putTECW1Digis(TECW1ADC, TECW1Strip);
1380  product.putTECW2Digis(TECW2ADC, TECW2Strip);
1381  product.putTECW3Digis(TECW3ADC, TECW3Strip);
1382  product.putTECW4Digis(TECW4ADC, TECW4Strip);
1383  product.putTECW5Digis(TECW5ADC, TECW5Strip);
1384  product.putTECW6Digis(TECW6ADC, TECW6Strip);
1385  product.putTECW7Digis(TECW7ADC, TECW7Strip);
1386  product.putTECW8Digis(TECW8ADC, TECW8Strip);
1387 
1388  // pixel output
1389  product.putBRL1Digis(BRL1ADC, BRL1Row, BRL1Col);
1390  product.putBRL2Digis(BRL2ADC, BRL2Row, BRL2Col);
1391  product.putBRL3Digis(BRL3ADC, BRL3Row, BRL3Col);
1396 
1397  return;
1398 }
1399 
1401  std::string MsgLoggerCat = "GlobalDigisProducer_fillMuon";
1402 
1403  TString eventout;
1404  if (verbosity > 0)
1405  eventout = "\nGathering info:";
1406 
1407  // get DT information
1409  iEvent.getByToken(MuDTSrc_Token_, dtDigis);
1410  if (!dtDigis.isValid()) {
1411  edm::LogWarning(MsgLoggerCat) << "Unable to find dtDigis in event!";
1412  return;
1413  }
1414 
1415  int nDt = 0;
1417  for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); ++detUnitIt) {
1418  const DTLayerId &id = (*detUnitIt).first;
1419  const DTDigiCollection::Range &range = (*detUnitIt).second;
1420 
1421  for (DTDigiCollection::const_iterator digiIt = range.first; digiIt != range.second; ++digiIt) {
1422  ++nDt;
1423 
1424  DTWireId wireId(id, (*digiIt).wire());
1425  if (wireId.station() == 1) {
1426  MB1SLayer.push_back(id.superlayer());
1427  MB1Time.push_back((*digiIt).time());
1428  MB1Layer.push_back(id.layer());
1429  }
1430  if (wireId.station() == 2) {
1431  MB2SLayer.push_back(id.superlayer());
1432  MB2Time.push_back((*digiIt).time());
1433  MB2Layer.push_back(id.layer());
1434  }
1435  if (wireId.station() == 3) {
1436  MB3SLayer.push_back(id.superlayer());
1437  MB3Time.push_back((*digiIt).time());
1438  MB3Layer.push_back(id.layer());
1439  }
1440  if (wireId.station() == 4) {
1441  MB4SLayer.push_back(id.superlayer());
1442  MB4Time.push_back((*digiIt).time());
1443  MB4Layer.push_back(id.layer());
1444  }
1445  }
1446  }
1447 
1448  if (verbosity > 1) {
1449  eventout += "\n Number of DtMuonDigis collected:.......... ";
1450  eventout += nDt;
1451  }
1452 
1453  // get CSC Strip information
1455  iEvent.getByToken(MuCSCStripSrc_Token_, strips);
1456  if (!strips.isValid()) {
1457  edm::LogWarning(MsgLoggerCat) << "Unable to find muon strips in event!";
1458  return;
1459  }
1460 
1461  int nStrips = 0;
1462  for (CSCStripDigiCollection::DigiRangeIterator j = strips->begin(); j != strips->end(); ++j) {
1463  std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
1464  std::vector<CSCStripDigi>::const_iterator last = (*j).second.second;
1465 
1466  for (; digiItr != last; ++digiItr) {
1467  ++nStrips;
1468 
1469  // average pedestals
1470  std::vector<int> adcCounts = digiItr->getADCCounts();
1471  theCSCStripPedestalSum += adcCounts[0];
1472  theCSCStripPedestalSum += adcCounts[1];
1474 
1475  // if there are enough pedestal statistics
1476  if (theCSCStripPedestalCount > 100) {
1478  if (adcCounts[5] > (pedestal + 100))
1479  CSCStripADC.push_back(adcCounts[4] - pedestal);
1480  }
1481  }
1482  }
1483 
1484  if (verbosity > 1) {
1485  eventout += "\n Number of CSCStripDigis collected:........ ";
1486  eventout += nStrips;
1487  }
1488 
1489  // get CSC Wire information
1491  iEvent.getByToken(MuCSCWireSrc_Token_, wires);
1492  if (!wires.isValid()) {
1493  edm::LogWarning(MsgLoggerCat) << "Unable to find muon wires in event!";
1494  return;
1495  }
1496 
1497  int nWires = 0;
1498  for (CSCWireDigiCollection::DigiRangeIterator j = wires->begin(); j != wires->end(); ++j) {
1499  std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
1500  std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
1501 
1502  for (; digiItr != endDigi; ++digiItr) {
1503  ++nWires;
1504 
1505  CSCWireTime.push_back(digiItr->getTimeBin());
1506  }
1507  }
1508 
1509  if (verbosity > 1) {
1510  eventout += "\n Number of CSCWireDigis collected:......... ";
1511  eventout += nWires;
1512  }
1513 
1514  if (verbosity > 0)
1515  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1516 
1517  return;
1518 }
1519 
1521  std::string MsgLoggerCat = "GlobalDigisProducer_storeMuon";
1522 
1523  if (verbosity > 2) {
1524  // dt output
1525  TString eventout("\n nMB1 = ");
1526  eventout += MB1SLayer.size();
1527  for (unsigned int i = 0; i < MB1SLayer.size(); ++i) {
1528  eventout += "\n (slayer, time, layer) = (";
1529  eventout += MB1SLayer[i];
1530  eventout += ", ";
1531  eventout += MB1Time[i];
1532  eventout += ", ";
1533  eventout += MB1Layer[i];
1534  eventout += ")";
1535  }
1536  eventout += "\n nMB2 = ";
1537  eventout += MB2SLayer.size();
1538  for (unsigned int i = 0; i < MB2SLayer.size(); ++i) {
1539  eventout += "\n (slayer, time, layer) = (";
1540  eventout += MB2SLayer[i];
1541  eventout += ", ";
1542  eventout += MB2Time[i];
1543  eventout += ", ";
1544  eventout += MB2Layer[i];
1545  eventout += ")";
1546  }
1547  eventout += "\n nMB3 = ";
1548  eventout += MB3SLayer.size();
1549  for (unsigned int i = 0; i < MB3SLayer.size(); ++i) {
1550  eventout += "\n (slayer, time, layer) = (";
1551  eventout += MB3SLayer[i];
1552  eventout += ", ";
1553  eventout += MB3Time[i];
1554  eventout += ", ";
1555  eventout += MB3Layer[i];
1556  eventout += ")";
1557  }
1558  eventout += "\n nMB2 = ";
1559  eventout += MB4SLayer.size();
1560  for (unsigned int i = 0; i < MB4SLayer.size(); ++i) {
1561  eventout += "\n (slayer, time, layer) = (";
1562  eventout += MB4SLayer[i];
1563  eventout += ", ";
1564  eventout += MB4Time[i];
1565  eventout += ", ";
1566  eventout += MB4Layer[i];
1567  eventout += ")";
1568  }
1569 
1570  // CSC Strip
1571  eventout += "\n nCSCStrip = ";
1572  eventout += CSCStripADC.size();
1573  for (unsigned int i = 0; i < CSCStripADC.size(); ++i) {
1574  eventout += "\n (adc) = (";
1575  eventout += CSCStripADC[i];
1576  eventout += ")";
1577  }
1578 
1579  // CSC Wire
1580  eventout += "\n nCSCWire = ";
1581  eventout += CSCWireTime.size();
1582  for (unsigned int i = 0; i < CSCWireTime.size(); ++i) {
1583  eventout += "\n (time) = (";
1584  eventout += CSCWireTime[i];
1585  eventout += ")";
1586  }
1587 
1588  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1589  }
1590 
1595 
1596  product.putCSCstripDigis(CSCStripADC);
1597 
1598  product.putCSCwireDigis(CSCWireTime);
1599 
1600  return;
1601 }
1602 
1604  std::string MsgLoggerCat = "GlobalDigisProducer_clear";
1605 
1606  if (verbosity > 0)
1607  edm::LogInfo(MsgLoggerCat) << "Clearing event holders";
1608 
1609  // reset electromagnetic info
1610  // EE info
1611  EECalmaxPos.clear();
1612  EECalAEE.clear();
1613  EECalSHE.clear();
1614  // EB info
1615  EBCalmaxPos.clear();
1616  EBCalAEE.clear();
1617  EBCalSHE.clear();
1618  // ES info
1619  ESCalADC0.clear();
1620  ESCalADC1.clear();
1621  ESCalADC2.clear();
1622  ESCalSHE.clear();
1623 
1624  // reset HCal Info
1625  HBCalAEE.clear();
1626  HBCalSHE.clear();
1627  HECalAEE.clear();
1628  HECalSHE.clear();
1629  HOCalAEE.clear();
1630  HOCalSHE.clear();
1631  HFCalAEE.clear();
1632  HFCalSHE.clear();
1633 
1634  // reset Track Info
1635  TIBL1ADC.clear();
1636  TIBL2ADC.clear();
1637  TIBL3ADC.clear();
1638  TIBL4ADC.clear();
1639  TIBL1Strip.clear();
1640  TIBL2Strip.clear();
1641  TIBL3Strip.clear();
1642  TIBL4Strip.clear();
1643 
1644  TOBL1ADC.clear();
1645  TOBL2ADC.clear();
1646  TOBL3ADC.clear();
1647  TOBL4ADC.clear();
1648  TOBL1Strip.clear();
1649  TOBL2Strip.clear();
1650  TOBL3Strip.clear();
1651  TOBL4Strip.clear();
1652 
1653  TIDW1ADC.clear();
1654  TIDW2ADC.clear();
1655  TIDW3ADC.clear();
1656  TIDW1Strip.clear();
1657  TIDW2Strip.clear();
1658  TIDW3Strip.clear();
1659 
1660  TECW1ADC.clear();
1661  TECW2ADC.clear();
1662  TECW3ADC.clear();
1663  TECW4ADC.clear();
1664  TECW5ADC.clear();
1665  TECW6ADC.clear();
1666  TECW7ADC.clear();
1667  TECW8ADC.clear();
1668  TECW1Strip.clear();
1669  TECW2Strip.clear();
1670  TECW3Strip.clear();
1671  TECW4Strip.clear();
1672  TECW5Strip.clear();
1673  TECW6Strip.clear();
1674  TECW7Strip.clear();
1675  TECW8Strip.clear();
1676 
1677  BRL1ADC.clear();
1678  BRL1Row.clear();
1679  BRL1Col.clear();
1680  BRL2ADC.clear();
1681  BRL2Row.clear();
1682  BRL2Col.clear();
1683  BRL3ADC.clear();
1684  BRL3Row.clear();
1685  BRL3Col.clear();
1686 
1687  FWD1pADC.clear();
1688  FWD1pRow.clear();
1689  FWD1pCol.clear();
1690  FWD1nADC.clear();
1691  FWD1nRow.clear();
1692  FWD1nCol.clear();
1693  FWD2pADC.clear();
1694  FWD2pRow.clear();
1695  FWD2pCol.clear();
1696  FWD2nADC.clear();
1697  FWD2nRow.clear();
1698  FWD2nCol.clear();
1699 
1700  // muon clear
1701  MB1SLayer.clear();
1702  MB1Time.clear();
1703  MB1Layer.clear();
1704  MB2SLayer.clear();
1705  MB2Time.clear();
1706  MB2Layer.clear();
1707  MB3SLayer.clear();
1708  MB3Time.clear();
1709  MB3Layer.clear();
1710  MB4SLayer.clear();
1711  MB4Time.clear();
1712  MB4Layer.clear();
1713 
1714  CSCStripADC.clear();
1715 
1716  CSCWireTime.clear();
1717 
1718  return;
1719 }
1720 
1721 // define this as a plug-in
1722 // DEFINE_FWK_MODULE(GlobalDigisProducer);
EcalDataFrame::MAXSAMPLES
static constexpr int MAXSAMPLES
Definition: EcalDataFrame.h:48
GlobalDigisProducer::FWD2nRow
IntVector FWD2nRow
Definition: GlobalDigisProducer.h:201
HIPAlignmentAlgorithm_cfi.verbosity
verbosity
Definition: HIPAlignmentAlgorithm_cfi.py:7
GlobalDigisProducer::MB3Layer
IntVector MB3Layer
Definition: GlobalDigisProducer.h:211
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
edm::RunNumber_t
unsigned int RunNumber_t
Definition: RunLumiEventNumber.h:14
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
sdSiTID
static const int sdSiTID
Definition: GlobalDigisAnalyzer.h:256
GlobalDigisProducer::theCSCStripPedestalSum
float theCSCStripPedestalSum
Definition: GlobalDigisProducer.h:217
GlobalDigisProducer::MB3SLayer
IntVector MB3SLayer
Definition: GlobalDigisProducer.h:209
GlobalDigisProducer::BRL1Col
IntVector BRL1Col
Definition: GlobalDigisProducer.h:198
sdSiTEC
static const int sdSiTEC
Definition: GlobalDigisAnalyzer.h:258
mps_fire.i
i
Definition: mps_fire.py:355
GlobalDigisProducer::label
std::string label
Definition: GlobalDigisProducer.h:134
GlobalDigisProducer::TIDW3ADC
FloatVector TIDW3ADC
Definition: GlobalDigisProducer.h:186
PGlobalDigi::putEBCalDigis
void putEBCalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:223
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
GlobalDigisProducer::storeMuon
void storeMuon(PGlobalDigi &)
Definition: GlobalDigisProducer.cc:1520
PGlobalDigi::putTECW6Digis
void putTECW6Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:487
GlobalDigisProducer::TECW4Strip
IntVector TECW4Strip
Definition: GlobalDigisProducer.h:190
GlobalDigisProducer::TOBL1ADC
FloatVector TOBL1ADC
Definition: GlobalDigisProducer.h:183
PGlobalDigi::putTIBL2Digis
void putTIBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:322
funct::false
false
Definition: Factorize.h:34
GlobalDigisProducer::ESCalADC1
FloatVector ESCalADC1
Definition: GlobalDigisProducer.h:149
PGlobalDigi::putTIBL1Digis
void putTIBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:311
GlobalDigisProducer::TIBL3Strip
IntVector TIBL3Strip
Definition: GlobalDigisProducer.h:181
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PGlobalDigi::putBRL3Digis
void putBRL3Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:548
GlobalDigisProducer::EECalmaxPos
IntVector EECalmaxPos
Definition: GlobalDigisProducer.h:145
GlobalDigisProducer::CSCWireTime
FloatVector CSCWireTime
Definition: GlobalDigisProducer.h:226
sdHcalEC
static const int sdHcalEC
Definition: GlobalDigisAnalyzer.h:278
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
edm::DetSetVector::end
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
ESSample::adc
int adc() const
get the ADC sample (singed 16 bits)
Definition: ESSample.h:16
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
GlobalDigisProducer.h
GlobalDigisProducer::TECW3Strip
IntVector TECW3Strip
Definition: GlobalDigisProducer.h:190
CaloSamples::size
int size() const
get the size
Definition: CaloSamples.h:24
GlobalDigisProducer::ECalESSrc_
edm::InputTag ECalESSrc_
Definition: GlobalDigisProducer.h:154
GlobalDigisProducer::ESCalSHE
FloatVector ESCalSHE
Definition: GlobalDigisProducer.h:150
GlobalDigisProducer::FWD2nADC
FloatVector FWD2nADC
Definition: GlobalDigisProducer.h:200
GlobalDigisProducer::MuCSCStripSrc_Token_
edm::EDGetTokenT< CSCStripDigiCollection > MuCSCStripSrc_Token_
Definition: GlobalDigisProducer.h:244
GlobalDigisProducer::TOBL3Strip
IntVector TOBL3Strip
Definition: GlobalDigisProducer.h:184
EBDetId
Definition: EBDetId.h:17
GlobalDigisProducer::endJob
void endJob() override
Definition: GlobalDigisProducer.cc:145
DigiDM_cff.wires
wires
Definition: DigiDM_cff.py:33
GlobalDigisProducer::HFDigi_Token_
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > HFDigi_Token_
Definition: GlobalDigisProducer.h:240
TrackerTopology
Definition: TrackerTopology.h:16
EBDataFrame
Definition: EBDataFrame.h:11
GlobalDigisProducer::MuCSCWireSrc_Token_
edm::EDGetTokenT< CSCWireDigiCollection > MuCSCWireSrc_Token_
Definition: GlobalDigisProducer.h:245
GlobalDigisProducer::EEHits_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
Definition: GlobalDigisProducer.h:247
GlobalDigisProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: GlobalDigisProducer.cc:152
PGlobalDigi::putEECalDigis
void putEECalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:237
GlobalDigisProducer::BRL2Row
IntVector BRL2Row
Definition: GlobalDigisProducer.h:197
PGlobalDigi::putMB3Digis
void putMB3Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
Definition: PValidationFormats.cc:646
edm::LogInfo
Definition: MessageLogger.h:254
GlobalDigisProducer::fillHCal
void fillHCal(edm::Event &, const edm::EventSetup &)
Definition: GlobalDigisProducer.cc:620
GlobalDigisProducer::MuDTSrc_Token_
edm::EDGetTokenT< DTDigiCollection > MuDTSrc_Token_
Definition: GlobalDigisProducer.h:243
ESDataFrame::size
int size() const
Definition: ESDataFrame.h:21
PGlobalDigi::putHECalDigis
void putHECalDigis(const std::vector< float > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:278
GlobalDigisProducer::HFCalAEE
FloatVector HFCalAEE
Definition: GlobalDigisProducer.h:171
PGlobalDigi::putFWD2nDigis
void putFWD2nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:604
edm::DetSetVector::begin
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:314
GlobalDigisProducer::fillECal
void fillECal(edm::Event &, const edm::EventSetup &)
Definition: GlobalDigisProducer.cc:257
AlignmentProducer_cff.calibrations
calibrations
Definition: AlignmentProducer_cff.py:59
GlobalDigisProducer::SiStripSrc_Token_
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > SiStripSrc_Token_
Definition: GlobalDigisProducer.h:241
GlobalDigisProducer::storeHCal
void storeHCal(PGlobalDigi &)
Definition: GlobalDigisProducer.cc:825
GlobalDigisProducer::MapType
std::map< uint32_t, float, std::less< uint32_t > > MapType
Definition: GlobalDigisProducer.h:108
GlobalDigisProducer::fillTrk
void fillTrk(edm::Event &, const edm::EventSetup &)
Definition: GlobalDigisProducer.cc:877
GlobalDigisProducer::TIBL4ADC
FloatVector TIBL4ADC
Definition: GlobalDigisProducer.h:180
HcalCoderDb::adc2fC
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
Definition: HcalCoderDb.cc:73
GlobalDigisProducer::MB2SLayer
IntVector MB2SLayer
Definition: GlobalDigisProducer.h:209
EcalADCToGeVConstant
Definition: EcalADCToGeVConstant.h:13
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
ESDetId
Definition: ESDetId.h:15
GlobalDigisProducer::ECalESSrc_Token_
edm::EDGetTokenT< ESDigiCollection > ECalESSrc_Token_
Definition: GlobalDigisProducer.h:236
GlobalDigisProducer::GlobalDigisProducer
GlobalDigisProducer(const edm::ParameterSet &)
Definition: GlobalDigisProducer.cc:13
GlobalDigisProducer::FWD2nCol
IntVector FWD2nCol
Definition: GlobalDigisProducer.h:202
GlobalDigisProducer::TOBL3ADC
FloatVector TOBL3ADC
Definition: GlobalDigisProducer.h:183
GlobalDigisProducer::EECalAEE
DoubleVector EECalAEE
Definition: GlobalDigisProducer.h:146
GlobalDigisProducer::FWD1pRow
IntVector FWD1pRow
Definition: GlobalDigisProducer.h:201
GlobalDigisProducer::MB2Layer
IntVector MB2Layer
Definition: GlobalDigisProducer.h:211
GlobalDigisProducer::storeECal
void storeECal(PGlobalDigi &)
Definition: GlobalDigisProducer.cc:571
GlobalDigisProducer::CSCStripADC
FloatVector CSCStripADC
Definition: GlobalDigisProducer.h:220
GlobalDigisProducer::TECW7ADC
FloatVector TECW7ADC
Definition: GlobalDigisProducer.h:189
GlobalDigisProducer::TECW8Strip
IntVector TECW8Strip
Definition: GlobalDigisProducer.h:190
GlobalDigisProducer::BRL3Col
IntVector BRL3Col
Definition: GlobalDigisProducer.h:198
PGlobalDigi::putTECW3Digis
void putTECW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:454
edm::Handle
Definition: AssociativeIterator.h:50
sdHcalOut
static const int sdHcalOut
Definition: GlobalDigisAnalyzer.h:279
GlobalDigisProducer::MB1Layer
IntVector MB1Layer
Definition: GlobalDigisProducer.h:211
MixCollection::MixItr
Definition: MixCollection.h:62
GlobalDigisProducer::TIBL4Strip
IntVector TIBL4Strip
Definition: GlobalDigisProducer.h:181
GlobalDigisProducer::SiPxlSrc_
edm::InputTag SiPxlSrc_
Definition: GlobalDigisProducer.h:204
GlobalDigisProducer::TIBL1Strip
IntVector TIBL1Strip
Definition: GlobalDigisProducer.h:181
HcalDbService::getHcalShape
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:326
EBDataFrame::id
key_type id() const
Definition: EBDataFrame.h:28
ihf
int ihf
Definition: CascadeWrapper.h:27
end
#define end
Definition: vmac.h:39
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
ESDataFrame
Definition: ESDataFrame.h:10
GlobalDigisProducer::ECalEBSrc_Token_
edm::EDGetTokenT< EBDigiCollection > ECalEBSrc_Token_
Definition: GlobalDigisProducer.h:234
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
HcalDbService::getHcalCalibrations
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:65
MainPageGenerator.fName
fName
Definition: MainPageGenerator.py:301
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
GlobalDigisProducer::FWD1nCol
IntVector FWD1nCol
Definition: GlobalDigisProducer.h:202
GlobalDigisProducer::EECalSHE
FloatVector EECalSHE
Definition: GlobalDigisProducer.h:147
GlobalDigisProducer::BRL3ADC
FloatVector BRL3ADC
Definition: GlobalDigisProducer.h:196
HLT_2018_cff.barrelHits
barrelHits
Definition: HLT_2018_cff.py:78774
GlobalDigisProducer::TECW4ADC
FloatVector TECW4ADC
Definition: GlobalDigisProducer.h:189
HcalDbService::getHcalCoder
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:319
GlobalDigisProducer::TECW1Strip
IntVector TECW1Strip
Definition: GlobalDigisProducer.h:190
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
PGlobalDigi::putFWD1pDigis
void putFWD1pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:562
DetId
Definition: DetId.h:17
EcalMGPASample::gainId
int gainId() const
get the gainId (2 bits)
Definition: EcalMGPASample.h:33
GlobalDigisProducer::BRL2ADC
FloatVector BRL2ADC
Definition: GlobalDigisProducer.h:196
GlobalDigisProducer::TOBL2Strip
IntVector TOBL2Strip
Definition: GlobalDigisProducer.h:184
PGlobalDigi::putTIBL4Digis
void putTIBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:344
GlobalDigisProducer::TECW6ADC
FloatVector TECW6ADC
Definition: GlobalDigisProducer.h:189
GlobalDigisProducer::FWD1nADC
FloatVector FWD1nADC
Definition: GlobalDigisProducer.h:200
TrackerTopology.h
EcalMGPASample::adc
int adc() const
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:31
dqmdumpme.last
last
Definition: dqmdumpme.py:56
GlobalDigisProducer::FWD1nRow
IntVector FWD1nRow
Definition: GlobalDigisProducer.h:201
PGlobalDigi::putMB1Digis
void putMB1Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
Definition: PValidationFormats.cc:618
GlobalDigisProducer::HFCalSHE
FloatVector HFCalSHE
Definition: GlobalDigisProducer.h:172
GlobalDigisProducer::TOBL4ADC
FloatVector TOBL4ADC
Definition: GlobalDigisProducer.h:183
photonIsolationHIProducer_cfi.hf
hf
Definition: photonIsolationHIProducer_cfi.py:9
TrackerTopologyRcd.h
GlobalDigisProducer::TECW1ADC
FloatVector TECW1ADC
Definition: GlobalDigisProducer.h:189
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
GlobalDigisProducer::ECalbarrelADCtoGeV_
double ECalbarrelADCtoGeV_
Definition: GlobalDigisProducer.h:157
GlobalDigisProducer::theCSCStripPedestalCount
int theCSCStripPedestalCount
Definition: GlobalDigisProducer.h:218
DTWireId
Definition: DTWireId.h:12
MixCollection
Definition: MixCollection.h:11
edm::DataFrameContainer::empty
bool empty() const
Definition: DataFrameContainer.h:160
GlobalDigisProducer::MB1SLayer
IntVector MB1SLayer
Definition: GlobalDigisProducer.h:209
ESDataFrame::MAXSAMPLES
static const int MAXSAMPLES
Definition: ESDataFrame.h:30
edm::ESHandle< EcalADCToGeVConstant >
EEDataFrame::id
key_type id() const
Definition: EEDataFrame.h:24
PGlobalDigi::putTIBL3Digis
void putTIBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:333
GlobalDigisProducer::HBCalSHE
FloatVector HBCalSHE
Definition: GlobalDigisProducer.h:163
GlobalDigisProducer::MuCSCStripSrc_
edm::InputTag MuCSCStripSrc_
Definition: GlobalDigisProducer.h:222
PGlobalDigi::putTECW8Digis
void putTECW8Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:509
edm::EventNumber_t
unsigned long long EventNumber_t
Definition: RunLumiEventNumber.h:12
PGlobalDigi::putCSCwireDigis
void putCSCwireDigis(const std::vector< float > &time)
Definition: PValidationFormats.cc:684
PGlobalDigi::putESCalDigis
void putESCalDigis(const std::vector< float > &adc0, const std::vector< float > &adc1, const std::vector< float > &adc2, const std::vector< float > &she)
Definition: PValidationFormats.cc:251
EcalMGPAGainRatio.h
GlobalDigisProducer::HCalSrc_
edm::InputTag HCalSrc_
Definition: GlobalDigisProducer.h:174
PGlobalDigi::putBRL2Digis
void putBRL2Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:534
HcalCalibrations
Definition: HcalCalibrations.h:9
GlobalDigisProducer::HCalDigi_
edm::InputTag HCalDigi_
Definition: GlobalDigisProducer.h:175
PGlobalDigi::putFWD2pDigis
void putFWD2pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:590
GlobalDigisProducer::ESHits_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
Definition: GlobalDigisProducer.h:248
DTLayerId
Definition: DTLayerId.h:12
PGlobalDigi::putTECW4Digis
void putTECW4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:465
GlobalDigisProducer::ESCalADC2
FloatVector ESCalADC2
Definition: GlobalDigisProducer.h:149
EcalMGPAGainRatio::gain12Over6
float gain12Over6() const
Definition: EcalMGPAGainRatio.h:19
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
edm::DataFrameContainer::reserve
void reserve(size_t isize)
Definition: DataFrameContainer.h:86
EEDetId
Definition: EEDetId.h:14
ESDigiCollection
Definition: EcalDigiCollections.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GlobalDigisProducer::TOBL1Strip
IntVector TOBL1Strip
Definition: GlobalDigisProducer.h:184
ESSample
Definition: ESSample.h:7
GlobalDigisProducer::SiStripSrc_
edm::InputTag SiStripSrc_
Definition: GlobalDigisProducer.h:192
edm::LogWarning
Definition: MessageLogger.h:141
GlobalDigisProducer::HCalSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
Definition: GlobalDigisProducer.h:237
GlobalDigisProducer::MB3Time
FloatVector MB3Time
Definition: GlobalDigisProducer.h:210
PGlobalDigi::putTECW5Digis
void putTECW5Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:476
GlobalDigisProducer::ECalEESrc_
edm::InputTag ECalEESrc_
Definition: GlobalDigisProducer.h:153
PixelPluginsPhase0_cfi.isBarrel
isBarrel
Definition: PixelPluginsPhase0_cfi.py:17
PGlobalDigi::putTECW7Digis
void putTECW7Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:498
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
HLTBitAnalyser_cfi.simhits
simhits
SIM objects.
Definition: HLTBitAnalyser_cfi.py:21
edm::ParameterSet
Definition: ParameterSet.h:36
EcalADCToGeVConstant::getEEValue
float getEEValue() const
Definition: EcalADCToGeVConstant.h:21
GlobalDigisProducer::beginJob
void beginJob(void) override
Definition: GlobalDigisProducer.cc:111
GlobalDigisProducer::TECW2Strip
IntVector TECW2Strip
Definition: GlobalDigisProducer.h:190
GlobalDigisProducer::ECalgainConv_
std::map< int, double, std::less< int > > ECalgainConv_
Definition: GlobalDigisProducer.h:156
GlobalDigisProducer::storeTrk
void storeTrk(PGlobalDigi &)
Definition: GlobalDigisProducer.cc:1108
PGlobalDigi::putTIDW2Digis
void putTIDW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:410
GlobalDigisProducer::printProvenanceInfo
bool printProvenanceInfo
Definition: GlobalDigisProducer.h:136
sdHcalFwd
static const int sdHcalFwd
Definition: GlobalDigisAnalyzer.h:280
GlobalDigisProducer::FWD1pCol
IntVector FWD1pCol
Definition: GlobalDigisProducer.h:202
PGlobalDigi::putTOBL3Digis
void putTOBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:377
KineDebug3::count
void count()
Definition: KinematicConstrainedVertexUpdatorT.h:21
EBDigiCollection
Definition: EcalDigiCollections.h:32
GlobalDigisProducer::count
unsigned int count
Definition: GlobalDigisProducer.h:231
GlobalDigisProducer::TECW2ADC
FloatVector TECW2ADC
Definition: GlobalDigisProducer.h:189
edm::DetSetVector::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
GlobalDigisProducer::TECW7Strip
IntVector TECW7Strip
Definition: GlobalDigisProducer.h:190
EEDigiCollection
Definition: EcalDigiCollections.h:45
GlobalDigisProducer::MB4SLayer
IntVector MB4SLayer
Definition: GlobalDigisProducer.h:209
PGlobalDigi::putTIDW3Digis
void putTIDW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:421
PGlobalDigi
Definition: PValidationFormats.h:208
GlobalDigisProducer::HOCalAEE
FloatVector HOCalAEE
Definition: GlobalDigisProducer.h:168
GlobalDigisProducer::ECalEESrc_Token_
edm::EDGetTokenT< EEDigiCollection > ECalEESrc_Token_
Definition: GlobalDigisProducer.h:235
sdPxlBrl
static const int sdPxlBrl
Definition: GlobalDigisAnalyzer.h:253
PGlobalDigi::putHOCalDigis
void putHOCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:289
sdPxlFwd
static const int sdPxlFwd
Definition: GlobalDigisAnalyzer.h:254
HcalDetId
Definition: HcalDetId.h:12
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
GlobalDigisProducer::ECalEBSrc_
edm::InputTag ECalEBSrc_
Definition: GlobalDigisProducer.h:152
GlobalDigisProducer::FWD1pADC
FloatVector FWD1pADC
Definition: GlobalDigisProducer.h:200
GlobalDigisProducer::TIBL2Strip
IntVector TIBL2Strip
Definition: GlobalDigisProducer.h:181
PGlobalDigi::putFWD1nDigis
void putFWD1nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:576
PGlobalDigi::putCSCstripDigis
void putCSCstripDigis(const std::vector< float > &adc)
Definition: PValidationFormats.cc:674
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
GlobalDigisProducer::TOBL2ADC
FloatVector TOBL2ADC
Definition: GlobalDigisProducer.h:183
GlobalDigisProducer::BRL1ADC
FloatVector BRL1ADC
Definition: GlobalDigisProducer.h:196
photonIsolationHIProducer_cfi.ho
ho
Definition: photonIsolationHIProducer_cfi.py:10
GlobalDigisProducer::TIDW1ADC
FloatVector TIDW1ADC
Definition: GlobalDigisProducer.h:186
EcalCondDBWriter_cfi.pedestal
pedestal
Definition: EcalCondDBWriter_cfi.py:49
edm::EventSetup
Definition: EventSetup.h:57
GlobalDigisProducer::~GlobalDigisProducer
~GlobalDigisProducer() override
Definition: GlobalDigisProducer.cc:109
CaloSamples
Definition: CaloSamples.h:14
GlobalDigisProducer::frequency
int frequency
Definition: GlobalDigisProducer.h:133
GlobalDigisProducer::TECW6Strip
IntVector TECW6Strip
Definition: GlobalDigisProducer.h:190
GlobalDigisProducer::TECW5ADC
FloatVector TECW5ADC
Definition: GlobalDigisProducer.h:189
GlobalDigisProducer::HOCalSHE
FloatVector HOCalSHE
Definition: GlobalDigisProducer.h:169
get
#define get
GlobalDigisProducer::HODigi_Token_
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > HODigi_Token_
Definition: GlobalDigisProducer.h:239
GlobalDigisProducer::EBCalmaxPos
IntVector EBCalmaxPos
Definition: GlobalDigisProducer.h:141
GlobalDigisProducer::FWD2pRow
IntVector FWD2pRow
Definition: GlobalDigisProducer.h:201
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
sdSiTIB
static const int sdSiTIB
Definition: GlobalDigisAnalyzer.h:255
GlobalDigisProducer::EBCalAEE
DoubleVector EBCalAEE
Definition: GlobalDigisProducer.h:142
HcalQIECoder
Definition: HcalQIECoder.h:20
EcalMGPASample
Definition: EcalMGPASample.h:22
GlobalDigisProducer::fillMuon
void fillMuon(edm::Event &, const edm::EventSetup &)
Definition: GlobalDigisProducer.cc:1400
me0TriggerPseudoDigis_cff.nStrips
nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
Definition: me0TriggerPseudoDigis_cff.py:26
GlobalDigisProducer::TECW3ADC
FloatVector TECW3ADC
Definition: GlobalDigisProducer.h:189
GlobalDigisProducer::TIBL3ADC
FloatVector TIBL3ADC
Definition: GlobalDigisProducer.h:180
GlobalDigisProducer::TIDW2ADC
FloatVector TIDW2ADC
Definition: GlobalDigisProducer.h:186
photonIsolationHIProducer_cfi.hbhe
hbhe
Definition: photonIsolationHIProducer_cfi.py:8
GlobalDigisProducer::ESCalADC0
FloatVector ESCalADC0
Definition: GlobalDigisProducer.h:149
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
nevt
int nevt
Definition: ReggeGribovPartonMCHadronizer.h:66
GlobalDigisProducer::verbosity
int verbosity
Definition: GlobalDigisProducer.h:132
GlobalDigisProducer::ECalendcapADCtoGeV_
double ECalendcapADCtoGeV_
Definition: GlobalDigisProducer.h:158
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
PGlobalDigi::putTIDW1Digis
void putTIDW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:399
GlobalDigisProducer::FWD2pADC
FloatVector FWD2pADC
Definition: GlobalDigisProducer.h:200
eostools.move
def move(src, dest)
Definition: eostools.py:511
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
GlobalDigisProducer::TIBL1ADC
FloatVector TIBL1ADC
Definition: GlobalDigisProducer.h:180
GlobalDigisProducer::BRL2Col
IntVector BRL2Col
Definition: GlobalDigisProducer.h:198
dataAnalyzerFineBiningParameters_cff.Pmax
Pmax
Definition: dataAnalyzerFineBiningParameters_cff.py:10
PGlobalDigi::putTOBL4Digis
void putTOBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:388
GlobalDigisProducer::HBCalAEE
FloatVector HBCalAEE
Definition: GlobalDigisProducer.h:162
GlobalDigisProducer::HECalSHE
FloatVector HECalSHE
Definition: GlobalDigisProducer.h:166
GlobalDigisProducer::TOBL4Strip
IntVector TOBL4Strip
Definition: GlobalDigisProducer.h:184
PGlobalDigi::putMB2Digis
void putMB2Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
Definition: PValidationFormats.cc:632
GlobalDigisProducer::MuDTSrc_
edm::InputTag MuDTSrc_
Definition: GlobalDigisProducer.h:213
GlobalDigisProducer::SiPxlSrc_Token_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > SiPxlSrc_Token_
Definition: GlobalDigisProducer.h:242
GlobalDigisProducer::TECW5Strip
IntVector TECW5Strip
Definition: GlobalDigisProducer.h:190
GlobalDigisProducer::EBHits_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
Definition: GlobalDigisProducer.h:246
EcalMGPAGainRatio::gain6Over1
float gain6Over1() const
Definition: EcalMGPAGainRatio.h:20
GlobalDigisProducer::MB4Layer
IntVector MB4Layer
Definition: GlobalDigisProducer.h:211
HLT_2018_cff.endcapHits
endcapHits
Definition: HLT_2018_cff.py:78759
GlobalDigisProducer::HECalAEE
FloatVector HECalAEE
Definition: GlobalDigisProducer.h:165
sdSiTOB
static const int sdSiTOB
Definition: GlobalDigisAnalyzer.h:257
edm::PCaloHitContainer
std::vector< PCaloHit > PCaloHitContainer
Definition: PCaloHitContainer.h:8
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
HcalQIEShape
Definition: HcalQIEShape.h:17
GlobalDigisProducer::MB2Time
FloatVector MB2Time
Definition: GlobalDigisProducer.h:210
GlobalDigisProducer::TIDW3Strip
IntVector TIDW3Strip
Definition: GlobalDigisProducer.h:187
EcalDataFrame::size
int size() const
Definition: EcalDataFrame.h:26
HcalCoderDb
Definition: HcalCoderDb.h:15
PGlobalDigi::putTECW2Digis
void putTECW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:443
GlobalDigisProducer::MB1Time
FloatVector MB1Time
Definition: GlobalDigisProducer.h:210
GlobalDigisProducer::MB4Time
FloatVector MB4Time
Definition: GlobalDigisProducer.h:210
GlobalDigisProducer::fName
std::string fName
Definition: GlobalDigisProducer.h:131
GlobalDigisProducer::EBCalSHE
FloatVector EBCalSHE
Definition: GlobalDigisProducer.h:143
GlobalDigisProducer::TECW8ADC
FloatVector TECW8ADC
Definition: GlobalDigisProducer.h:189
HcalDbRecord
Definition: HcalDbRecord.h:30
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
PGlobalDigi::putTOBL2Digis
void putTOBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:366
PGlobalDigi::putHBCalDigis
void putHBCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:267
GlobalDigisProducer::HBHEDigi_Token_
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > HBHEDigi_Token_
Definition: GlobalDigisProducer.h:238
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
GlobalDigisProducer::MuCSCWireSrc_
edm::InputTag MuCSCWireSrc_
Definition: GlobalDigisProducer.h:228
sdHcalBrl
static const int sdHcalBrl
Definition: GlobalDigisAnalyzer.h:277
PGlobalDigi::putTECW1Digis
void putTECW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:432
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PGlobalDigi::putBRL1Digis
void putBRL1Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
Definition: PValidationFormats.cc:520
EEDataFrame
Definition: EEDataFrame.h:12
DigiContainerIterator
Definition: MuonDigiCollection.h:30
edm::Event
Definition: Event.h:73
GlobalDigisProducer::getAllProvenances
bool getAllProvenances
Definition: GlobalDigisProducer.h:135
GlobalDigisProducer::TIDW2Strip
IntVector TIDW2Strip
Definition: GlobalDigisProducer.h:187
gedPhotons_cfi.preshowerHits
preshowerHits
Definition: gedPhotons_cfi.py:47
PGlobalDigi::putMB4Digis
void putMB4Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
Definition: PValidationFormats.cc:660
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
EcalADCToGeVConstant::getEBValue
float getEBValue() const
Definition: EcalADCToGeVConstant.h:20
GlobalDigisProducer::FWD2pCol
IntVector FWD2pCol
Definition: GlobalDigisProducer.h:202
GlobalDigisProducer::TIBL2ADC
FloatVector TIBL2ADC
Definition: GlobalDigisProducer.h:180
EcalADCToGeVConstantRcd
Definition: EcalADCToGeVConstantRcd.h:5
cuy.ii
ii
Definition: cuy.py:590
edm::InputTag
Definition: InputTag.h:15
begin
#define begin
Definition: vmac.h:32
GlobalDigisProducer::BRL3Row
IntVector BRL3Row
Definition: GlobalDigisProducer.h:197
DigiDM_cff.strips
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers....
Definition: DigiDM_cff.py:32
label
const char * label
Definition: PFTauDecayModeTools.cc:11
ESDataFrame::id
const ESDetId & id() const
Definition: ESDataFrame.h:19
PGlobalDigi::putTOBL1Digis
void putTOBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
Definition: PValidationFormats.cc:355
EcalMGPAGainRatio
Definition: EcalMGPAGainRatio.h:13
GlobalDigisProducer::BRL1Row
IntVector BRL1Row
Definition: GlobalDigisProducer.h:197
PGlobalDigi::putHFCalDigis
void putHFCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
Definition: PValidationFormats.cc:300
GlobalDigisProducer::TIDW1Strip
IntVector TIDW1Strip
Definition: GlobalDigisProducer.h:187
edm::DataFrameContainer::size
size_type size() const
Definition: DataFrameContainer.h:162
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
GlobalDigisProducer::clear
void clear()
Definition: GlobalDigisProducer.cc:1603
edm::DetSet::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSet.h:31