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 
63 
65 
66  Int_t nBXMin_, nBXMax_;
67 
68  std::map<UInt_t, int> mapFEDIdToRe_;
69  Int_t nAMCSlots_;
70 
71  int nBitAMC_ = 7;
72  int nBitGEB_ = 17;
73  int nBitVFAT_ = 9;
74 };
75 
76 using namespace std;
77 using namespace edm;
78 
80  tagDigi_ = consumes<GEMDigiCollection>(cfg.getParameter<edm::InputTag>("digisInputLabel"));
81  tagVFAT_ = consumes<GEMVfatStatusDigiCollection>(cfg.getParameter<edm::InputTag>("VFATInputLabel"));
82  tagGEB_ = consumes<GEMGEBdataCollection>(cfg.getParameter<edm::InputTag>("GEBInputLabel"));
83  tagAMC_ = consumes<GEMAMCdataCollection>(cfg.getParameter<edm::InputTag>("AMCInputLabel"));
84  tagAMC13_ = consumes<GEMAMC13EventCollection>(cfg.getParameter<edm::InputTag>("AMC13InputLabel"));
85 
86  nAMCSlots_ = cfg.getParameter<Int_t>("AMCSlots");
87 }
88 
91  desc.add<edm::InputTag>("digisInputLabel", edm::InputTag("muonGEMDigis", ""));
92  desc.add<edm::InputTag>("VFATInputLabel", edm::InputTag("muonGEMDigis", "vfatStatus"));
93  desc.add<edm::InputTag>("GEBInputLabel", edm::InputTag("muonGEMDigis", "gebStatus"));
94  desc.add<edm::InputTag>("AMCInputLabel", edm::InputTag("muonGEMDigis", "AMCdata"));
95  desc.add<edm::InputTag>("AMC13InputLabel", edm::InputTag("muonGEMDigis", "AMC13Event"));
96 
97  desc.add<Int_t>("AMCSlots", 13);
98  desc.addUntracked<std::string>("logCategory", "GEMDAQStatusSource");
99 
100  descriptions.add("GEMDAQStatusSource", desc);
101 }
102 
104  unsigned int unBinPos = 1;
105  h2Status->setBinLabel(unBinPos++, "Good", 2);
106  h2Status->setBinLabel(unBinPos++, "BC0 not locked", 2);
107  h2Status->setBinLabel(unBinPos++, "DAQ not ready", 2);
108  h2Status->setBinLabel(unBinPos++, "DAQ clock not locked", 2);
109  h2Status->setBinLabel(unBinPos++, "MMCM not locked", 2);
110  h2Status->setBinLabel(unBinPos++, "Back pressure", 2);
111  h2Status->setBinLabel(unBinPos++, "GLIB out-of-sync", 2);
112 }
113 
115  unsigned int unBinPos = 1;
116  h2Status->setBinLabel(unBinPos++, "Good", 2);
117  h2Status->setBinLabel(unBinPos++, "BX mismatch GLIB OH", 2);
118  h2Status->setBinLabel(unBinPos++, "BX mismatch GLIB VFAT", 2);
119  h2Status->setBinLabel(unBinPos++, "OOS GLIB OH", 2);
120  h2Status->setBinLabel(unBinPos++, "OOS GLIB VFAT", 2);
121  h2Status->setBinLabel(unBinPos++, "No VFAT marker", 2);
122  h2Status->setBinLabel(unBinPos++, "Event size warn", 2);
123  h2Status->setBinLabel(unBinPos++, "L1AFIFO near full", 2);
124  h2Status->setBinLabel(unBinPos++, "InFIFO near full", 2);
125  h2Status->setBinLabel(unBinPos++, "EvtFIFO near full", 2);
126  h2Status->setBinLabel(unBinPos++, "Event size overflow", 2);
127  h2Status->setBinLabel(unBinPos++, "L1AFIFO full", 2);
128  h2Status->setBinLabel(unBinPos++, "InFIFO full", 2);
129  h2Status->setBinLabel(unBinPos++, "EvtFIFO full", 2);
130  h2Status->setBinLabel(unBinPos++, "Input FIFO underflow", 2);
131  h2Status->setBinLabel(unBinPos++, "Stuck data", 2);
132  h2Status->setBinLabel(unBinPos++, "Event FIFO underflow", 2);
133 }
134 
136  unsigned int unBinPos = 1;
137  h2Status->setBinLabel(unBinPos++, "Good", 2);
138  h2Status->setBinLabel(unBinPos++, "CRC fail", 2);
139  h2Status->setBinLabel(unBinPos++, "b1010 fail", 2);
140  h2Status->setBinLabel(unBinPos++, "b1100 fail", 2);
141  h2Status->setBinLabel(unBinPos++, "b1110 fail", 2);
142  h2Status->setBinLabel(unBinPos++, "Hamming error", 2);
143  h2Status->setBinLabel(unBinPos++, "AFULL", 2);
144  h2Status->setBinLabel(unBinPos++, "SEUlogic", 2);
145  h2Status->setBinLabel(unBinPos++, "SUEI2C", 2);
146 }
147 
149  initGeometry(iSetup);
150  if (GEMGeometry_ == nullptr)
151  return;
152  loadChambers();
153 
154  nBXMin_ = -10;
155  nBXMax_ = 10;
156 
157  mapFEDIdToRe_[1467] = -1; // FIXME: Need more systematic way
158  mapFEDIdToRe_[1468] = 1;
159 
160  ibooker.cd();
161  ibooker.setCurrentFolder("GEM/DAQStatus");
162 
163  h2AMCStatusPos_ = ibooker.book2D("amc_statusflagPos",
164  "Status of AMC slots (positive region);AMC slot;",
165  nAMCSlots_,
166  -0.5,
167  nAMCSlots_ - 0.5,
168  nBitAMC_,
169  0.5,
170  nBitAMC_ + 0.5);
171  h2AMCStatusNeg_ = ibooker.book2D("amc_statusflagNeg",
172  "Status of AMC slots (negative region);AMC slot;",
173  nAMCSlots_,
174  -0.5,
175  nAMCSlots_ - 0.5,
176  nBitAMC_,
177  0.5,
178  nBitAMC_ + 0.5);
179  h2AMCNumGEBPos_ = ibooker.book2D("amc_numGEBsPos",
180  "Number of GEBs in AMCs (positive region);AMC slot;Number of GEBs",
181  nAMCSlots_,
182  -0.5,
183  nAMCSlots_ - 0.5,
184  41,
185  -0.5,
186  41 - 0.5);
187  h2AMCNumGEBNeg_ = ibooker.book2D("amc_numGEBsNeg",
188  "Number of GEBs in AMCs (negative region);AMC slot;Number of GEBs",
189  nAMCSlots_,
190  -0.5,
191  nAMCSlots_ - 0.5,
192  41,
193  -0.5,
194  41 - 0.5);
195 
198 
199  mapStatusGEB_ =
200  MEMap3Inf(this, "geb_input_status", "GEB Input Status", 36, 0.5, 36.5, nBitGEB_, 0.5, nBitGEB_ + 0.5, "Chamber");
202  MEMap3Inf(this, "vfat_status", "VFAT Quality Status", 24, 0.5, 24.5, nBitVFAT_, 0.5, nBitVFAT_ + 0.5, "VFAT");
203  mapGEBNumVFAT_ = MEMap3Inf(this,
204  "geb_numVFATs",
205  "Number of VFATs in GEBs",
206  36,
207  0.5,
208  36.5,
209  24 + 1,
210  -0.5,
211  24 + 0.5); // FIXME: The maximum number of VFATs is different for each stations
212 
214  MEMap4Inf(this, "vfat_status", "VFAT Quality Status", 24, 0.5, 24.5, nBitVFAT_, 0.5, nBitVFAT_ + 0.5, "VFAT");
215 
216  GenerateMEPerChamber(ibooker);
217 
218  h2SummaryStatus = CreateSummaryHist(ibooker, "summaryStatus");
219 }
220 
222  MEStationInfo &stationInfo = mapStationInfo_[key];
223 
225  mapStatusGEB_.bookND(bh, key);
227 
229 
230  mapStatusVFAT_.SetBinConfX(stationInfo.nMaxVFAT_);
233 
235 
239 
240  return 0;
241 }
242 
244  ME3IdsKey key3 = key4Tokey3(key);
245  MEStationInfo &stationInfo = mapStationInfo_[key3];
246 
251 
252  return 0;
253 }
254 
261 
262  event.getByToken(tagDigi_, gemDigis);
263  event.getByToken(tagVFAT_, gemVFAT);
264  event.getByToken(tagGEB_, gemGEB);
265  event.getByToken(tagAMC_, gemAMC);
266  event.getByToken(tagAMC13_, gemAMC13);
267 
268  std::vector<int> listAMCRegion;
269 
270  for (GEMAMC13EventCollection::DigiRangeIterator amc13It = gemAMC13->begin(); amc13It != gemAMC13->end(); ++amc13It) {
271  const GEMAMC13EventCollection::Range &range = (*amc13It).second;
272  for (auto amc13 = range.first; amc13 != range.second; ++amc13) {
273  for (int r = 0; r < int(amc13->nAMC()); r++) {
274  listAMCRegion.push_back(mapFEDIdToRe_[(UInt_t)amc13->sourceId()]);
275  }
276  }
277  }
278 
279  int nIdxAMCFull = 0;
280  MonitorElement *h2AMCStatus, *h2AMCNumGEB;
281 
282  for (GEMAMCdataCollection::DigiRangeIterator amcIt = gemAMC->begin(); amcIt != gemAMC->end(); ++amcIt) {
283  const GEMAMCdataCollection::Range &range = (*amcIt).second;
284  for (auto amc = range.first; amc != range.second; ++amc) {
285  uint64_t unBit = 1;
286  bool bErr = false;
287 
288  if (nIdxAMCFull >= (int)listAMCRegion.size()) {
289  edm::LogError(log_category_) << "+++ Error : Mismatch of the number of AMCs in AMC13 and the actual AMCs +++\n";
290  break;
291  }
292 
293  if (listAMCRegion[nIdxAMCFull] > 0) {
294  h2AMCStatus = h2AMCStatusPos_;
295  h2AMCNumGEB = h2AMCNumGEBPos_;
296  } else {
297  h2AMCStatus = h2AMCStatusNeg_;
298  h2AMCNumGEB = h2AMCNumGEBNeg_;
299  }
300 
301  unBit++;
302  if (!amc->bc0locked()) {
303  h2AMCStatus->Fill(amc->amcNum(), unBit);
304  bErr = true;
305  }
306  unBit++;
307  if (!amc->daqReady()) {
308  h2AMCStatus->Fill(amc->amcNum(), unBit);
309  bErr = true;
310  }
311  unBit++;
312  if (!amc->daqClockLocked()) {
313  h2AMCStatus->Fill(amc->amcNum(), unBit);
314  bErr = true;
315  }
316  unBit++;
317  if (!amc->mmcmLocked()) {
318  h2AMCStatus->Fill(amc->amcNum(), unBit);
319  bErr = true;
320  }
321  unBit++;
322  if (amc->backPressure()) {
323  h2AMCStatus->Fill(amc->amcNum(), unBit);
324  bErr = true;
325  }
326  unBit++;
327  if (amc->oosGlib()) {
328  h2AMCStatus->Fill(amc->amcNum(), unBit);
329  bErr = true;
330  }
331  if (!bErr)
332  h2AMCStatus->Fill(amc->amcNum(), 1);
333 
334  h2AMCNumGEB->Fill(amc->amcNum(), amc->gebs()->size());
335 
336  nIdxAMCFull++;
337  }
338  }
339 
340  // WARNING: ME4IdsKey for region, station, layer, chamber (not iEta)
341  std::map<ME4IdsKey, bool> mapChamberStatus;
342 
343  for (GEMGEBdataCollection::DigiRangeIterator gebIt = gemGEB->begin(); gebIt != gemGEB->end(); ++gebIt) {
344  GEMDetId gid = (*gebIt).first;
345  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
346  ME4IdsKey key4{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
347 
348  const GEMGEBdataCollection::Range &range = (*gebIt).second;
349  for (auto GEBStatus = range.first; GEBStatus != range.second; ++GEBStatus) {
350  uint64_t unBit = 1;
351  uint64_t unStatus = 0;
352 
353  unStatus |= (GEBStatus->bxmVvV() << unBit++);
354  unStatus |= (GEBStatus->bxmAvV() << unBit++);
355  unStatus |= (GEBStatus->oOScVvV() << unBit++);
356  unStatus |= (GEBStatus->oOScAvV() << unBit++);
357  unStatus |= (GEBStatus->noVFAT() << unBit++);
358  unStatus |= (GEBStatus->evtSzW() << unBit++);
359  unStatus |= (GEBStatus->l1aNF() << unBit++);
360  unStatus |= (GEBStatus->inNF() << unBit++);
361  unStatus |= (GEBStatus->evtNF() << unBit++);
362  unStatus |= (GEBStatus->evtSzOFW() << unBit++);
363  unStatus |= (GEBStatus->l1aF() << unBit++);
364  unStatus |= (GEBStatus->inF() << unBit++);
365  unStatus |= (GEBStatus->evtF() << unBit++);
366  unStatus |= (GEBStatus->inUfw() << unBit++);
367  unStatus |= (GEBStatus->stuckData() << unBit++);
368  unStatus |= (GEBStatus->evUfw() << unBit++);
369 
370  if (unStatus == 0) {
371  unStatus = 0x01; // Good
372  } else { // Error!
373  mapChamberStatus[key4] = false;
374  }
375 
376  mapStatusGEB_.FillBits(key3, gid.chamber(), unStatus);
377 
378  mapGEBNumVFAT_.Fill(key3, gid.chamber(), GEBStatus->vFATs()->size());
379  }
380  }
381 
382  for (GEMVfatStatusDigiCollection::DigiRangeIterator vfatIt = gemVFAT->begin(); vfatIt != gemVFAT->end(); ++vfatIt) {
383  GEMDetId gid = (*vfatIt).first;
384  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
385  ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()}; // WARNING: Chamber, not iEta
386  const GEMVfatStatusDigiCollection::Range &range = (*vfatIt).second;
387 
388  for (auto vfatStat = range.first; vfatStat != range.second; ++vfatStat) {
389  uint64_t unQFVFAT = vfatStat->quality();
390  if ((unQFVFAT & ~0x1) == 0) {
391  unQFVFAT |= 0x1; // If no error, then it should be 'Good'
392  } else { // Error!
393  mapChamberStatus[key4Ch] = false;
394  }
395 
396  Int_t nIdxVFAT = getVFATNumber(gid.station(), gid.roll(), vfatStat->phi() + 1);
397  mapStatusVFAT_.FillBits(key3, nIdxVFAT, unQFVFAT);
398  mapStatusVFATPerCh_.FillBits(key4Ch, nIdxVFAT, unQFVFAT);
399  }
400  }
401 
402  // Summarizing the error occupancy
403  for (auto const &[key4, bErr] : mapChamberStatus) {
404  ME3IdsKey key3 = key4Tokey3(key4);
405  Int_t nChamber = keyToChamber(key4);
406  h2SummaryStatus->Fill(nChamber, mapStationToIdx_[key3]);
407  }
408 }
409 
GEMDQMBase::MEMapInfT::SetBinConfX
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:184
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:69
ESHandle.h
GEMDAQStatusSource::ProcessWithMEMap3WithChamber
int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) override
Definition: GEMDAQStatusSource.cc:243
GEMDAQStatusSource::GEMDAQStatusSource
GEMDAQStatusSource(const edm::ParameterSet &cfg)
Definition: GEMDAQStatusSource.cc:79
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:187
GEMDQMBase::MEStationInfo
Definition: GEMDQMBase.h:320
edm::Run
Definition: Run.h:45
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:168
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:400
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:89353
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
GEMDAQStatusSource::SetLabelAMCStatus
void SetLabelAMCStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:103
DQMStore.h
amc13
Definition: AMC13Spec.h:14
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
GEMDQMBase::MEMapInfT::Fill
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:263
GEMAMCdataCollection.h
edm::Handle< GEMDigiCollection >
GEMDQMBase::key4Tokey3
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:378
GEMDAQStatusSource::tagAMC_
edm::EDGetToken tagAMC_
Definition: GEMDAQStatusSource.cc:50
GEMDQMBase::keyToChamber
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:375
GEMDQMBase::MEMapInfT::SetLabelForVFATs
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:244
GEMDAQStatusSource::SetLabelVFATStatus
void SetLabelVFATStatus(MonitorElement *h2Status)
Definition: GEMDAQStatusSource.cc:135
GEMDAQStatusSource::nBXMax_
Int_t nBXMax_
Definition: GEMDAQStatusSource.cc:66
GEMDAQStatusSource::nBitVFAT_
int nBitVFAT_
Definition: GEMDAQStatusSource.cc:73
GEMDAQStatusSource::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: GEMDAQStatusSource.cc:148
GEMValidationUtils.h
GEMDQMBase::MEMapInfT::SetLabelForChambers
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:226
GEMDQMBase::BookingHelper
Definition: GEMDQMBase.h:32
GEMDAQStatusSource::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: GEMDAQStatusSource.cc:89
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:114
GEMDQMBase::MEStationInfo::nNumEtaPartitions_
Int_t nNumEtaPartitions_
Definition: GEMDQMBase.h:348
GEMDAQStatusSource::ProcessWithMEMap3
int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) override
Definition: GEMDAQStatusSource.cc:221
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:121
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDQMBase::MEStationInfo::nMaxVFAT_
Int_t nMaxVFAT_
Definition: GEMDQMBase.h:349
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:180
MonitorElement.h
GEMDQMBase::initGeometry
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:14
edm::ParameterSet
Definition: ParameterSet.h:47
GEMDQMBase::MEMap4Inf
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:318
GEMDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:438
GEMDAQStatusSource::h2AMCNumGEBNeg_
MonitorElement * h2AMCNumGEBNeg_
Definition: GEMDAQStatusSource.cc:56
Event.h
GEMDQMBase::MEMapInfT::FillBits
int FillBits(K key, Double_t x, UInt_t bits)
Definition: GEMDQMBase.h:283
GEMDQMBase::MEStationInfo::nNumChambers_
Int_t nNumChambers_
Definition: GEMDQMBase.h:347
GEMDetId::roll
constexpr int roll() const
Definition: GEMDetId.h:191
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:71
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
GEMDAQStatusSource::mapStatusVFATPerCh_
MEMap4Inf mapStatusVFATPerCh_
Definition: GEMDAQStatusSource.cc:62
edm::EventSetup
Definition: EventSetup.h:57
GEMDAQStatusSource::nBXMin_
Int_t nBXMin_
Definition: GEMDAQStatusSource.cc:66
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:45
GEMDAQStatusSource::h2AMCNumGEBPos_
MonitorElement * h2AMCNumGEBPos_
Definition: GEMDAQStatusSource.cc:55
GEMDQMBase::MEMap3Inf
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:317
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
GEMDAQStatusSource::mapGEBNumVFAT_
MEMap3Inf mapGEBNumVFAT_
Definition: GEMDAQStatusSource.cc:60
GEMDQMBase::log_category_
std::string log_category_
Definition: GEMDQMBase.h:398
GEMDQMBase::mapStationInfo_
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:411
GEMDAQStatusSource::h2SummaryStatus
MonitorElement * h2SummaryStatus
Definition: GEMDAQStatusSource.cc:64
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
GEMDAQStatusSource::tagGEB_
edm::EDGetToken tagGEB_
Definition: GEMDAQStatusSource.cc:49
GEMDQMBase::MEMapInfT::FindHist
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:218
GEMDAQStatusSource::mapStatusGEB_
MEMap3Inf mapStatusGEB_
Definition: GEMDAQStatusSource.cc:58
GEMDAQStatusSource::mapFEDIdToRe_
std::map< UInt_t, int > mapFEDIdToRe_
Definition: GEMDAQStatusSource.cc:68
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:255
GEMDAQStatusSource::nBitGEB_
int nBitGEB_
Definition: GEMDAQStatusSource.cc:72
GEMDigiCollection.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
GEMDQMBase::mapStationToIdx_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:410
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:176
ParameterSet.h
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:201
edm::InputTag
Definition: InputTag.h:15
GEMDAQStatusSource
Definition: GEMDAQStatusSource.cc:28
GEMDQMBase::GenerateMEPerChamber
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:147
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37