CMS 3D CMS Logo

GEMDAQStatusSource.cc
Go to the documentation of this file.
9 
13 
15 
21 
23 
24 #include <string>
25 
26 //----------------------------------------------------------------------------------------------------
27 
29 public:
30  explicit GEMDAQStatusSource(const edm::ParameterSet &cfg);
31  ~GEMDAQStatusSource() override{};
32  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
33 
34 protected:
35  void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override{};
36  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
37  void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override;
38 
39 private:
40  int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) override;
41  int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override;
42 
43  void SetLabelAMCStatus(MonitorElement *h2Status);
44  void SetLabelGEBStatus(MonitorElement *h2Status);
45  void SetLabelVFATStatus(MonitorElement *h2Status);
46 
52 
57 
61 
64 
66 
67  Int_t nBXMin_, nBXMax_;
68 
69  std::map<UInt_t, int> mapFEDIdToRe_;
70  Int_t nAMCSlots_;
71 
72  int nBitAMC_ = 7;
73  int nBitGEB_ = 17;
74  int nBitVFAT_ = 9;
75 };
76 
77 using namespace std;
78 using namespace edm;
79 
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 }
89 
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 }
103 
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 }
114 
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 }
135 
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 }
148 
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 }
223 
225  MEStationInfo &stationInfo = mapStationInfo_[key];
226 
228  mapStatusGEB_.bookND(bh, key);
230 
232 
238 
239  mapStatusVFAT_.SetBinConfX(stationInfo.nMaxVFAT_);
242 
244 
248 
249  return 0;
250 }
251 
253  ME3IdsKey key3 = key4Tokey3(key);
254  MEStationInfo &stationInfo = mapStationInfo_[key3];
255 
260 
261  return 0;
262 }
263 
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 }
420 
GEMDQMBase::MEMapInfT::SetBinConfX
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:204
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
MessageLogger.h
GEMGEBdataCollection.h
GEMDAQStatusSource::nAMCSlots_
Int_t nAMCSlots_
Definition: GEMDAQStatusSource.cc:70
ESHandle.h
GEMDAQStatusSource::ProcessWithMEMap3WithChamber
int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override
Definition: GEMDAQStatusSource.cc:252
GEMDAQStatusSource::GEMDAQStatusSource
GEMDAQStatusSource(const edm::ParameterSet &cfg)
Definition: GEMDAQStatusSource.cc:80
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:190
GEMDQMBase::MEStationInfo
Definition: GEMDQMBase.h:340
edm::Run
Definition: Run.h:45
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:171
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:421
GEMAMC13EventCollection.h
edm
HLT enums.
Definition: AlignableModifier.h:19
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
DQMStore.h
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
GEMAMCdataCollection.h
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
GEMDAQStatusSource::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: GEMDAQStatusSource.cc:149
GEMValidationUtils.h
GEMDQMBase::MEMapInfT::SetLabelForChambers
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:246
GEMDQMBase::BookingHelper
Definition: GEMDQMBase.h:32
GEMDAQStatusSource::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: GEMDAQStatusSource.cc:90
MakerMacros.h
GEMDQMBase.h
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
GEMDAQStatusSource::~GEMDAQStatusSource
~GEMDAQStatusSource() override
Definition: GEMDAQStatusSource.cc:31
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
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::MEStationInfo::nNumEtaPartitions_
Int_t nNumEtaPartitions_
Definition: GEMDQMBase.h:368
GEMDAQStatusSource::ProcessWithMEMap3
int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) override
Definition: GEMDAQStatusSource.cc:224
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
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
GEMDQMBase::CreateSummaryHist
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
Definition: GEMDQMBase.cc:122
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDQMBase::MEStationInfo::nMaxVFAT_
Int_t nMaxVFAT_
Definition: GEMDQMBase.h:369
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:183
MonitorElement.h
GEMDQMBase::initGeometry
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:15
edm::ParameterSet
Definition: ParameterSet.h:47
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
Event.h
GEMDQMBase::MEMapInfT::FillBits
int FillBits(K key, Double_t x, UInt_t bits)
Definition: GEMDQMBase.h:303
GEMDQMBase::MEStationInfo::nNumChambers_
Int_t nNumChambers_
Definition: GEMDQMBase.h:367
GEMDetId
Definition: GEMDetId.h:18
GEMDAQStatusSource::dqmBeginRun
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
Definition: GEMDAQStatusSource.cc:35
ModuleDef.h
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
edm::EventSetup
Definition: EventSetup.h:58
GEMDAQStatusSource::nBXMin_
Int_t nBXMin_
Definition: GEMDAQStatusSource.cc:67
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
edm::EDGetToken
Definition: EDGetToken.h:35
InputTag.h
GEMDQMBase::MEMapInfT
Definition: GEMDQMBase.h:84
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
std
Definition: JetResolutionObject.h:76
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
GEMVfatStatusDigiCollection.h
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
EventSetup.h
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
GEMDQMBase
Definition: GEMDQMBase.h:29
amc
Definition: AMCSpec.h:8
GEMDAQStatusSource::analyze
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
Definition: GEMDAQStatusSource.cc:264
GEMDAQStatusSource::nBitGEB_
int nBitGEB_
Definition: GEMDAQStatusSource.cc:73
GEMDigiCollection.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
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
ParameterSet.h
GEMDetId::ieta
constexpr int ieta() const
Definition: GEMDetId.h:199
event
Definition: event.py:1
DigiContainerIterator
Definition: MuonDigiCollection.h:30
edm::Event
Definition: Event.h:73
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
GEMDAQStatusSource
Definition: GEMDAQStatusSource.cc:28
GEMDQMBase::GenerateMEPerChamber
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:150
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37