CMS 3D CMS Logo

RawTask.cc
Go to the documentation of this file.
2 
3 using namespace hcaldqm;
4 using namespace hcaldqm::constants;
5 
7  _tagFEDs = ps.getUntrackedParameter<edm::InputTag>("tagFEDs", edm::InputTag("rawDataCollector"));
8  _tagReport = ps.getUntrackedParameter<edm::InputTag>("tagReport", edm::InputTag("hcalDigis"));
9  _calibProcessing = ps.getUntrackedParameter<bool>("calibProcessing", false);
10  _thresh_calib_nbadq = ps.getUntrackedParameter<int>("thresh_calib_nbadq", 5000);
11 
12  _tokFEDs = consumes<FEDRawDataCollection>(_tagFEDs);
13  _tokReport = consumes<HcalUnpackerReport>(_tagReport);
14 
15  _vflags.resize(nRawFlag);
16  _vflags[fEvnMsm] = flag::Flag("EvnMsm");
17  _vflags[fBcnMsm] = flag::Flag("BcnMsm");
18  _vflags[fBadQ] = flag::Flag("BadQ");
19  _vflags[fOrnMsm] = flag::Flag("OrnMsm");
20 }
21 
22 /* virtual */ void RawTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
23  DQTask::bookHistograms(ib, r, es);
24 
25  // GET WHAT YOU NEED
27  es.get<HcalDbRecord>().get(dbs);
28  _emap = dbs->getHcalMapping();
29  std::vector<uint32_t> vVME;
30  std::vector<uint32_t> vuTCA;
31  vVME.push_back(
33  vuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
36 
38  "BadQualityvsLS",
41  0);
43  "BadQualityvsBX",
46  0);
48  "BadQuality",
53  0);
54 
55  // FED-based plots
56  if (_ptype != fOffline) { // hidefed2crate
57  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
58  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
59  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
60 
61  std::vector<uint32_t> vhashFEDsVME;
62  std::vector<uint32_t> vhashFEDsuTCA;
63 
64  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it) {
65  vhashFEDsVME.push_back(
68  .rawId());
69  _vhashFEDs.push_back(
72  .rawId());
73  }
74  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
75  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
76  vhashFEDsuTCA.push_back(
77  HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
78  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
79  }
82 
83  // INITIALIZE FIRST
85  "EvnMsm",
87  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
90  0);
92  "BcnMsm",
94  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
97  0);
99  "OrnMsm",
101  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
104  0);
106  "EvnMsm",
108  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
111  0);
113  "BcnMsm",
115  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
118  0);
120  "OrnMsm",
122  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
125  0);
126 
127  // Bad Quality
129  "BadQuality",
134  0);
136  "BadQuality",
141  0);
142 
143  // Online only
144  if (_ptype == fOnline) {
150  "SummaryvsLS",
155  0);
157  "SummaryvsLS",
161  0);
162  // FED Size vs LS
164  "DataSizevsLS",
168  0);
169  }
170  }
171 
172  // BOOK HISTOGRAMS
173  if (_ptype != fOffline) {
180 
183  }
187 
188  // BOOK HISTOGRAMS to be used in ONLINE ONLY!
189  if (_ptype == fOnline) {
197  }
198 
199  // FOR OFFLINE PROCESSING MARK THESE HISTOGRAMS AS LUMI BASED
200  if (_ptype == fOffline) {
201  if (_ptype != fOffline) { // hidefed2crate
202  // Note that this is deliberately contradictory for the fed2crate fix, so it can be reversed if fed2crate is ever fixed properly,
207  }
209  }
210 
211  // initialize hash map
213 }
214 
216  // base reset
217  DQTask::_resetMonitors(uf);
218 }
219 
220 /* virtual */ void RawTask::_process(edm::Event const& e, edm::EventSetup const&) {
223  if (!e.getByToken(_tokFEDs, craw))
224  _logger.dqmthrow("Collection FEDRawDataCollection isn't available" + _tagFEDs.label() + " " + _tagFEDs.instance());
225  if (!e.getByToken(_tokReport, creport))
226  _logger.dqmthrow("Collection HcalUnpackerReport isn't available" + _tagReport.label() + " " +
227  _tagReport.instance());
228 
229  // extract some info
230  int bx = e.bunchCrossing();
231 
232  /*
233  * For Calibration/Abort Gap Processing
234  * check if the #channels taht are bad from the unpacker
235  * is > 5000. If it is skip...
236  */
237  if (_calibProcessing) {
238  int nbadq = creport->badQualityDigis();
239  if (nbadq >= _thresh_calib_nbadq)
240  return;
241  }
242 
243  int nn = 0;
244  // loop thru and fill the detIds with bad quality
245  // NOTE: Calibration Channels are skipped!
246  // TODO: Include for Online Calibration Channels marked as bad
247  // a comment below is left on purpose!
248  //_cBadQualityvsBX.fill(bx, creport->badQualityDigis());
249  for (std::vector<DetId>::const_iterator it = creport->bad_quality_begin(); it != creport->bad_quality_end(); ++it) {
250  // skip non HCAL det ids
251  if (!HcalGenericDetId(*it).isHcalDetId())
252  continue;
253 
254  // skip those that are of bad quality from conditions
255  // Masked or Dead
256  if (_xQuality.exists(HcalDetId(*it))) {
257  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
259  continue;
260  }
261 
262  nn++;
265  // ONLINE ONLY!
266  if (_ptype == fOnline)
267  _xBadQLS.get(eid)++;
268  if (_ptype != fOffline) { // hidefed2crate
269  if (eid.isVMEid()) {
270  if (_filter_FEDsVME.filter(eid))
271  continue;
273  } else {
274  if (_filter_FEDsuTCA.filter(eid))
275  continue;
277  }
278  }
279  }
281  _cBadQualityvsBX.fill(bx, nn);
282 
283  if (_ptype != fOffline) { // hidefed2crate
284  for (int fed = FEDNumbering::MINHCALFEDID; fed <= FEDNumbering::MAXHCALuTCAFEDID; fed++) {
285  // skip nonHCAL FEDs
288  continue;
289  FEDRawData const& raw = craw->FEDData(fed);
290  if (raw.size() < constants::RAW_EMPTY)
291  continue;
292 
293  if (fed <= FEDNumbering::MAXHCALFEDID) // VME
294  {
295  HcalDCCHeader const* hdcc = (HcalDCCHeader const*)(raw.data());
296  if (!hdcc)
297  continue;
298 
299  uint32_t bcn = hdcc->getBunchId();
300  uint32_t orn = hdcc->getOrbitNumber() & 0x1F; // LS 5 bits only
301  uint32_t evn = hdcc->getDCCEventNumber();
302  int dccId = hdcc->getSourceId() - constants::FED_VME_MIN;
303 
304  /* online only */
305  if (_ptype == fOnline) {
308  if (_filter_FEDsVME.filter(eid))
309  continue;
310  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size()) / 1024.);
311  }
312 
313  // iterate over spigots
314  HcalHTRData htr;
315  for (int is = 0; is < HcalDCCHeader::SPIGOT_COUNT; is++) {
316  int r = hdcc->getSpigotData(is, htr, raw.size());
317  if (r != 0 || !htr.check())
318  continue;
320  if (_filter_FEDsVME.filter(eid))
321  continue;
322 
323  uint32_t htr_evn = htr.getL1ANumber();
324  uint32_t htr_orn = htr.getOrbitNumber();
325  uint32_t htr_bcn = htr.getBunchNumber();
326  bool qevn = (htr_evn != evn);
327  bool qbcn = (htr_bcn != bcn);
328  bool qorn = (htr_orn != orn);
329  if (qevn) {
331 
332  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
333  _xEvnMsmLS.get(eid)++;
334  }
335  if (qorn) {
337 
338  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
339  _xOrnMsmLS.get(eid)++;
340  }
341  if (qbcn) {
343 
344  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
345  _xBcnMsmLS.get(eid)++;
346  }
347  }
348  } else // uTCA
349  {
350  hcal::AMC13Header const* hamc13 = (hcal::AMC13Header const*)raw.data();
351  if (!hamc13)
352  continue;
353 
354  /* online only */
355  if (_ptype == fOnline) {
356  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
357  HcalElectronicsId eid = HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false);
358  if (_filter_FEDsuTCA.filter(eid))
359  continue;
360  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size()) / 1024.);
361  }
362 
363  uint32_t bcn = hamc13->bunchId();
364  uint32_t orn = hamc13->orbitNumber() & 0xFFFF; // LS 16bits only
365  uint32_t evn = hamc13->l1aNumber();
366  int namc = hamc13->NAMC();
367 
368  for (int iamc = 0; iamc < namc; iamc++) {
369  int slot = hamc13->AMCSlot(iamc);
370  int crate = hamc13->AMCId(iamc) & 0xFF;
371  HcalElectronicsId eid(crate, slot, FIBER_uTCA_MIN1, FIBERCH_MIN, false);
372  if (_filter_FEDsuTCA.filter(eid))
373  continue;
374  HcalUHTRData uhtr(hamc13->AMCPayload(iamc), hamc13->AMCSize(iamc));
375 
376  uint32_t uhtr_evn = uhtr.l1ANumber();
377  uint32_t uhtr_bcn = uhtr.bunchNumber();
378  uint32_t uhtr_orn = uhtr.orbitNumber();
379  bool qevn = (uhtr_evn != evn);
380  bool qbcn = (uhtr_bcn != bcn);
381  bool qorn = (uhtr_orn != orn);
382  if (qevn) {
384 
385  if (_ptype == fOnline)
386  _xEvnMsmLS.get(eid)++;
387  }
388  if (qorn) {
390 
391  if (_ptype == fOnline)
392  _xOrnMsmLS.get(eid)++;
393  }
394  if (qbcn) {
396 
397  if (_ptype == fOnline)
398  _xBcnMsmLS.get(eid)++;
399  }
400  }
401  }
402  }
403  }
404 }
405 
406 /* virtual */ void RawTask::beginLuminosityBlock(edm::LuminosityBlock const& lb, edm::EventSetup const& es) {
407  DQTask::beginLuminosityBlock(lb, es);
408 
409  // _cBadQualityvsLS.extendAxisRange(_currentLS);
410 
411  // ONLINE ONLY!
412  if (_ptype != fOnline)
413  return;
414  // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
415  // _cSummaryvsLS.extendAxisRange(_currentLS);
416 }
417 
418 /* virtual */ void RawTask::endLuminosityBlock(edm::LuminosityBlock const& lb, edm::EventSetup const& es) {
419  if (_ptype != fOnline)
420  return;
421 
422  //
423  // GENERATE STATUS ONLY FOR ONLINE!
424  //
425  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
426  flag::Flag fSum("RAW");
428 
429  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
430  if (cit == _vcdaqEids.end()) {
431  // not @cDAQ
432  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
433  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), int(flag::fNCDAQ));
435  continue;
436  }
437 
438  // FED is @cDAQ
440  if (_xEvnMsmLS.get(eid) > 0)
441  _vflags[fEvnMsm]._state = flag::fBAD;
442  else
443  _vflags[fEvnMsm]._state = flag::fGOOD;
444  if (_xBcnMsmLS.get(eid) > 0)
445  _vflags[fBcnMsm]._state = flag::fBAD;
446  else
447  _vflags[fBcnMsm]._state = flag::fGOOD;
448  if (_xOrnMsmLS.get(eid) > 0)
449  _vflags[fOrnMsm]._state = flag::fBAD;
450  else
451  _vflags[fOrnMsm]._state = flag::fGOOD;
452  if (double(_xBadQLS.get(eid)) > double(12 * _evsPerLS))
453  _vflags[fBadQ]._state = flag::fBAD;
454  else if (_xBadQLS.get(eid) > 0)
455  _vflags[fBadQ]._state = flag::fPROBLEMATIC;
456  else
457  _vflags[fBadQ]._state = flag::fGOOD;
458  }
459 
460  int iflag = 0;
461  // iterate over all flags:
462  // - sum them all up in summary flag for this FED
463  // - reset each flag right after using it
464  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
465  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), ft->_state);
466  fSum += (*ft);
467  iflag++;
468 
469  // this is the MUST! We don't keep flags per FED, reset
470  // each one of them after using
471  ft->reset();
472  }
474  }
475 
476  // reset...
477  _xOrnMsmLS.reset();
478  _xEvnMsmLS.reset();
479  _xBcnMsmLS.reset();
480  _xBadQLS.reset();
481 
482  // in the end always do the DQTask::endLumi
483  DQTask::endLuminosityBlock(lb, es);
484 }
485 
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: RawTask.cc:418
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
constexpr uint32_t rawId() const
T getUntrackedParameter(std::string const &, T const &) const
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RawTask.h:80
int const RAW_EMPTY
Definition: Constants.h:245
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:212
int const CRATE_VME_MIN
Definition: Constants.h:91
bool check() const
Check for a good event Requires a minimum length, matching wordcount and length, not an empty event...
Definition: HcalHTRData.cc:62
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: RawTask.cc:406
bool _calibProcessing
Definition: RawTask.h:50
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: RawTask.cc:220
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RawTask.h:47
unique_ptr< ClusterSequence > cs
UpdateFreq
Definition: DQTask.h:16
State _state
Definition: Flag.h:62
hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA
Definition: RawTask.h:77
int bunchCrossing() const
Definition: EventBase.h:64
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
int const SPIGOT_MIN
Definition: Constants.h:116
void _resetMonitors(hcaldqm::UpdateFreq) override
Definition: RawTask.cc:215
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
Definition: RawTask.h:78
virtual void reset()
Definition: ContainerXXX.h:292
int l1aNumber() const
Definition: AMC13Header.h:19
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
int const FIBER_VME_MIN
Definition: Constants.h:121
unsigned int getOrbitNumber() const
Get the HTR orbit number.
Definition: HcalHTRData.cc:325
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0) override
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
int const FIBERCH_MIN
Definition: Constants.h:130
int AMCSize(int i) const
Definition: AMC13Header.h:37
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:101
int const SPIGOT_MAX
Definition: Constants.h:117
hcaldqm::Container2D _cBadQuality_depth
Definition: RawTask.h:65
unsigned int getOrbitNumber() const
Definition: HcalDCCHeader.h:46
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RawTask.h:81
int getBunchId() const
Definition: HcalDCCHeader.h:34
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
Definition: RawTask.h:78
ProcessingType _ptype
Definition: DQModule.h:43
virtual void fill(uint32_t)
Definition: Container1D.cc:73
int bunchId() const
Definition: AMC13Header.h:17
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void reset()
Definition: Flag.h:59
virtual void setBinContent(int, int, int)
hcaldqm::filter::HashFilter _filter_FEDsuTCA
Definition: RawTask.h:60
constexpr bool isVMEid() const
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:48
std::vector< uint32_t > _vhashFEDs
Definition: RawTask.h:54
int const FED_VME_MIN
Definition: Constants.h:78
int const FIBER_uTCA_MIN1
Definition: Constants.h:124
DetIdVector::const_iterator bad_quality_begin() const
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
Definition: RawTask.h:78
RawTask(edm::ParameterSet const &)
Definition: RawTask.cc:6
Logger _logger
Definition: DQModule.h:54
edm::EDGetTokenT< HcalUnpackerReport > _tokReport
Definition: RawTask.h:40
std::string _name
Definition: DQModule.h:41
HcalElectronicsMap const * _emap
Definition: DQTask.h:59
edm::EDGetTokenT< FEDRawDataCollection > _tokFEDs
Definition: RawTask.h:39
bool isHcalDetId() const
hcaldqm::Container2D _cBadQuality_FEDuTCA
Definition: RawTask.h:64
int const CRATE_uTCA_MIN
Definition: Constants.h:96
hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA
Definition: RawTask.h:75
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RawTask.h:58
int getSourceId() const
Definition: HcalDCCHeader.h:32
unsigned int orbitNumber() const
Definition: AMC13Header.h:23
int _thresh_calib_nbadq
Definition: RawTask.h:51
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
Definition: RawTask.h:78
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:142
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:87
hcaldqm::Container2D _cBadQuality_FEDVME
Definition: RawTask.h:63
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:25
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
hcaldqm::Container2D _cBcnMsm_ElectronicsVME
Definition: RawTask.h:73
uint32_t l1ANumber() const
Get the HTR event number.
Definition: HcalUHTRData.h:84
hcaldqm::filter::HashFilter _filter_FEDsVME
Definition: RawTask.h:59
int badQualityDigis() const
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::ContainerSingleProf1D _cBadQualityvsLS
Definition: RawTask.h:67
hcaldqm::Container2D _cOrnMsm_ElectronicsVME
Definition: RawTask.h:74
edm::InputTag _tagFEDs
Definition: RawTask.h:37
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RawTask.h:43
int NAMC() const
Definition: AMC13Header.h:25
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19
hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA
Definition: RawTask.h:76
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:197
int AMCSlot(int i) const
Definition: AMC13Header.h:33
const uint64_t * AMCPayload(int i) const
Definition: AMC13Header.cc:4
virtual void setLumiFlag()
Definition: Container1D.cc:769
hcaldqm::ContainerProf1D _cDataSizevsLS_FED
Definition: RawTask.h:69
unsigned int getBunchNumber() const
Get the HTR bunch number.
Definition: HcalHTRData.h:115
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:83
T get() const
Definition: EventSetup.h:71
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:121
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
const HcalElectronicsMap * getHcalMapping() const
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:24
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
std::string _subsystem
Definition: DQModule.h:48
edm::InputTag _tagReport
Definition: RawTask.h:38
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:180
hcaldqm::filter::HashFilter _filter_VME
Definition: RawTask.h:57
hcaldqm::ContainerSingleProf1D _cBadQualityvsBX
Definition: RawTask.h:68
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:51
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: RawTask.cc:22
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:81
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:558
uint16_t AMCId(int i) const
Definition: AMC13Header.h:31
unsigned int getL1ANumber() const
Get the HTR event number.
Definition: HcalHTRData.h:111
unsigned dccId(DetId const &)
hcaldqm::Container2D _cEvnMsm_ElectronicsVME
Definition: RawTask.h:72
unsigned long getDCCEventNumber() const
Definition: HcalDCCHeader.h:36
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:156
int const SLOT_uTCA_MIN
Definition: Constants.h:103
Definition: Run.h:45
DetIdVector::const_iterator bad_quality_end() const
ib
Definition: cuy.py:662