CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
GEMDQMStatusDigi Class Reference
Inheritance diagram for GEMDQMStatusDigi:

Public Member Functions

 GEMDQMStatusDigi (const edm::ParameterSet &cfg)
 
 ~GEMDQMStatusDigi () override
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void bookHistogramsAMCPart (DQMStore::IBooker &)
 
void bookHistogramsChamberPart (DQMStore::IBooker &, GEMDetId &)
 
void bookHistogramsStationPart (DQMStore::IBooker &, GEMDetId &)
 
Int_t seekIdx (std::vector< GEMDetId > &listLayers, UInt_t unId)
 
void seekIdxSummary (GEMDetId gid, Int_t &nIdxLayer, Int_t &nIdxChamber)
 
int SetInfoChambers ()
 

Private Member Functions

void AddLabel ()
 
Bool_t FillBits (MonitorElement *monitor, uint64_t unVal, int nNumBits)
 
Bool_t FillBits (MonitorElement *monitor, uint64_t unVal, int nNumBits, int nY)
 
const GEMGeometryinitGeometry (edm::EventSetup const &iSetup)
 
std::string suffixChamber (GEMDetId &id)
 
std::string suffixLayer (GEMDetId &id)
 

Private Attributes

int amcStatusBit_ = 7
 
bool bDebugMode_
 
bool bFlipSummary_
 
bool bPerSuperchamber_
 
int cBit_ = 9
 
int eBit_ = 17
 
int fVFATBit_ = 4
 
std::vector< GEMChambergemChambers_
 
const GEMGeometryGEMGeometry_
 
std::shared_ptr< GEMROMappingGEMROMapping_
 
MonitorElementh1_amc_buffState_
 
MonitorElementh1_amc_chTimeOut_
 
MonitorElementh1_amc_davCnt_
 
MonitorElementh1_amc_oosGlib_
 
MonitorElementh1_amc_ttsState_
 
MonitorElementh1_vfat_qualityflag_
 
MonitorElementh2_vfat_qualityflag_
 
MonitorElementh2AMCStatus_
 
MonitorElementh3SummaryStatusPre_
 
std::vector< Int_t > listAMCSlots_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBbcOH_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBecOH_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBInputID_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBInputStatus_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBOHCRC_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBVFATWordCnt_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBVFATWordCntT_
 
std::unordered_map< UInt_t, MonitorElement * > listGEBZeroSupWordsCnt_
 
std::unordered_map< UInt_t, MonitorElement * > listVFATBC_
 
std::unordered_map< UInt_t, MonitorElement * > listVFATEC_
 
std::unordered_map< UInt_t, MonitorElement * > listVFATQualityFlag_
 
std::vector< GEMDetIdm_listChambers
 
std::vector< GEMDetIdm_listLayers
 
std::unordered_map< UInt_t, Bool_t > m_mapStatusErr
 
std::unordered_map< UInt_t, Bool_t > m_mapStatusFill
 
const Int_t m_nIdxSummaryErr = 2
 
const Int_t m_nIdxSummaryFill = 1
 
MonitorElementm_summaryReport_
 
int nIdxFirstStrip_
 
int nNBxBin_
 
int nNBxRange_
 
int nNCh_
 
int qVFATBit_ = 5
 
std::string strFmtSummaryLabel_
 
edm::EDGetToken tagAMC_
 
edm::EDGetToken tagDigi_
 
edm::EDGetToken tagGEB_
 
edm::EDGetToken tagVFAT_
 

Detailed Description

Definition at line 32 of file GEMDQMStatusDigi.cc.

Constructor & Destructor Documentation

◆ GEMDQMStatusDigi()

GEMDQMStatusDigi::GEMDQMStatusDigi ( const edm::ParameterSet cfg)

Definition at line 143 of file GEMDQMStatusDigi.cc.

143  {
144  tagVFAT_ = consumes<GEMVfatStatusDigiCollection>(cfg.getParameter<edm::InputTag>("VFATInputLabel"));
145  tagGEB_ = consumes<GEMGEBdataCollection>(cfg.getParameter<edm::InputTag>("GEBInputLabel"));
146  tagAMC_ = consumes<GEMAMCdataCollection>(cfg.getParameter<edm::InputTag>("AMCInputLabel"));
147  tagDigi_ = consumes<GEMDigiCollection>(cfg.getParameter<edm::InputTag>("digisInputLabel"));
148 
149  listAMCSlots_ = cfg.getParameter<std::vector<int>>("AMCSlots");
150 
151  strFmtSummaryLabel_ = cfg.getParameter<std::string>("summaryLabelFmt");
152  bFlipSummary_ = cfg.getParameter<bool>("flipSummary");
153  bPerSuperchamber_ = cfg.getParameter<bool>("perSuperchamber");
154 
155  nIdxFirstStrip_ = cfg.getParameter<int>("idxFirstStrip");
156 
157  nNBxRange_ = cfg.getParameter<int>("bxRange");
158  nNBxBin_ = cfg.getParameter<int>("bxBin");
159 
160  bDebugMode_ = cfg.getParameter<bool>("debugMode");
161 }

References looper::cfg, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~GEMDQMStatusDigi()

GEMDQMStatusDigi::~GEMDQMStatusDigi ( )
inlineoverride

Definition at line 35 of file GEMDQMStatusDigi.cc.

35 {};

Member Function Documentation

◆ AddLabel()

void GEMDQMStatusDigi::AddLabel ( )
private

◆ analyze()

void GEMDQMStatusDigi::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotected

Definition at line 574 of file GEMDQMStatusDigi.cc.

574  {
575  Bool_t bIsNotEmpty = true;
576 
581 
582  event.getByToken(tagVFAT_, gemVFAT);
583  event.getByToken(tagGEB_, gemGEB);
584  event.getByToken(tagAMC_, gemAMC);
585  event.getByToken(tagDigi_, gemDigis);
586 
587  for (GEMVfatStatusDigiCollection::DigiRangeIterator vfatIt = gemVFAT->begin(); vfatIt != gemVFAT->end(); ++vfatIt) {
588  GEMDetId gemid = (*vfatIt).first;
589  GEMDetId gemchId = gemid.chamberId();
590  GEMDetId gemOnlychId(0, 1, 1, (bPerSuperchamber_ ? 0 : gemid.layer()), gemid.chamber(), 0);
591 
592  int nIdx = seekIdx(m_listChambers, gemOnlychId);
593  int nRoll = gemid.roll();
594  const GEMVfatStatusDigiCollection::Range &range = (*vfatIt).second;
595 
596  for (auto vfatStat = range.first; vfatStat != range.second; ++vfatStat) {
597  bIsNotEmpty = true;
598 
599  uint64_t unQFVFAT = vfatStat->quality() /* | (vfatStat->flag() << qVFATBit_)*/;
600  if ((unQFVFAT & ~0x1) == 0) {
601  unQFVFAT |= 0x1; // If no error, then it should be 'Good'
602  } else { // Error!!
603  Int_t nIdxLayer, nIdxChamber;
604  seekIdxSummary(gemchId, nIdxLayer, nIdxChamber);
605  h3SummaryStatusPre_->setBinContent(nIdxChamber, nIdxLayer, m_nIdxSummaryErr, 1.0);
606  }
607 
609  FillBits(h2_vfat_qualityflag_, unQFVFAT, qVFATBit_ + fVFATBit_, nIdx); // They could be there
610 
611  int nVFAT = (GEMeMap::maxEtaPartition_ - nRoll) + GEMeMap::maxEtaPartition_ * vfatStat->phi();
612  bIsNotEmpty = FillBits(listVFATQualityFlag_[gemchId], unQFVFAT, qVFATBit_ + fVFATBit_, nVFAT);
613 
614  if (!bIsNotEmpty) {
615  edm::LogError("BadGeometry") << "Wrong detId which is not in the current geometry (VFAT status): " << gemchId
616  << std::endl;
617  continue;
618  }
619 
620  listVFATEC_[gemchId]->Fill(vfatStat->ec(), nVFAT);
621  }
622  }
623 
624  for (GEMGEBdataCollection::DigiRangeIterator gebIt = gemGEB->begin(); gebIt != gemGEB->end(); ++gebIt) {
625  GEMDetId gemid = (*gebIt).first;
626  GEMDetId lid(gemid.region(), gemid.ring(), gemid.station(), (bPerSuperchamber_ ? gemid.layer() : 0), 0, 0);
627  GEMDetId chid(0, 1, 1, (bPerSuperchamber_ ? 0 : gemid.layer()), gemid.chamber(), 0);
628 
629  Int_t nCh = seekIdx(m_listChambers, chid);
630 
631  const GEMGEBdataCollection::Range &range = (*gebIt).second;
632  for (auto GEBStatus = range.first; GEBStatus != range.second; ++GEBStatus) {
633  bIsNotEmpty = true;
634 
635  uint64_t unBit = 1;
636  uint64_t unStatus = 0;
637 
638  unStatus |= (GEBStatus->bxmVvV() << unBit++);
639  unStatus |= (GEBStatus->bxmAvV() << unBit++);
640  unStatus |= (GEBStatus->oOScVvV() << unBit++);
641  unStatus |= (GEBStatus->oOScAvV() << unBit++);
642  unStatus |= (GEBStatus->noVFAT() << unBit++);
643  unStatus |= (GEBStatus->evtSzW() << unBit++);
644  unStatus |= (GEBStatus->l1aNF() << unBit++);
645  unStatus |= (GEBStatus->inNF() << unBit++);
646  unStatus |= (GEBStatus->evtNF() << unBit++);
647  unStatus |= (GEBStatus->evtSzOFW() << unBit++);
648  unStatus |= (GEBStatus->l1aF() << unBit++);
649  unStatus |= (GEBStatus->inF() << unBit++);
650  unStatus |= (GEBStatus->evtF() << unBit++);
651  unStatus |= (GEBStatus->inUfw() << unBit++);
652  unStatus |= (GEBStatus->stuckData() << unBit++);
653  unStatus |= (GEBStatus->evUfw() << unBit++);
654 
655  if (unStatus != 0) { // Error!
656  Int_t nIdxLayer, nIdxChamber;
657  seekIdxSummary(gemid, nIdxLayer, nIdxChamber);
658  h3SummaryStatusPre_->setBinContent(nIdxChamber, nIdxLayer, m_nIdxSummaryErr, 1.0);
659  } else {
660  unStatus = 0x01; // Good
661  }
662 
663  bIsNotEmpty = FillBits(listGEBInputStatus_[lid], unStatus, eBit_, nCh);
664 
665  if (!bIsNotEmpty) {
666  edm::LogError("BadGeometry") << "Wrong detId which is not in the current geometry (GEB status): " << lid
667  << std::endl;
668  continue;
669  }
670 
671  listGEBInputID_[lid]->Fill(nCh, GEBStatus->inputID());
672  listGEBVFATWordCnt_[lid]->Fill(nCh, GEBStatus->vfatWordCnt() / 3);
673  listGEBVFATWordCntT_[lid]->Fill(nCh, GEBStatus->vfatWordCntT() / 3);
674  listGEBZeroSupWordsCnt_[lid]->Fill(nCh, GEBStatus->zeroSupWordsCnt());
675 
676  if (bDebugMode_) {
677  listGEBbcOH_[lid]->Fill(nCh, GEBStatus->bcOH());
678  listGEBecOH_[lid]->Fill(nCh, GEBStatus->ecOH());
679  listGEBOHCRC_[lid]->Fill(nCh, GEBStatus->crc());
680  }
681  }
682  }
683 
684  auto findAMCIdx = [this](Int_t nAMCnum) -> Int_t {
685  for (Int_t i = 0; i < (Int_t)listAMCSlots_.size(); i++)
686  if (listAMCSlots_[i] == nAMCnum)
687  return i;
688  return -1;
689  };
690 
691  for (GEMAMCdataCollection::DigiRangeIterator amcIt = gemAMC->begin(); amcIt != gemAMC->end(); ++amcIt) {
692  const GEMAMCdataCollection::Range &range = (*amcIt).second;
693  for (auto amc = range.first; amc != range.second; ++amc) {
694  Int_t nIdAMC = findAMCIdx(amc->amcNum());
695  uint64_t unBit = 1;
696  uint64_t unStatus = 0;
697 
698  unStatus |= (!amc->bc0locked() << unBit++);
699  unStatus |= (!amc->daqReady() << unBit++);
700  unStatus |= (!amc->daqClockLocked() << unBit++);
701  unStatus |= (!amc->mmcmLocked() << unBit++);
702  unStatus |= (amc->backPressure() << unBit++);
703  unStatus |= (amc->oosGlib() << unBit++);
704 
705  if (unStatus == 0) {
706  unStatus = 0x01; // Good
707  }
708 
709  FillBits(h2AMCStatus_, unStatus, amcStatusBit_, nIdAMC);
710 
711  h1_amc_ttsState_->Fill(amc->ttsState());
712  h1_amc_davCnt_->Fill(amc->davCnt());
713  h1_amc_buffState_->Fill(amc->buffState());
714  h1_amc_oosGlib_->Fill(amc->oosGlib());
715  h1_amc_chTimeOut_->Fill(amc->linkTo());
716  }
717  }
718 
719  auto findVFATByStrip = [](GEMDetId gid, Int_t nIdxStrip, Int_t nNumStrips) -> Int_t {
720  Int_t nNumEtaPart = GEMeMap::maxEtaPartition_;
721 
722  // Strip: Start at 0
723  if (gid.station() == 1) { // GE1/1
724  Int_t nNumVFAT = GEMeMap::maxVFatGE11_;
725  return nNumEtaPart * ((Int_t)(nIdxStrip / (nNumStrips / nNumVFAT)) + 1) - gid.roll();
726  } else if (gid.station() == 2) { // GE2/1
727  Int_t nNumVFAT = GEMeMap::maxVFatGE21_;
728  return nNumEtaPart * ((Int_t)(nIdxStrip / (nNumStrips / nNumVFAT)) + 1) - gid.roll();
729  }
730 
731  return -1;
732  };
733 
734  // Checking if there is a fire (data)
735  for (const auto &ch : gemChambers_) {
736  GEMDetId cId = ch.id();
737  Bool_t bIsHit = false;
738 
739  // Because every fired strip in a same VFAT shares a same bx, we keep bx from only one strip
740  std::unordered_map<Int_t, Int_t> mapBXVFAT;
741 
742  GEMDetId chIdDigi(cId.region(), cId.ring(), cId.station(), cId.layer(), cId.chamber(), 2);
743  GEMDetId chIdBx(cId.region(), cId.ring(), cId.station(), cId.layer(), cId.chamber(), 3);
744 
745  for (auto roll : ch.etaPartitions()) {
746  GEMDetId rId = roll->id();
747  const auto &digis_in_det = gemDigis->get(rId);
748 
749  for (auto d = digis_in_det.first; d != digis_in_det.second; ++d) {
750  Int_t nIdxStrip = d->strip() - nIdxFirstStrip_;
751  Int_t nVFAT = findVFATByStrip(rId, nIdxStrip, roll->nstrips());
752 
753  bIsHit = true;
754  mapBXVFAT[nVFAT] = d->bx();
755  }
756  }
757 
758  for (auto bx : mapBXVFAT)
759  listVFATBC_[cId]->Fill(bx.second, bx.first);
760 
761  if (bIsHit) { // Data occur!
762  Int_t nIdxLayer, nIdxChamber;
763  seekIdxSummary(cId, nIdxLayer, nIdxChamber);
764  h3SummaryStatusPre_->setBinContent(nIdxChamber, nIdxLayer, m_nIdxSummaryFill, 1.0);
765  }
766  }
767 }

References MuonDigiCollection< IndexType, DigiType >::begin(), simKBmtfDigis_cfi::bx, GEMDetId::chamber(), GEMDetId::chamberId(), ztail::d, MuonDigiCollection< IndexType, DigiType >::end(), mps_fire::i, GEMDetId::layer(), GEMeMap::maxEtaPartition_, GEMeMap::maxVFatGE11_, GEMeMap::maxVFatGE21_, FastTimerService_cff::range, GEMDetId::region(), GEMDetId::ring(), GEMDetId::roll(), GEMDetId::station(), and testProducerWithPsetDescEmpty_cfi::x1.

◆ bookHistograms()

void GEMDQMStatusDigi::bookHistograms ( DQMStore::IBooker &  ibooker,
edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overrideprotected

Definition at line 457 of file GEMDQMStatusDigi.cc.

457  {
458  // Start: Loading the GEM geometry
459 
460  GEMGeometry_ = initGeometry(iSetup);
461  if (GEMGeometry_ == nullptr)
462  return;
463 
464  SetInfoChambers();
465 
466  // End: Set the configurations
467 
468  // Start: Setting books
469 
470  ibooker.cd();
471  ibooker.setCurrentFolder("GEM/StatusDigi");
472 
473  for (const auto &ch : gemChambers_) {
474  GEMDetId gid = ch.id();
475  bookHistogramsChamberPart(ibooker, gid);
476  }
477 
478  for (auto lid : m_listLayers) {
479  bookHistogramsStationPart(ibooker, lid);
480  }
481 
482  bookHistogramsAMCPart(ibooker);
483 
484  h1_vfat_qualityflag_ = ibooker.book1D("vfat_quality_flag", "quality and flag", 9, 0, 9);
485  h2_vfat_qualityflag_ = ibooker.book2D("vfat_quality_flag_per_geb", "quality and flag", nNCh_, 0, nNCh_, 9, 0, 9);
486 
487  h1_amc_ttsState_ = ibooker.book1D("amc_ttsState", "ttsState", 10, 0, 10);
488  h1_amc_davCnt_ = ibooker.book1D("amc_davCnt", "davCnt", 10, 0, 10);
489  h1_amc_buffState_ = ibooker.book1D("amc_buffState", "buffState", 10, 0, 10);
490  h1_amc_oosGlib_ = ibooker.book1D("amc_oosGlib", "oosGlib", 10, 0, 10);
491  h1_amc_chTimeOut_ = ibooker.book1D("amc_chTimeOut", "chTimeOut", 10, 0, 10);
492 
493  ibooker.cd();
494  ibooker.setCurrentFolder("GEM/EventInfo");
495 
496  h3SummaryStatusPre_ = ibooker.book3D(
497  "reportSummaryMapPreliminary", ";Chamber;", nNCh_, 0, nNCh_, m_listLayers.size(), 0, m_listLayers.size(), 2, 0, 1);
498 
499  for (Int_t i = 0; i < nNCh_; i++) {
500  auto &gid = this->m_listChambers[i];
501  Int_t nCh = gid.chamber() + (bPerSuperchamber_ ? 0 : gid.layer() - 1);
502  h3SummaryStatusPre_->setBinLabel(i + 1, std::to_string(nCh), 1);
503  }
504 
505  Int_t nIdxLayer = 0;
506  std::unordered_map<std::string, Int_t> mapArg;
507 
508  // Start: Labeling section
509 
510  for (auto lid : m_listLayers) {
511  mapArg["station_signed"] = lid.region() * lid.station();
512  mapArg["region"] = lid.region();
513  mapArg["station"] = lid.station();
514  mapArg["layer"] = lid.layer();
515  mapArg["chamber"] = lid.chamber();
516 
518  nIdxLayer++;
519  }
520 }

References mps_fire::i, and printfWithMap().

◆ bookHistogramsAMCPart()

void GEMDQMStatusDigi::bookHistogramsAMCPart ( DQMStore::IBooker &  ibooker)
protected

Definition at line 395 of file GEMDQMStatusDigi.cc.

395  {
396  h2AMCStatus_ = ibooker.book2D("amc_statusflag",
397  "Status of AMC slots;AMC slot;",
398  listAMCSlots_.size(),
399  0,
400  listAMCSlots_.size(),
402  0,
403  amcStatusBit_);
404 
405  uint32_t unBinPos = 1;
406  h2AMCStatus_->setBinLabel(unBinPos++, "Good", 2);
407  h2AMCStatus_->setBinLabel(unBinPos++, "BC0 not locked", 2);
408  h2AMCStatus_->setBinLabel(unBinPos++, "DAQ not ready", 2);
409  h2AMCStatus_->setBinLabel(unBinPos++, "DAQ clock not locked", 2);
410  h2AMCStatus_->setBinLabel(unBinPos++, "MMCM not locked", 2);
411  h2AMCStatus_->setBinLabel(unBinPos++, "Back pressure", 2);
412  h2AMCStatus_->setBinLabel(unBinPos++, "GLIB out-of-sync", 2);
413 }

◆ bookHistogramsChamberPart()

void GEMDQMStatusDigi::bookHistogramsChamberPart ( DQMStore::IBooker &  ibooker,
GEMDetId gid 
)
protected

Definition at line 273 of file GEMDQMStatusDigi.cc.

273  {
274  std::string hName, hTitle;
275 
276  UInt_t unBinPos;
277 
278  std::string strIdxName = suffixChamber(gid);
279  std::string strIdxTitle = "GEMINIm" + to_string(gid.chamber()) + " in GE" + (gid.region() > 0 ? "+" : "-") +
280  to_string(gid.station()) + "/" + to_string(gid.layer());
281 
282  Int_t nVFAT = 0;
283  if (gid.station() == 1)
285  if (gid.station() == 2)
287 
288  hName = "vfatStatus_QualityFlag_" + strIdxName;
289  hTitle = "VFAT quality " + strIdxTitle;
290  hTitle += ";VFAT;";
291  listVFATQualityFlag_[gid] = ibooker.book2D(hName, hTitle, nVFAT, 0, nVFAT, 9, 0, 9);
292 
293  hName = "vfatStatus_BC_" + strIdxName;
294  hTitle = "VFAT bunch crossing " + strIdxTitle;
295  hTitle += ";Bunch crossing;VFAT";
296  listVFATBC_[gid] = ibooker.book2D(hName, hTitle, nNBxBin_, -nNBxRange_, nNBxRange_, nVFAT, 0, nVFAT);
297 
298  hName = "vfatStatus_EC_" + strIdxName;
299  hTitle = "VFAT event counter " + strIdxTitle;
300  hTitle += ";Event counter;VFAT";
301  listVFATEC_[gid] = ibooker.book2D(hName, hTitle, 256, 0, 256, nVFAT, 0, nVFAT);
302 
303  unBinPos = 1;
304  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "Good", 2);
305  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "CRC fail", 2);
306  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "b1010 fail", 2);
307  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "b1100 fail", 2);
308  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "b1110 fail", 2);
309  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "Hamming error", 2);
310  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "AFULL", 2);
311  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "SEUlogic", 2);
312  listVFATQualityFlag_[gid]->setBinLabel(unBinPos++, "SUEI2C", 2);
313 
314  m_mapStatusFill[gid] = false;
315  m_mapStatusErr[gid] = false;
316 }

References GEMDetId::chamber(), GEMDetId::layer(), GEMeMap::maxEtaPartition_, GEMeMap::maxVFatGE11_, GEMeMap::maxVFatGE21_, GEMDetId::region(), GEMDetId::station(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ bookHistogramsStationPart()

void GEMDQMStatusDigi::bookHistogramsStationPart ( DQMStore::IBooker &  ibooker,
GEMDetId lid 
)
protected

Definition at line 318 of file GEMDQMStatusDigi.cc.

318  {
319  UInt_t unBinPos;
320 
321  Int_t re = lid.region();
322  UInt_t st = lid.station();
323  UInt_t la = lid.layer();
324 
325  auto newbookGEB = [this](DQMStore::IBooker &ibooker,
326  std::string strName,
327  std::string strTitle,
328  std::string strAxis,
329  GEMDetId &lid,
330  int nLayer,
331  int nStation,
332  int re,
333  int nBin,
334  float fMin,
335  float fMax) -> MonitorElement * {
336  strName = strName + "_" + suffixLayer(lid);
337  strTitle = strTitle + ", station: " + (re >= 0 ? "+" : "-") + std::to_string(nStation);
338 
339  if (bPerSuperchamber_) {
340  strTitle += ", layer: " + std::to_string(nLayer);
341  }
342 
343  strTitle += ";Chamber;" + strAxis;
344 
345  auto hNew = ibooker.book2D(strName, strTitle, this->nNCh_, 0, this->nNCh_, nBin, fMin, fMax);
346 
347  for (Int_t i = 0; i < this->nNCh_; i++) {
348  auto &gid = this->m_listChambers[i];
349  Int_t nCh = gid.chamber() + (this->bPerSuperchamber_ ? 0 : gid.layer() - 1);
350  hNew->setBinLabel(i + 1, std::to_string(nCh), 1);
351  }
352 
353  return hNew;
354  };
355 
356  listGEBInputStatus_[lid] =
357  newbookGEB(ibooker, "geb_input_status", "inputStatus", "", lid, la, st, re, eBit_, 0, eBit_);
358  listGEBInputID_[lid] = newbookGEB(ibooker, "geb_input_ID", "inputID", "Input ID", lid, la, st, re, 32, 0, 32);
359  listGEBVFATWordCnt_[lid] =
360  newbookGEB(ibooker, "geb_no_vfats", "nvfats in header", "Number of VFATs in header", lid, la, st, re, 25, 0, 25);
361  listGEBVFATWordCntT_[lid] = newbookGEB(
362  ibooker, "geb_no_vfatsT", "nvfats in trailer", "Number of VFATs in trailer", lid, la, st, re, 25, 0, 25);
363  listGEBZeroSupWordsCnt_[lid] = newbookGEB(
364  ibooker, "geb_zeroSupWordsCnt", "zeroSupWordsCnt", "Zero sup. words count", lid, la, st, re, 10, 0, 10);
365 
366  if (bDebugMode_) {
367  listGEBbcOH_[lid] =
368  newbookGEB(ibooker, "geb_bcOH", "OH bunch crossing", "OH bunch crossing", lid, la, st, re, 3600, 0, 3600);
369  listGEBecOH_[lid] =
370  newbookGEB(ibooker, "geb_ecOH", "OH event coounter", "OH event counter", lid, la, st, re, 256, 0, 256);
371  listGEBOHCRC_[lid] =
372  newbookGEB(ibooker, "geb_OHCRC", "CRC of OH data", "CRC of OH data", lid, la, st, re, 65536, 0, 65536);
373  }
374 
375  unBinPos = 1;
376  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Good", 2);
377  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "BX mismatch GLIB OH", 2);
378  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "BX mismatch GLIB VFAT", 2);
379  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "OOS GLIB OH", 2);
380  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "OOS GLIB VFAT", 2);
381  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "No VFAT marker", 2);
382  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Event size warn", 2);
383  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "L1AFIFO near full", 2);
384  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "InFIFO near full", 2);
385  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "EvtFIFO near full", 2);
386  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Event size overflow", 2);
387  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "L1AFIFO full", 2);
388  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "InFIFO full", 2);
389  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "EvtFIFO full", 2);
390  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Input FIFO underflow", 2);
391  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Stuck data", 2);
392  listGEBInputStatus_[lid]->setBinLabel(unBinPos++, "Event FIFO underflow", 2);
393 }

References mps_fire::i, GEMDetId::layer(), PFElectronDQMAnalyzer_cfi::nBin, GEMDetId::region(), GEMDetId::station(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ FillBits() [1/2]

Bool_t GEMDQMStatusDigi::FillBits ( MonitorElement monitor,
uint64_t  unVal,
int  nNumBits 
)
private

Definition at line 522 of file GEMDQMStatusDigi.cc.

522  {
523  int i = 0;
524  uint64_t unFlag = 1;
525 
526  if (monitor == nullptr)
527  return false;
528 
529  for (; i < nNumBits; i++, unFlag <<= 1) {
530  if ((unVal & unFlag) != 0) {
531  monitor->Fill(i);
532  }
533  }
534 
535  return true;
536 }

References mps_fire::i, and beam_dqm_sourceclient-live_cfg::monitor.

◆ FillBits() [2/2]

Bool_t GEMDQMStatusDigi::FillBits ( MonitorElement monitor,
uint64_t  unVal,
int  nNumBits,
int  nY 
)
private

Definition at line 538 of file GEMDQMStatusDigi.cc.

538  {
539  int i = 0;
540  uint64_t unFlag = 1;
541 
542  if (monitor == nullptr)
543  return false;
544 
545  for (; i < nNumBits; i++, unFlag <<= 1) {
546  if ((unVal & unFlag) != 0) {
547  monitor->Fill(nX, i);
548  }
549  }
550 
551  return true;
552 }

References mps_fire::i, and beam_dqm_sourceclient-live_cfg::monitor.

◆ fillDescriptions()

void GEMDQMStatusDigi::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 163 of file GEMDQMStatusDigi.cc.

163  {
165  desc.add<edm::InputTag>("VFATInputLabel", edm::InputTag("muonGEMDigis", "vfatStatus"));
166  desc.add<edm::InputTag>("GEBInputLabel", edm::InputTag("muonGEMDigis", "gebStatus"));
167  desc.add<edm::InputTag>("AMCInputLabel", edm::InputTag("muonGEMDigis", "AMCdata"));
168  desc.add<edm::InputTag>("digisInputLabel", edm::InputTag("muonGEMDigis", ""));
169 
170  std::vector<int> listAMCSlotsDef = {0, 1, 2, 3, 4, 5, 6, 7};
171  desc.add<std::vector<int>>("AMCSlots", listAMCSlotsDef); // TODO: Find how to get this from the geometry
172 
173  desc.add<std::string>("summaryLabelFmt", "GE%(station_signed)+i/%(layer)i");
174  desc.add<bool>("flipSummary", false);
175  desc.add<bool>("perSuperchamber", true);
176 
177  desc.add<int>("idxFirstStrip", 0);
178 
179  desc.add<int>("bxRange", 10);
180  desc.add<int>("bxBin", 20);
181 
182  desc.add<bool>("debugMode", false);
183 
184  descriptions.add("GEMDQMStatusDigi", desc);
185 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ initGeometry()

const GEMGeometry * GEMDQMStatusDigi::initGeometry ( edm::EventSetup const &  iSetup)
private

Definition at line 127 of file GEMDQMStatusDigi.cc.

127  {
128  const GEMGeometry *GEMGeometry_ = nullptr;
129  try {
131  iSetup.get<MuonGeometryRecord>().get(hGeom);
132  GEMGeometry_ = &*hGeom;
134  edm::LogError("MuonGEMBaseValidation") << "+++ Error : GEM geometry is unavailable on event loop. +++\n";
135  return nullptr;
136  }
137  return GEMGeometry_;
138 }

References MillePedeFileConverter_cfg::e, edm::EventSetup::get(), and get.

◆ seekIdx()

Int_t GEMDQMStatusDigi::seekIdx ( std::vector< GEMDetId > &  listLayers,
UInt_t  unId 
)
protected

Definition at line 554 of file GEMDQMStatusDigi.cc.

554  {
555  if (unId < 256)
556  return -1;
557 
558  GEMDetId id(unId);
559  for (Int_t nIdx = 0; nIdx < (Int_t)listLayers.size(); nIdx++)
560  if (id == listLayers[nIdx])
561  return nIdx;
562  return -1;
563 }

References triggerObjects_cff::id.

◆ seekIdxSummary()

void GEMDQMStatusDigi::seekIdxSummary ( GEMDetId  gid,
Int_t &  nIdxLayer,
Int_t &  nIdxChamber 
)
protected

Definition at line 565 of file GEMDQMStatusDigi.cc.

565  {
566  Int_t nLayer = (bPerSuperchamber_ ? gid.layer() : 0);
567  GEMDetId layerId(gid.region(), gid.ring(), gid.station(), nLayer, 0, 0);
568  GEMDetId chamberId(0, 1, 1, gid.layer() - nLayer, gid.chamber(), 0);
569 
570  nIdxLayer = seekIdx(m_listLayers, layerId) + 1;
571  nIdxChamber = seekIdx(m_listChambers, chamberId) + 1;
572 }

References GEMDetId::chamber(), GEMDetId::layer(), GEMDetId::region(), GEMDetId::ring(), and GEMDetId::station().

◆ SetInfoChambers()

int GEMDQMStatusDigi::SetInfoChambers ( )
protected

Definition at line 197 of file GEMDQMStatusDigi.cc.

197  {
198  const std::vector<const GEMSuperChamber *> &superChambers_ = GEMGeometry_->superChambers();
199  for (auto sch : superChambers_) {
200  int nLayer = sch->nChambers();
201  for (int l = 0; l < nLayer; l++) {
202  Bool_t bExist = false;
203  for (const auto &ch : gemChambers_)
204  if (ch.id() == sch->chamber(l + 1)->id())
205  bExist = true;
206  if (bExist)
207  continue;
208 
209  gemChambers_.push_back(*sch->chamber(l + 1));
210  }
211  }
212 
213  // End: Loading the GEM geometry
214 
215  // Start: Set the configurations
216 
217  m_listLayers.clear();
218 
219  // Summarizing geometry configurations
220  for (const auto &ch : gemChambers_) {
221  GEMDetId gid = ch.id();
222 
223  GEMDetId layerID(gid.region(), gid.ring(), gid.station(), (bPerSuperchamber_ ? gid.layer() : 0), 0, 0);
224  Bool_t bOcc = false;
225 
226  for (auto lid : m_listLayers) {
227  if (lid == layerID) {
228  bOcc = true;
229  break;
230  }
231  }
232 
233  if (!bOcc)
234  m_listLayers.push_back(layerID);
235 
236  GEMDetId chamberID(0, 1, 1, (bPerSuperchamber_ ? 0 : gid.layer()), gid.chamber(), 0);
237  bOcc = false;
238 
239  for (auto cid : m_listChambers) {
240  if (cid == chamberID) {
241  bOcc = true;
242  break;
243  }
244  }
245 
246  if (!bOcc)
247  m_listChambers.push_back(chamberID);
248  }
249 
250  // Preliminary for sorting the summaries
251  auto lambdaLayer = [this](GEMDetId a, GEMDetId b) -> Bool_t {
252  Int_t nFlipSign = (this->bFlipSummary_ ? -1 : 1);
253  Int_t nA = nFlipSign * a.region() * (20 * a.station() + a.layer());
254  Int_t nB = nFlipSign * b.region() * (20 * b.station() + b.layer());
255  return nA > nB;
256  };
257 
258  auto lambdaChamber = [](GEMDetId a, GEMDetId b) -> Bool_t {
259  Int_t nA = 20 * a.chamber() + a.layer();
260  Int_t nB = 20 * b.chamber() + b.layer();
261  return nA < nB;
262  };
263 
264  // Sorting the summaries
265  std::sort(m_listLayers.begin(), m_listLayers.end(), lambdaLayer);
266  std::sort(m_listChambers.begin(), m_listChambers.end(), lambdaChamber);
267 
268  nNCh_ = (int)m_listChambers.size();
269 
270  return 0;
271 }

References a, b, GEMDetId::chamber(), cscd2r::chamberID(), createfilelist::int, cmsLHEtoEOSManager::l, GEMDetId::layer(), GEMDetId::region(), GEMDetId::ring(), and GEMDetId::station().

◆ suffixChamber()

std::string GEMDQMStatusDigi::suffixChamber ( GEMDetId id)
private

Definition at line 187 of file GEMDQMStatusDigi.cc.

187  {
188  return "Gemini_" + to_string(id.chamber()) + "_GE" + (id.region() > 0 ? "p" : "m") + to_string(id.station()) + "_" +
189  to_string(id.layer());
190 }

References relativeConstraints::chamber, and relativeConstraints::station.

◆ suffixLayer()

std::string GEMDQMStatusDigi::suffixLayer ( GEMDetId id)
private

Definition at line 192 of file GEMDQMStatusDigi.cc.

192  {
193  return std::string("st_") + (id.region() >= 0 ? "p" : "m") + std::to_string(id.station()) +
194  (bPerSuperchamber_ ? "_la_" + std::to_string(id.layer()) : "");
195 }

References relativeConstraints::station, and AlCaHLTBitMon_QueryRunRegistry::string.

Member Data Documentation

◆ amcStatusBit_

int GEMDQMStatusDigi::amcStatusBit_ = 7
private

Definition at line 74 of file GEMDQMStatusDigi.cc.

◆ bDebugMode_

bool GEMDQMStatusDigi::bDebugMode_
private

Definition at line 62 of file GEMDQMStatusDigi.cc.

◆ bFlipSummary_

bool GEMDQMStatusDigi::bFlipSummary_
private

Definition at line 82 of file GEMDQMStatusDigi.cc.

◆ bPerSuperchamber_

bool GEMDQMStatusDigi::bPerSuperchamber_
private

Definition at line 83 of file GEMDQMStatusDigi.cc.

◆ cBit_

int GEMDQMStatusDigi::cBit_ = 9
private

Definition at line 70 of file GEMDQMStatusDigi.cc.

◆ eBit_

int GEMDQMStatusDigi::eBit_ = 17
private

Definition at line 73 of file GEMDQMStatusDigi.cc.

◆ fVFATBit_

int GEMDQMStatusDigi::fVFATBit_ = 4
private

Definition at line 72 of file GEMDQMStatusDigi.cc.

◆ gemChambers_

std::vector<GEMChamber> GEMDQMStatusDigi::gemChambers_
private

Definition at line 66 of file GEMDQMStatusDigi.cc.

◆ GEMGeometry_

const GEMGeometry* GEMDQMStatusDigi::GEMGeometry_
private

Definition at line 64 of file GEMDQMStatusDigi.cc.

◆ GEMROMapping_

std::shared_ptr<GEMROMapping> GEMDQMStatusDigi::GEMROMapping_
private

Definition at line 65 of file GEMDQMStatusDigi.cc.

◆ h1_amc_buffState_

MonitorElement* GEMDQMStatusDigi::h1_amc_buffState_
private

Definition at line 119 of file GEMDQMStatusDigi.cc.

◆ h1_amc_chTimeOut_

MonitorElement* GEMDQMStatusDigi::h1_amc_chTimeOut_
private

Definition at line 121 of file GEMDQMStatusDigi.cc.

◆ h1_amc_davCnt_

MonitorElement* GEMDQMStatusDigi::h1_amc_davCnt_
private

Definition at line 118 of file GEMDQMStatusDigi.cc.

◆ h1_amc_oosGlib_

MonitorElement* GEMDQMStatusDigi::h1_amc_oosGlib_
private

Definition at line 120 of file GEMDQMStatusDigi.cc.

◆ h1_amc_ttsState_

MonitorElement* GEMDQMStatusDigi::h1_amc_ttsState_
private

Definition at line 117 of file GEMDQMStatusDigi.cc.

◆ h1_vfat_qualityflag_

MonitorElement* GEMDQMStatusDigi::h1_vfat_qualityflag_
private

Definition at line 95 of file GEMDQMStatusDigi.cc.

◆ h2_vfat_qualityflag_

MonitorElement* GEMDQMStatusDigi::h2_vfat_qualityflag_
private

Definition at line 96 of file GEMDQMStatusDigi.cc.

◆ h2AMCStatus_

MonitorElement* GEMDQMStatusDigi::h2AMCStatus_
private

Definition at line 122 of file GEMDQMStatusDigi.cc.

◆ h3SummaryStatusPre_

MonitorElement* GEMDQMStatusDigi::h3SummaryStatusPre_
private

Definition at line 114 of file GEMDQMStatusDigi.cc.

◆ listAMCSlots_

std::vector<Int_t> GEMDQMStatusDigi::listAMCSlots_
private

Definition at line 90 of file GEMDQMStatusDigi.cc.

◆ listGEBbcOH_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBbcOH_
private

Definition at line 107 of file GEMDQMStatusDigi.cc.

◆ listGEBecOH_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBecOH_
private

Definition at line 108 of file GEMDQMStatusDigi.cc.

◆ listGEBInputID_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBInputID_
private

Definition at line 103 of file GEMDQMStatusDigi.cc.

◆ listGEBInputStatus_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBInputStatus_
private

Definition at line 102 of file GEMDQMStatusDigi.cc.

◆ listGEBOHCRC_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBOHCRC_
private

Definition at line 109 of file GEMDQMStatusDigi.cc.

◆ listGEBVFATWordCnt_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBVFATWordCnt_
private

Definition at line 104 of file GEMDQMStatusDigi.cc.

◆ listGEBVFATWordCntT_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBVFATWordCntT_
private

Definition at line 105 of file GEMDQMStatusDigi.cc.

◆ listGEBZeroSupWordsCnt_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listGEBZeroSupWordsCnt_
private

Definition at line 106 of file GEMDQMStatusDigi.cc.

◆ listVFATBC_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listVFATBC_
private

Definition at line 99 of file GEMDQMStatusDigi.cc.

◆ listVFATEC_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listVFATEC_
private

Definition at line 100 of file GEMDQMStatusDigi.cc.

◆ listVFATQualityFlag_

std::unordered_map<UInt_t, MonitorElement *> GEMDQMStatusDigi::listVFATQualityFlag_
private

Definition at line 98 of file GEMDQMStatusDigi.cc.

◆ m_listChambers

std::vector<GEMDetId> GEMDQMStatusDigi::m_listChambers
private

Definition at line 93 of file GEMDQMStatusDigi.cc.

◆ m_listLayers

std::vector<GEMDetId> GEMDQMStatusDigi::m_listLayers
private

Definition at line 92 of file GEMDQMStatusDigi.cc.

◆ m_mapStatusErr

std::unordered_map<UInt_t, Bool_t> GEMDQMStatusDigi::m_mapStatusErr
private

Definition at line 112 of file GEMDQMStatusDigi.cc.

◆ m_mapStatusFill

std::unordered_map<UInt_t, Bool_t> GEMDQMStatusDigi::m_mapStatusFill
private

Definition at line 111 of file GEMDQMStatusDigi.cc.

◆ m_nIdxSummaryErr

const Int_t GEMDQMStatusDigi::m_nIdxSummaryErr = 2
private

Definition at line 115 of file GEMDQMStatusDigi.cc.

◆ m_nIdxSummaryFill

const Int_t GEMDQMStatusDigi::m_nIdxSummaryFill = 1
private

Definition at line 115 of file GEMDQMStatusDigi.cc.

◆ m_summaryReport_

MonitorElement* GEMDQMStatusDigi::m_summaryReport_
private

Definition at line 124 of file GEMDQMStatusDigi.cc.

◆ nIdxFirstStrip_

int GEMDQMStatusDigi::nIdxFirstStrip_
private

Definition at line 76 of file GEMDQMStatusDigi.cc.

◆ nNBxBin_

int GEMDQMStatusDigi::nNBxBin_
private

Definition at line 78 of file GEMDQMStatusDigi.cc.

◆ nNBxRange_

int GEMDQMStatusDigi::nNBxRange_
private

Definition at line 79 of file GEMDQMStatusDigi.cc.

◆ nNCh_

int GEMDQMStatusDigi::nNCh_
private

Definition at line 68 of file GEMDQMStatusDigi.cc.

◆ qVFATBit_

int GEMDQMStatusDigi::qVFATBit_ = 5
private

Definition at line 71 of file GEMDQMStatusDigi.cc.

◆ strFmtSummaryLabel_

std::string GEMDQMStatusDigi::strFmtSummaryLabel_
private

Definition at line 81 of file GEMDQMStatusDigi.cc.

◆ tagAMC_

edm::EDGetToken GEMDQMStatusDigi::tagAMC_
private

Definition at line 87 of file GEMDQMStatusDigi.cc.

◆ tagDigi_

edm::EDGetToken GEMDQMStatusDigi::tagDigi_
private

Definition at line 88 of file GEMDQMStatusDigi.cc.

◆ tagGEB_

edm::EDGetToken GEMDQMStatusDigi::tagGEB_
private

Definition at line 86 of file GEMDQMStatusDigi.cc.

◆ tagVFAT_

edm::EDGetToken GEMDQMStatusDigi::tagVFAT_
private

Definition at line 85 of file GEMDQMStatusDigi.cc.

GEMDQMStatusDigi::listGEBVFATWordCnt_
std::unordered_map< UInt_t, MonitorElement * > listGEBVFATWordCnt_
Definition: GEMDQMStatusDigi.cc:104
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
GEMDQMStatusDigi::h1_vfat_qualityflag_
MonitorElement * h1_vfat_qualityflag_
Definition: GEMDQMStatusDigi.cc:95
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
GEMDetId::ring
constexpr int ring() const
Definition: GEMDetId.h:170
GEMDQMStatusDigi::bFlipSummary_
bool bFlipSummary_
Definition: GEMDQMStatusDigi.cc:82
GEMDQMStatusDigi::bPerSuperchamber_
bool bPerSuperchamber_
Definition: GEMDQMStatusDigi.cc:83
GEMDQMStatusDigi::suffixLayer
std::string suffixLayer(GEMDetId &id)
Definition: GEMDQMStatusDigi.cc:192
GEMDQMStatusDigi::m_nIdxSummaryFill
const Int_t m_nIdxSummaryFill
Definition: GEMDQMStatusDigi.cc:115
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:184
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:165
GEMDQMStatusDigi::strFmtSummaryLabel_
std::string strFmtSummaryLabel_
Definition: GEMDQMStatusDigi.cc:81
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMDQMStatusDigi::qVFATBit_
int qVFATBit_
Definition: GEMDQMStatusDigi.cc:71
GEMDQMStatusDigi::h1_amc_oosGlib_
MonitorElement * h1_amc_oosGlib_
Definition: GEMDQMStatusDigi.cc:120
GEMDQMStatusDigi::h1_amc_chTimeOut_
MonitorElement * h1_amc_chTimeOut_
Definition: GEMDQMStatusDigi.cc:121
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
GEMDQMStatusDigi::listVFATBC_
std::unordered_map< UInt_t, MonitorElement * > listVFATBC_
Definition: GEMDQMStatusDigi.cc:99
GEMDQMStatusDigi::bookHistogramsStationPart
void bookHistogramsStationPart(DQMStore::IBooker &, GEMDetId &)
Definition: GEMDQMStatusDigi.cc:318
GEMDQMStatusDigi::amcStatusBit_
int amcStatusBit_
Definition: GEMDQMStatusDigi.cc:74
GEMDQMStatusDigi::gemChambers_
std::vector< GEMChamber > gemChambers_
Definition: GEMDQMStatusDigi.cc:66
edm::Handle
Definition: AssociativeIterator.h:50
GEMDQMStatusDigi::m_nIdxSummaryErr
const Int_t m_nIdxSummaryErr
Definition: GEMDQMStatusDigi.cc:115
PFElectronDQMAnalyzer_cfi.nBin
nBin
Definition: PFElectronDQMAnalyzer_cfi.py:25
GEMDQMStatusDigi::SetInfoChambers
int SetInfoChambers()
Definition: GEMDQMStatusDigi.cc:197
simKBmtfDigis_cfi.bx
bx
Definition: simKBmtfDigis_cfi.py:55
GEMDQMStatusDigi::listGEBInputID_
std::unordered_map< UInt_t, MonitorElement * > listGEBInputID_
Definition: GEMDQMStatusDigi.cc:103
GEMeMap::maxVFatGE21_
static const int maxVFatGE21_
Definition: GEMeMap.h:68
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
GEMDQMStatusDigi::bookHistogramsAMCPart
void bookHistogramsAMCPart(DQMStore::IBooker &)
Definition: GEMDQMStatusDigi.cc:395
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
GEMDQMStatusDigi::nNBxBin_
int nNBxBin_
Definition: GEMDQMStatusDigi.cc:78
GEMDQMStatusDigi::listGEBVFATWordCntT_
std::unordered_map< UInt_t, MonitorElement * > listGEBVFATWordCntT_
Definition: GEMDQMStatusDigi.cc:105
GEMDQMStatusDigi::listGEBOHCRC_
std::unordered_map< UInt_t, MonitorElement * > listGEBOHCRC_
Definition: GEMDQMStatusDigi.cc:109
GEMDQMStatusDigi::seekIdx
Int_t seekIdx(std::vector< GEMDetId > &listLayers, UInt_t unId)
Definition: GEMDQMStatusDigi.cc:554
GEMDQMStatusDigi::listVFATEC_
std::unordered_map< UInt_t, MonitorElement * > listVFATEC_
Definition: GEMDQMStatusDigi.cc:100
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
GEMDQMStatusDigi::suffixChamber
std::string suffixChamber(GEMDetId &id)
Definition: GEMDQMStatusDigi.cc:187
edm::ESHandle< GEMGeometry >
MuonDigiCollection::end
DigiRangeIterator end() const
Definition: MuonDigiCollection.h:136
GEMDQMStatusDigi::bDebugMode_
bool bDebugMode_
Definition: GEMDQMStatusDigi.cc:62
GEMDQMStatusDigi::nNCh_
int nNCh_
Definition: GEMDQMStatusDigi.cc:68
GEMDQMStatusDigi::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMStatusDigi.cc:64
b
double b
Definition: hdecay.h:118
MuonDigiCollection::begin
DigiRangeIterator begin() const
Definition: MuonDigiCollection.h:134
GEMeMap::maxVFatGE11_
static const int maxVFatGE11_
Definition: GEMeMap.h:67
GEMDQMStatusDigi::tagAMC_
edm::EDGetToken tagAMC_
Definition: GEMDQMStatusDigi.cc:87
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDQMStatusDigi::listGEBInputStatus_
std::unordered_map< UInt_t, MonitorElement * > listGEBInputStatus_
Definition: GEMDQMStatusDigi.cc:102
GEMDQMStatusDigi::nIdxFirstStrip_
int nIdxFirstStrip_
Definition: GEMDQMStatusDigi.cc:76
GEMDQMStatusDigi::h2_vfat_qualityflag_
MonitorElement * h2_vfat_qualityflag_
Definition: GEMDQMStatusDigi.cc:96
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:177
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
printfWithMap
std::string printfWithMap(std::string strFmt, std::unordered_map< std::string, Int_t > mapArg)
Definition: GEMDQMStatusDigi.cc:416
edm::LogError
Definition: MessageLogger.h:183
a
double a
Definition: hdecay.h:119
GEMDQMStatusDigi::listAMCSlots_
std::vector< Int_t > listAMCSlots_
Definition: GEMDQMStatusDigi.cc:90
GEMDQMStatusDigi::tagDigi_
edm::EDGetToken tagDigi_
Definition: GEMDQMStatusDigi.cc:88
beam_dqm_sourceclient-live_cfg.monitor
monitor
Definition: beam_dqm_sourceclient-live_cfg.py:237
GEMDQMStatusDigi::h1_amc_davCnt_
MonitorElement * h1_amc_davCnt_
Definition: GEMDQMStatusDigi.cc:118
GEMDetId::roll
constexpr int roll() const
Definition: GEMDetId.h:188
GEMDQMStatusDigi::FillBits
Bool_t FillBits(MonitorElement *monitor, uint64_t unVal, int nNumBits)
Definition: GEMDQMStatusDigi.cc:522
GEMDetId
Definition: GEMDetId.h:17
GEMDQMStatusDigi::tagGEB_
edm::EDGetToken tagGEB_
Definition: GEMDQMStatusDigi.cc:86
GEMDQMStatusDigi::listGEBZeroSupWordsCnt_
std::unordered_map< UInt_t, MonitorElement * > listGEBZeroSupWordsCnt_
Definition: GEMDQMStatusDigi.cc:106
createfilelist.int
int
Definition: createfilelist.py:10
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
GEMDQMStatusDigi::eBit_
int eBit_
Definition: GEMDQMStatusDigi.cc:73
GEMDQMStatusDigi::m_mapStatusErr
std::unordered_map< UInt_t, Bool_t > m_mapStatusErr
Definition: GEMDQMStatusDigi.cc:112
get
#define get
GEMDQMStatusDigi::fVFATBit_
int fVFATBit_
Definition: GEMDQMStatusDigi.cc:72
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:193
looper.cfg
cfg
Definition: looper.py:297
GEMDQMStatusDigi::h1_amc_buffState_
MonitorElement * h1_amc_buffState_
Definition: GEMDQMStatusDigi.cc:119
GEMDQMStatusDigi::h1_amc_ttsState_
MonitorElement * h1_amc_ttsState_
Definition: GEMDQMStatusDigi.cc:117
dqm::impl::MonitorElement::setBinContent
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Definition: MonitorElement.cc:691
GEMDQMStatusDigi::seekIdxSummary
void seekIdxSummary(GEMDetId gid, Int_t &nIdxLayer, Int_t &nIdxChamber)
Definition: GEMDQMStatusDigi.cc:565
GEMDQMStatusDigi::listVFATQualityFlag_
std::unordered_map< UInt_t, MonitorElement * > listVFATQualityFlag_
Definition: GEMDQMStatusDigi.cc:98
GEMDQMStatusDigi::nNBxRange_
int nNBxRange_
Definition: GEMDQMStatusDigi.cc:79
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
GEMDQMStatusDigi::m_mapStatusFill
std::unordered_map< UInt_t, Bool_t > m_mapStatusFill
Definition: GEMDQMStatusDigi.cc:111
GEMDQMStatusDigi::listGEBecOH_
std::unordered_map< UInt_t, MonitorElement * > listGEBecOH_
Definition: GEMDQMStatusDigi.cc:108
GEMDetId::chamberId
constexpr GEMDetId chamberId() const
Definition: GEMDetId.h:193
GEMeMap::maxEtaPartition_
static const int maxEtaPartition_
Definition: GEMeMap.h:71
GEMDQMStatusDigi::bookHistogramsChamberPart
void bookHistogramsChamberPart(DQMStore::IBooker &, GEMDetId &)
Definition: GEMDQMStatusDigi.cc:273
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
GEMDQMStatusDigi::initGeometry
const GEMGeometry * initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMStatusDigi.cc:127
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
amc
Definition: AMCSpec.h:8
GEMDQMStatusDigi::h3SummaryStatusPre_
MonitorElement * h3SummaryStatusPre_
Definition: GEMDQMStatusDigi.cc:114
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
GEMDQMStatusDigi::m_listChambers
std::vector< GEMDetId > m_listChambers
Definition: GEMDQMStatusDigi.cc:93
edm::eventsetup::NoProxyException
Definition: NoProxyException.h:31
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:173
GEMGeometry
Definition: GEMGeometry.h:24
ztail.d
d
Definition: ztail.py:151
GEMGeometry::superChambers
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
Definition: GEMGeometry.cc:36
GEMDQMStatusDigi::tagVFAT_
edm::EDGetToken tagVFAT_
Definition: GEMDQMStatusDigi.cc:85
cscd2r::chamberID
CSCDetId chamberID(const CSCDetId &cscDetId)
takes layer ID, converts to chamber ID, switching ME1A to ME11
Definition: CSCDigiToRaw.cc:29
DigiContainerIterator
Definition: MuonDigiCollection.h:30
GEMDQMStatusDigi::m_listLayers
std::vector< GEMDetId > m_listLayers
Definition: GEMDQMStatusDigi.cc:92
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
GEMDQMStatusDigi::h2AMCStatus_
MonitorElement * h2AMCStatus_
Definition: GEMDQMStatusDigi.cc:122
edm::InputTag
Definition: InputTag.h:15
GEMDQMStatusDigi::listGEBbcOH_
std::unordered_map< UInt_t, MonitorElement * > listGEBbcOH_
Definition: GEMDQMStatusDigi.cc:107
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37