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

#include <GEMDAQStatusSource.h>

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)
 
int readGeometryPhiInfoChamber (const GEMStation *station, MEStationInfo &stationInfo)
 
int readGeometryRadiusInfoChamber (const GEMStation *station, MEStationInfo &stationInfo)
 
 ~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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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
 
void FillStatusSummaryPlot (std::map< ME4IdsKey, bool > &mapChamber, MonitorElement *h2Plot, std::map< ME4IdsKey, bool > *pmapSummary=nullptr)
 
void FillWithRiseErr (MonitorElement *h, Int_t nX, Int_t nY, Bool_t &bErr)
 
void LoadROMap (edm::EventSetup const &iSetup)
 
- 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 getIEtaFromVFATGE0 (const int vfat)
 
int getIEtaFromVFATGE11 (const int vfat)
 
int getIEtaFromVFATGE21 (const int vfat)
 
int getMaxVFAT (const int)
 
std::string getNameDirLayer (ME3IdsKey key3)
 
int getNumEtaPartitions (const GEMStation *)
 
int getVFATNumber (const int, const int, const int)
 
int getVFATNumberByDigi (const int, const int, const int)
 
int getVFATNumberGE11 (const int, const int, const int)
 
int initGeometry (edm::EventSetup const &iSetup)
 
ME2IdsKey key3Tokey2 (ME3IdsKey key)
 
ME3IdsKey key4Tokey3 (ME4IdsKey key)
 
int keyToChamber (ME4IdsKey key)
 
int keyToIEta (ME3IdsKey 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 ProcessWithMEMap2AbsReWithEta (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap2WithEta (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap4 (BookingHelper &bh, ME4IdsKey key)
 
Float_t restrictAngle (const Float_t fTheta, const Float_t fStart)
 
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 SetLabelAMC13Status (MonitorElement *h2Status)
 
void SetLabelAMCStatus (MonitorElement *h2Status)
 
void SetLabelOHStatus (MonitorElement *h2Status)
 
void SetLabelVFATStatus (MonitorElement *h2Status)
 

Private Attributes

const edm::ESGetToken< GEMChMap, GEMChMapRcdgemChMapToken_
 
MonitorElementh2AMC13Status_
 
MonitorElementh2AMCStatusNeg_
 
MonitorElementh2AMCStatusPos_
 
MonitorElementh2SummaryStatusAll
 
MonitorElementh2SummaryStatusAMC13Error
 
MonitorElementh2SummaryStatusAMCError
 
MonitorElementh2SummaryStatusAMCWarning
 
MonitorElementh2SummaryStatusError
 
MonitorElementh2SummaryStatusOHError
 
MonitorElementh2SummaryStatusOHWarning
 
MonitorElementh2SummaryStatusVFATError
 
MonitorElementh2SummaryStatusVFATWarning
 
MonitorElementh2SummaryStatusWarning
 
std::map< int, std::vector< GEMDetId > > mapAMC13ToListChamber_
 
std::map< std::tuple< int, int >, std::vector< GEMDetId > > mapAMCToListChamber_
 
std::map< UInt_t, int > mapFEDIdToRe_
 
MEMap3Inf mapStatusErrVFATPerLayer_
 
MEMap3Inf mapStatusOH_
 
MEMap3Inf mapStatusVFAT_
 
MEMap4Inf mapStatusVFATPerCh_
 
MEMap3Inf mapStatusWarnVFATPerLayer_
 
Int_t nAMCSlots_
 
int nBitAMC13_ = 10
 
int nBitAMC_ = 12
 
int nBitOH_ = 17
 
int nBitVFAT_ = 7
 
Int_t nBXMax_
 
Int_t nBXMin_
 
std::string strFolderMain_
 
edm::EDGetToken tagAMC13_
 
edm::EDGetToken tagAMC_
 
edm::EDGetToken tagOH_
 
edm::EDGetToken tagVFAT_
 

Additional Inherited Members

- Public Types inherited from GEMDQMBase
enum  {
  GEMDQM_RUNTYPE_ONLINE, GEMDQM_RUNTYPE_OFFLINE, GEMDQM_RUNTYPE_RELVAL, GEMDQM_RUNTYPE_ALLPLOTS,
  GEMDQM_RUNTYPE_NONE = -1
}
 
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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Attributes inherited from GEMDQMBase
std::string log_category_
 
Int_t nRunType_
 
- Protected Attributes inherited from GEMDQMBase
std::vector< GEMChambergemChambers_
 
const GEMGeometryGEMGeometry_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomToken_
 
std::map< ME3IdsKey, MEStationInfomapStationInfo_
 
std::map< ME3IdsKey, int > mapStationToIdx_
 
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
 
std::map< ME2IdsKey, bool > MEMap2Check_
 
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
 
std::map< ME3IdsKey, bool > MEMap3Check_
 
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
 
std::map< ME4IdsKey, bool > MEMap4Check_
 
int nMaxNumCh_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 33 of file GEMDAQStatusSource.h.

Constructor & Destructor Documentation

◆ GEMDAQStatusSource()

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

Definition at line 6 of file GEMDAQStatusSource.cc.

References edm::BeginRun, looper::cfg, nAMCSlots_, tagAMC13_, tagAMC_, tagOH_, and tagVFAT_.

7  : GEMDQMBase(cfg), gemChMapToken_(esConsumes<GEMChMap, GEMChMapRcd, edm::Transition::BeginRun>()) {
8  tagVFAT_ = consumes<GEMVFATStatusCollection>(cfg.getParameter<edm::InputTag>("VFATInputLabel"));
9  tagOH_ = consumes<GEMOHStatusCollection>(cfg.getParameter<edm::InputTag>("OHInputLabel"));
10  tagAMC_ = consumes<GEMAMCStatusCollection>(cfg.getParameter<edm::InputTag>("AMCInputLabel"));
11  tagAMC13_ = consumes<GEMAMC13StatusCollection>(cfg.getParameter<edm::InputTag>("AMC13InputLabel"));
12 
13  nAMCSlots_ = cfg.getParameter<Int_t>("AMCSlots");
14 }
edm::EDGetToken tagAMC13_
edm::EDGetToken tagVFAT_
const edm::ESGetToken< GEMChMap, GEMChMapRcd > gemChMapToken_
edm::EDGetToken tagOH_
GEMDQMBase(const edm::ParameterSet &cfg)
Definition: GEMDQMBase.cc:7
edm::EDGetToken tagAMC_

◆ ~GEMDAQStatusSource()

GEMDAQStatusSource::~GEMDAQStatusSource ( )
inlineoverride

Definition at line 36 of file GEMDAQStatusSource.h.

36 {};

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 285 of file GEMDAQStatusSource.cc.

References MuonDigiCollection< IndexType, DigiType >::begin(), GEMDetId::chamber(), MuonDigiCollection< IndexType, DigiType >::end(), l1tstage2_dqm_sourceclient-live_cfg::fedId, dqm::impl::MonitorElement::Fill(), GEMDQMBase::MEMapInfT< M, K >::Fill(), FillStatusSummaryPlot(), FillWithRiseErr(), GEMDQMBase::GEMDQM_RUNTYPE_ALLPLOTS, GEMDQMBase::GEMDQM_RUNTYPE_ONLINE, GEMDQMBase::GEMDQM_RUNTYPE_RELVAL, GEMDQMBase::getVFATNumber(), h2AMC13Status_, h2AMCStatusNeg_, h2AMCStatusPos_, h2SummaryStatusAll, h2SummaryStatusAMC13Error, h2SummaryStatusAMCError, h2SummaryStatusAMCWarning, h2SummaryStatusError, h2SummaryStatusOHError, h2SummaryStatusOHWarning, h2SummaryStatusVFATError, h2SummaryStatusVFATWarning, h2SummaryStatusWarning, GEMDetId::ieta(), GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToChamber(), GEMDetId::layer(), GEMDQMBase::log_category_, mapAMC13ToListChamber_, mapAMCToListChamber_, mapFEDIdToRe_, GEMDQMBase::mapStationToIdx_, mapStatusErrVFATPerLayer_, mapStatusOH_, mapStatusVFATPerCh_, mapStatusWarnVFATPerLayer_, GEMDQMBase::nRunType_, FastTimerService_cff::range, GEMDetId::region(), GEMDetId::station(), tagAMC13_, tagAMC_, tagOH_, tagVFAT_, and debug_messages_cfi::warnings.

285  {
290 
291  event.getByToken(tagVFAT_, gemVFAT);
292  event.getByToken(tagOH_, gemOH);
293  event.getByToken(tagAMC_, gemAMC);
294  event.getByToken(tagAMC13_, gemAMC13);
295 
296  std::map<ME4IdsKey, bool> mapChamberAll;
297  std::map<ME4IdsKey, bool> mapChamberWarning;
298  std::map<ME4IdsKey, bool> mapChamberError;
299  std::map<ME4IdsKey, bool> mapChamberVFATWarning;
300  std::map<ME4IdsKey, bool> mapChamberVFATError;
301  std::map<ME4IdsKey, bool> mapChamberOHWarning;
302  std::map<ME4IdsKey, bool> mapChamberOHError;
303  std::map<ME4IdsKey, bool> mapChamberAMCWarning;
304  std::map<ME4IdsKey, bool> mapChamberAMCError;
305  std::map<ME4IdsKey, bool> mapChamberAMC13Error;
306 
307  for (auto amc13It = gemAMC13->begin(); amc13It != gemAMC13->end(); ++amc13It) {
308  int fedId = (*amc13It).first;
309  if (mapFEDIdToRe_.find(fedId) == mapFEDIdToRe_.end())
310  continue;
311  int nXBin = 0;
312  if (mapFEDIdToRe_[fedId] < 0) {
313  nXBin = 1;
314  } else if (mapFEDIdToRe_[fedId] > 0) {
315  nXBin = 2;
316  } else {
317  edm::LogError(log_category_) << "+++ Error : Unknown FED Id +++\n" << std::endl;
318  continue;
319  }
320 
321  const auto &range = (*amc13It).second;
322  for (auto amc13 = range.first; amc13 != range.second; ++amc13) {
323  Bool_t bWarn = false;
324  Bool_t bErr = false;
325 
328  if (warnings.InValidAMC)
329  FillWithRiseErr(h2AMC13Status_, nXBin, 2, bWarn);
330  }
331 
334  if (errors.InValidSize)
335  FillWithRiseErr(h2AMC13Status_, nXBin, 3, bErr);
336  if (errors.failTrailerCheck)
337  FillWithRiseErr(h2AMC13Status_, nXBin, 4, bErr);
338  if (errors.failFragmentLength)
339  FillWithRiseErr(h2AMC13Status_, nXBin, 5, bErr);
340  if (errors.failTrailerMatch)
341  FillWithRiseErr(h2AMC13Status_, nXBin, 6, bErr);
342  if (errors.moreTrailers)
343  FillWithRiseErr(h2AMC13Status_, nXBin, 7, bErr);
344  if (errors.crcModified)
345  FillWithRiseErr(h2AMC13Status_, nXBin, 8, bErr);
346  if (errors.slinkError)
347  FillWithRiseErr(h2AMC13Status_, nXBin, 9, bErr);
348  if (errors.wrongFedId)
349  FillWithRiseErr(h2AMC13Status_, nXBin, 10, bErr);
350  }
351 
352  if (!bWarn && !bErr) {
354  h2AMC13Status_->Fill(nXBin, 1);
355  }
356  } else {
357  auto &listChamber = mapAMC13ToListChamber_[fedId];
358  for (auto gid : listChamber) {
359  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()};
360  if (bErr)
361  mapChamberAMC13Error[key4Ch] = false;
362  }
363  }
364  }
365  }
366 
367  MonitorElement *h2AMCStatus = nullptr;
368 
369  for (auto amcIt = gemAMC->begin(); amcIt != gemAMC->end(); ++amcIt) {
370  int fedId = (*amcIt).first;
371  if (mapFEDIdToRe_.find(fedId) == mapFEDIdToRe_.end())
372  continue;
373  if (mapFEDIdToRe_[fedId] < 0) {
374  h2AMCStatus = h2AMCStatusNeg_;
375  } else if (mapFEDIdToRe_[fedId] > 0) {
376  h2AMCStatus = h2AMCStatusPos_;
377  } else {
378  edm::LogError(log_category_) << "+++ Error : Unknown FED Id +++\n" << std::endl;
379  continue;
380  }
381 
382  const GEMAMCStatusCollection::Range &range = (*amcIt).second;
383  for (auto amc = range.first; amc != range.second; ++amc) {
384  Bool_t bWarn = false;
385  Bool_t bErr = false;
386 
387  Int_t nAMCNum = amc->amcNumber();
388 
389  GEMAMCStatus::Warnings warnings{amc->warnings()};
391  if (warnings.InValidOH)
392  FillWithRiseErr(h2AMCStatus, nAMCNum, 2, bWarn);
393  if (warnings.backPressure)
394  FillWithRiseErr(h2AMCStatus, nAMCNum, 3, bWarn);
395  }
396 
397  GEMAMCStatus::Errors errors{amc->errors()};
399  if (errors.badEC)
400  FillWithRiseErr(h2AMCStatus, nAMCNum, 4, bErr);
401  if (errors.badBC)
402  FillWithRiseErr(h2AMCStatus, nAMCNum, 5, bErr);
403  if (errors.badOC)
404  FillWithRiseErr(h2AMCStatus, nAMCNum, 6, bErr);
405  if (errors.badRunType)
406  FillWithRiseErr(h2AMCStatus, nAMCNum, 7, bErr);
407  if (errors.badCRC)
408  FillWithRiseErr(h2AMCStatus, nAMCNum, 8, bErr);
409  if (errors.MMCMlocked)
410  FillWithRiseErr(h2AMCStatus, nAMCNum, 9, bErr);
411  if (errors.DAQclocklocked)
412  FillWithRiseErr(h2AMCStatus, nAMCNum, 10, bErr);
413  if (errors.DAQnotReday)
414  FillWithRiseErr(h2AMCStatus, nAMCNum, 11, bErr);
415  if (errors.BC0locked)
416  FillWithRiseErr(h2AMCStatus, nAMCNum, 12, bErr);
417  }
418 
419  if (!bWarn && !bErr) {
421  h2AMCStatus->Fill(nAMCNum, 1);
422  }
423  } else {
424  auto &listChamber = mapAMCToListChamber_[{fedId, nAMCNum}];
425  for (auto gid : listChamber) {
426  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()};
427  if (bErr)
428  mapChamberAMCError[key4Ch] = false;
429  if (bWarn)
430  mapChamberAMCWarning[key4Ch] = false;
431  }
432  }
433  }
434  }
435 
436  for (auto ohIt = gemOH->begin(); ohIt != gemOH->end(); ++ohIt) {
437  GEMDetId gid = (*ohIt).first;
438  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
439  ME4IdsKey key4{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
440 
441  const GEMOHStatusCollection::Range &range = (*ohIt).second;
442  for (auto OHStatus = range.first; OHStatus != range.second; ++OHStatus) {
443  GEMOHStatus::Warnings warnings{OHStatus->warnings()};
444  if (warnings.EvtNF)
445  mapStatusOH_.Fill(key3, gid.chamber(), 2);
446  if (warnings.InNF)
447  mapStatusOH_.Fill(key3, gid.chamber(), 3);
448  if (warnings.L1aNF)
449  mapStatusOH_.Fill(key3, gid.chamber(), 4);
450  if (warnings.EvtSzW)
451  mapStatusOH_.Fill(key3, gid.chamber(), 5);
452  if (warnings.InValidVFAT)
453  mapStatusOH_.Fill(key3, gid.chamber(), 6);
454 
455  GEMOHStatus::Errors errors{OHStatus->errors()};
456  if (errors.EvtF)
457  mapStatusOH_.Fill(key3, gid.chamber(), 7);
458  if (errors.InF)
459  mapStatusOH_.Fill(key3, gid.chamber(), 8);
460  if (errors.L1aF)
461  mapStatusOH_.Fill(key3, gid.chamber(), 9);
462  if (errors.EvtSzOFW)
463  mapStatusOH_.Fill(key3, gid.chamber(), 10);
464  if (errors.Inv)
465  mapStatusOH_.Fill(key3, gid.chamber(), 11);
466  if (errors.OOScAvV)
467  mapStatusOH_.Fill(key3, gid.chamber(), 12);
468  if (errors.OOScVvV)
469  mapStatusOH_.Fill(key3, gid.chamber(), 13);
470  if (errors.BxmAvV)
471  mapStatusOH_.Fill(key3, gid.chamber(), 14);
472  if (errors.BxmVvV)
473  mapStatusOH_.Fill(key3, gid.chamber(), 15);
474  if (errors.InUfw)
475  mapStatusOH_.Fill(key3, gid.chamber(), 16);
476  if (errors.badVFatCount)
477  mapStatusOH_.Fill(key3, gid.chamber(), 17);
478 
479  Bool_t bWarn = warnings.wcodes != 0;
480  Bool_t bErr = errors.codes != 0;
481  if (!bWarn && !bErr)
482  mapStatusOH_.Fill(key3, gid.chamber(), 1);
483  if (bWarn)
484  mapChamberOHWarning[key4] = false;
485  if (bErr)
486  mapChamberOHError[key4] = false;
487  mapChamberAll[key4] = true;
488  }
489  }
490 
491  for (auto vfatIt = gemVFAT->begin(); vfatIt != gemVFAT->end(); ++vfatIt) {
492  GEMDetId gid = (*vfatIt).first;
493  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
494  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
495  const GEMVFATStatusCollection::Range &range = (*vfatIt).second;
496 
497  for (auto vfatStat = range.first; vfatStat != range.second; ++vfatStat) {
498  Int_t nIdxVFAT = getVFATNumber(gid.station(), gid.ieta(), vfatStat->vfatPosition());
499 
500  GEMVFATStatus::Warnings warnings{vfatStat->warnings()};
501  if (warnings.basicOFW)
502  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 2);
503  if (warnings.zeroSupOFW)
504  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 3);
505 
506  GEMVFATStatus::Errors errors{(uint8_t)vfatStat->errors()};
507  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 4);
508  if (errors.InValidHeader)
509  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 5);
510  if (errors.EC)
511  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 6);
512  if (errors.BC)
513  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 7);
514 
515  Bool_t bWarn = warnings.wcodes != 0;
516  Bool_t bErr = errors.codes != 0;
517  if (!bWarn && !bErr)
518  mapStatusVFATPerCh_.Fill(key4Ch, nIdxVFAT, 1);
519  if (bWarn)
520  mapChamberVFATWarning[key4Ch] = false;
521  if (bErr)
522  mapChamberVFATError[key4Ch] = false;
523  if (bWarn)
524  mapStatusWarnVFATPerLayer_.Fill(key3, gid.chamber(), nIdxVFAT);
525  if (bErr)
526  mapStatusErrVFATPerLayer_.Fill(key3, gid.chamber(), nIdxVFAT);
527  mapChamberAll[key4Ch] = true;
528  }
529  }
530 
532  // Summarizing all presence of status of each chamber
533  for (auto const &[key4, bErr] : mapChamberAll) {
534  ME3IdsKey key3 = key4Tokey3(key4);
535  Int_t nChamber = keyToChamber(key4);
536  h2SummaryStatusAll->Fill(nChamber, mapStationToIdx_[key3]);
537  }
538 
539  // Summarizing all presence of status of each chamber
541  // Summarizing all the error and warning occupancy
542  FillStatusSummaryPlot(mapChamberVFATWarning, h2SummaryStatusVFATWarning, &mapChamberWarning);
543  FillStatusSummaryPlot(mapChamberVFATError, h2SummaryStatusVFATError, &mapChamberError);
544  FillStatusSummaryPlot(mapChamberOHWarning, h2SummaryStatusOHWarning, &mapChamberWarning);
545  FillStatusSummaryPlot(mapChamberOHError, h2SummaryStatusOHError, &mapChamberError);
546  FillStatusSummaryPlot(mapChamberAMCWarning, h2SummaryStatusAMCWarning, &mapChamberWarning);
547  FillStatusSummaryPlot(mapChamberAMCError, h2SummaryStatusAMCError, &mapChamberError);
548  FillStatusSummaryPlot(mapChamberAMC13Error, h2SummaryStatusAMC13Error, &mapChamberError);
549 
550  FillStatusSummaryPlot(mapChamberWarning, h2SummaryStatusWarning);
552  }
553 }
constexpr int station() const
Definition: GEMDetId.h:179
constexpr int region() const
Definition: GEMDetId.h:171
Int_t nRunType_
Definition: GEMDQMBase.h:516
void FillWithRiseErr(MonitorElement *h, Int_t nX, Int_t nY, Bool_t &bErr)
edm::EDGetToken tagAMC13_
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:612
MonitorElement * h2SummaryStatusAMCWarning
MonitorElement * h2AMCStatusNeg_
MonitorElement * h2AMC13Status_
MonitorElement * h2SummaryStatusAMCError
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
std::map< UInt_t, int > mapFEDIdToRe_
std::map< std::tuple< int, int >, std::vector< GEMDetId > > mapAMCToListChamber_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:586
Log< level::Error, false > LogError
constexpr int layer() const
Definition: GEMDetId.h:190
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:380
std::string log_category_
Definition: GEMDQMBase.h:518
constexpr int chamber() const
Definition: GEMDetId.h:183
edm::EDGetToken tagVFAT_
MonitorElement * h2SummaryStatusVFATError
void Fill(long long x)
MEMap3Inf mapStatusWarnVFATPerLayer_
edm::EDGetToken tagOH_
MonitorElement * h2SummaryStatusError
MEMap3Inf mapStatusErrVFATPerLayer_
DigiRangeIterator begin() const
std::map< int, std::vector< GEMDetId > > mapAMC13ToListChamber_
MonitorElement * h2SummaryStatusVFATWarning
MonitorElement * h2SummaryStatusAll
constexpr int ieta() const
Definition: GEMDetId.h:199
std::pair< const_iterator, const_iterator > Range
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:540
MonitorElement * h2SummaryStatusOHWarning
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:549
MonitorElement * h2SummaryStatusAMC13Error
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: errors.py:1
MonitorElement * h2SummaryStatusWarning
Definition: AMCSpec.h:8
void FillStatusSummaryPlot(std::map< ME4IdsKey, bool > &mapChamber, MonitorElement *h2Plot, std::map< ME4IdsKey, bool > *pmapSummary=nullptr)
MonitorElement * h2SummaryStatusOHError
DigiRangeIterator end() const
MonitorElement * h2AMCStatusPos_
edm::EDGetToken tagAMC_

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 144 of file GEMDAQStatusSource.cc.

References dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), GEMDQMBase::CreateSummaryHist(), GEMDQMBase::GEMDQM_RUNTYPE_ALLPLOTS, GEMDQMBase::GEMDQM_RUNTYPE_OFFLINE, GEMDQMBase::GEMDQM_RUNTYPE_ONLINE, GEMDQMBase::GEMDQM_RUNTYPE_RELVAL, GEMDQMBase::GEMGeometry_, GEMDQMBase::GenerateMEPerChamber(), h2AMC13Status_, h2AMCStatusNeg_, h2AMCStatusPos_, h2SummaryStatusAll, h2SummaryStatusAMC13Error, h2SummaryStatusAMCError, h2SummaryStatusAMCWarning, h2SummaryStatusError, h2SummaryStatusOHError, h2SummaryStatusOHWarning, h2SummaryStatusVFATError, h2SummaryStatusVFATWarning, h2SummaryStatusWarning, GEMDQMBase::initGeometry(), GEMDQMBase::loadChambers(), LoadROMap(), mapAMC13ToListChamber_, mapAMCToListChamber_, mapFEDIdToRe_, mapStatusErrVFATPerLayer_, mapStatusOH_, mapStatusVFATPerCh_, mapStatusWarnVFATPerLayer_, nAMCSlots_, nBitAMC13_, nBitAMC_, nBitOH_, nBitVFAT_, nBXMax_, nBXMin_, GEMDQMBase::nRunType_, dqm::implementation::NavigatorBase::setCurrentFolder(), SetLabelAMC13Status(), SetLabelAMCStatus(), dqm::impl::MonitorElement::setTitle(), strFolderMain_, and GEMDQMBase::MEMapInfT< M, K >::TurnOff().

144  {
145  LoadROMap(iSetup);
146  if (mapAMC13ToListChamber_.empty() || mapAMCToListChamber_.empty())
147  return;
148  initGeometry(iSetup);
149  if (GEMGeometry_ == nullptr)
150  return;
151  loadChambers();
152 
153  strFolderMain_ = "GEM/DAQStatus";
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();
163 
164  h2AMC13Status_ = nullptr;
165  h2AMCStatusNeg_ = nullptr;
166  h2AMCStatusPos_ = nullptr;
167 
170  ibooker.book2D("amc13_status", "AMC13 Status;AMC13;", 2, 0.5, 2.5, nBitAMC13_, 0.5, nBitAMC13_ + 0.5);
171  h2AMCStatusNeg_ = ibooker.book2D("amc_status_GE11-M",
172  "AMC Status GE11-M;AMC slot;",
173  nAMCSlots_,
174  -0.5,
175  nAMCSlots_ - 0.5,
176  nBitAMC_,
177  0.5,
178  nBitAMC_ + 0.5);
179  h2AMCStatusPos_ = ibooker.book2D("amc_status_GE11-P",
180  "AMC Status GE11-P;AMC slot;",
181  nAMCSlots_,
182  -0.5,
183  nAMCSlots_ - 0.5,
184  nBitAMC_,
185  0.5,
186  nBitAMC_ + 0.5);
187  }
188 
192 
193  mapStatusOH_ =
194  MEMap3Inf(this, "oh_status", "OptoHybrid Status", 36, 0.5, 36.5, nBitOH_, 0.5, nBitOH_ + 0.5, "Chamber");
195 
197  this, "vfat_statusWarnSum", "VFAT reporting warnings", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5, "Chamber", "VFAT");
199  this, "vfat_statusErrSum", "VFAT reporting errors", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5, "Chamber", "VFAT");
201  MEMap4Inf(this, "vfat_status", "VFAT Status", 24, -0.5, 24 - 0.5, nBitVFAT_, 0.5, nBitVFAT_ + 0.5, "VFAT");
202 
205  }
206 
212  }
213 
214  GenerateMEPerChamber(ibooker);
215 
217  h2SummaryStatusAll = CreateSummaryHist(ibooker, "chamberAllStatus");
218  h2SummaryStatusWarning = CreateSummaryHist(ibooker, "chamberWarnings");
219  h2SummaryStatusError = CreateSummaryHist(ibooker, "chamberErrors");
220  h2SummaryStatusVFATWarning = CreateSummaryHist(ibooker, "chamberVFATWarnings");
221  h2SummaryStatusVFATError = CreateSummaryHist(ibooker, "chamberVFATErrors");
222  h2SummaryStatusOHWarning = CreateSummaryHist(ibooker, "chamberOHWarnings");
223  h2SummaryStatusOHError = CreateSummaryHist(ibooker, "chamberOHErrors");
224  h2SummaryStatusAMCWarning = CreateSummaryHist(ibooker, "chamberAMCWarnings");
225  h2SummaryStatusAMCError = CreateSummaryHist(ibooker, "chamberAMCErrors");
226  h2SummaryStatusAMC13Error = CreateSummaryHist(ibooker, "chamberAMC13Errors");
227 
228  h2SummaryStatusAll->setTitle("Summary of all number of OH or VFAT status of each chambers");
229  h2SummaryStatusWarning->setTitle("Summary of all warnings of each chambers");
230  h2SummaryStatusError->setTitle("Summary of all errors of each chambers");
231  h2SummaryStatusVFATWarning->setTitle("Summary of VFAT warnings of each chambers");
232  h2SummaryStatusVFATError->setTitle("Summary of VFAT errors of each chambers");
233  h2SummaryStatusOHWarning->setTitle("Summary of OH warnings of each chambers");
234  h2SummaryStatusOHError->setTitle("Summary of OH errors of each chambers");
235  h2SummaryStatusAMCWarning->setTitle("Summary of AMC warnings of each chambers");
236  h2SummaryStatusAMCError->setTitle("Summary of AMC errors of each chambers");
237  h2SummaryStatusAMC13Error->setTitle("Summary of AMC13 errors of each chambers");
238  }
239 }
virtual void setTitle(const std::string &title)
set (ie. change) histogram/profile title
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:460
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
Definition: GEMDQMBase.cc:131
Int_t nRunType_
Definition: GEMDQMBase.h:516
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MonitorElement * h2SummaryStatusAMCWarning
MonitorElement * h2AMCStatusNeg_
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:459
MonitorElement * h2AMC13Status_
MonitorElement * h2SummaryStatusAMCError
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:27
std::map< UInt_t, int > mapFEDIdToRe_
std::map< std::tuple< int, int >, std::vector< GEMDetId > > mapAMCToListChamber_
int loadChambers()
Definition: GEMDQMBase.cc:58
MonitorElement * h2SummaryStatusVFATError
MEMap3Inf mapStatusWarnVFATPerLayer_
MonitorElement * h2SummaryStatusError
MEMap3Inf mapStatusErrVFATPerLayer_
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:163
void SetLabelAMCStatus(MonitorElement *h2Status)
void LoadROMap(edm::EventSetup const &iSetup)
void SetLabelAMC13Status(MonitorElement *h2Status)
std::map< int, std::vector< GEMDetId > > mapAMC13ToListChamber_
MonitorElement * h2SummaryStatusVFATWarning
MonitorElement * h2SummaryStatusAll
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:573
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:212
MonitorElement * h2SummaryStatusOHWarning
MonitorElement * h2SummaryStatusAMC13Error
MonitorElement * h2SummaryStatusWarning
MonitorElement * h2SummaryStatusOHError
MonitorElement * h2AMCStatusPos_

◆ dqmBeginRun()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 42 of file GEMDAQStatusSource.h.

42 {};

◆ fillDescriptions()

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

Definition at line 16 of file GEMDAQStatusSource.cc.

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

16  {
18  desc.add<edm::InputTag>("VFATInputLabel", edm::InputTag("muonGEMDigis", "VFATStatus"));
19  desc.add<edm::InputTag>("OHInputLabel", edm::InputTag("muonGEMDigis", "OHStatus"));
20  desc.add<edm::InputTag>("AMCInputLabel", edm::InputTag("muonGEMDigis", "AMCStatus"));
21  desc.add<edm::InputTag>("AMC13InputLabel", edm::InputTag("muonGEMDigis", "AMC13Status"));
22 
23  desc.add<Int_t>("AMCSlots", 13);
24  desc.addUntracked<std::string>("runType", "online");
25  desc.addUntracked<std::string>("logCategory", "GEMDAQStatusSource");
26 
27  descriptions.add("GEMDAQStatusSource", desc);
28 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ FillStatusSummaryPlot()

void GEMDAQStatusSource::FillStatusSummaryPlot ( std::map< ME4IdsKey, bool > &  mapChamber,
MonitorElement h2Plot,
std::map< ME4IdsKey, bool > *  pmapSummary = nullptr 
)
inlineprotected

Definition at line 51 of file GEMDAQStatusSource.h.

References dqm::impl::MonitorElement::Fill(), GEMDQMBase::key4Tokey3(), GEMDQMBase::keyToChamber(), and GEMDQMBase::mapStationToIdx_.

Referenced by analyze().

53  {
54  for (auto const &[key4, bFlag] : mapChamber) { // bFlag is not used
55  ME3IdsKey key3 = key4Tokey3(key4);
56  Int_t nChamber = keyToChamber(key4);
57  h2Plot->Fill(nChamber, mapStationToIdx_[key3]);
58  if (pmapSummary != nullptr)
59  (*pmapSummary)[key4] = true;
60  }
61  };
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:586
void Fill(long long x)
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:540
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:549
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey

◆ FillWithRiseErr()

void GEMDAQStatusSource::FillWithRiseErr ( MonitorElement h,
Int_t  nX,
Int_t  nY,
Bool_t &  bErr 
)
inlineprotected

Definition at line 46 of file GEMDAQStatusSource.h.

References h.

Referenced by analyze().

46  {
47  h->Fill(nX, nY);
48  bErr = true;
49  };
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4

◆ LoadROMap()

void GEMDAQStatusSource::LoadROMap ( edm::EventSetup const &  iSetup)
protected

Definition at line 30 of file GEMDAQStatusSource.cc.

References l1tstage2_dqm_sourceclient-live_cfg::fedId, gemChMapToken_, edm::EventSetup::getData(), mapAMC13ToListChamber_, mapAMCToListChamber_, mapFEDIdToRe_, and GEMDetId::region().

Referenced by bookHistograms().

30  {
31  //if (useDBEMap_)
32  if (true) {
33  const auto &chMap = iSetup.getData(gemChMapToken_);
34  auto gemChMap = std::make_unique<GEMChMap>(chMap);
35 
36  for (auto const &[ec, dc] : gemChMap->chamberMap()) {
37  unsigned int fedId = ec.fedId;
38  uint8_t amcNum = ec.amcNum;
39  GEMDetId gemChId(dc.detId);
40 
41  mapFEDIdToRe_[fedId] = gemChId.region();
42  mapAMC13ToListChamber_[fedId].push_back(gemChId);
43  mapAMCToListChamber_[{fedId, amcNum}].push_back(gemChId);
44  }
45 
46  } else {
47  // no EMap in DB, using dummy
48  auto gemChMap = std::make_unique<GEMChMap>();
49  gemChMap->setDummy();
50 
51  for (auto const &[ec, dc] : gemChMap->chamberMap()) {
52  unsigned int fedId = ec.fedId;
53  uint8_t amcNum = ec.amcNum;
54  GEMDetId gemChId(dc.detId);
55 
56  mapFEDIdToRe_[fedId] = gemChId.region();
57  mapAMC13ToListChamber_[fedId].push_back(gemChId);
58  mapAMCToListChamber_[{fedId, amcNum}].push_back(gemChId);
59  }
60  }
61 }
std::map< UInt_t, int > mapFEDIdToRe_
std::map< std::tuple< int, int >, std::vector< GEMDetId > > mapAMCToListChamber_
const edm::ESGetToken< GEMChMap, GEMChMapRcd > gemChMapToken_
std::map< int, std::vector< GEMDetId > > mapAMC13ToListChamber_

◆ ProcessWithMEMap3()

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

Reimplemented from GEMDQMBase.

Definition at line 241 of file GEMDAQStatusSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::MEMapInfT< M, K >::FindHist(), GEMDQMBase::MEMapInfT< M, K >::isOperating(), crabWrapper::key, GEMDQMBase::mapStationInfo_, mapStatusErrVFATPerLayer_, mapStatusOH_, mapStatusWarnVFATPerLayer_, 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(), and SetLabelOHStatus().

241  {
242  MEStationInfo &stationInfo = mapStationInfo_[key];
243 
244  mapStatusOH_.SetBinConfX(stationInfo.nNumChambers_);
245  mapStatusOH_.bookND(bh, key);
247 
248  if (mapStatusOH_.isOperating()) {
250  }
251 
252  mapStatusWarnVFATPerLayer_.SetBinConfX(stationInfo.nNumChambers_);
253  mapStatusWarnVFATPerLayer_.SetBinConfY(stationInfo.nMaxVFAT_, -0.5);
256  mapStatusWarnVFATPerLayer_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 2);
257 
258  mapStatusErrVFATPerLayer_.SetBinConfX(stationInfo.nNumChambers_);
259  mapStatusErrVFATPerLayer_.SetBinConfY(stationInfo.nMaxVFAT_, -0.5);
262  mapStatusErrVFATPerLayer_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 2);
263 
264  return 0;
265 }
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:337
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:359
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:587
MEMap3Inf mapStatusWarnVFATPerLayer_
MEMap3Inf mapStatusErrVFATPerLayer_
void SetLabelOHStatus(MonitorElement *h2Status)
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:281
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:289
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:328

◆ ProcessWithMEMap3WithChamber()

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

Reimplemented from GEMDQMBase.

Definition at line 267 of file GEMDAQStatusSource.cc.

References GEMDQMBase::MEMapInfT< M, K >::bookND(), GEMDQMBase::MEMapInfT< M, K >::FindHist(), GEMDQMBase::BookingHelper::getBooker(), GEMDQMBase::getNameDirLayer(), GEMDQMBase::MEMapInfT< M, K >::isOperating(), crabWrapper::key, GEMDQMBase::key4Tokey3(), GEMDQMBase::mapStationInfo_, mapStatusVFATPerCh_, GEMDQMBase::MEStationInfo::nMaxVFAT_, GEMDQMBase::MEStationInfo::nNumEtaPartitions_, GEMDQMBase::MEMapInfT< M, K >::SetBinConfX(), dqm::implementation::NavigatorBase::setCurrentFolder(), GEMDQMBase::MEMapInfT< M, K >::SetLabelForVFATs(), SetLabelVFATStatus(), and strFolderMain_.

267  {
268  ME3IdsKey key3 = key4Tokey3(key);
269  MEStationInfo &stationInfo = mapStationInfo_[key3];
270 
271  bh.getBooker()->setCurrentFolder(strFolderMain_ + "/VFATStatus_" + getNameDirLayer(key3));
272 
273  mapStatusVFATPerCh_.SetBinConfX(stationInfo.nMaxVFAT_, -0.5);
275  mapStatusVFATPerCh_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 1);
278  }
279 
280  bh.getBooker()->setCurrentFolder(strFolderMain_);
281 
282  return 0;
283 }
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:359
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:587
void SetLabelVFATStatus(MonitorElement *h2Status)
std::string getNameDirLayer(ME3IdsKey key3)
Definition: GEMDQMBase.h:659
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:307
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:549
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:281
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:328

◆ SetLabelAMC13Status()

void GEMDAQStatusSource::SetLabelAMC13Status ( MonitorElement h2Status)
private

Definition at line 63 of file GEMDAQStatusSource.cc.

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

Referenced by bookHistograms().

63  {
64  if (h2Status == nullptr) {
65  return;
66  }
67 
68  unsigned int unBinPos = 1;
69  h2Status->setBinLabel(unBinPos++, "Good", 2);
70  h2Status->setBinLabel(unBinPos++, "Invalid AMC", 2);
71  h2Status->setBinLabel(unBinPos++, "Invalid size", 2);
72  h2Status->setBinLabel(unBinPos++, "Fail trailer check", 2);
73  h2Status->setBinLabel(unBinPos++, "Fail fragment length", 2);
74  h2Status->setBinLabel(unBinPos++, "Fail trailer match", 2);
75  h2Status->setBinLabel(unBinPos++, "More trailer", 2);
76  h2Status->setBinLabel(unBinPos++, "CRC modified", 2);
77  h2Status->setBinLabel(unBinPos++, "S-link error", 2);
78  h2Status->setBinLabel(unBinPos++, "Wrong FED ID", 2);
79 
80  h2Status->setBinLabel(1, "GE11-M", 1);
81  h2Status->setBinLabel(2, "GE11-P", 1);
82 }
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)

◆ SetLabelAMCStatus()

void GEMDAQStatusSource::SetLabelAMCStatus ( MonitorElement h2Status)
private

Definition at line 84 of file GEMDAQStatusSource.cc.

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

Referenced by bookHistograms().

84  {
85  if (h2Status == nullptr) {
86  return;
87  }
88 
89  unsigned int unBinPos = 1;
90  h2Status->setBinLabel(unBinPos++, "Good", 2);
91  h2Status->setBinLabel(unBinPos++, "Invalid OH", 2);
92  h2Status->setBinLabel(unBinPos++, "Back pressure", 2);
93  h2Status->setBinLabel(unBinPos++, "Bad EC", 2);
94  h2Status->setBinLabel(unBinPos++, "Bad BC", 2);
95  h2Status->setBinLabel(unBinPos++, "Bad OC", 2);
96  h2Status->setBinLabel(unBinPos++, "Bad run type", 2);
97  h2Status->setBinLabel(unBinPos++, "Bad CRC", 2);
98  h2Status->setBinLabel(unBinPos++, "MMCM locked", 2);
99  h2Status->setBinLabel(unBinPos++, "DAQ clock locked", 2);
100  h2Status->setBinLabel(unBinPos++, "DAQ not ready", 2);
101  h2Status->setBinLabel(unBinPos++, "BC0 not locked", 2);
102 }
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)

◆ SetLabelOHStatus()

void GEMDAQStatusSource::SetLabelOHStatus ( MonitorElement h2Status)
private

Definition at line 104 of file GEMDAQStatusSource.cc.

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

Referenced by ProcessWithMEMap3().

104  {
105  if (h2Status == nullptr) {
106  return;
107  }
108 
109  unsigned int unBinPos = 1;
110  h2Status->setBinLabel(unBinPos++, "Good", 2);
111  h2Status->setBinLabel(unBinPos++, "Event FIFO near full", 2);
112  h2Status->setBinLabel(unBinPos++, "Input FIFO near full", 2);
113  h2Status->setBinLabel(unBinPos++, "L1A FIFO near full", 2);
114  h2Status->setBinLabel(unBinPos++, "Event size warn", 2);
115  h2Status->setBinLabel(unBinPos++, "Invalid VFAT", 2);
116  h2Status->setBinLabel(unBinPos++, "Event FIFO full", 2);
117  h2Status->setBinLabel(unBinPos++, "Input FIFO full", 2);
118  h2Status->setBinLabel(unBinPos++, "L1A FIFO full", 2);
119  h2Status->setBinLabel(unBinPos++, "Event size overflow", 2);
120  h2Status->setBinLabel(unBinPos++, "Invalid event", 2);
121  h2Status->setBinLabel(unBinPos++, "Out of Sync AMC vs VFAT", 2);
122  h2Status->setBinLabel(unBinPos++, "Out of Sync VFAT vs VFAT", 2);
123  h2Status->setBinLabel(unBinPos++, "BX mismatch AMC vs VFAT", 2);
124  h2Status->setBinLabel(unBinPos++, "BX mismatch VFAT vs VFAT", 2);
125  h2Status->setBinLabel(unBinPos++, "Input FIFO underflow", 2);
126  h2Status->setBinLabel(unBinPos++, "Bad VFAT count", 2);
127 }
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)

◆ SetLabelVFATStatus()

void GEMDAQStatusSource::SetLabelVFATStatus ( MonitorElement h2Status)
private

Definition at line 129 of file GEMDAQStatusSource.cc.

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

Referenced by ProcessWithMEMap3WithChamber().

129  {
130  if (h2Status == nullptr) {
131  return;
132  }
133 
134  unsigned int unBinPos = 1;
135  h2Status->setBinLabel(unBinPos++, "Good", 2);
136  h2Status->setBinLabel(unBinPos++, "Basic overflow", 2);
137  h2Status->setBinLabel(unBinPos++, "Zero-sup overflow", 2);
138  h2Status->setBinLabel(unBinPos++, "VFAT CRC error", 2);
139  h2Status->setBinLabel(unBinPos++, "Invalid header", 2);
140  h2Status->setBinLabel(unBinPos++, "AMC EC mismatch", 2);
141  h2Status->setBinLabel(unBinPos++, "AMC BC mismatch", 2);
142 }
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)

Member Data Documentation

◆ gemChMapToken_

const edm::ESGetToken<GEMChMap, GEMChMapRcd> GEMDAQStatusSource::gemChMapToken_
private

Definition at line 72 of file GEMDAQStatusSource.h.

Referenced by LoadROMap().

◆ h2AMC13Status_

MonitorElement* GEMDAQStatusSource::h2AMC13Status_
private

Definition at line 79 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2AMCStatusNeg_

MonitorElement* GEMDAQStatusSource::h2AMCStatusNeg_
private

Definition at line 81 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2AMCStatusPos_

MonitorElement* GEMDAQStatusSource::h2AMCStatusPos_
private

Definition at line 80 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusAll

MonitorElement* GEMDAQStatusSource::h2SummaryStatusAll
private

Definition at line 90 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusAMC13Error

MonitorElement* GEMDAQStatusSource::h2SummaryStatusAMC13Error
private

Definition at line 99 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusAMCError

MonitorElement* GEMDAQStatusSource::h2SummaryStatusAMCError
private

Definition at line 98 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusAMCWarning

MonitorElement* GEMDAQStatusSource::h2SummaryStatusAMCWarning
private

Definition at line 97 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusError

MonitorElement* GEMDAQStatusSource::h2SummaryStatusError
private

Definition at line 92 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusOHError

MonitorElement* GEMDAQStatusSource::h2SummaryStatusOHError
private

Definition at line 96 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusOHWarning

MonitorElement* GEMDAQStatusSource::h2SummaryStatusOHWarning
private

Definition at line 95 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusVFATError

MonitorElement* GEMDAQStatusSource::h2SummaryStatusVFATError
private

Definition at line 94 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusVFATWarning

MonitorElement* GEMDAQStatusSource::h2SummaryStatusVFATWarning
private

Definition at line 93 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ h2SummaryStatusWarning

MonitorElement* GEMDAQStatusSource::h2SummaryStatusWarning
private

Definition at line 91 of file GEMDAQStatusSource.h.

Referenced by analyze(), and bookHistograms().

◆ mapAMC13ToListChamber_

std::map<int, std::vector<GEMDetId> > GEMDAQStatusSource::mapAMC13ToListChamber_
private

Definition at line 106 of file GEMDAQStatusSource.h.

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

◆ mapAMCToListChamber_

std::map<std::tuple<int, int>, std::vector<GEMDetId> > GEMDAQStatusSource::mapAMCToListChamber_
private

Definition at line 107 of file GEMDAQStatusSource.h.

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

◆ mapFEDIdToRe_

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

Definition at line 105 of file GEMDAQStatusSource.h.

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

◆ mapStatusErrVFATPerLayer_

MEMap3Inf GEMDAQStatusSource::mapStatusErrVFATPerLayer_
private

Definition at line 87 of file GEMDAQStatusSource.h.

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

◆ mapStatusOH_

MEMap3Inf GEMDAQStatusSource::mapStatusOH_
private

Definition at line 83 of file GEMDAQStatusSource.h.

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

◆ mapStatusVFAT_

MEMap3Inf GEMDAQStatusSource::mapStatusVFAT_
private

Definition at line 84 of file GEMDAQStatusSource.h.

◆ mapStatusVFATPerCh_

MEMap4Inf GEMDAQStatusSource::mapStatusVFATPerCh_
private

Definition at line 88 of file GEMDAQStatusSource.h.

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

◆ mapStatusWarnVFATPerLayer_

MEMap3Inf GEMDAQStatusSource::mapStatusWarnVFATPerLayer_
private

Definition at line 86 of file GEMDAQStatusSource.h.

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

◆ nAMCSlots_

Int_t GEMDAQStatusSource::nAMCSlots_
private

Definition at line 108 of file GEMDAQStatusSource.h.

Referenced by bookHistograms(), and GEMDAQStatusSource().

◆ nBitAMC13_

int GEMDAQStatusSource::nBitAMC13_ = 10
private

Definition at line 110 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ nBitAMC_

int GEMDAQStatusSource::nBitAMC_ = 12
private

Definition at line 111 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ nBitOH_

int GEMDAQStatusSource::nBitOH_ = 17
private

Definition at line 112 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ nBitVFAT_

int GEMDAQStatusSource::nBitVFAT_ = 7
private

Definition at line 113 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ nBXMax_

Int_t GEMDAQStatusSource::nBXMax_
private

Definition at line 103 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ nBXMin_

Int_t GEMDAQStatusSource::nBXMin_
private

Definition at line 103 of file GEMDAQStatusSource.h.

Referenced by bookHistograms().

◆ strFolderMain_

std::string GEMDAQStatusSource::strFolderMain_
private

Definition at line 101 of file GEMDAQStatusSource.h.

Referenced by bookHistograms(), and ProcessWithMEMap3WithChamber().

◆ tagAMC13_

edm::EDGetToken GEMDAQStatusSource::tagAMC13_
private

Definition at line 77 of file GEMDAQStatusSource.h.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagAMC_

edm::EDGetToken GEMDAQStatusSource::tagAMC_
private

Definition at line 76 of file GEMDAQStatusSource.h.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagOH_

edm::EDGetToken GEMDAQStatusSource::tagOH_
private

Definition at line 75 of file GEMDAQStatusSource.h.

Referenced by analyze(), and GEMDAQStatusSource().

◆ tagVFAT_

edm::EDGetToken GEMDAQStatusSource::tagVFAT_
private

Definition at line 74 of file GEMDAQStatusSource.h.

Referenced by analyze(), and GEMDAQStatusSource().