CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
RawTask Class Reference

#include <RawTask.h>

Inheritance diagram for RawTask:
hcaldqm::DQTask one::DQMEDAnalyzer< T > hcaldqm::DQModule one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 RawTask (edm::ParameterSet const &)
 
 ~RawTask () override
 
- Public Member Functions inherited from hcaldqm::DQTask
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()(false)
 

Protected Types

enum  RawFlag {
  fEvnMsm = 0, fBcnMsm = 1, fOrnMsm = 2, fBadQ = 3,
  nRawFlag = 4
}
 

Protected Member Functions

void _process (edm::Event const &, edm::EventSetup const &) override
 
void _resetMonitors (hcaldqm::UpdateFreq) override
 
- Protected Member Functions inherited from hcaldqm::DQTask
virtual int _getCalibType (edm::Event const &)
 
virtual bool _isApplicable (edm::Event const &)
 

Protected Attributes

bool _calibProcessing
 
hcaldqm::Container2D _cBadQuality_depth
 
hcaldqm::Container2D _cBadQuality_FEDuTCA
 
hcaldqm::Container2D _cBadQuality_FEDVME
 
hcaldqm::Container2D _cBadQualityLS_depth
 
hcaldqm::ContainerSingleProf1D _cBadQualityvsBX
 
hcaldqm::ContainerSingleProf1D _cBadQualityvsLS
 
hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA
 
hcaldqm::Container2D _cBcnMsm_ElectronicsVME
 
hcaldqm::ContainerProf1D _cDataSizevsLS_FED
 
hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA
 
hcaldqm::Container2D _cEvnMsm_ElectronicsVME
 
hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA
 
hcaldqm::Container2D _cOrnMsm_ElectronicsVME
 
hcaldqm::ContainerSingle2D _cSummaryvsLS
 
hcaldqm::Container2D _cSummaryvsLS_FED
 
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
 
hcaldqm::filter::HashFilter _filter_FEDsuTCA
 
hcaldqm::filter::HashFilter _filter_FEDsVME
 
hcaldqm::filter::HashFilter _filter_uTCA
 
hcaldqm::filter::HashFilter _filter_VME
 
edm::InputTag _tagFEDs
 
edm::InputTag _tagReport
 
int _thresh_calib_nbadq
 
edm::EDGetTokenT< FEDRawDataCollection_tokFEDs
 
edm::EDGetTokenT< HcalUnpackerReport_tokReport
 
std::vector< hcaldqm::flag::Flag_vflags
 
std::vector< uint32_t > _vhashFEDs
 
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
 
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
 
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
 
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
edm::ESHandle< HcalDbService_dbService
 
HcalElectronicsMap const * _emap
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT< FEDRawDataCollection_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
- Protected Attributes inherited from hcaldqm::DQModule
int _currentLS
 
int _debug
 
int _evsPerLS
 
int _evsTotal
 
Logger _logger
 
int _maxLS
 
ModuleType _mtype
 
std::string _name
 
ProcessingType _ptype
 
std::string _runkeyName
 
int _runkeyVal
 
std::string _subsystem
 

Detailed Description

file: Author: Description:

Definition at line 24 of file RawTask.h.

Member Enumeration Documentation

enum RawTask::RawFlag
protected
Enumerator
fEvnMsm 
fBcnMsm 
fOrnMsm 
fBadQ 
nRawFlag 

Definition at line 48 of file RawTask.h.

49  {
50  fEvnMsm = 0,
51  fBcnMsm = 1,
52  fOrnMsm = 2,
53  fBadQ = 3,
54  nRawFlag = 4
55  };

Constructor & Destructor Documentation

RawTask::RawTask ( edm::ParameterSet const &  ps)

Definition at line 7 of file RawTask.cc.

References _calibProcessing, _tagFEDs, _tagReport, _thresh_calib_nbadq, _tokFEDs, _tokReport, _vflags, fBadQ, fBcnMsm, fEvnMsm, nanoDQM_cfi::Flag, fOrnMsm, edm::ParameterSet::getUntrackedParameter(), and nRawFlag.

7  :
8  DQTask(ps)
9 {
10  _tagFEDs = ps.getUntrackedParameter<edm::InputTag>("tagFEDs",
11  edm::InputTag("rawDataCollector"));
12  _tagReport = ps.getUntrackedParameter<edm::InputTag>("tagReport",
13  edm::InputTag("hcalDigis"));
14  _calibProcessing = ps.getUntrackedParameter<bool>("calibProcessing",
15  false);
16  _thresh_calib_nbadq = ps.getUntrackedParameter<int>("thresh_calib_nbadq",
17  5000);
18 
19  _tokFEDs = consumes<FEDRawDataCollection>(_tagFEDs);
20  _tokReport = consumes<HcalUnpackerReport>(_tagReport);
21 
22  _vflags.resize(nRawFlag);
23  _vflags[fEvnMsm]=flag::Flag("EvnMsm");
24  _vflags[fBcnMsm]=flag::Flag("BcnMsm");
25  _vflags[fBadQ]=flag::Flag("BadQ");
26  _vflags[fOrnMsm]=flag::Flag("OrnMsm");
27 }
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:6
bool _calibProcessing
Definition: RawTask.h:61
edm::EDGetTokenT< HcalUnpackerReport > _tokReport
Definition: RawTask.h:44
edm::EDGetTokenT< FEDRawDataCollection > _tokFEDs
Definition: RawTask.h:43
int _thresh_calib_nbadq
Definition: RawTask.h:62
edm::InputTag _tagFEDs
Definition: RawTask.h:41
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RawTask.h:47
edm::InputTag _tagReport
Definition: RawTask.h:42
RawTask::~RawTask ( )
inlineoverride

Member Function Documentation

void RawTask::_process ( edm::Event const &  e,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements hcaldqm::DQTask.

Definition at line 217 of file RawTask.cc.

References _calibProcessing, _cBadQuality_depth, _cBadQuality_FEDuTCA, _cBadQuality_FEDVME, _cBadQualityvsBX, _cBadQualityvsLS, _cBcnMsm_ElectronicsuTCA, _cBcnMsm_ElectronicsVME, _cDataSizevsLS_FED, _cEvnMsm_ElectronicsuTCA, _cEvnMsm_ElectronicsVME, _cOrnMsm_ElectronicsuTCA, _cOrnMsm_ElectronicsVME, hcaldqm::DQModule::_currentLS, _ehashmap, _filter_FEDsuTCA, _filter_FEDsVME, hcaldqm::DQModule::_logger, hcaldqm::DQModule::_ptype, _tagFEDs, _tagReport, _thresh_calib_nbadq, _tokFEDs, _tokReport, _xBadQLS, _xBcnMsmLS, _xEvnMsmLS, _xOrnMsmLS, hcaldqm::DQTask::_xQuality, hcal::AMC13Header::AMCId(), hcal::AMC13Header::AMCPayload(), hcal::AMC13Header::AMCSize(), hcal::AMC13Header::AMCSlot(), HcalUnpackerReport::bad_quality_begin(), HcalUnpackerReport::bad_quality_end(), HcalUnpackerReport::badQualityDigis(), edm::EventBase::bunchCrossing(), hcal::AMC13Header::bunchId(), HcalHTRData::check(), fwrapper::cs, FEDRawData::data(), ecaldqm::dccId(), Logger::dqmthrow(), runTauDisplay::eid, hcaldqm::ContainerXXX< STDTYPE >::exists(), hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, FEDRawDataCollection::FEDData(), hcaldqm::constants::FIBER_uTCA_MIN1, hcaldqm::constants::FIBER_VME_MIN, hcaldqm::constants::FIBERCH_MIN, hcaldqm::Container2D::fill(), hcaldqm::ContainerSingle1D::fill(), hcaldqm::Container1D::fill(), hcaldqm::filter::HashFilter::filter(), hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), HcalDCCHeader::getBunchId(), HcalHTRData::getBunchNumber(), edm::Event::getByToken(), HcalDCCHeader::getDCCEventNumber(), HcalHTRData::getL1ANumber(), HcalDCCHeader::getOrbitNumber(), HcalHTRData::getOrbitNumber(), HcalDCCHeader::getSourceId(), HcalDCCHeader::getSpigotData(), HcalChannelStatus::HcalCellDead, HcalChannelStatus::HcalCellMask, edm::InputTag::instance(), HcalGenericDetId::isHcalDetId(), HcalElectronicsId::isVMEid(), hcal::AMC13Header::l1aNumber(), HcalUHTRData::l1ANumber(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), FEDNumbering::MAXHCALFEDID, FEDNumbering::MAXHCALuTCAFEDID, FEDNumbering::MINHCALFEDID, FEDNumbering::MINHCALuTCAFEDID, hcal::AMC13Header::NAMC(), groupFilesInBlocks::nn, hcal::AMC13Header::orbitNumber(), alignCSCRings::r, hcaldqm::constants::RAW_EMPTY, FEDRawData::size(), HcalDCCHeader::SPIGOT_COUNT, hcaldqm::constants::SPIGOT_MAX, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~RawTask().

219 {
222  if (!e.getByToken(_tokFEDs, craw))
223  _logger.dqmthrow("Collection FEDRawDataCollection isn't available"+
224  _tagFEDs.label()+" " +_tagFEDs.instance());
225  if (!e.getByToken(_tokReport, creport))
226  _logger.dqmthrow("Collection HcalUnpackerReport isn't available"+
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  {
239  int nbadq = creport->badQualityDigis();
240  if (nbadq>=_thresh_calib_nbadq)
241  return;
242  }
243 
244  int nn = 0;
245  // loop thru and fill the detIds with bad quality
246  // NOTE: Calibration Channels are skipped!
247  // TODO: Include for Online Calibration Channels marked as bad
248  // a comment below is left on purpose!
249  //_cBadQualityvsBX.fill(bx, creport->badQualityDigis());
250  for (std::vector<DetId>::const_iterator it=creport->bad_quality_begin();
251  it!=creport->bad_quality_end(); ++it)
252  {
253  // skip non HCAL det ids
254  if (!HcalGenericDetId(*it).isHcalDetId())
255  continue;
256 
257  // skip those that are of bad quality from conditions
258  // Masked or Dead
259  if (_xQuality.exists(HcalDetId(*it)))
260  {
261  HcalChannelStatus cs(it->rawId(), _xQuality.get(HcalDetId(*it)));
262  if (cs.isBitSet(HcalChannelStatus::HcalCellMask) ||
264  continue;
265  }
266 
267  nn++;
270  // ONLINE ONLY!
271  if (_ptype==fOnline)
272  _xBadQLS.get(eid)++;
273  if (_ptype != fOffline) { // hidefed2crate
274  if (eid.isVMEid())
275  {
276  if (_filter_FEDsVME.filter(eid))
277  continue;
279  }
280  else
281  {
282  if (_filter_FEDsuTCA.filter(eid))
283  continue;
285  }
286  }
287  }
289  _cBadQualityvsBX.fill(bx, nn);
290 
291  if (_ptype != fOffline) { // hidefed2crate
293  // skip nonHCAL FEDs
294  if ((fed>FEDNumbering::MAXHCALFEDID &&
297  continue;
298  FEDRawData const& raw = craw->FEDData(fed);
299  if (raw.size()<constants::RAW_EMPTY)
300  continue;
301 
302  if (fed<=FEDNumbering::MAXHCALFEDID) // VME
303  {
304  HcalDCCHeader const* hdcc = (HcalDCCHeader const*)(raw.data());
305  if (!hdcc)
306  continue;
307 
308  uint32_t bcn = hdcc->getBunchId();
309  uint32_t orn = hdcc->getOrbitNumber() & 0x1F; // LS 5 bits only
310  uint32_t evn = hdcc->getDCCEventNumber();
312 
313  /* online only */
314  if (_ptype==fOnline)
315  {
318  if (_filter_FEDsVME.filter(eid))
319  continue;
320  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size())/1024.);
321  }
322 
323  // iterate over spigots
324  HcalHTRData htr;
325  for (int is=0; is<HcalDCCHeader::SPIGOT_COUNT; is++)
326  {
327  int r = hdcc->getSpigotData(is, htr, raw.size());
328  if (r!=0 || !htr.check())
329  continue;
332  is, dccId);
333  if (_filter_FEDsVME.filter(eid))
334  continue;
335 
336  uint32_t htr_evn = htr.getL1ANumber();
337  uint32_t htr_orn = htr.getOrbitNumber();
338  uint32_t htr_bcn = htr.getBunchNumber();
339  bool qevn = (htr_evn!=evn);
340  bool qbcn = (htr_bcn!=bcn);
341  bool qorn = (htr_orn!=orn);
342  if (qevn)
343  {
345 
347  _xEvnMsmLS.get(eid)++;
348  }
349  if (qorn)
350  {
352 
354  _xOrnMsmLS.get(eid)++;
355  }
356  if (qbcn)
357  {
359 
361  _xBcnMsmLS.get(eid)++;
362  }
363  }
364  }
365  else // uTCA
366  {
367  hcal::AMC13Header const* hamc13 = (hcal::AMC13Header const*)
368  raw.data();
369  if (!hamc13)
370  continue;
371 
372  /* online only */
373  if (_ptype==fOnline)
374  {
375  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(fed);
376  HcalElectronicsId eid = HcalElectronicsId(cspair.first,
377  cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false);
378  if (_filter_FEDsuTCA.filter(eid))
379  continue;
380  _cDataSizevsLS_FED.fill(eid, _currentLS, double(raw.size())/1024.);
381  }
382 
383  uint32_t bcn = hamc13->bunchId();
384  uint32_t orn = hamc13->orbitNumber() & 0xFFFF; // LS 16bits only
385  uint32_t evn = hamc13->l1aNumber();
386  int namc = hamc13->NAMC();
387 
388  for (int iamc=0; iamc<namc; iamc++)
389  {
390  int slot = hamc13->AMCSlot(iamc);
391  int crate = hamc13->AMCId(iamc)&0xFF;
393  FIBERCH_MIN, false);
394  if (_filter_FEDsuTCA.filter(eid))
395  continue;
396  HcalUHTRData uhtr(hamc13->AMCPayload(iamc),
397  hamc13->AMCSize(iamc));
398 
399  uint32_t uhtr_evn = uhtr.l1ANumber();
400  uint32_t uhtr_bcn = uhtr.bunchNumber();
401  uint32_t uhtr_orn = uhtr.orbitNumber();
402  bool qevn = (uhtr_evn!=evn);
403  bool qbcn = (uhtr_bcn!=bcn);
404  bool qorn = (uhtr_orn!=orn);
405  if (qevn)
406  {
408 
409  if (_ptype==fOnline)
410  _xEvnMsmLS.get(eid)++;
411  }
412  if (qorn)
413  {
415 
416  if (_ptype==fOnline)
417  _xOrnMsmLS.get(eid)++;
418  }
419  if (qbcn)
420  {
422 
423  if (_ptype==fOnline)
424  _xBcnMsmLS.get(eid)++;
425  }
426  }
427  }
428  }
429  }
430 }
int const RAW_EMPTY
Definition: Constants.h:268
virtual bool exists(HcalDetId const &)
Definition: ContainerXXX.h:265
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:12
bool _calibProcessing
Definition: RawTask.h:61
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RawTask.h:58
unique_ptr< ClusterSequence > cs
hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA
Definition: RawTask.h:88
int const SPIGOT_MIN
Definition: Constants.h:136
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
Definition: RawTask.h:89
int l1aNumber() const
Definition: AMC13Header.h:19
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
int const FIBER_VME_MIN
Definition: Constants.h:141
unsigned int getOrbitNumber() const
Get the HTR orbit number.
Definition: HcalHTRData.cc:325
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
int const FIBERCH_MIN
Definition: Constants.h:151
int AMCSize(int i) const
Definition: AMC13Header.h:37
int const SPIGOT_MAX
Definition: Constants.h:137
hcaldqm::Container2D _cBadQuality_depth
Definition: RawTask.h:76
unsigned int getOrbitNumber() const
Definition: HcalDCCHeader.h:46
int getBunchId() const
Definition: HcalDCCHeader.h:34
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
Definition: RawTask.h:89
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
int bunchId() const
Definition: AMC13Header.h:17
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
hcaldqm::filter::HashFilter _filter_FEDsuTCA
Definition: RawTask.h:71
constexpr bool isVMEid() const
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
ContainerXXX< uint32_t > _xQuality
Definition: DQTask.h:62
int const FED_VME_MIN
Definition: Constants.h:98
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
DetIdVector::const_iterator bad_quality_begin() const
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
Definition: RawTask.h:89
Logger _logger
Definition: DQModule.h:70
edm::EDGetTokenT< HcalUnpackerReport > _tokReport
Definition: RawTask.h:44
edm::EDGetTokenT< FEDRawDataCollection > _tokFEDs
Definition: RawTask.h:43
bool isHcalDetId() const
hcaldqm::Container2D _cBadQuality_FEDuTCA
Definition: RawTask.h:75
hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA
Definition: RawTask.h:86
int getSourceId() const
Definition: HcalDCCHeader.h:32
unsigned int orbitNumber() const
Definition: AMC13Header.h:23
int _thresh_calib_nbadq
Definition: RawTask.h:62
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
Definition: RawTask.h:89
hcaldqm::Container2D _cBadQuality_FEDVME
Definition: RawTask.h:74
hcaldqm::Container2D _cBcnMsm_ElectronicsVME
Definition: RawTask.h:84
uint32_t l1ANumber() const
Get the HTR event number.
Definition: HcalUHTRData.h:84
hcaldqm::filter::HashFilter _filter_FEDsVME
Definition: RawTask.h:70
int badQualityDigis() const
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::ContainerSingleProf1D _cBadQualityvsLS
Definition: RawTask.h:78
hcaldqm::Container2D _cOrnMsm_ElectronicsVME
Definition: RawTask.h:85
edm::InputTag _tagFEDs
Definition: RawTask.h:41
int NAMC() const
Definition: AMC13Header.h:25
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19
hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA
Definition: RawTask.h:87
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
int AMCSlot(int i) const
Definition: AMC13Header.h:33
const uint64_t * AMCPayload(int i) const
Definition: AMC13Header.cc:4
hcaldqm::ContainerProf1D _cDataSizevsLS_FED
Definition: RawTask.h:80
unsigned int getBunchNumber() const
Get the HTR bunch number.
Definition: HcalHTRData.h:115
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
void fill(HcalDetId const &) override
Definition: Container2D.cc:58
virtual bool filter(HcalDetId const &) const
Definition: HashFilter.cc:38
edm::InputTag _tagReport
Definition: RawTask.h:42
hcaldqm::ContainerSingleProf1D _cBadQualityvsBX
Definition: RawTask.h:79
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:83
unsigned long getDCCEventNumber() const
Definition: HcalDCCHeader.h:36
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
DetIdVector::const_iterator bad_quality_end() const
void RawTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprotectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 211 of file RawTask.cc.

Referenced by ~RawTask().

212 {
213  // base reset
214  DQTask::_resetMonitors(uf);
215 }
void RawTask::beginLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 432 of file RawTask.cc.

References hcaldqm::DQModule::_ptype, and hcaldqm::fOnline.

Referenced by ~RawTask().

434 {
435  DQTask::beginLuminosityBlock(lb, es);
436 
437 // _cBadQualityvsLS.extendAxisRange(_currentLS);
438 
439  // ONLINE ONLY!
440  if (_ptype!=fOnline)
441  return;
442 // _cSummaryvsLS_FED.extendAxisRange(_currentLS);
443 // _cSummaryvsLS.extendAxisRange(_currentLS);
444 
445 }
ProcessingType _ptype
Definition: DQModule.h:59
void RawTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
override

Definition at line 29 of file RawTask.cc.

References _cBadQuality_depth, _cBadQuality_FEDuTCA, _cBadQuality_FEDVME, _cBadQualityvsBX, _cBadQualityvsLS, _cBcnMsm_ElectronicsuTCA, _cBcnMsm_ElectronicsVME, _cDataSizevsLS_FED, _cEvnMsm_ElectronicsuTCA, _cEvnMsm_ElectronicsVME, _cOrnMsm_ElectronicsuTCA, _cOrnMsm_ElectronicsVME, _cSummaryvsLS, _cSummaryvsLS_FED, _ehashmap, hcaldqm::DQTask::_emap, _filter_FEDsuTCA, _filter_FEDsVME, _filter_uTCA, _filter_VME, hcaldqm::DQModule::_maxLS, hcaldqm::DQModule::_name, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _vflags, _vhashFEDs, _xBadQLS, _xBcnMsmLS, _xEvnMsmLS, _xOrnMsmLS, hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerSingleProf1D::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerSingle2D::book(), hcaldqm::Container2D::book(), bookHistograms(), hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, hcaldqm::quantity::fBX, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::quantity::fDataSize, hcaldqm::hashfunctions::fdepth, hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, hcaldqm::hashfunctions::fElectronics, hcaldqm::hashfunctions::fFED, hcaldqm::quantity::fFiberuTCAFiberCh, hcaldqm::quantity::fFiberVMEFiberCh, hcaldqm::filter::fFilter, hcaldqm::constants::FIBER_uTCA_MIN1, hcaldqm::constants::FIBER_VME_MIN, hcaldqm::constants::FIBERCH_MIN, hcaldqm::quantity::fieta, hcaldqm::quantity::fiphi, hcaldqm::quantity::fN, hcaldqm::quantity::fN_m0to10000, hcaldqm::fOffline, hcaldqm::fOnline, hcaldqm::filter::fPreserver, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSpigot, hcaldqm::quantity::fState, edm::EventSetup::get(), hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), HcalDbService::getHcalMapping(), hcaldqm::ContainerSingleProf1D::initialize(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), HcalElectronicsId::rawId(), hcaldqm::Container1D::setLumiFlag(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

Referenced by ~RawTask().

31 {
33 
34  // GET WHAT YOU NEED
36  es.get<HcalDbRecord>().get(dbs);
37  _emap = dbs->getHcalMapping();
38  std::vector<uint32_t> vVME;
39  std::vector<uint32_t> vuTCA;
43  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
45  vVME);
47  vuTCA);
48 
49  _cBadQualityvsLS.initialize(_name, "BadQualityvsLS",
52  _cBadQualityvsBX.initialize(_name, "BadQualityvsBX",
55  _cBadQuality_depth.initialize(_name, "BadQuality",
60 
61  // FED-based plots
62  if (_ptype != fOffline) { // hidefed2crate
63  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
64  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
65  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
66 
67  std::vector<uint32_t> vhashFEDsVME;
68  std::vector<uint32_t> vhashFEDsuTCA;
69 
70  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
71  it!=vFEDsVME.end(); ++it)
72  {
73  vhashFEDsVME.push_back(HcalElectronicsId(constants::FIBERCH_MIN,
75  (*it)-constants::FED_VME_MIN).rawId());
78  (*it)-constants::FED_VME_MIN).rawId());
79  }
80  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
81  it!=vFEDsuTCA.end(); ++it)
82  {
83  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
84  vhashFEDsuTCA.push_back(HcalElectronicsId(
85  cspair.first, cspair.second, FIBER_uTCA_MIN1,
86  FIBERCH_MIN, false).rawId());
87  _vhashFEDs.push_back(HcalElectronicsId(
88  cspair.first, cspair.second, FIBER_uTCA_MIN1,
89  FIBERCH_MIN, false).rawId());
90  }
92  hcaldqm::hashfunctions::fFED, vhashFEDsVME);
94  hcaldqm::hashfunctions::fFED, vhashFEDsuTCA);
95 
96  // INITIALIZE FIRST
99  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
104  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
109  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
114  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
119  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
124  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
127 
128  // Bad Quality
129  _cBadQuality_FEDVME.initialize(_name, "BadQuality",
134  _cBadQuality_FEDuTCA.initialize(_name, "BadQuality",
139 
140  // Online only
141  if (_ptype==fOnline)
142  {
147  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
152  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
156  // FED Size vs LS
157  _cDataSizevsLS_FED.initialize(_name, "DataSizevsLS",
161  }
162 
163  }
164 
165 
166  // BOOK HISTOGRAMS
167  if (_ptype != fOffline) {
174 
177  }
181 
182  // BOOK HISTOGRAMS to be used in ONLINE ONLY!
183  if (_ptype==fOnline)
184  {
192  }
193 
194  // FOR OFFLINE PROCESSING MARK THESE HISTOGRAMS AS LUMI BASED
195  if (_ptype==fOffline)
196  {
197  if (_ptype != fOffline) { // hidefed2crate
198  // Note that this is deliberately contradictory for the fed2crate fix, so it can be reversed if fed2crate is ever fixed properly,
203  }
205  }
206 
207  // initialize hash map
209 }
void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *, int debug=0) override
constexpr uint32_t rawId() const
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RawTask.h:91
int const CRATE_VME_MIN
Definition: Constants.h:111
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:12
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RawTask.h:58
hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA
Definition: RawTask.h:88
virtual void initialize(std::string const &folder, quantity::Quantity *, quantity::Quantity *, quantity::Quantity *qz=new quantity::ValueQuantity(quantity::fN), int debug=0)
virtual example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
int const SPIGOT_MIN
Definition: Constants.h:136
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
Definition: RawTask.h:89
int const FIBER_VME_MIN
Definition: Constants.h:141
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:151
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:119
hcaldqm::Container2D _cBadQuality_depth
Definition: RawTask.h:76
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RawTask.h:92
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
Definition: RawTask.h:89
ProcessingType _ptype
Definition: DQModule.h:59
hcaldqm::filter::HashFilter _filter_FEDsuTCA
Definition: RawTask.h:71
std::vector< uint32_t > _vhashFEDs
Definition: RawTask.h:65
int const FED_VME_MIN
Definition: Constants.h:98
int const FIBER_uTCA_MIN1
Definition: Constants.h:144
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
Definition: RawTask.h:89
std::string _name
Definition: DQModule.h:57
HcalElectronicsMap const * _emap
Definition: DQTask.h:73
hcaldqm::Container2D _cBadQuality_FEDuTCA
Definition: RawTask.h:75
int const CRATE_uTCA_MIN
Definition: Constants.h:116
hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA
Definition: RawTask.h:86
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RawTask.h:69
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
Definition: RawTask.h:89
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:97
hcaldqm::Container2D _cBadQuality_FEDVME
Definition: RawTask.h:74
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:31
void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="") override
hcaldqm::Container2D _cBcnMsm_ElectronicsVME
Definition: RawTask.h:84
hcaldqm::filter::HashFilter _filter_FEDsVME
Definition: RawTask.h:70
hcaldqm::ContainerSingleProf1D _cBadQualityvsLS
Definition: RawTask.h:78
hcaldqm::Container2D _cOrnMsm_ElectronicsVME
Definition: RawTask.h:85
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RawTask.h:47
hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA
Definition: RawTask.h:87
virtual void setLumiFlag()
Definition: Container1D.cc:998
hcaldqm::ContainerProf1D _cDataSizevsLS_FED
Definition: RawTask.h:80
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:95
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:145
const HcalElectronicsMap * getHcalMapping() const
virtual void initialize(FilterType ftype, hashfunctions::HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:28
std::string _subsystem
Definition: DQModule.h:64
hcaldqm::filter::HashFilter _filter_VME
Definition: RawTask.h:68
hcaldqm::ContainerSingleProf1D _cBadQualityvsBX
Definition: RawTask.h:79
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:89
void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="") override
Definition: Container2D.cc:894
hcaldqm::Container2D _cEvnMsm_ElectronicsVME
Definition: RawTask.h:83
Readout chain identification for Hcal.
int const SLOT_uTCA_MIN
Definition: Constants.h:123
void RawTask::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 447 of file RawTask.cc.

References _cSummaryvsLS, _cSummaryvsLS_FED, hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_evsPerLS, hcaldqm::DQModule::_ptype, hcaldqm::flag::Flag::_state, hcaldqm::DQTask::_vcdaqEids, _vflags, _vhashFEDs, _xBadQLS, _xBcnMsmLS, _xEvnMsmLS, _xOrnMsmLS, DEFINE_FWK_MODULE, runTauDisplay::eid, hcaldqm::flag::fBAD, fBadQ, fBcnMsm, fEvnMsm, hcaldqm::flag::fGOOD, spr::find(), hcaldqm::flag::fNCDAQ, hcaldqm::fOnline, fOrnMsm, hcaldqm::flag::fPROBLEMATIC, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::utilities::isFEDHBHE(), hcaldqm::utilities::isFEDHF(), hcaldqm::utilities::isFEDHO(), hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::Container2D::setBinContent(), and hcaldqm::ContainerSingle2D::setBinContent().

Referenced by ~RawTask().

449 {
450  if (_ptype!=fOnline)
451  return;
452 
453  //
454  // GENERATE STATUS ONLY FOR ONLINE!
455  //
456  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
457  it!=_vhashFEDs.end(); ++it)
458  {
459  flag::Flag fSum("RAW");
461 
462  std::vector<uint32_t>::const_iterator cit=std::find(
463  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
464  if (cit==_vcdaqEids.end())
465  {
466  // not @cDAQ
467  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
468  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
469  int(flag::fNCDAQ));
471  continue;
472  }
473 
474  // FED is @cDAQ
477  {
478  if (_xEvnMsmLS.get(eid)>0)
479  _vflags[fEvnMsm]._state = flag::fBAD;
480  else
481  _vflags[fEvnMsm]._state = flag::fGOOD;
482  if (_xBcnMsmLS.get(eid)>0)
483  _vflags[fBcnMsm]._state = flag::fBAD;
484  else
485  _vflags[fBcnMsm]._state = flag::fGOOD;
486  if (_xOrnMsmLS.get(eid)>0)
487  _vflags[fOrnMsm]._state = flag::fBAD;
488  else
489  _vflags[fOrnMsm]._state = flag::fGOOD;
490  if (double(_xBadQLS.get(eid))>double(12*_evsPerLS))
491  _vflags[fBadQ]._state = flag::fBAD;
492  else if (_xBadQLS.get(eid)>0)
493  _vflags[fBadQ]._state = flag::fPROBLEMATIC;
494  else
495  _vflags[fBadQ]._state = flag::fGOOD;
496  }
497 
498  int iflag=0;
499  // iterate over all flags:
500  // - sum them all up in summary flag for this FED
501  // - reset each flag right after using it
502  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
503  ft!=_vflags.end(); ++ft)
504  {
505  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
506  ft->_state);
507  fSum+=(*ft);
508  iflag++;
509 
510  // this is the MUST! We don't keep flags per FED, reset
511  // each one of them after using
512  ft->reset();
513  }
514  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
515  }
516 
517  // reset...
519 
520  // in the end always do the DQTask::endLumi
521  DQTask::endLuminosityBlock(lb, es);
522 }
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RawTask.h:91
hcaldqm::ContainerXXX< uint32_t > _xEvnMsmLS
Definition: RawTask.h:89
virtual void reset()
Definition: ContainerXXX.h:364
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RawTask.h:92
hcaldqm::ContainerXXX< uint32_t > _xBcnMsmLS
Definition: RawTask.h:89
ProcessingType _ptype
Definition: DQModule.h:59
virtual void setBinContent(int, int, int)
std::vector< uint32_t > _vhashFEDs
Definition: RawTask.h:65
hcaldqm::ContainerXXX< uint32_t > _xOrnMsmLS
Definition: RawTask.h:89
hcaldqm::ContainerXXX< uint32_t > _xBadQLS
Definition: RawTask.h:89
bool isFEDHBHE(HcalElectronicsId const &)
Definition: Utilities.cc:172
void setBinContent(HcalDetId const &, int) override
Definition: Container2D.cc:234
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RawTask.h:47
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:247
bool isFEDHO(HcalElectronicsId const &)
Definition: Utilities.cc:212
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:187

Member Data Documentation

bool RawTask::_calibProcessing
protected

Definition at line 61 of file RawTask.h.

Referenced by _process(), and RawTask().

hcaldqm::Container2D RawTask::_cBadQuality_depth
protected

Definition at line 76 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cBadQuality_FEDuTCA
protected

Definition at line 75 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cBadQuality_FEDVME
protected

Definition at line 74 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cBadQualityLS_depth
protected

Definition at line 77 of file RawTask.h.

hcaldqm::ContainerSingleProf1D RawTask::_cBadQualityvsBX
protected

Definition at line 79 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingleProf1D RawTask::_cBadQualityvsLS
protected

Definition at line 78 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cBcnMsm_ElectronicsuTCA
protected

Definition at line 87 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cBcnMsm_ElectronicsVME
protected

Definition at line 84 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RawTask::_cDataSizevsLS_FED
protected

Definition at line 80 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cEvnMsm_ElectronicsuTCA
protected

Definition at line 86 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cEvnMsm_ElectronicsVME
protected

Definition at line 83 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cOrnMsm_ElectronicsuTCA
protected

Definition at line 88 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RawTask::_cOrnMsm_ElectronicsVME
protected

Definition at line 85 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D RawTask::_cSummaryvsLS
protected

Definition at line 92 of file RawTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::Container2D RawTask::_cSummaryvsLS_FED
protected

Definition at line 91 of file RawTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::electronicsmap::ElectronicsMap RawTask::_ehashmap
protected

Definition at line 58 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::filter::HashFilter RawTask::_filter_FEDsuTCA
protected

Definition at line 71 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::filter::HashFilter RawTask::_filter_FEDsVME
protected

Definition at line 70 of file RawTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::filter::HashFilter RawTask::_filter_uTCA
protected

Definition at line 69 of file RawTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter RawTask::_filter_VME
protected

Definition at line 68 of file RawTask.h.

Referenced by bookHistograms().

edm::InputTag RawTask::_tagFEDs
protected

Definition at line 41 of file RawTask.h.

Referenced by _process(), and RawTask().

edm::InputTag RawTask::_tagReport
protected

Definition at line 42 of file RawTask.h.

Referenced by _process(), and RawTask().

int RawTask::_thresh_calib_nbadq
protected

Definition at line 62 of file RawTask.h.

Referenced by _process(), and RawTask().

edm::EDGetTokenT<FEDRawDataCollection> RawTask::_tokFEDs
protected

Definition at line 43 of file RawTask.h.

Referenced by _process(), and RawTask().

edm::EDGetTokenT<HcalUnpackerReport> RawTask::_tokReport
protected

Definition at line 44 of file RawTask.h.

Referenced by _process(), and RawTask().

std::vector<hcaldqm::flag::Flag> RawTask::_vflags
protected

Definition at line 47 of file RawTask.h.

Referenced by bookHistograms(), endLuminosityBlock(), and RawTask().

std::vector<uint32_t> RawTask::_vhashFEDs
protected

Definition at line 65 of file RawTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RawTask::_xBadQLS
protected

Definition at line 89 of file RawTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RawTask::_xBcnMsmLS
protected

Definition at line 89 of file RawTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RawTask::_xEvnMsmLS
protected

Definition at line 89 of file RawTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RawTask::_xOrnMsmLS
protected

Definition at line 89 of file RawTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().