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 readRadiusEtaPartition (int nRegion, int nStation)
 
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_
 
MEMap3Inf mapStatusVFATPerLayer_
 
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 80 of file GEMDAQStatusSource.cc.

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

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 264 of file GEMDAQStatusSource.cc.

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

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, GEMDetId::ieta(), createfilelist::int, GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToChamber(), GEMDetId::layer(), GEMDQMBase::log_category_, mapFEDIdToRe_, mapGEBNumVFAT_, GEMDQMBase::mapStationToIdx_, mapStatusGEB_, mapStatusVFAT_, mapStatusVFATPerCh_, mapStatusVFATPerLayer_, alignCSCRings::r, FastTimerService_cff::range, GEMDetId::region(), 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 149 of file GEMDAQStatusSource.cc.

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

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_, mapStatusVFATPerLayer_, 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 90 of file GEMDAQStatusSource.cc.

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

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

◆ ProcessWithMEMap3()

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

Reimplemented from GEMDQMBase.

Definition at line 224 of file GEMDAQStatusSource.cc.

224  {
225  MEStationInfo &stationInfo = mapStationInfo_[key];
226 
227  mapStatusGEB_.SetBinConfX(stationInfo.nNumChambers_);
228  mapStatusGEB_.bookND(bh, key);
230 
232 
233  mapStatusVFATPerLayer_.SetBinConfX(stationInfo.nNumChambers_);
234  mapStatusVFATPerLayer_.SetBinConfY(stationInfo.nMaxVFAT_);
237  mapStatusVFATPerLayer_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 2);
238 
239  mapStatusVFAT_.SetBinConfX(stationInfo.nMaxVFAT_);
241  mapStatusVFAT_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 1);
242 
244 
245  mapGEBNumVFAT_.SetBinConfX(stationInfo.nNumChambers_);
248 
249  return 0;
250 }

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::MEMapInfT< M, K >::FindHist(), crabWrapper::key, mapGEBNumVFAT_, GEMDQMBase::mapStationInfo_, mapStatusGEB_, mapStatusVFAT_, mapStatusVFATPerLayer_, GEMDQMBase::MEStationInfo::nMaxVFAT_, GEMDQMBase::MEStationInfo::nNumChambers_, GEMDQMBase::MEStationInfo::nNumEtaPartitions_, GEMDQMBase::MEMapInfT< M, K >::SetBinConfX(), GEMDQMBase::MEMapInfT< M, K >::SetBinConfY(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForChambers(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForVFATs(), SetLabelGEBStatus(), and SetLabelVFATStatus().

◆ ProcessWithMEMap3WithChamber()

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

◆ SetLabelAMCStatus()

void GEMDAQStatusSource::SetLabelAMCStatus ( MonitorElement h2Status)
private

Definition at line 104 of file GEMDAQStatusSource.cc.

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

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

Referenced by bookHistograms().

◆ SetLabelGEBStatus()

void GEMDAQStatusSource::SetLabelGEBStatus ( MonitorElement h2Status)
private

Definition at line 115 of file GEMDAQStatusSource.cc.

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

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

Referenced by ProcessWithMEMap3().

◆ SetLabelVFATStatus()

void GEMDAQStatusSource::SetLabelVFATStatus ( MonitorElement h2Status)
private

Definition at line 136 of file GEMDAQStatusSource.cc.

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

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 65 of file GEMDAQStatusSource.cc.

Referenced by analyze(), and bookHistograms().

◆ mapFEDIdToRe_

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

Definition at line 69 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 63 of file GEMDAQStatusSource.cc.

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

◆ mapStatusVFATPerLayer_

MEMap3Inf GEMDAQStatusSource::mapStatusVFATPerLayer_
private

Definition at line 62 of file GEMDAQStatusSource.cc.

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

◆ nAMCSlots_

Int_t GEMDAQStatusSource::nAMCSlots_
private

Definition at line 70 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms(), and GEMDAQStatusSource().

◆ nBitAMC_

int GEMDAQStatusSource::nBitAMC_ = 7
private

Definition at line 72 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBitGEB_

int GEMDAQStatusSource::nBitGEB_ = 17
private

Definition at line 73 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBitVFAT_

int GEMDAQStatusSource::nBitVFAT_ = 9
private

Definition at line 74 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBXMax_

Int_t GEMDAQStatusSource::nBXMax_
private

Definition at line 67 of file GEMDAQStatusSource.cc.

Referenced by bookHistograms().

◆ nBXMin_

Int_t GEMDAQStatusSource::nBXMin_
private

Definition at line 67 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:204
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
GEMDAQStatusSource::nAMCSlots_
Int_t nAMCSlots_
Definition: GEMDAQStatusSource.cc:70
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:190
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:171
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:421
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:89285
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:104
amc13
Definition: AMC13Spec.h:14
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
GEMDAQStatusSource::mapStatusVFATPerLayer_
MEMap3Inf mapStatusVFATPerLayer_
Definition: GEMDAQStatusSource.cc:62
GEMDQMBase::MEMapInfT::Fill
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:283
edm::Handle< GEMDigiCollection >
GEMDQMBase::key4Tokey3
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:399
GEMDAQStatusSource::tagAMC_
edm::EDGetToken tagAMC_
Definition: GEMDAQStatusSource.cc:50
GEMDQMBase::keyToChamber
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:396
GEMDQMBase::MEMapInfT::SetLabelForVFATs
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:264
GEMDAQStatusSource::SetLabelVFATStatus
void SetLabelVFATStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:136
GEMDAQStatusSource::nBXMax_
Int_t nBXMax_
Definition: GEMDAQStatusSource.cc:67
GEMDAQStatusSource::nBitVFAT_
int nBitVFAT_
Definition: GEMDAQStatusSource.cc:74
GEMDQMBase::MEMapInfT::SetLabelForChambers
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:246
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:115
GEMDQMBase::GEMDQMBase
GEMDQMBase(const edm::ParameterSet &cfg)
Definition: GEMDQMBase.cc:7
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:122
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:183
GEMDQMBase::initGeometry
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:15
GEMDQMBase::MEMap4Inf
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:338
GEMDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:459
GEMDAQStatusSource::h2AMCNumGEBNeg_
MonitorElement * h2AMCNumGEBNeg_
Definition: GEMDAQStatusSource.cc:56
GEMDQMBase::MEMapInfT::FillBits
int FillBits(K key, Double_t x, UInt_t bits)
Definition: GEMDQMBase.h:303
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:72
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:63
GEMDAQStatusSource::nBXMin_
Int_t nBXMin_
Definition: GEMDAQStatusSource.cc:67
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:46
GEMDAQStatusSource::h2AMCNumGEBPos_
MonitorElement * h2AMCNumGEBPos_
Definition: GEMDAQStatusSource.cc:55
GEMDQMBase::MEMap3Inf
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:337
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:419
GEMDQMBase::mapStationInfo_
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:432
GEMDAQStatusSource::h2SummaryStatus
MonitorElement * h2SummaryStatus
Definition: GEMDAQStatusSource.cc:65
GEMDQMBase::MEMapInfT::SetBinConfY
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:212
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:238
GEMDAQStatusSource::mapStatusGEB_
MEMap3Inf mapStatusGEB_
Definition: GEMDAQStatusSource.cc:58
GEMDAQStatusSource::mapFEDIdToRe_
std::map< UInt_t, int > mapFEDIdToRe_
Definition: GEMDAQStatusSource.cc:69
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:73
GEMDQMBase::mapStationToIdx_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:431
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:179
GEMDetId::ieta
constexpr int ieta() const
Definition: GEMDetId.h:199
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:221
edm::InputTag
Definition: InputTag.h:15
GEMDQMBase::GenerateMEPerChamber
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:150