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  : DQTask(ps), hcalDbServiceToken_(esConsumes<HcalDbService, HcalDbRecord, edm::Transition::BeginRun>()) {
8  _tagFEDs = ps.getUntrackedParameter<edm::InputTag>("tagFEDs", edm::InputTag("rawDataCollector"));
9  _tagReport = ps.getUntrackedParameter<edm::InputTag>("tagReport", edm::InputTag("hcalDigis"));
10  _calibProcessing = ps.getUntrackedParameter<bool>("calibProcessing", false);
11  _thresh_calib_nbadq = ps.getUntrackedParameter<int>("thresh_calib_nbadq", 5000);
12 
13  _tokFEDs = consumes<FEDRawDataCollection>(_tagFEDs);
14  _tokReport = consumes<HcalUnpackerReport>(_tagReport);
15 
16  _vflags.resize(nRawFlag);
17  _vflags[fEvnMsm] = flag::Flag("EvnMsm");
18  _vflags[fBcnMsm] = flag::Flag("BcnMsm");
19  _vflags[fBadQ] = flag::Flag("BadQ");
20  _vflags[fOrnMsm] = flag::Flag("OrnMsm");
21  _NBadQEvent = 0;
22 }
23 
24 /* virtual */ void RawTask::bookHistograms(DQMStore::IBooker& ib, edm::Run const& r, edm::EventSetup const& es) {
26 
27  // GET WHAT YOU NEED
29  _emap = dbs->getHcalMapping();
30  std::vector<uint32_t> vVME;
31  std::vector<uint32_t> vuTCA;
32  vVME.push_back(
37 
39  "BadQualityvsLS",
42  0);
44  "BadQualityvsBX",
47  0);
49  "BadQuality",
54  0);
55 
56  // FED-based plots
57  if (_ptype != fOffline) { // hidefed2crate
58  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
59  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
60  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
61 
62  std::vector<uint32_t> vhashFEDsVME;
63  std::vector<uint32_t> vhashFEDsuTCA;
64 
65  for (std::vector<int>::const_iterator it = vFEDsVME.begin(); it != vFEDsVME.end(); ++it) {
66  vhashFEDsVME.push_back(
69  .rawId());
70  _vhashFEDs.push_back(
73  .rawId());
74  }
75  for (std::vector<int>::const_iterator it = vFEDsuTCA.begin(); it != vFEDsuTCA.end(); ++it) {
76  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
77  vhashFEDsuTCA.push_back(
78  HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
79  _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
80  }
83 
84  // INITIALIZE FIRST
86  "EvnMsm",
88  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
91  0);
93  "BcnMsm",
95  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
98  0);
100  "OrnMsm",
102  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
105  0);
106 
107  // Bad Quality
109  "BadQuality",
114  0);
115 
116  // Online only
117  if (_ptype == fOnline) {
123  "SummaryvsLS",
128  0);
130  "SummaryvsLS",
134  0);
136  "BadQ_FEDvsLS",
140  0);
142  "BadQ_FEDvsLSmod10",
146  0);
147  // FED Size vs LS
149  "DataSizevsLS",
153  0);
154  }
155  }
156 
157  // BOOK HISTOGRAMS
158  if (_ptype != fOffline) {
162 
164  }
165  if (_ptype == fOffline) {
166  auto scope = DQMStore::IBooker::UseLumiScope(ib);
168  } else {
170  }
173 
174  // BOOK HISTOGRAMS to be used in ONLINE ONLY!
175  if (_ptype == fOnline) {
185  }
186 
187  // FOR OFFLINE PROCESSING MARK THESE HISTOGRAMS AS LUMI BASED
188  //if (_ptype == fOffline) {
189  //if (_ptype != fOffline) { // hidefed2crate
190  // Note that this is deliberately contradictory for the fed2crate fix, so it can be reversed if fed2crate is ever fixed properly,
191  // TODO: set LUMI scope while booking.
192  // _cEvnMsm_ElectronicsVME.setLumiFlag();
193  // _cBcnMsm_ElectronicsVME.setLumiFlag();
194  // _cEvnMsm_ElectronicsuTCA.setLumiFlag();
195  // _cBcnMsm_ElectronicsuTCA.setLumiFlag();
196  //}
197  //}
198 
199  // initialize hash map
201 }
202 
204  // base reset
205  DQTask::_resetMonitors(uf);
206 }
207 
208 /* virtual */ void RawTask::_process(edm::Event const& e, edm::EventSetup const&) {
211  if (!e.getByToken(_tokFEDs, craw))
212  _logger.dqmthrow("Collection FEDRawDataCollection isn't available" + _tagFEDs.label() + " " + _tagFEDs.instance());
213  if (!e.getByToken(_tokReport, creport))
214  _logger.dqmthrow("Collection HcalUnpackerReport isn't available" + _tagReport.label() + " " +
215  _tagReport.instance());
216 
217  // extract some info
218  int bx = e.bunchCrossing();
219 
220  auto lumiCache = luminosityBlockCache(e.getLuminosityBlock().index());
221  _currentLS = lumiCache->currentLS;
222  _xQuality.reset();
223  _xQuality = lumiCache->xQuality;
224 
225  /*
226  * For Calibration/Abort Gap Processing
227  * check if the #channels taht are bad from the unpacker
228  * is > 5000. If it is skip...
229  */
230  if (_calibProcessing) {
231  int nbadq = creport->badQualityDigis();
232  if (nbadq >= _thresh_calib_nbadq)
233  return;
234  }
235 
236  if (_ptype == fOnline &&
237  lumiCache->EvtCntLS == 1) { // Reset the bin for _cBadQ_FEDvsLSmod10 at the beginning of each new LS
238  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
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 
250  int Nbadq = creport->badQualityDigis();
251  if (lumiCache->EvtCntLS == 1)
252  _NBadQEvent = 0; // Reset at the beginning of each new LS
253  if (Nbadq > 0)
254  _NBadQEvent++;
255  //std::cout << " Nbadq "<< Nbadq << " NBadQEvent " <<_NBadQEvent<< std::endl;
256  for (std::vector<DetId>::const_iterator it = creport->bad_quality_begin(); it != creport->bad_quality_end(); ++it) {
257  // skip non HCAL det ids
258  if (!HcalGenericDetId(*it).isHcalDetId())
259  continue;
260 
261  // skip those that are of bad quality from conditions
262  // Masked or Dead
263  if (_xQuality.exists(HcalDetId(*it))) {
266  continue;
267  }
268 
269  nn++;
272  // ONLINE ONLY!
273  if (_ptype == fOnline)
274  //Number of BadQualityDigis
275  _xBadQLS.get(eid)++;
276  //std::cout << " event _xBadQLS "<< double(_xBadQLS.get(eid)) << std::endl;
277  if (_ptype != fOffline) { // hidefed2crate
278  if (!eid.isVMEid()) {
280  continue;
282  }
283  }
284  }
287 
288  if (_ptype != fOffline) { // hidefed2crate
289  for (int fed = FEDNumbering::MINHCALFEDID; fed <= FEDNumbering::MAXHCALuTCAFEDID; fed++) {
290  // skip nonHCAL FEDs
293  continue;
294  FEDRawData const& raw = craw->FEDData(fed);
295  if (raw.size() < constants::RAW_EMPTY)
296  continue;
297 
298  if (fed <= FEDNumbering::MAXHCALFEDID) // VME
299  {
300  HcalDCCHeader const* hdcc = (HcalDCCHeader const*)(raw.data());
301  if (!hdcc)
302  continue;
303 
304  uint32_t bcn = hdcc->getBunchId();
305  uint32_t orn = hdcc->getOrbitNumber() & 0x1F; // LS 5 bits only
306  uint32_t evn = hdcc->getDCCEventNumber();
307  int dccId = hdcc->getSourceId() - constants::FED_VME_MIN;
308 
309  /* online only */
310  if (_ptype == fOnline) {
314  continue;
315  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size()) / 1024.);
316  }
317 
318  // iterate over spigots
319  HcalHTRData htr;
320  for (int is = 0; is < HcalDCCHeader::SPIGOT_COUNT; is++) {
321  int r = hdcc->getSpigotData(is, htr, raw.size());
322  if (r != 0 || !htr.check())
323  continue;
326  continue;
327 
328  uint32_t htr_evn = htr.getL1ANumber();
329  uint32_t htr_orn = htr.getOrbitNumber();
330  uint32_t htr_bcn = htr.getBunchNumber();
331  bool qevn = (htr_evn != evn);
332  bool qbcn = (htr_bcn != bcn);
333  bool qorn = (htr_orn != orn);
334  if (qevn) {
335  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
336  _xEvnMsmLS.get(eid)++;
337  }
338  if (qorn) {
339  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
340  _xOrnMsmLS.get(eid)++;
341  }
342  if (qbcn) {
343  if (_ptype == fOnline && is <= constants::SPIGOT_MAX)
344  _xBcnMsmLS.get(eid)++;
345  }
346  }
347  } else // uTCA
348  {
349  hcal::AMC13Header const* hamc13 = (hcal::AMC13Header const*)raw.data();
350  if (!hamc13)
351  continue;
352 
353  /* online only */
354  if (_ptype == fOnline) {
355  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
356  HcalElectronicsId eid = HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false);
358  continue;
359  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size()) / 1024.);
360  }
361 
362  uint32_t bcn = hamc13->bunchId();
363  uint32_t orn = hamc13->orbitNumber() & 0xFFFF; // LS 16bits only
364  uint32_t evn = hamc13->l1aNumber();
365  int namc = hamc13->NAMC();
366 
367  for (int iamc = 0; iamc < namc; iamc++) {
368  int slot = hamc13->AMCSlot(iamc);
369  int crate = hamc13->AMCId(iamc) & 0xFF;
372  continue;
373  HcalUHTRData uhtr(hamc13->AMCPayload(iamc), hamc13->AMCSize(iamc));
374 
375  uint32_t uhtr_evn = uhtr.l1ANumber();
376  uint32_t uhtr_bcn = uhtr.bunchNumber();
377  uint32_t uhtr_orn = uhtr.orbitNumber();
378  bool qevn = (uhtr_evn != evn);
379  bool qbcn = (uhtr_bcn != bcn);
380  bool qorn = (uhtr_orn != orn);
381  if (qevn) {
383 
384  if (_ptype == fOnline)
385  _xEvnMsmLS.get(eid)++;
386  }
387  if (qorn) {
389 
390  if (_ptype == fOnline)
391  _xOrnMsmLS.get(eid)++;
392  }
393  if (qbcn) {
395 
396  if (_ptype == fOnline)
397  _xBcnMsmLS.get(eid)++;
398  }
399  }
400  }
401  }
402  }
403 }
404 
405 std::shared_ptr<hcaldqm::Cache> RawTask::globalBeginLuminosityBlock(edm::LuminosityBlock const& lb,
406  edm::EventSetup const& es) const {
407  return DQTask::globalBeginLuminosityBlock(lb, es);
408  // _cBadQualityvsLS.extendAxisRange(_currentLS);
409  // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
410  // _cSummaryvsLS.extendAxisRange(_currentLS);
411 }
412 
414  auto lumiCache = luminosityBlockCache(lb.index());
415  _currentLS = lumiCache->currentLS;
416  _evsPerLS = lumiCache->EvtCntLS;
417 
418  if (_ptype != fOnline)
419  return;
420 
421  //
422  // GENERATE STATUS ONLY FOR ONLINE!
423  //
424  for (std::vector<uint32_t>::const_iterator it = _vhashFEDs.begin(); it != _vhashFEDs.end(); ++it) {
425  flag::Flag fSum("RAW");
427  int fed = hcaldqm::utilities::crate2fed(eid.crateId(), eid.slot());
428  std::vector<uint32_t>::const_iterator cit = std::find(_vcdaqEids.begin(), _vcdaqEids.end(), *it);
429  if (cit == _vcdaqEids.end()) {
430  // not @cDAQ
431  for (uint32_t iflag = 0; iflag < _vflags.size(); iflag++)
434  continue;
435  }
436 
437  // FED is @cDAQ
439  if (_xEvnMsmLS.get(eid) > 0)
440  _vflags[fEvnMsm]._state = flag::fBAD;
441  else
442  _vflags[fEvnMsm]._state = flag::fGOOD;
443  if (_xBcnMsmLS.get(eid) > 0)
444  _vflags[fBcnMsm]._state = flag::fBAD;
445  else
446  _vflags[fBcnMsm]._state = flag::fGOOD;
447  if (_xOrnMsmLS.get(eid) > 0)
448  _vflags[fOrnMsm]._state = flag::fBAD;
449  else
450  _vflags[fOrnMsm]._state = flag::fGOOD;
451  if (double(_xBadQLS.get(eid)) > double(12 * _evsPerLS))
452  _vflags[fBadQ]._state = flag::fBAD;
453  else if (_xBadQLS.get(eid) > 0) {
454  _vflags[fBadQ]._state = flag::fPROBLEMATIC;
455  } else
456  _vflags[fBadQ]._state = flag::fGOOD;
457  }
458 
459  int iflag = 0;
460  // iterate over all flags:
461  // - sum them all up in summary flag for this FED
462  // - reset each flag right after using it
463  for (std::vector<flag::Flag>::iterator ft = _vflags.begin(); ft != _vflags.end(); ++ft) {
464  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag), ft->_state);
465 
466  // Following line added due to https://gitlab.cern.ch/cmshcal/docs/-/issues/233 // BadQ > (5%) of number of events in this LS.
467  if (ft->_name == "BadQ" && (double(_xBadQLS.get(eid)) > 0 && double(_NBadQEvent) > double(0.05 * _evsPerLS))) {
468  if (!hcaldqm::utilities::isFEDHO(eid) && fed != 1136 && ft->_state != 3) {
469  _cBadQ_FEDvsLSmod10.setBinContent(eid, _currentLS % 10, (double(_NBadQEvent) / double(_evsPerLS)) * 100);
470  _cBadQ_FEDvsLS.setBinContent(eid, _currentLS, (double(_NBadQEvent) / double(_evsPerLS)) * 100);
471  }
472  }
473  fSum += (*ft);
474  iflag++;
475 
476  // this is the MUST! We don't keep flags per FED, reset
477  // each one of them after using
478  ft->reset();
479  }
481  }
482 
483  // reset...
484  _xOrnMsmLS.reset();
485  _xEvnMsmLS.reset();
486  _xBcnMsmLS.reset();
487  _xBadQLS.reset();
488 
489  // in the end always do the DQTask::endLumi
490  DQTask::globalEndLuminosityBlock(lb, es);
491 }
492 
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: RawTask.cc:413
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::ESGetToken< HcalDbService, HcalDbRecord > hcalDbServiceToken_
Definition: RawTask.h:42
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RawTask.h:78
hcaldqm::ContainerSingle2D _cBadQ_FEDvsLS
Definition: RawTask.h:81
int const RAW_EMPTY
Definition: Constants.h:254
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:213
int const CRATE_VME_MIN
Definition: Constants.h:99
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:10
bool _calibProcessing
Definition: RawTask.h:52
dbs
Find files in dataset.
const uint64_t * AMCPayload(int i) const
Definition: AMC13Header.cc:4
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
void _process(edm::Event const &, edm::EventSetup const &) override
Definition: RawTask.cc:208
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RawTask.h:49
void dqmthrow(std::string const &msg) const
Definition: Logger.h:12
uint16_t crate2fed(int crate, int slot)
Definition: Utilities.cc:29
UpdateFreq
Definition: DQTask.h:32
State _state
Definition: Flag.h:62
hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA
Definition: RawTask.h:75
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:48
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:124
void _resetMonitors(hcaldqm::UpdateFreq) override
Definition: RawTask.cc:203
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
DetIdVector::const_iterator bad_quality_begin() const
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
Definition: RawTask.h:76
virtual void reset()
Definition: ContainerXXX.h:293
std::string const & label() const
Definition: InputTag.h:36
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
int const FIBER_VME_MIN
Definition: Constants.h:129
void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0) override
int const FIBERCH_MIN
Definition: Constants.h:138
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:115
T getUntrackedParameter(std::string const &, T const &) const
int const SPIGOT_MAX
Definition: Constants.h:125
unsigned int getOrbitNumber() const
Definition: HcalDCCHeader.h:47
hcaldqm::Container2D _cBadQuality_depth
Definition: RawTask.h:66
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RawTask.h:79
int bunchId() const
Definition: AMC13Header.h:17
int getBunchId() const
Definition: HcalDCCHeader.h:35
int AMCSlot(int i) const
Definition: AMC13Header.h:33
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
Definition: RawTask.h:76
ProcessingType _ptype
Definition: DQModule.h:44
virtual void fill(uint32_t)
Definition: Container1D.cc:73
bool isHcalDetId() const
void reset()
Definition: Flag.h:59
virtual void setBinContent(int, int, int)
hcaldqm::filter::HashFilter _filter_FEDsuTCA
Definition: RawTask.h:62
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:66
std::vector< uint32_t > _vhashFEDs
Definition: RawTask.h:56
int const FED_VME_MIN
Definition: Constants.h:86
int getSourceId() const
Definition: HcalDCCHeader.h:33
unsigned int getBunchNumber() const
Get the HTR bunch number.
Definition: HcalHTRData.h:122
int const FIBER_uTCA_MIN1
Definition: Constants.h:132
Transition
Definition: Transition.h:12
int AMCSize(int i) const
Definition: AMC13Header.h:37
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
Definition: RawTask.h:76
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
RawTask(edm::ParameterSet const &)
Definition: RawTask.cc:6
Logger _logger
Definition: DQModule.h:55
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:549
edm::EDGetTokenT< HcalUnpackerReport > _tokReport
Definition: RawTask.h:41
std::string _name
Definition: DQModule.h:42
HcalElectronicsMap const * _emap
Definition: DQTask.h:81
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
int l1aNumber() const
Definition: AMC13Header.h:19
edm::EDGetTokenT< FEDRawDataCollection > _tokFEDs
Definition: RawTask.h:40
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
hcaldqm::Container2D _cBadQuality_FEDuTCA
Definition: RawTask.h:65
int const CRATE_uTCA_MIN
Definition: Constants.h:104
hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA
Definition: RawTask.h:73
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RawTask.h:60
unsigned int getL1ANumber() const
Get the HTR event number.
Definition: HcalHTRData.h:120
int _thresh_calib_nbadq
Definition: RawTask.h:53
unsigned int orbitNumber() const
Definition: AMC13Header.h:23
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
Definition: RawTask.h:76
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:156
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:88
unsigned int getOrbitNumber() const
Get the HTR orbit number.
Definition: HcalHTRData.cc:345
int NAMC() const
Definition: AMC13Header.h:25
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
uint32_t l1ANumber() const
Get the HTR event number.
Definition: HcalUHTRData.h:87
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
unsigned long getDCCEventNumber() const
Definition: HcalDCCHeader.h:37
int badQualityDigis() const
constexpr uint32_t rawId() const
hcaldqm::filter::HashFilter _filter_FEDsVME
Definition: RawTask.h:61
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:163
hcaldqm::ContainerSingleProf1D _cBadQualityvsLS
Definition: RawTask.h:68
edm::InputTag _tagFEDs
Definition: RawTask.h:38
LuminosityBlockIndex index() const
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RawTask.h:45
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:20
hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA
Definition: RawTask.h:74
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:198
HLT enums.
hcaldqm::ContainerProf1D _cDataSizevsLS_FED
Definition: RawTask.h:70
int _NBadQEvent
Definition: RawTask.h:54
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:97
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:135
void fill(HcalDetId const &) override
Definition: Container2D.cc:52
uint16_t AMCId(int i) const
Definition: AMC13Header.h:31
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:17
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:24
std::string _subsystem
Definition: DQModule.h:49
edm::InputTag _tagReport
Definition: RawTask.h:39
hcaldqm::ContainerSingle2D _cBadQ_FEDvsLSmod10
Definition: RawTask.h:80
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:182
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:24
hcaldqm::filter::HashFilter _filter_VME
Definition: RawTask.h:59
hcaldqm::ContainerSingleProf1D _cBadQualityvsBX
Definition: RawTask.h:69
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:69
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: RawTask.cc:24
std::shared_ptr< hcaldqm::Cache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
Definition: RawTask.cc:405
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:82
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:567
Readout chain identification for Hcal.
bool check() const
Check for a good event Requires a minimum length, matching wordcount and length, not an empty event...
Definition: HcalHTRData.cc:63
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:170
int const SLOT_uTCA_MIN
Definition: Constants.h:111
Definition: Run.h:45
ib
Definition: cuy.py:661
DetIdVector::const_iterator bad_quality_end() const