CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
GEMDAQStatusSource Class Reference
Inheritance diagram for GEMDAQStatusSource:
GEMDQMBase DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 GEMDAQStatusSource (const edm::ParameterSet &cfg)
 
 ~GEMDAQStatusSource () override
 
- Public Member Functions inherited from GEMDQMBase
 GEMDQMBase (const edm::ParameterSet &cfg)
 
 ~GEMDQMBase () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

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 dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from GEMDQMBase
template<typename T >
bool checkRefs (const std::vector< T * > &)
 
dqm::impl::MonitorElementCreateSummaryHist (DQMStore::IBooker &ibooker, TString strName)
 
int GenerateMEPerChamber (DQMStore::IBooker &ibooker)
 
int getDetOccXBin (const int, const int, const int)
 
int getIEtaFromVFAT (const int station, const int vfat)
 
int getIEtaFromVFATGE11 (const int vfat)
 
int getMaxVFAT (const int)
 
int getNumEtaPartitions (const GEMStation *)
 
int getVFATNumber (const int, const int, const int)
 
int getVFATNumberByStrip (const int, const int, const int)
 
int getVFATNumberGE11 (const int, const int, const int)
 
int initGeometry (edm::EventSetup const &iSetup)
 
ME3IdsKey key4Tokey3 (ME4IdsKey key)
 
int keyToChamber (ME4IdsKey key)
 
int keyToIEta (ME4IdsKey key)
 
int keyToLayer (ME3IdsKey key)
 
int keyToLayer (ME4IdsKey key)
 
int keyToRegion (ME2IdsKey key)
 
int keyToRegion (ME3IdsKey key)
 
int keyToRegion (ME4IdsKey key)
 
int keyToStation (ME2IdsKey key)
 
int keyToStation (ME3IdsKey key)
 
int keyToStation (ME4IdsKey key)
 
int loadChambers ()
 
virtual int ProcessWithMEMap2 (BookingHelper &bh, ME2IdsKey key)
 
virtual int ProcessWithMEMap4 (BookingHelper &bh, ME4IdsKey key)
 
int SortingLayers (std::vector< ME3IdsKey > &listLayers)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

int ProcessWithMEMap3 (BookingHelper &bh, ME3IdsKey key) override
 
int ProcessWithMEMap3WithChamber (BookingHelper &bh, ME4IdsKey key) override
 
void SetLabelAMCStatus (MonitorElement *h2Status)
 
void SetLabelGEBStatus (MonitorElement *h2Status)
 
void SetLabelVFATStatus (MonitorElement *h2Status)
 

Private Attributes

MonitorElementh2AMCNumGEBNeg_
 
MonitorElementh2AMCNumGEBPos_
 
MonitorElementh2AMCStatusNeg_
 
MonitorElementh2AMCStatusPos_
 
MonitorElementh2SummaryStatus
 
std::map< UInt_t, int > mapFEDIdToRe_
 
MEMap3Inf mapGEBNumVFAT_
 
MEMap3Inf mapStatusGEB_
 
MEMap3Inf mapStatusVFAT_
 
MEMap4Inf mapStatusVFATPerCh_
 
Int_t nAMCSlots_
 
int nBitAMC_ = 7
 
int nBitGEB_ = 17
 
int nBitVFAT_ = 9
 
Int_t nBXMax_
 
Int_t nBXMin_
 
edm::EDGetToken tagAMC13_
 
edm::EDGetToken tagAMC_
 
edm::EDGetToken tagDigi_
 
edm::EDGetToken tagGEB_
 
edm::EDGetToken tagVFAT_
 

Additional Inherited Members

- Public Types inherited from GEMDQMBase
typedef MEMapInfT< MEMap2Ids, ME2IdsKeyMEMap2Inf
 
typedef MEMapInfT< MEMap3Ids, ME3IdsKeyMEMap3Inf
 
typedef MEMapInfT< MEMap4Ids, ME4IdsKeyMEMap4Inf
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Protected Attributes inherited from GEMDQMBase
std::vector< GEMChambergemChambers_
 
const GEMGeometryGEMGeometry_
 
std::string log_category_
 
std::map< ME3IdsKey, MEStationInfomapStationInfo_
 
std::map< ME3IdsKey, int > mapStationToIdx_
 
std::map< ME2IdsKey, bool > MEMap2Check_
 
std::map< ME3IdsKey, bool > MEMap3Check_
 
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
 
std::map< ME4IdsKey, bool > MEMap4Check_
 
int nMaxNumCh_
 
Int_t nNumEtaPartitionGE0_
 
Int_t nNumEtaPartitionGE11_
 
Int_t nNumEtaPartitionGE21_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 28 of file GEMDAQStatusSource.cc.

Constructor & Destructor Documentation

◆ GEMDAQStatusSource()

GEMDAQStatusSource::GEMDAQStatusSource ( const edm::ParameterSet cfg)
explicit

Definition at line 79 of file GEMDAQStatusSource.cc.

79  : GEMDQMBase(cfg) {
80  tagDigi_ = consumes<GEMDigiCollection>(cfg.getParameter<edm::InputTag>("digisInputLabel"));
81  tagVFAT_ = consumes<GEMVfatStatusDigiCollection>(cfg.getParameter<edm::InputTag>("VFATInputLabel"));
82  tagGEB_ = consumes<GEMGEBdataCollection>(cfg.getParameter<edm::InputTag>("GEBInputLabel"));
83  tagAMC_ = consumes<GEMAMCdataCollection>(cfg.getParameter<edm::InputTag>("AMCInputLabel"));
84  tagAMC13_ = consumes<GEMAMC13EventCollection>(cfg.getParameter<edm::InputTag>("AMC13InputLabel"));
85 
86  nAMCSlots_ = cfg.getParameter<Int_t>("AMCSlots");
87 }

References looper::cfg, nAMCSlots_, tagAMC13_, tagAMC_, tagDigi_, tagGEB_, and tagVFAT_.

◆ ~GEMDAQStatusSource()

GEMDAQStatusSource::~GEMDAQStatusSource ( )
inlineoverride

Definition at line 31 of file GEMDAQStatusSource.cc.

31 {};

Member Function Documentation

◆ analyze()

void GEMDAQStatusSource::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 255 of file GEMDAQStatusSource.cc.

255  {
261 
262  event.getByToken(tagDigi_, gemDigis);
263  event.getByToken(tagVFAT_, gemVFAT);
264  event.getByToken(tagGEB_, gemGEB);
265  event.getByToken(tagAMC_, gemAMC);
266  event.getByToken(tagAMC13_, gemAMC13);
267 
268  std::vector<int> listAMCRegion;
269 
270  for (GEMAMC13EventCollection::DigiRangeIterator amc13It = gemAMC13->begin(); amc13It != gemAMC13->end(); ++amc13It) {
271  const GEMAMC13EventCollection::Range &range = (*amc13It).second;
272  for (auto amc13 = range.first; amc13 != range.second; ++amc13) {
273  for (int r = 0; r < int(amc13->nAMC()); r++) {
274  listAMCRegion.push_back(mapFEDIdToRe_[(UInt_t)amc13->sourceId()]);
275  }
276  }
277  }
278 
279  int nIdxAMCFull = 0;
280  MonitorElement *h2AMCStatus, *h2AMCNumGEB;
281 
282  for (GEMAMCdataCollection::DigiRangeIterator amcIt = gemAMC->begin(); amcIt != gemAMC->end(); ++amcIt) {
283  const GEMAMCdataCollection::Range &range = (*amcIt).second;
284  for (auto amc = range.first; amc != range.second; ++amc) {
285  uint64_t unBit = 1;
286  bool bErr = false;
287 
288  if (nIdxAMCFull >= (int)listAMCRegion.size()) {
289  edm::LogError(log_category_) << "+++ Error : Mismatch of the number of AMCs in AMC13 and the actual AMCs +++\n";
290  break;
291  }
292 
293  if (listAMCRegion[nIdxAMCFull] > 0) {
294  h2AMCStatus = h2AMCStatusPos_;
295  h2AMCNumGEB = h2AMCNumGEBPos_;
296  } else {
297  h2AMCStatus = h2AMCStatusNeg_;
298  h2AMCNumGEB = h2AMCNumGEBNeg_;
299  }
300 
301  unBit++;
302  if (!amc->bc0locked()) {
303  h2AMCStatus->Fill(amc->amcNum(), unBit);
304  bErr = true;
305  }
306  unBit++;
307  if (!amc->daqReady()) {
308  h2AMCStatus->Fill(amc->amcNum(), unBit);
309  bErr = true;
310  }
311  unBit++;
312  if (!amc->daqClockLocked()) {
313  h2AMCStatus->Fill(amc->amcNum(), unBit);
314  bErr = true;
315  }
316  unBit++;
317  if (!amc->mmcmLocked()) {
318  h2AMCStatus->Fill(amc->amcNum(), unBit);
319  bErr = true;
320  }
321  unBit++;
322  if (amc->backPressure()) {
323  h2AMCStatus->Fill(amc->amcNum(), unBit);
324  bErr = true;
325  }
326  unBit++;
327  if (amc->oosGlib()) {
328  h2AMCStatus->Fill(amc->amcNum(), unBit);
329  bErr = true;
330  }
331  if (!bErr)
332  h2AMCStatus->Fill(amc->amcNum(), 1);
333 
334  h2AMCNumGEB->Fill(amc->amcNum(), amc->gebs()->size());
335 
336  nIdxAMCFull++;
337  }
338  }
339 
340  // WARNING: ME4IdsKey for region, station, layer, chamber (not iEta)
341  std::map<ME4IdsKey, bool> mapChamberStatus;
342 
343  for (GEMGEBdataCollection::DigiRangeIterator gebIt = gemGEB->begin(); gebIt != gemGEB->end(); ++gebIt) {
344  GEMDetId gid = (*gebIt).first;
345  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
346  ME4IdsKey key4{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
347 
348  const GEMGEBdataCollection::Range &range = (*gebIt).second;
349  for (auto GEBStatus = range.first; GEBStatus != range.second; ++GEBStatus) {
350  uint64_t unBit = 1;
351  uint64_t unStatus = 0;
352 
353  unStatus |= (GEBStatus->bxmVvV() << unBit++);
354  unStatus |= (GEBStatus->bxmAvV() << unBit++);
355  unStatus |= (GEBStatus->oOScVvV() << unBit++);
356  unStatus |= (GEBStatus->oOScAvV() << unBit++);
357  unStatus |= (GEBStatus->noVFAT() << unBit++);
358  unStatus |= (GEBStatus->evtSzW() << unBit++);
359  unStatus |= (GEBStatus->l1aNF() << unBit++);
360  unStatus |= (GEBStatus->inNF() << unBit++);
361  unStatus |= (GEBStatus->evtNF() << unBit++);
362  unStatus |= (GEBStatus->evtSzOFW() << unBit++);
363  unStatus |= (GEBStatus->l1aF() << unBit++);
364  unStatus |= (GEBStatus->inF() << unBit++);
365  unStatus |= (GEBStatus->evtF() << unBit++);
366  unStatus |= (GEBStatus->inUfw() << unBit++);
367  unStatus |= (GEBStatus->stuckData() << unBit++);
368  unStatus |= (GEBStatus->evUfw() << unBit++);
369 
370  if (unStatus == 0) {
371  unStatus = 0x01; // Good
372  } else { // Error!
373  mapChamberStatus[key4] = false;
374  }
375 
376  mapStatusGEB_.FillBits(key3, gid.chamber(), unStatus);
377 
378  mapGEBNumVFAT_.Fill(key3, gid.chamber(), GEBStatus->vFATs()->size());
379  }
380  }
381 
382  for (GEMVfatStatusDigiCollection::DigiRangeIterator vfatIt = gemVFAT->begin(); vfatIt != gemVFAT->end(); ++vfatIt) {
383  GEMDetId gid = (*vfatIt).first;
384  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
385  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
386  const GEMVfatStatusDigiCollection::Range &range = (*vfatIt).second;
387 
388  for (auto vfatStat = range.first; vfatStat != range.second; ++vfatStat) {
389  uint64_t unQFVFAT = vfatStat->quality();
390  if ((unQFVFAT & ~0x1) == 0) {
391  unQFVFAT |= 0x1; // If no error, then it should be 'Good'
392  } else { // Error!
393  mapChamberStatus[key4Ch] = false;
394  }
395 
396  Int_t nIdxVFAT = getVFATNumber(gid.station(), gid.roll(), vfatStat->phi() + 1);
397  mapStatusVFAT_.FillBits(key3, nIdxVFAT, unQFVFAT);
398  mapStatusVFATPerCh_.FillBits(key4Ch, nIdxVFAT, unQFVFAT);
399  }
400  }
401 
402  // Summarizing the error occupancy
403  for (auto const &[key4, bErr] : mapChamberStatus) {
404  ME3IdsKey key3 = key4Tokey3(key4);
405  Int_t nChamber = keyToChamber(key4);
406  h2SummaryStatus->Fill(nChamber, mapStationToIdx_[key3]);
407  }
408 }

References MuonDigiCollection< IndexType, DigiType >::begin(), GEMDetId::chamber(), MuonDigiCollection< IndexType, DigiType >::end(), GEMDQMBase::MEMapInfT< M, K >::Fill(), dqm::impl::MonitorElement::Fill(), GEMDQMBase::MEMapInfT< M, K >::FillBits(), GEMDQMBase::getVFATNumber(), h2AMCNumGEBNeg_, h2AMCNumGEBPos_, h2AMCStatusNeg_, h2AMCStatusPos_, h2SummaryStatus, createfilelist::int, GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToChamber(), GEMDetId::layer(), GEMDQMBase::log_category_, mapFEDIdToRe_, mapGEBNumVFAT_, GEMDQMBase::mapStationToIdx_, mapStatusGEB_, mapStatusVFAT_, mapStatusVFATPerCh_, alignCSCRings::r, FastTimerService_cff::range, GEMDetId::region(), GEMDetId::roll(), GEMDetId::station(), tagAMC13_, tagAMC_, tagDigi_, tagGEB_, tagVFAT_, and testProducerWithPsetDescEmpty_cfi::x1.

◆ bookHistograms()

void GEMDAQStatusSource::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 148 of file GEMDAQStatusSource.cc.

148  {
149  initGeometry(iSetup);
150  if (GEMGeometry_ == nullptr)
151  return;
152  loadChambers();
153 
154  nBXMin_ = -10;
155  nBXMax_ = 10;
156 
157  mapFEDIdToRe_[1467] = -1; // FIXME: Need more systematic way
158  mapFEDIdToRe_[1468] = 1;
159 
160  ibooker.cd();
161  ibooker.setCurrentFolder("GEM/DAQStatus");
162 
163  h2AMCStatusPos_ = ibooker.book2D("amc_statusflagPos",
164  "Status of AMC slots (positive region);AMC slot;",
165  nAMCSlots_,
166  -0.5,
167  nAMCSlots_ - 0.5,
168  nBitAMC_,
169  0.5,
170  nBitAMC_ + 0.5);
171  h2AMCStatusNeg_ = ibooker.book2D("amc_statusflagNeg",
172  "Status of AMC slots (negative region);AMC slot;",
173  nAMCSlots_,
174  -0.5,
175  nAMCSlots_ - 0.5,
176  nBitAMC_,
177  0.5,
178  nBitAMC_ + 0.5);
179  h2AMCNumGEBPos_ = ibooker.book2D("amc_numGEBsPos",
180  "Number of GEBs in AMCs (positive region);AMC slot;Number of GEBs",
181  nAMCSlots_,
182  -0.5,
183  nAMCSlots_ - 0.5,
184  41,
185  -0.5,
186  41 - 0.5);
187  h2AMCNumGEBNeg_ = ibooker.book2D("amc_numGEBsNeg",
188  "Number of GEBs in AMCs (negative region);AMC slot;Number of GEBs",
189  nAMCSlots_,
190  -0.5,
191  nAMCSlots_ - 0.5,
192  41,
193  -0.5,
194  41 - 0.5);
195 
198 
199  mapStatusGEB_ =
200  MEMap3Inf(this, "geb_input_status", "GEB Input Status", 36, 0.5, 36.5, nBitGEB_, 0.5, nBitGEB_ + 0.5, "Chamber");
202  MEMap3Inf(this, "vfat_status", "VFAT Quality Status", 24, 0.5, 24.5, nBitVFAT_, 0.5, nBitVFAT_ + 0.5, "VFAT");
203  mapGEBNumVFAT_ = MEMap3Inf(this,
204  "geb_numVFATs",
205  "Number of VFATs in GEBs",
206  36,
207  0.5,
208  36.5,
209  24 + 1,
210  -0.5,
211  24 + 0.5); // FIXME: The maximum number of VFATs is different for each stations
212 
214  MEMap4Inf(this, "vfat_status", "VFAT Quality Status", 24, 0.5, 24.5, nBitVFAT_, 0.5, nBitVFAT_ + 0.5, "VFAT");
215 
216  GenerateMEPerChamber(ibooker);
217 
218  h2SummaryStatus = CreateSummaryHist(ibooker, "summaryStatus");
219 }

References dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), GEMDQMBase::CreateSummaryHist(), GEMDQMBase::GEMGeometry_, GEMDQMBase::GenerateMEPerChamber(), h2AMCNumGEBNeg_, h2AMCNumGEBPos_, h2AMCStatusNeg_, h2AMCStatusPos_, h2SummaryStatus, GEMDQMBase::initGeometry(), GEMDQMBase::loadChambers(), mapFEDIdToRe_, mapGEBNumVFAT_, mapStatusGEB_, mapStatusVFAT_, mapStatusVFATPerCh_, nAMCSlots_, nBitAMC_, nBitGEB_, nBitVFAT_, nBXMax_, nBXMin_, dqm::implementation::NavigatorBase::setCurrentFolder(), and SetLabelAMCStatus().

◆ dqmBeginRun()

void GEMDAQStatusSource::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 35 of file GEMDAQStatusSource.cc.

35 {};

◆ fillDescriptions()

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

Definition at line 89 of file GEMDAQStatusSource.cc.

89  {
91  desc.add<edm::InputTag>("digisInputLabel", edm::InputTag("muonGEMDigis", ""));
92  desc.add<edm::InputTag>("VFATInputLabel", edm::InputTag("muonGEMDigis", "vfatStatus"));
93  desc.add<edm::InputTag>("GEBInputLabel", edm::InputTag("muonGEMDigis", "gebStatus"));
94  desc.add<edm::InputTag>("AMCInputLabel", edm::InputTag("muonGEMDigis", "AMCdata"));
95  desc.add<edm::InputTag>("AMC13InputLabel", edm::InputTag("muonGEMDigis", "AMC13Event"));
96 
97  desc.add<Int_t>("AMCSlots", 13);
98  desc.addUntracked<std::string>("logCategory", "GEMDAQStatusSource");
99 
100  descriptions.add("GEMDAQStatusSource", desc);
101 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ProcessWithMEMap3()

int GEMDAQStatusSource::ProcessWithMEMap3 ( BookingHelper bh,
ME3IdsKey  key 
)
overrideprivatevirtual

◆ ProcessWithMEMap3WithChamber()

int GEMDAQStatusSource::ProcessWithMEMap3WithChamber ( BookingHelper bh,
ME4IdsKey  key 
)
overrideprivatevirtual

◆ SetLabelAMCStatus()

void GEMDAQStatusSource::SetLabelAMCStatus ( MonitorElement h2Status)
private

Definition at line 103 of file GEMDAQStatusSource.cc.

103  {
104  unsigned int unBinPos = 1;
105  h2Status->setBinLabel(unBinPos++, "Good", 2);
106  h2Status->setBinLabel(unBinPos++, "BC0 not locked", 2);
107  h2Status->setBinLabel(unBinPos++, "DAQ not ready", 2);
108  h2Status->setBinLabel(unBinPos++, "DAQ clock not locked", 2);
109  h2Status->setBinLabel(unBinPos++, "MMCM not locked", 2);
110  h2Status->setBinLabel(unBinPos++, "Back pressure", 2);
111  h2Status->setBinLabel(unBinPos++, "GLIB out-of-sync", 2);
112 }

References dqm::impl::MonitorElement::setBinLabel().

Referenced by bookHistograms().

◆ SetLabelGEBStatus()

void GEMDAQStatusSource::SetLabelGEBStatus ( MonitorElement h2Status)
private

Definition at line 114 of file GEMDAQStatusSource.cc.

114  {
115  unsigned int unBinPos = 1;
116  h2Status->setBinLabel(unBinPos++, "Good", 2);
117  h2Status->setBinLabel(unBinPos++, "BX mismatch GLIB OH", 2);
118  h2Status->setBinLabel(unBinPos++, "BX mismatch GLIB VFAT", 2);
119  h2Status->setBinLabel(unBinPos++, "OOS GLIB OH", 2);
120  h2Status->setBinLabel(unBinPos++, "OOS GLIB VFAT", 2);
121  h2Status->setBinLabel(unBinPos++, "No VFAT marker", 2);
122  h2Status->setBinLabel(unBinPos++, "Event size warn", 2);
123  h2Status->setBinLabel(unBinPos++, "L1AFIFO near full", 2);
124  h2Status->setBinLabel(unBinPos++, "InFIFO near full", 2);
125  h2Status->setBinLabel(unBinPos++, "EvtFIFO near full", 2);
126  h2Status->setBinLabel(unBinPos++, "Event size overflow", 2);
127  h2Status->setBinLabel(unBinPos++, "L1AFIFO full", 2);
128  h2Status->setBinLabel(unBinPos++, "InFIFO full", 2);
129  h2Status->setBinLabel(unBinPos++, "EvtFIFO full", 2);
130  h2Status->setBinLabel(unBinPos++, "Input FIFO underflow", 2);
131  h2Status->setBinLabel(unBinPos++, "Stuck data", 2);
132  h2Status->setBinLabel(unBinPos++, "Event FIFO underflow", 2);
133 }

References dqm::impl::MonitorElement::setBinLabel().

Referenced by ProcessWithMEMap3().

◆ SetLabelVFATStatus()

void GEMDAQStatusSource::SetLabelVFATStatus ( MonitorElement h2Status)
private

Definition at line 135 of file GEMDAQStatusSource.cc.

135  {
136  unsigned int unBinPos = 1;
137  h2Status->setBinLabel(unBinPos++, "Good", 2);
138  h2Status->setBinLabel(unBinPos++, "CRC fail", 2);
139  h2Status->setBinLabel(unBinPos++, "b1010 fail", 2);
140  h2Status->setBinLabel(unBinPos++, "b1100 fail", 2);
141  h2Status->setBinLabel(unBinPos++, "b1110 fail", 2);
142  h2Status->setBinLabel(unBinPos++, "Hamming error", 2);
143  h2Status->setBinLabel(unBinPos++, "AFULL", 2);
144  h2Status->setBinLabel(unBinPos++, "SEUlogic", 2);
145  h2Status->setBinLabel(unBinPos++, "SUEI2C", 2);
146 }

References dqm::impl::MonitorElement::setBinLabel().

Referenced by ProcessWithMEMap3(), and ProcessWithMEMap3WithChamber().

Member Data Documentation

◆ h2AMCNumGEBNeg_

MonitorElement* GEMDAQStatusSource::h2AMCNumGEBNeg_
private

Definition at line 56 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ h2AMCNumGEBPos_

MonitorElement* GEMDAQStatusSource::h2AMCNumGEBPos_
private

Definition at line 55 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ h2AMCStatusNeg_

MonitorElement* GEMDAQStatusSource::h2AMCStatusNeg_
private

Definition at line 54 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ h2AMCStatusPos_

MonitorElement* GEMDAQStatusSource::h2AMCStatusPos_
private

Definition at line 53 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatus

MonitorElement* GEMDAQStatusSource::h2SummaryStatus
private

Definition at line 64 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ mapFEDIdToRe_

std::map<UInt_t, int> GEMDAQStatusSource::mapFEDIdToRe_
private

Definition at line 68 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ mapGEBNumVFAT_

MEMap3Inf GEMDAQStatusSource::mapGEBNumVFAT_
private

Definition at line 60 of file GEMDAQStatusSource.cc.

Referenced by analyze(), bookHistograms(), and ProcessWithMEMap3().

◆ mapStatusGEB_

MEMap3Inf GEMDAQStatusSource::mapStatusGEB_
private

Definition at line 58 of file GEMDAQStatusSource.cc.

Referenced by analyze(), bookHistograms(), and ProcessWithMEMap3().

◆ mapStatusVFAT_

MEMap3Inf GEMDAQStatusSource::mapStatusVFAT_
private

Definition at line 59 of file GEMDAQStatusSource.cc.

Referenced by analyze(), bookHistograms(), and ProcessWithMEMap3().

◆ mapStatusVFATPerCh_

MEMap4Inf GEMDAQStatusSource::mapStatusVFATPerCh_
private

Definition at line 62 of file GEMDAQStatusSource.cc.

Referenced by analyze(), bookHistograms(), and ProcessWithMEMap3WithChamber().

◆ nAMCSlots_

Int_t GEMDAQStatusSource::nAMCSlots_
private

Definition at line 69 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms(), and GEMDAQStatusSource().

◆ nBitAMC_

int GEMDAQStatusSource::nBitAMC_ = 7
private

Definition at line 71 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBitGEB_

int GEMDAQStatusSource::nBitGEB_ = 17
private

Definition at line 72 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBitVFAT_

int GEMDAQStatusSource::nBitVFAT_ = 9
private

Definition at line 73 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBXMax_

Int_t GEMDAQStatusSource::nBXMax_
private

Definition at line 66 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBXMin_

Int_t GEMDAQStatusSource::nBXMin_
private

Definition at line 66 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ tagAMC13_

edm::EDGetToken GEMDAQStatusSource::tagAMC13_
private

Definition at line 51 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagAMC_

edm::EDGetToken GEMDAQStatusSource::tagAMC_
private

Definition at line 50 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagDigi_

edm::EDGetToken GEMDAQStatusSource::tagDigi_
private

Definition at line 47 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagGEB_

edm::EDGetToken GEMDAQStatusSource::tagGEB_
private

Definition at line 49 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagVFAT_

edm::EDGetToken GEMDAQStatusSource::tagVFAT_
private

Definition at line 48 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and GEMDAQStatusSource().

GEMDQMBase::MEMapInfT::SetBinConfX
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:184
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
GEMDAQStatusSource::nAMCSlots_
Int_t nAMCSlots_
Definition: GEMDAQStatusSource.cc:69
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:187
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:168
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:400
ME4IdsKey
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
Definition: GEMValidationUtils.h:20
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
GEMDAQStatusSource::SetLabelAMCStatus
void SetLabelAMCStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:103
amc13
Definition: AMC13Spec.h:14
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
GEMDQMBase::MEMapInfT::Fill
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:263
edm::Handle< GEMDigiCollection >
GEMDQMBase::key4Tokey3
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:378
GEMDAQStatusSource::tagAMC_
edm::EDGetToken tagAMC_
Definition: GEMDAQStatusSource.cc:50
GEMDQMBase::keyToChamber
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:375
GEMDQMBase::MEMapInfT::SetLabelForVFATs
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:244
GEMDAQStatusSource::SetLabelVFATStatus
void SetLabelVFATStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:135
GEMDAQStatusSource::nBXMax_
Int_t nBXMax_
Definition: GEMDAQStatusSource.cc:66
GEMDAQStatusSource::nBitVFAT_
int nBitVFAT_
Definition: GEMDAQStatusSource.cc:73
GEMDQMBase::MEMapInfT::SetLabelForChambers
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:226
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
GEMDAQStatusSource::SetLabelGEBStatus
void SetLabelGEBStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:114
GEMDQMBase::GEMDQMBase
GEMDQMBase(const edm::ParameterSet &cfg)
Definition: GEMDQMBase.cc:6
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
GEMDAQStatusSource::tagDigi_
edm::EDGetToken tagDigi_
Definition: GEMDAQStatusSource.cc:47
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
MuonDigiCollection::end
DigiRangeIterator end() const
Definition: MuonDigiCollection.h:136
GEMDAQStatusSource::mapStatusVFAT_
MEMap3Inf mapStatusVFAT_
Definition: GEMDAQStatusSource.cc:59
MuonDigiCollection::begin
DigiRangeIterator begin() const
Definition: MuonDigiCollection.h:134
GEMDQMBase::CreateSummaryHist
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
Definition: GEMDQMBase.cc:121
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:180
GEMDQMBase::initGeometry
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:14
GEMDQMBase::MEMap4Inf
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:318
GEMDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:438
GEMDAQStatusSource::h2AMCNumGEBNeg_
MonitorElement * h2AMCNumGEBNeg_
Definition: GEMDAQStatusSource.cc:56
GEMDQMBase::MEMapInfT::FillBits
int FillBits(K key, Double_t x, UInt_t bits)
Definition: GEMDQMBase.h:283
GEMDetId::roll
constexpr int roll() const
Definition: GEMDetId.h:191
GEMDetId
Definition: GEMDetId.h:18
createfilelist.int
int
Definition: createfilelist.py:10
GEMDAQStatusSource::tagVFAT_
edm::EDGetToken tagVFAT_
Definition: GEMDAQStatusSource.cc:48
GEMDAQStatusSource::nBitAMC_
int nBitAMC_
Definition: GEMDAQStatusSource.cc:71
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
GEMDAQStatusSource::mapStatusVFATPerCh_
MEMap4Inf mapStatusVFATPerCh_
Definition: GEMDAQStatusSource.cc:62
GEMDAQStatusSource::nBXMin_
Int_t nBXMin_
Definition: GEMDAQStatusSource.cc:66
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
looper.cfg
cfg
Definition: looper.py:297
alignCSCRings.r
r
Definition: alignCSCRings.py:93
GEMDAQStatusSource::tagAMC13_
edm::EDGetToken tagAMC13_
Definition: GEMDAQStatusSource.cc:51
GEMDAQStatusSource::h2AMCStatusPos_
MonitorElement * h2AMCStatusPos_
Definition: GEMDAQStatusSource.cc:53
GEMDQMBase::loadChambers
int loadChambers()
Definition: GEMDQMBase.cc:45
GEMDAQStatusSource::h2AMCNumGEBPos_
MonitorElement * h2AMCNumGEBPos_
Definition: GEMDAQStatusSource.cc:55
GEMDQMBase::MEMap3Inf
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:317
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
GEMDAQStatusSource::mapGEBNumVFAT_
MEMap3Inf mapGEBNumVFAT_
Definition: GEMDAQStatusSource.cc:60
GEMDQMBase::log_category_
std::string log_category_
Definition: GEMDQMBase.h:398
GEMDQMBase::mapStationInfo_
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:411
GEMDAQStatusSource::h2SummaryStatus
MonitorElement * h2SummaryStatus
Definition: GEMDAQStatusSource.cc:64
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
GEMDAQStatusSource::tagGEB_
edm::EDGetToken tagGEB_
Definition: GEMDAQStatusSource.cc:49
GEMDQMBase::MEMapInfT::FindHist
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:218
GEMDAQStatusSource::mapStatusGEB_
MEMap3Inf mapStatusGEB_
Definition: GEMDAQStatusSource.cc:58
GEMDAQStatusSource::mapFEDIdToRe_
std::map< UInt_t, int > mapFEDIdToRe_
Definition: GEMDAQStatusSource.cc:68
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
amc
Definition: AMCSpec.h:8
GEMDAQStatusSource::nBitGEB_
int nBitGEB_
Definition: GEMDAQStatusSource.cc:72
GEMDQMBase::mapStationToIdx_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:410
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:176
DigiContainerIterator
Definition: MuonDigiCollection.h:30
GEMDAQStatusSource::h2AMCStatusNeg_
MonitorElement * h2AMCStatusNeg_
Definition: GEMDAQStatusSource.cc:54
crabWrapper.key
key
Definition: crabWrapper.py:19
GEMDQMBase::MEMapInfT::bookND
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:201
edm::InputTag
Definition: InputTag.h:15
GEMDQMBase::GenerateMEPerChamber
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:147