CMS 3D CMS Logo

GEMOfflineDQMBase.h
Go to the documentation of this file.
1 #ifndef DQMOffline_Muon_GEMOfflineDQMBase_h
2 #define DQMOffline_Muon_GEMOfflineDQMBase_h
3 
10 
12 public:
13  using MEMap = std::map<GEMDetId, dqm::impl::MonitorElement*>;
14 
15  explicit GEMOfflineDQMBase(const edm::ParameterSet&);
16 
17  inline int getVFATNumber(const int, const int, const int);
18  inline int getVFATNumberByStrip(const int, const int, const int);
19  inline int getMaxVFAT(const int);
20  inline int getDetOccXBin(const int, const int, const int);
21 
22  // Re: region / St: station, La: layer, Ch: chamber parity, Et: eta partition
23  inline GEMDetId getReStKey(const int, const int);
24  inline GEMDetId getReStKey(const GEMDetId&);
25  inline GEMDetId getReStLaKey(const GEMDetId&);
26  inline GEMDetId getReStEtKey(const GEMDetId&);
27  inline GEMDetId getReStLaChKey(const GEMDetId&);
28  inline GEMDetId getKey(const GEMDetId&); // == getReStLaChEtKey
29 
33  int getNumEtaPartitions(const GEMStation*); // the number of eta partitions per GEMChamber
34  void fillME(MEMap& me_map, const GEMDetId& key, const float x);
35  void fillME(MEMap& me_map, const GEMDetId& key, const float x, const float y);
36 
37  template <typename T>
38  inline bool checkRefs(const std::vector<T*>&);
39 
40  inline TString getSuffixName(Int_t);
41  inline TString getSuffixName(Int_t, Int_t);
42  inline TString getSuffixName(Int_t, Int_t, Int_t);
43  inline TString getSuffixName(Int_t, Int_t, Int_t, Int_t);
44 
45  inline TString getSuffixTitle(Int_t);
46  inline TString getSuffixTitle(Int_t, Int_t);
47  inline TString getSuffixTitle(Int_t, Int_t, Int_t);
48  inline TString getSuffixTitle(Int_t, Int_t, Int_t, Int_t);
49 
50  //
52 };
53 
54 inline int GEMOfflineDQMBase::getMaxVFAT(const int station) {
55  if (station == 0)
56  return GEMeMap::maxVFatGE0_;
57  else if (station == 1)
58  return GEMeMap::maxVFatGE11_;
59  else if (station == 2)
60  return GEMeMap::maxVFatGE21_;
61  else
62  return -1;
63 }
64 
65 inline int GEMOfflineDQMBase::getVFATNumber(const int station, const int ieta, const int vfat_phi) {
66  const int max_vfat = getMaxVFAT(station);
67  return max_vfat * (ieta - 1) + vfat_phi;
68 }
69 
70 inline int GEMOfflineDQMBase::getVFATNumberByStrip(const int station, const int ieta, const int strip) {
71  const int vfat_phi = (strip % GEMeMap::maxChan_) ? strip / GEMeMap::maxChan_ + 1 : strip / GEMeMap::maxChan_;
72  return getVFATNumber(station, ieta, vfat_phi);
73 }
74 
75 inline int GEMOfflineDQMBase::getDetOccXBin(const int chamber, const int layer, const int n_chambers) {
76  return n_chambers * (chamber - 1) + layer;
77 }
78 
79 template <typename T>
80 inline bool GEMOfflineDQMBase::checkRefs(const std::vector<T*>& refs) {
81  if (refs.empty())
82  return false;
83  if (refs.front() == nullptr)
84  return false;
85  return true;
86 }
87 
88 inline GEMDetId GEMOfflineDQMBase::getReStKey(const int region, const int station) {
89  // region, ring, station, layer, chamber, ieta
90  return GEMDetId{region, 1, station, 0, 0, 0};
91 }
92 
93 inline GEMDetId GEMOfflineDQMBase::getReStKey(const GEMDetId& id) { return getReStKey(id.region(), id.station()); }
94 
96  return GEMDetId{id.region(), 1, id.station(), id.layer(), 0, 0};
97 }
98 
100  return GEMDetId{id.region(), 1, id.station(), 0, 0, id.roll()};
101 }
102 
104  return GEMDetId{id.region(), 1, id.station(), id.layer(), id.chamber() % 2, 0};
105 }
106 
108  return GEMDetId{id.region(), 1, id.station(), id.layer(), id.chamber() % 2, id.roll()};
109 }
110 
111 inline TString GEMOfflineDQMBase::getSuffixName(Int_t region_id) { return TString::Format("_Re%+d", region_id); }
112 
113 inline TString GEMOfflineDQMBase::getSuffixName(Int_t region_id, Int_t station_id) {
114  return TString::Format("_GE%+.2d", region_id * (station_id * 10 + 1));
115 }
116 
117 inline TString GEMOfflineDQMBase::getSuffixName(Int_t region_id, Int_t station_id, Int_t layer_id) {
118  return TString::Format("_GE%+.2d_L%d", region_id * (station_id * 10 + 1), layer_id);
119 }
120 
121 inline TString GEMOfflineDQMBase::getSuffixName(Int_t region_id, Int_t station_id, Int_t layer_id, Int_t ieta) {
122  return TString::Format("_GE%+.2d_L%d_R%d", region_id * (station_id * 10 + 1), layer_id, ieta);
123 }
124 
125 inline TString GEMOfflineDQMBase::getSuffixTitle(Int_t region_id) { return TString::Format(" Region %+d", region_id); }
126 
127 TString GEMOfflineDQMBase::getSuffixTitle(Int_t region_id, Int_t station_id) {
128  return TString::Format(" GE%+.2d", region_id * (station_id * 10 + 1));
129 }
130 
131 TString GEMOfflineDQMBase::getSuffixTitle(Int_t region_id, Int_t station_id, Int_t layer_id) {
132  return TString::Format(" GE%+.2d Layer %d", region_id * (station_id * 10 + 1), layer_id);
133 }
134 
135 TString GEMOfflineDQMBase::getSuffixTitle(Int_t region_id, Int_t station_id, Int_t layer_id, Int_t ieta) {
136  return TString::Format(" GE%+.2d Layer %d Roll %d", region_id * (station_id * 10 + 1), layer_id, ieta);
137 }
138 
139 #endif // DQMOffline_Muon_GEMOfflineDQMBase_h
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
DDAxes::y
GEMOfflineDQMBase::getReStLaKey
GEMDetId getReStLaKey(const GEMDetId &)
Definition: GEMOfflineDQMBase.h:95
MessageLogger.h
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:168
relativeConstraints.station
station
Definition: relativeConstraints.py:67
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
GEMOfflineDQMBase::getSuffixName
TString getSuffixName(Int_t)
Definition: GEMOfflineDQMBase.h:111
GEMOfflineDQMBase
Definition: GEMOfflineDQMBase.h:11
GEMOfflineDQMBase::getSuffixTitle
TString getSuffixTitle(Int_t)
Definition: GEMOfflineDQMBase.h:125
GEMOfflineDQMBase::getVFATNumberByStrip
int getVFATNumberByStrip(const int, const int, const int)
Definition: GEMOfflineDQMBase.h:70
DQMStore.h
GEMOfflineDQMBase::GEMOfflineDQMBase
GEMOfflineDQMBase(const edm::ParameterSet &)
Definition: GEMOfflineDQMBase.cc:4
DDAxes::x
GEMOfflineDQMBase::getMaxVFAT
int getMaxVFAT(const int)
Definition: GEMOfflineDQMBase.h:54
GEMOfflineDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMOfflineDQMBase.h:65
GEMeMap::maxVFatGE21_
static const int maxVFatGE21_
Definition: GEMeMap.h:66
GEMOfflineDQMBase::log_category_
std::string log_category_
Definition: GEMOfflineDQMBase.h:51
GEMOfflineDQMBase::setDetLabelsEta
void setDetLabelsEta(MonitorElement *, const GEMStation *)
Definition: GEMOfflineDQMBase.cc:49
GEMOfflineDQMBase::getNumEtaPartitions
int getNumEtaPartitions(const GEMStation *)
Definition: GEMOfflineDQMBase.cc:76
GEMeMap.h
GEMOfflineDQMBase::getKey
GEMDetId getKey(const GEMDetId &)
Definition: GEMOfflineDQMBase.h:107
GEMOfflineDQMBase::getReStLaChKey
GEMDetId getReStLaChKey(const GEMDetId &)
Definition: GEMOfflineDQMBase.h:103
GEMStation
Definition: GEMStation.h:19
edm::ESHandle< GEMGeometry >
GEMeMap::maxVFatGE11_
static const int maxVFatGE11_
Definition: GEMeMap.h:65
DQMEDAnalyzer.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
GEMOfflineDQMBase::MEMap
std::map< GEMDetId, dqm::impl::MonitorElement * > MEMap
Definition: GEMOfflineDQMBase.h:13
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
edm::ParameterSet
Definition: ParameterSet.h:47
GEMOfflineDQMBase::getReStEtKey
GEMDetId getReStEtKey(const GEMDetId &)
Definition: GEMOfflineDQMBase.h:99
GEMOfflineDQMBase::checkRefs
bool checkRefs(const std::vector< T * > &)
Definition: GEMOfflineDQMBase.h:80
GEMDetId
Definition: GEMDetId.h:18
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88272
GEMOfflineDQMBase::setDetLabelsVFAT
void setDetLabelsVFAT(MonitorElement *, const GEMStation *)
Definition: GEMOfflineDQMBase.cc:14
GEMeMap::maxVFatGE0_
static const int maxVFatGE0_
Definition: GEMeMap.h:64
GEMGeometry.h
GEMDetId.h
GEMOfflineDQMBase::getReStKey
GEMDetId getReStKey(const int, const int)
Definition: GEMOfflineDQMBase.h:88
GEMOfflineDQMBase::fillME
void fillME(MEMap &me_map, const GEMDetId &key, const float x)
Definition: GEMOfflineDQMBase.cc:92
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
crabWrapper.key
key
Definition: crabWrapper.py:19
GEMeMap::maxChan_
static const int maxChan_
Definition: GEMeMap.h:67
GEMOfflineDQMBase::getDetOccXBin
int getDetOccXBin(const int, const int, const int)
Definition: GEMOfflineDQMBase.h:75