CMS 3D CMS Logo

GEMDQMBase.h
Go to the documentation of this file.
1 #ifndef DQM_GEM_INTERFACE_GEMDQMBase_h
2 #define DQM_GEM_INTERFACE_GEMDQMBase_h
3 
4 #include <map>
5 #include <tuple>
6 
15 
20 
23 
25 
28 
29 class GEMDQMBase : public DQMEDAnalyzer {
30 public:
31  // Borrwed from DQMOffline/Muon/interface/GEMOfflineDQMBase.h
32  class BookingHelper {
33  public:
34  BookingHelper(DQMStore::IBooker &ibooker, const TString &name_suffix, const TString &title_suffix)
35  : ibooker_(&ibooker), name_suffix_(name_suffix), title_suffix_(title_suffix) {}
36 
38 
40  TString title,
41  int nbinsx,
42  double xlow,
43  double xup,
44  TString x_title = "",
45  TString y_title = "Entries") {
46  name += name_suffix_;
47  title += title_suffix_ + ";" + x_title + ";" + y_title;
48  return ibooker_->book1D(name, title, nbinsx, xlow, xup);
49  }
50 
52  TString title,
53  std::vector<double> &x_binning,
54  TString x_title = "",
55  TString y_title = "Entries") {
56  name += name_suffix_;
57  title += title_suffix_ + ";" + x_title + ";" + y_title;
58  TH1F *h_obj = new TH1F(name, title, x_binning.size() - 1, &x_binning[0]);
59  return ibooker_->book1D(name, h_obj);
60  }
61 
63  TString title,
64  int nbinsx,
65  double xlow,
66  double xup,
67  int nbinsy,
68  double ylow,
69  double yup,
70  TString x_title = "",
71  TString y_title = "") {
72  name += name_suffix_;
73  title += title_suffix_ + ";" + x_title + ";" + y_title;
74  return ibooker_->book2D(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup);
75  }
76 
78  TString title,
79  int nbinsx,
80  double xlow,
81  double xup,
82  int nbinsy,
83  double ylow,
84  double yup,
85  double zlow,
86  double zup,
87  TString x_title = "",
88  TString y_title = "") {
89  name += name_suffix_;
90  title += title_suffix_ + ";" + x_title + ";" + y_title;
91  return ibooker_->bookProfile2D(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup, zlow, zup);
92  }
93 
94  private:
96  const TString name_suffix_;
97  const TString title_suffix_;
98  }; // BookingHelper
99 
100  template <class M, class K>
101  class MEMapInfT {
102  public:
104 
106  GEMDQMBase *pDQMBase, TString strName, TString strTitle, TString strTitleX = "", TString strTitleY = "Entries")
107  : pDQMBase_(pDQMBase),
108  strName_(strName),
109  strTitle_(strTitle),
110  strTitleX_(strTitleX),
111  strTitleY_(strTitleY),
112  log_category_own_(pDQMBase->log_category_){};
113 
115  TString strName,
116  TString strTitle,
117  Int_t nBinsX,
118  Double_t dXL,
119  Double_t dXH,
120  TString strTitleX = "",
121  TString strTitleY = "Entries")
122  : pDQMBase_(pDQMBase),
123  strName_(strName),
124  strTitle_(strTitle),
125  strTitleX_(strTitleX),
126  strTitleY_(strTitleY),
127  bOperating_(true),
129  nBinsX_(nBinsX),
130  dXL_(dXL),
131  dXH_(dXH),
132  nBinsY_(-1),
133  log_category_own_(pDQMBase->log_category_){};
134 
136  TString strName,
137  TString strTitle,
138  std::vector<Double_t> &x_binning,
139  TString strTitleX = "",
140  TString strTitleY = "Entries")
141  : pDQMBase_(pDQMBase),
142  strName_(strName),
143  strTitle_(strTitle),
144  strTitleX_(strTitleX),
145  strTitleY_(strTitleY),
146  bOperating_(true),
148  nBinsX_(-1),
149  nBinsY_(-1),
150  log_category_own_(pDQMBase->log_category_) {
151  for (Int_t i = 0; i < (Int_t)x_binning.size(); i++)
152  x_binning_.push_back(x_binning[i]);
153  };
154 
156  TString strName,
157  TString strTitle,
158  Int_t nBinsX,
159  Double_t dXL,
160  Double_t dXH,
161  Int_t nBinsY,
162  Double_t dYL,
163  Double_t dYH,
164  TString strTitleX = "",
165  TString strTitleY = "")
166  : pDQMBase_(pDQMBase),
167  strName_(strName),
168  strTitle_(strTitle),
169  strTitleX_(strTitleX),
170  strTitleY_(strTitleY),
171  bOperating_(true),
173  nBinsX_(nBinsX),
174  dXL_(dXL),
175  dXH_(dXH),
176  nBinsY_(nBinsY),
177  dYL_(dYL),
178  dYH_(dYH),
179  dZL_(0),
180  dZH_(1024),
181  log_category_own_(pDQMBase->log_category_){};
182 
183  MEMapInfT(GEMDQMBase *pDQMBase, // For TProfile2D
184  TString strName,
185  TString strTitle,
186  Int_t nBinsX,
187  Double_t dXL,
188  Double_t dXH,
189  Int_t nBinsY,
190  Double_t dYL,
191  Double_t dYH,
192  Double_t dZL,
193  Double_t dZH,
194  TString strTitleX = "",
195  TString strTitleY = "")
196  : pDQMBase_(pDQMBase),
197  strName_(strName),
198  strTitle_(strTitle),
199  strTitleX_(strTitleX),
200  strTitleY_(strTitleY),
201  bOperating_(true),
202  bIsProfile_(true),
203  nBinsX_(nBinsX),
204  dXL_(dXL),
205  dXH_(dXH),
206  nBinsY_(nBinsY),
207  dYL_(dYL),
208  dYH_(dYH),
209  dZL_(dZL),
210  dZH_(dZH),
211  log_category_own_(pDQMBase->log_category_){};
212 
213  //MEMapInfT(GEMDQMBase *pDQMBase,
214  // TString strName,
215  // TString strTitle,
216  // std::vector<Double_t> &x_binning,
217  // std::vector<Double_t> &y_binning,
218  // TString strTitleX = "",
219  // TString strTitleY = "")
220  // : pDQMBase_(pDQMBase),
221  // strName_(strName),
222  // strTitle_(strTitle),
223  // strTitleX_(strTitleX),
224  // strTitleY_(strTitleY),
225  // bOperating_(true),
226  // nBinsX_(nBinsX),
227  // dXL_(dXL),
228  // dXH_(dXH),
229  // nBinsY_(nBinsY),
230  // dYL_(dYL),
231  // dYH_(dYH),
232  // log_category_own_(pDQMBase->log_category_){};
233 
235 
236  Bool_t isOperating() { return bOperating_; };
237  void SetOperating(Bool_t bOperating) { bOperating_ = bOperating; };
238  void TurnOn() { bOperating_ = true; };
239  void TurnOff() { bOperating_ = false; };
240 
241  Bool_t isProfile() { return bIsProfile_; };
242  void SetProfile(Bool_t bIsProfile) { bIsProfile_ = bIsProfile; };
243 
244  TString GetName() { return strName_; };
245  void SetName(TString strName) { strName_ = strName; };
246  TString GetTitle() { return strTitle_; };
247  void SetTitle(TString strTitle) { strTitle_ = strTitle; };
248  TString GetTitleX() { return strTitleX_; };
249  void SetTitleX(TString strTitleX) { strTitleX_ = strTitleX; };
250  TString GetTitleY() { return strTitleY_; };
251  void SetTitleY(TString strTitleY) { strTitleY_ = strTitleY; };
252 
253  Int_t GetNbinsX() { return nBinsX_; };
254  void SetNbinsX(Int_t nBinsX) { nBinsX_ = nBinsX; };
255  Double_t GetBinLowEdgeX() { return dXL_; };
256  void SetBinLowEdgeX(Double_t dXL) { dXL_ = dXL; };
257  Double_t GetBinHighEdgeX() { return dXH_; };
258  void SetBinHighEdgeX(Double_t dXH) { dXH_ = dXH; };
259  // FIXME: x_binning_
260 
261  Int_t GetNbinsY() { return nBinsY_; };
262  void SetNbinsY(Int_t nBinsY) { nBinsY_ = nBinsY; };
263  Double_t GetBinLowEdgeY() { return dYL_; };
264  void SetBinLowEdgeY(Double_t dYL) { dYL_ = dYL; };
265  Double_t GetBinHighEdgeY() { return dYH_; };
266  void SetBinHighEdgeY(Double_t dYH) { dYH_ = dYH; };
267 
268  Double_t GetBinLowEdgeZ() { return dZL_; };
269  void SetBinLowEdgeZ(Double_t dZL) { dZL_ = dZL; };
270  Double_t GetBinHighEdgeZ() { return dZH_; };
271  void SetBinHighEdgeZ(Double_t dZH) { dZH_ = dZH; };
272 
273  void SetBinConfX(Int_t nBins, Double_t dL = 0.5, Double_t dH = -1048576.0) {
274  nBinsX_ = nBins;
275  dXL_ = dL;
276  if (dH <= dL)
277  dH = dL + nBins;
278  dXH_ = dH;
279  };
280 
281  void SetBinConfY(Int_t nBins, Double_t dL = 0.5, Double_t dH = -1048576.0) {
282  nBinsY_ = nBins;
283  dYL_ = dL;
284  if (dH <= dL)
285  dH = dL + nBins;
286  dYH_ = dH;
287  };
288 
289  M &map() { return mapHist; }
290  int bookND(BookingHelper &bh, K key) {
291  if (!bOperating_)
292  return 0;
293  if (bIsProfile_) {
294  mapHist[key] = bh.bookProfile2D(
296  } else if (nBinsY_ > 0 && nBinsX_ > 0) {
298  return 0;
299  } else if (!x_binning_.empty()) {
301  return 0;
302  } else if (nBinsX_ > 0) {
304  return 0;
305  }
306 
307  return -1;
308  };
309 
311  if (mapHist.find(key) == mapHist.end()) {
313  << "WARNING: Cannot find the histogram corresponing to the given key\n"; // FIXME: It's about sending a message
314  }
315  return mapHist[key];
316  };
317 
318  int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin = -1) {
319  if (!bOperating_)
320  return 0;
321  if (nNumBin <= 0) {
322  if (nAxis == 1)
323  nNumBin = nBinsX_;
324  else if (nAxis == 2)
325  nNumBin = nBinsY_;
326  else
327  return -1;
328  }
330  if (histCurr == nullptr)
331  return -999;
332  for (Int_t i = 1; i <= nNumBin; i++) {
333  histCurr->setBinLabel(i, Form("%i", i), nAxis);
334  }
335  return 0;
336  };
337 
338  int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin = -1) { return SetLabelForChambers(key, nAxis, nNumBin); };
339 
340  int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin = -1) {
341  if (!bOperating_)
342  return 0;
343  if (nNumBin <= 0) {
344  if (nAxis == 1)
345  nNumBin = nBinsX_;
346  else if (nAxis == 2)
347  nNumBin = nBinsY_;
348  else
349  return -1;
350  }
352  if (histCurr == nullptr)
353  return -999;
354  for (Int_t i = 0; i < nNumBin; i++) {
355  Int_t nIEta = pDQMBase_->getIEtaFromVFAT(std::get<1>(key), i);
356  histCurr->setBinLabel(i + 1, Form("%i (%i)", i, nIEta), nAxis);
357  }
358  return 0;
359  };
360 
361  int Fill(K key, Double_t x) {
362  if (!bOperating_)
363  return 0;
365  if (hist == nullptr)
366  return -999;
367  hist->Fill(x);
368  return 1;
369  };
370 
371  int Fill(K key, Double_t x, Double_t y, Double_t w = 1.0) {
372  if (!bOperating_)
373  return 0;
375  if (hist == nullptr)
376  return -999;
377  hist->Fill(x, y, w);
378  return 1;
379  };
380 
381  int FillBits(K key, Double_t x, UInt_t bits, Double_t w = 1.0) {
382  if (!bOperating_)
383  return 0;
385  if (hist == nullptr)
386  return -999;
387 
388  if (nBinsY_ <= 0)
389  return -888;
390  UInt_t unMask = 0x1;
391  for (Int_t i = 1; i <= nBinsY_; i++) {
392  if ((unMask & bits) != 0)
393  hist->Fill(x, i, w);
394  unMask <<= 1;
395  }
396 
397  return 1;
398  };
399 
400  private:
402 
405  Bool_t bOperating_;
406  Bool_t bIsProfile_;
407 
408  std::vector<double> x_binning_;
409  Int_t nBinsX_;
410  Double_t dXL_, dXH_;
411  Int_t nBinsY_;
412  Double_t dYL_, dYH_;
413  Double_t dZL_, dZH_;
414 
416  };
417 
421 
423  public:
425  MEStationInfo(Int_t nRegion,
426  Int_t nStation,
427  Int_t nLayer,
428  Int_t nNumChambers,
429  Int_t nNumEtaPartitions,
430  Int_t nMaxVFAT,
431  Int_t nNumDigi)
432  : nRegion_(nRegion),
433  nStation_(nStation),
434  nLayer_(nLayer),
435  nNumChambers_(nNumChambers),
436  nNumEtaPartitions_(nNumEtaPartitions),
437  nMaxVFAT_(nMaxVFAT),
438  nNumDigi_(nNumDigi){};
439 
440  bool operator==(const MEStationInfo &other) const {
441  return (nRegion_ == other.nRegion_ && nStation_ == other.nStation_ && nLayer_ == other.nLayer_ &&
442  nNumChambers_ == other.nNumChambers_ && nNumEtaPartitions_ == other.nNumEtaPartitions_ &&
443  nMaxVFAT_ == other.nMaxVFAT_ && nNumDigi_ == other.nNumDigi_);
444  };
445 
446  Int_t nRegion_; // the region index
447  Int_t nStation_; // the station index
448  Int_t nLayer_; // the layer
449  Int_t nNumChambers_; // the number of chambers in the current station
450  Int_t nNumEtaPartitions_; // the number of eta partitions of the chambers
451  Int_t nMaxVFAT_; // the number of all VFATs in each chamber (= # of VFATs in eta partition * nNumEtaPartitions_)
452  Int_t nNumDigi_; // the number of digis of each VFAT
453  };
454 
455 public:
456  explicit GEMDQMBase(const edm::ParameterSet &cfg);
457  ~GEMDQMBase() override{};
458 
460 
461 protected:
462  int initGeometry(edm::EventSetup const &iSetup);
463  int loadChambers();
464  int readRadiusEtaPartition(int nRegion, int nStation);
465 
467  virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key) { return 0; }; // must be overrided
468  virtual int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key) { return 0; }; // must be overrided
469  virtual int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key) { return 0; }; // must be overrided
470  virtual int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key) { return 0; }; // must be overrided
471  virtual int ProcessWithMEMap4(BookingHelper &bh, ME4IdsKey key) { return 0; }; // must be overrided
472  virtual int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key) { return 0; }; // must be overrided
473 
474  int keyToRegion(ME2IdsKey key) { return std::get<0>(key); };
475  int keyToRegion(ME3IdsKey key) { return std::get<0>(key); };
476  int keyToRegion(ME4IdsKey key) { return std::get<0>(key); };
477  int keyToStation(ME2IdsKey key) { return std::get<1>(key); };
478  int keyToStation(ME3IdsKey key) { return std::get<1>(key); };
479  int keyToStation(ME4IdsKey key) { return std::get<1>(key); };
480  int keyToLayer(ME3IdsKey key) { return std::get<2>(key); };
481  int keyToLayer(ME4IdsKey key) { return std::get<2>(key); };
482  int keyToChamber(ME4IdsKey key) { return std::get<3>(key); };
483  int keyToIEta(ME3IdsKey key) { return std::get<2>(key); };
484  int keyToIEta(ME4IdsKey key) { return std::get<3>(key); };
485 
487  auto keyNew = ME2IdsKey{keyToRegion(key), keyToStation(key)};
488  return keyNew;
489  };
490 
492  auto keyNew = ME3IdsKey{keyToRegion(key), keyToStation(key), keyToLayer(key)};
493  return keyNew;
494  };
495 
496  int SortingLayers(std::vector<ME3IdsKey> &listLayers);
498 
499  template <typename T>
500  inline bool checkRefs(const std::vector<T *> &);
501 
502  int getNumEtaPartitions(const GEMStation *);
503  inline int getVFATNumber(const int, const int, const int);
504  inline int getVFATNumberGE11(const int, const int, const int);
505  inline int getVFATNumberByDigi(const int, const int, const int);
506  inline int getIEtaFromVFAT(const int station, const int vfat);
507  inline int getIEtaFromVFATGE11(const int vfat);
508  inline int getMaxVFAT(const int);
509  inline int getDetOccXBin(const int, const int, const int);
510 
513 
514  std::vector<GEMChamber> gemChambers_;
515 
516  std::map<ME2IdsKey, bool> MEMap2Check_;
517  std::map<ME3IdsKey, bool> MEMap2WithEtaCheck_;
518  std::map<ME3IdsKey, bool> MEMap2AbsReWithEtaCheck_;
519  std::map<ME3IdsKey, bool> MEMap3Check_;
520  std::map<ME4IdsKey, bool> MEMap3WithChCheck_;
521  std::map<ME4IdsKey, bool> MEMap4Check_;
522 
524  std::map<ME3IdsKey, int> mapStationToIdx_;
525  std::map<ME3IdsKey, MEStationInfo> mapStationInfo_;
526 
530 };
531 
532 // Borrwed from DQMOffline/Muon/interface/GEMOfflineDQMBase.h
533 template <typename T>
534 inline bool GEMDQMBase::checkRefs(const std::vector<T *> &refs) {
535  if (refs.empty())
536  return false;
537  if (refs.front() == nullptr)
538  return false;
539  return true;
540 }
541 
542 // The 'get...' functions in the below are borrwed from DQMOffline/Muon/interface/GEMOfflineDQMBase.h
543 inline int GEMDQMBase::getMaxVFAT(const int station) {
544  if (station == 1)
545  return GEMeMap::maxVFatGE11_;
546  else if (station == 2)
547  return GEMeMap::maxVFatGE21_;
548  else
549  return -1;
550 }
551 
552 inline int GEMDQMBase::getVFATNumber(const int station, const int ieta, const int vfat_phi) {
553  if (station == 1)
554  return getVFATNumberGE11(station, ieta, vfat_phi);
555  return getVFATNumberGE11(station, ieta, vfat_phi); // FIXME: What about GE21 and GE0?
556 }
557 
558 inline int GEMDQMBase::getVFATNumberGE11(const int station, const int ieta, const int vfat_phi) {
559  return vfat_phi * nNumEtaPartitionGE11_ + (nNumEtaPartitionGE11_ - ieta);
560 }
561 
562 inline int GEMDQMBase::getVFATNumberByDigi(const int station, const int ieta, const int digi) {
563  const int vfat_phi = digi / GEMeMap::maxChan_;
564  return getVFATNumber(station, ieta, vfat_phi);
565 }
566 
567 inline int GEMDQMBase::getIEtaFromVFAT(const int station, const int vfat) {
568  if (station == 1)
569  return getIEtaFromVFATGE11(vfat);
570  return getIEtaFromVFATGE11(vfat); // FIXME: What about GE21 and GE0?
571 }
572 
573 inline int GEMDQMBase::getIEtaFromVFATGE11(const int vfat) { return 8 - (vfat % nNumEtaPartitionGE11_); }
574 
575 inline int GEMDQMBase::getDetOccXBin(const int chamber, const int layer, const int n_chambers) {
576  return n_chambers * (chamber - 1) + layer;
577 }
578 
579 #endif // DQM_GEM_INTERFACE_GEMDQMBase_h
GEMDQMBase::keyToRegion
int keyToRegion(ME4IdsKey key)
Definition: GEMDQMBase.h:476
GEMDQMBase::MEMap2Inf
MEMapInfT< MEMap2Ids, ME2IdsKey > MEMap2Inf
Definition: GEMDQMBase.h:418
GEMDQMBase::MEMapInfT::SetBinLowEdgeZ
void SetBinLowEdgeZ(Double_t dZL)
Definition: GEMDQMBase.h:269
GEMDQMBase::MEMap3Check_
std::map< ME3IdsKey, bool > MEMap3Check_
Definition: GEMDQMBase.h:519
GEMDQMBase::MEMapInfT::SetBinConfX
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:273
GEMDQMBase::MEMap2AbsReWithEtaCheck_
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
Definition: GEMDQMBase.h:518
GEMDQMBase::gemChambers_
std::vector< GEMChamber > gemChambers_
Definition: GEMDQMBase.h:514
ME2IdsKey
std::tuple< Int_t, Int_t > ME2IdsKey
Definition: GEMValidationUtils.h:16
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
GEMDQMBase::keyToStation
int keyToStation(ME4IdsKey key)
Definition: GEMDQMBase.h:479
DDAxes::y
GEMDQMBase::MEMapInfT::GetTitleY
TString GetTitleY()
Definition: GEMDQMBase.h:250
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
GEMDQMBase::MEMap4Check_
std::map< ME4IdsKey, bool > MEMap4Check_
Definition: GEMDQMBase.h:521
GEMDQMBase::MEMapInfT::isOperating
Bool_t isOperating()
Definition: GEMDQMBase.h:236
mps_fire.i
i
Definition: mps_fire.py:428
MessageLogger.h
GEMDQMBase::MEMapInfT::strName_
TString strName_
Definition: GEMDQMBase.h:404
GEMDQMBase::MEMapInfT::FillBits
int FillBits(K key, Double_t x, UInt_t bits, Double_t w=1.0)
Definition: GEMDQMBase.h:381
funct::false
false
Definition: Factorize.h:29
GEMDQMBase::MEMapInfT::bIsProfile_
Bool_t bIsProfile_
Definition: GEMDQMBase.h:406
GEMDQMBase::BookingHelper::ibooker_
DQMStore::IBooker * ibooker_
Definition: GEMDQMBase.h:95
ESHandle.h
GEMDQMBase::MEMapInfT::dZH_
Double_t dZH_
Definition: GEMDQMBase.h:413
GEMDQMBase::keyToStation
int keyToStation(ME2IdsKey key)
Definition: GEMDQMBase.h:477
GEMDQMBase::MEStationInfo
Definition: GEMDQMBase.h:422
GEMDQMBase::getDetOccXBin
int getDetOccXBin(const int, const int, const int)
Definition: GEMDQMBase.h:575
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:511
GEMDQMBase::MEMapInfT::SetBinLowEdgeY
void SetBinLowEdgeY(Double_t dYL)
Definition: GEMDQMBase.h:264
dqm::implementation::IBooker::bookProfile2D
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
ME4IdsKey
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
Definition: GEMValidationUtils.h:20
GEMDQMBase::MEMap2WithEtaCheck_
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
Definition: GEMDQMBase.h:517
GEMDQMBase::MEMapInfT::isProfile
Bool_t isProfile()
Definition: GEMDQMBase.h:241
GEMDQMBase::MEMapInfT::SetTitleX
void SetTitleX(TString strTitleX)
Definition: GEMDQMBase.h:249
GEMDQMBase::SortingLayers
int SortingLayers(std::vector< ME3IdsKey > &listLayers)
Definition: GEMDQMBase.cc:103
GEMDQMBase::BookingHelper::title_suffix_
const TString title_suffix_
Definition: GEMDQMBase.h:97
GEMDQMBase::getMaxVFAT
int getMaxVFAT(const int)
Definition: GEMDQMBase.h:543
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT()
Definition: GEMDQMBase.h:103
DQMStore.h
GEMDQMBase::keyToIEta
int keyToIEta(ME4IdsKey key)
Definition: GEMDQMBase.h:484
GEMDQMBase::MEMapInfT::strTitleY_
TString strTitleY_
Definition: GEMDQMBase.h:404
DDAxes::x
GEMDQMBase::MEMapInfT::Fill
int Fill(K key, Double_t x)
Definition: GEMDQMBase.h:361
GEMDQMBase::MEMapInfT::GetBinLowEdgeY
Double_t GetBinLowEdgeY()
Definition: GEMDQMBase.h:263
GEMDQMBase::MEMapInfT::GetName
TString GetName()
Definition: GEMDQMBase.h:244
GEMDQMBase::nMaxNumCh_
int nMaxNumCh_
Definition: GEMDQMBase.h:523
GEMDQMBase::key4Tokey3
ME3IdsKey key4Tokey3(ME4IdsKey key)
Definition: GEMDQMBase.h:491
GEMDQMBase::ProcessWithMEMap2WithEta
virtual int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:468
GEMDQMBase::keyToChamber
int keyToChamber(ME4IdsKey key)
Definition: GEMDQMBase.h:482
GEMDQMBase::MEMapInfT::GetBinHighEdgeZ
Double_t GetBinHighEdgeZ()
Definition: GEMDQMBase.h:270
GEMDQMBase::MEMapInfT::SetLabelForVFATs
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:340
GEMDQMBase::MEMapInfT::SetBinHighEdgeZ
void SetBinHighEdgeZ(Double_t dZH)
Definition: GEMDQMBase.h:271
GEMDQMBase::MEMapInfT::strTitleX_
TString strTitleX_
Definition: GEMDQMBase.h:404
GEMDQMBase::BookingHelper::book2D
MonitorElement * book2D(TString name, TString title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup, TString x_title="", TString y_title="")
Definition: GEMDQMBase.h:62
GEMValidationUtils.h
GEMDQMBase::MEMapInfT::GetBinLowEdgeX
Double_t GetBinLowEdgeX()
Definition: GEMDQMBase.h:255
GEMDQMBase::nNumEtaPartitionGE0_
Int_t nNumEtaPartitionGE0_
Definition: GEMDQMBase.h:527
GEMDQMBase::MEMapInfT::SetLabelForChambers
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:318
GEMDQMBase::BookingHelper
Definition: GEMDQMBase.h:32
GEMeMap::maxVFatGE21_
static const int maxVFatGE21_
Definition: GEMeMap.h:68
GEMDQMBase::getIEtaFromVFAT
int getIEtaFromVFAT(const int station, const int vfat)
Definition: GEMDQMBase.h:567
MakerMacros.h
GEMDQMBase::MEMapInfT::dYL_
Double_t dYL_
Definition: GEMDQMBase.h:412
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, Int_t nBinsY, Double_t dYL, Double_t dYH, TString strTitleX="", TString strTitleY="")
Definition: GEMDQMBase.h:155
GEMDQMBase::keyToIEta
int keyToIEta(ME3IdsKey key)
Definition: GEMDQMBase.h:483
GEMDQMBase::getVFATNumberGE11
int getVFATNumberGE11(const int, const int, const int)
Definition: GEMDQMBase.h:558
GEMDQMBase::MEMapInfT::dXL_
Double_t dXL_
Definition: GEMDQMBase.h:410
GEMDQMBase::MEMapInfT::SetBinHighEdgeY
void SetBinHighEdgeY(Double_t dYH)
Definition: GEMDQMBase.h:266
GEMeMap.h
GEMDQMBase::MEMapInfT::SetBinLowEdgeX
void SetBinLowEdgeX(Double_t dXL)
Definition: GEMDQMBase.h:256
GEMDQMBase::MEMapInfT::SetNbinsY
void SetNbinsY(Int_t nBinsY)
Definition: GEMDQMBase.h:262
w
const double w
Definition: UKUtility.cc:23
GEMDQMBase::MEStationInfo::nNumEtaPartitions_
Int_t nNumEtaPartitions_
Definition: GEMDQMBase.h:450
GEMDQMBase::GEMDQMBase
GEMDQMBase(const edm::ParameterSet &cfg)
Definition: GEMDQMBase.cc:7
GEMDQMBase::nNumEtaPartitionGE21_
Int_t nNumEtaPartitionGE21_
Definition: GEMDQMBase.h:529
GEMStation
Definition: GEMStation.h:19
GEMDQMBase::MEMapInfT::SetBinHighEdgeX
void SetBinHighEdgeX(Double_t dXH)
Definition: GEMDQMBase.h:258
GEMDQMBase::MEStationInfo::nLayer_
Int_t nLayer_
Definition: GEMDQMBase.h:448
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, TString strTitleX="", TString strTitleY="Entries")
Definition: GEMDQMBase.h:105
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, std::vector< Double_t > &x_binning, TString strTitleX="", TString strTitleY="Entries")
Definition: GEMDQMBase.h:135
GEMDQMBase::MEStationInfo::MEStationInfo
MEStationInfo(Int_t nRegion, Int_t nStation, Int_t nLayer, Int_t nNumChambers, Int_t nNumEtaPartitions, Int_t nMaxVFAT, Int_t nNumDigi)
Definition: GEMDQMBase.h:425
GEMDQMBase::MEMapInfT::nBinsX_
Int_t nBinsX_
Definition: GEMDQMBase.h:409
trackingPlots.other
other
Definition: trackingPlots.py:1464
seedmultiplicitymonitor_newtracking_cfi.nBins
nBins
Definition: seedmultiplicitymonitor_newtracking_cfi.py:8
GEMDQMBase::MEMapInfT::GetTitle
TString GetTitle()
Definition: GEMDQMBase.h:246
GEMDQMBase::MEStationInfo::MEStationInfo
MEStationInfo()
Definition: GEMDQMBase.h:424
GEMDQMBase::MEMapInfT::log_category_own_
std::string log_category_own_
Definition: GEMDQMBase.h:415
GEMDQMBase::key3Tokey2
ME2IdsKey key3Tokey2(ME3IdsKey key)
Definition: GEMDQMBase.h:486
GEMeMap::maxVFatGE11_
static const int maxVFatGE11_
Definition: GEMeMap.h:67
DQMEDAnalyzer.h
GEMDQMBase::CreateSummaryHist
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
Definition: GEMDQMBase.cc:122
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
GEMDQMBase::MEMapInfT::x_binning_
std::vector< double > x_binning_
Definition: GEMDQMBase.h:408
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
GEMDQMBase::keyToLayer
int keyToLayer(ME4IdsKey key)
Definition: GEMDQMBase.h:481
GEMDQMBase::MEStationInfo::nMaxVFAT_
Int_t nMaxVFAT_
Definition: GEMDQMBase.h:451
funct::true
true
Definition: Factorize.h:173
GEMDQMBase::MEMapInfT::SetTitle
void SetTitle(TString strTitle)
Definition: GEMDQMBase.h:247
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
GEMDQMBase::MEStationInfo::nNumDigi_
Int_t nNumDigi_
Definition: GEMDQMBase.h:452
MonitorElement.h
GEMDQMBase::BookingHelper::BookingHelper
BookingHelper(DQMStore::IBooker &ibooker, const TString &name_suffix, const TString &title_suffix)
Definition: GEMDQMBase.h:34
GEMDQMBase::initGeometry
int initGeometry(edm::EventSetup const &iSetup)
Definition: GEMDQMBase.cc:15
GEMDQMBase::readRadiusEtaPartition
int readRadiusEtaPartition(int nRegion, int nStation)
edm::ParameterSet
Definition: ParameterSet.h:47
GEMDQMBase::MEMap4Inf
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
Definition: GEMDQMBase.h:420
GEMDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:552
GEMDQMBase::MEMap3WithChCheck_
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
Definition: GEMDQMBase.h:520
Event.h
GEMDQMBase::MEMapInfT::dZL_
Double_t dZL_
Definition: GEMDQMBase.h:413
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, TString strTitleX="", TString strTitleY="Entries")
Definition: GEMDQMBase.h:114
GEMDQMBase::getVFATNumberByDigi
int getVFATNumberByDigi(const int, const int, const int)
Definition: GEMDQMBase.h:562
GEMDQMBase::ProcessWithMEMap2AbsReWithEta
virtual int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:469
GEMDQMBase::MEStationInfo::nNumChambers_
Int_t nNumChambers_
Definition: GEMDQMBase.h:449
GEMDQMBase::~GEMDQMBase
~GEMDQMBase() override
Definition: GEMDQMBase.h:457
gpuVertexFinder::hist
__shared__ Hist hist
Definition: gpuClusterTracksDBSCAN.h:48
GEMDQMBase::ProcessWithMEMap2
virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key)
Definition: GEMDQMBase.h:467
GEMDQMBase::MEMapInfT::GetNbinsY
Int_t GetNbinsY()
Definition: GEMDQMBase.h:261
GEMDQMBase::MEMapInfT::nBinsY_
Int_t nBinsY_
Definition: GEMDQMBase.h:411
GEMDQMBase::MEMapInfT::~MEMapInfT
~MEMapInfT()
Definition: GEMDQMBase.h:234
GEMDQMBase::MEMapInfT::strTitle_
TString strTitle_
Definition: GEMDQMBase.h:404
GEMDQMBase::MEMapInfT::Fill
int Fill(K key, Double_t x, Double_t y, Double_t w=1.0)
Definition: GEMDQMBase.h:371
GEMDQMBase::checkRefs
bool checkRefs(const std::vector< T * > &)
Definition: GEMDQMBase.h:534
ModuleDef.h
GEMDQMBase::MEMapInfT::map
M & map()
Definition: GEMDQMBase.h:289
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
GEMDQMBase::MEMapInfT::mapHist
M mapHist
Definition: GEMDQMBase.h:403
GEMDQMBase::nNumEtaPartitionGE11_
Int_t nNumEtaPartitionGE11_
Definition: GEMDQMBase.h:528
GEMDQMBase::BookingHelper::bookProfile2D
MonitorElement * bookProfile2D(TString name, TString title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup, double zlow, double zup, TString x_title="", TString y_title="")
Definition: GEMDQMBase.h:77
GEMDQMBase::ProcessWithMEMap4
virtual int ProcessWithMEMap4(BookingHelper &bh, ME4IdsKey key)
Definition: GEMDQMBase.h:471
edm::EventSetup
Definition: EventSetup.h:58
GEMDQMBase::MEMapInfT::SetLabelForIEta
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
Definition: GEMDQMBase.h:338
GEMDQMBase::MEMapInfT::TurnOff
void TurnOff()
Definition: GEMDQMBase.h:239
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
GEMDQMBase::MEMapInfT::dXH_
Double_t dXH_
Definition: GEMDQMBase.h:410
GEMDQMBase::MEMapInfT::GetBinHighEdgeX
Double_t GetBinHighEdgeX()
Definition: GEMDQMBase.h:257
GEMDQMBase::MEStationInfo::nStation_
Int_t nStation_
Definition: GEMDQMBase.h:447
edm::ESGetToken< GEMGeometry, MuonGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMDQMBase::MEMapInfT::GetBinHighEdgeY
Double_t GetBinHighEdgeY()
Definition: GEMDQMBase.h:265
InputTag.h
GEMDQMBase::MEMapInfT
Definition: GEMDQMBase.h:101
looper.cfg
cfg
Definition: looper.py:296
GEMDQMBase::loadChambers
int loadChambers()
Definition: GEMDQMBase.cc:46
GEMDQMBase::MEStationInfo::operator==
bool operator==(const MEStationInfo &other) const
Definition: GEMDQMBase.h:440
GEMDQMBase::keyToLayer
int keyToLayer(ME3IdsKey key)
Definition: GEMDQMBase.h:480
GEMDQMBase::MEMap3Inf
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
Definition: GEMDQMBase.h:419
GEMGeometry.h
GEMDQMBase::log_category_
std::string log_category_
Definition: GEMDQMBase.h:457
GEMDQMBase::BookingHelper::~BookingHelper
~BookingHelper()
Definition: GEMDQMBase.h:37
GEMDQMBase::MEMapInfT::SetTitleY
void SetTitleY(TString strTitleY)
Definition: GEMDQMBase.h:251
GEMDQMBase::mapStationInfo_
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:525
GEMDQMBase::MEMapInfT::SetBinConfY
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
Definition: GEMDQMBase.h:281
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
GEMDQMBase::BookingHelper::book1D
MonitorElement * book1D(TString name, TString title, int nbinsx, double xlow, double xup, TString x_title="", TString y_title="Entries")
Definition: GEMDQMBase.h:39
GEMDQMBase::MEMapInfT::FindHist
dqm::impl::MonitorElement * FindHist(K key)
Definition: GEMDQMBase.h:310
GEMDQMBase::MEMapInfT::SetOperating
void SetOperating(Bool_t bOperating)
Definition: GEMDQMBase.h:237
GEMDQMBase::MEMapInfT::dYH_
Double_t dYH_
Definition: GEMDQMBase.h:412
GEMDQMBase::MEMapInfT::MEMapInfT
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, Int_t nBinsY, Double_t dYL, Double_t dYH, Double_t dZL, Double_t dZH, TString strTitleX="", TString strTitleY="")
Definition: GEMDQMBase.h:183
GEMDQMBase::MEMapInfT::TurnOn
void TurnOn()
Definition: GEMDQMBase.h:238
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
EventSetup.h
GEMDQMBase
Definition: GEMDQMBase.h:29
GEMDQMBase::keyToStation
int keyToStation(ME3IdsKey key)
Definition: GEMDQMBase.h:478
GEMDigiCollection.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
GEMDQMBase::keyToRegion
int keyToRegion(ME3IdsKey key)
Definition: GEMDQMBase.h:475
GEMDQMBase::mapStationToIdx_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:524
GEMDQMBase::keyToRegion
int keyToRegion(ME2IdsKey key)
Definition: GEMDQMBase.h:474
GEMDQMBase::MEMapInfT::SetName
void SetName(TString strName)
Definition: GEMDQMBase.h:245
GEMGeometry
Definition: GEMGeometry.h:24
GEMDQMBase::BookingHelper::name_suffix_
const TString name_suffix_
Definition: GEMDQMBase.h:96
GEMDQMBase::MEMapInfT::SetNbinsX
void SetNbinsX(Int_t nBinsX)
Definition: GEMDQMBase.h:254
GEMDQMBase::MEMap2Check_
std::map< ME2IdsKey, bool > MEMap2Check_
Definition: GEMDQMBase.h:516
GEMDQMBase::MEMapInfT::GetTitleX
TString GetTitleX()
Definition: GEMDQMBase.h:248
ParameterSet.h
MuonGeometryRecord.h
GEMDQMBase::MEMapInfT::bOperating_
Bool_t bOperating_
Definition: GEMDQMBase.h:405
GEMDQMBase::geomToken_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
Definition: GEMDQMBase.h:512
GEMDQMBase::ProcessWithMEMap3WithChamber
virtual int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key)
Definition: GEMDQMBase.h:472
GEMDQMBase::MEMapInfT::GetNbinsX
Int_t GetNbinsX()
Definition: GEMDQMBase.h:253
GEMDQMBase::getNumEtaPartitions
int getNumEtaPartitions(const GEMStation *)
Definition: GEMDQMBase.cc:30
crabWrapper.key
key
Definition: crabWrapper.py:19
GEMDQMBase::getIEtaFromVFATGE11
int getIEtaFromVFATGE11(const int vfat)
Definition: GEMDQMBase.h:573
GEMDQMBase::MEMapInfT::bookND
int bookND(BookingHelper &bh, K key)
Definition: GEMDQMBase.h:290
GEMDQMBase::ProcessWithMEMap3
virtual int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:470
GEMDQMBase::MEStationInfo::nRegion_
Int_t nRegion_
Definition: GEMDQMBase.h:444
GEMDQMBase::MEMapInfT::SetProfile
void SetProfile(Bool_t bIsProfile)
Definition: GEMDQMBase.h:242
GEMDQMBase::MEMapInfT::pDQMBase_
GEMDQMBase * pDQMBase_
Definition: GEMDQMBase.h:398
GEMeMap::maxChan_
static const int maxChan_
Definition: GEMeMap.h:72
GEMDQMBase::BookingHelper::book1D
MonitorElement * book1D(TString name, TString title, std::vector< double > &x_binning, TString x_title="", TString y_title="Entries")
Definition: GEMDQMBase.h:51
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
GEMDQMBase::GenerateMEPerChamber
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Definition: GEMDQMBase.cc:158
GEMDQMBase::MEMapInfT::GetBinLowEdgeZ
Double_t GetBinLowEdgeZ()
Definition: GEMDQMBase.h:268