CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MESet.h
Go to the documentation of this file.
1 #ifndef MESet_H
2 #define MESet_H
3 
5 
7 
10 
15 
17 
18 #include <string>
19 #include <map>
20 #include <memory>
21 #include <vector>
22 
23 namespace ecaldqm {
24  /*
25  class MESet
26  Base class for MonitorElement wrappers
27  Interface between ME bins and DetId
28 */
29 
30  // struct made to simplify passing multiple setup
31  // variables (see DQWorker.h for implementation)
32  // to MESet functions
38  };
39 
40  class StatusManager;
41 
42  class MESet {
43  public:
46  typedef std::map<std::string, std::string> PathReplacements;
47 
48  MESet();
50  MESet(MESet const &);
51  virtual ~MESet();
52 
53  virtual MESet &operator=(MESet const &);
54 
55  virtual MESet *clone(std::string const & = "") const;
56 
57  virtual void book(DQMStore::IBooker &, EcalElectronicsMapping const *) {}
58  virtual bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string * = nullptr) const {
59  return false;
60  }
61  virtual void clear() const;
62 
63  // Overloaded functions deal with different ids or
64  // inputs to fill, setBinContent, etc and each determines
65  // the correct bin to fill based on what is passed.
66  //
67  // Note: not every fill, setBinContent, etc necessarily uses
68  // EcalDQMSetupObjects, but they are passed one anyway to
69  // avoid accidentally casting a DetId or a EcalElectronicsId
70  // to an int or a double and have it exercute the wrong function.
71  // This would be tricky to debug if this error is made, so it
72  // makes more sense for these functions to look consistent in
73  // terms of passing EcalDQMSetupObjects.
74  virtual void fill(EcalDQMSetupObjects const, DetId const &, double = 1., double = 1., double = 1.) {}
75  virtual void fill(EcalDQMSetupObjects const, EcalElectronicsId const &, double = 1., double = 1., double = 1.) {}
76  virtual void fill(EcalDQMSetupObjects const, int, double = 1., double = 1., double = 1.) {}
77  virtual void fill(EcalDQMSetupObjects const, double, double = 1., double = 1.) {}
78 
79  virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double) {}
80  virtual void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, double) {}
81  virtual void setBinContent(EcalDQMSetupObjects const, int, double) {}
82  virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, int, double) {}
83  virtual void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) {}
84  virtual void setBinContent(EcalDQMSetupObjects const, int, int, double) {}
85 
86  virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double) {}
87  virtual void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, double) {}
88  virtual void setBinError(EcalDQMSetupObjects const, int, double) {}
89  virtual void setBinError(EcalDQMSetupObjects const, DetId const &, int, double) {}
90  virtual void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) {}
91  virtual void setBinError(EcalDQMSetupObjects const, int, int, double) {}
92 
93  virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double) {}
94  virtual void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, double) {}
95  virtual void setBinEntries(EcalDQMSetupObjects const, int, double) {}
96  virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, int, double) {}
97  virtual void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) {}
98  virtual void setBinEntries(EcalDQMSetupObjects const, int, int, double) {}
99 
100  virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int = 0) const { return 0.; }
101  virtual double getBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const { return 0.; }
102  virtual double getBinContent(EcalDQMSetupObjects const, int, int = 0) const { return 0.; }
103 
104  virtual double getBinError(EcalDQMSetupObjects const, DetId const &, int = 0) const { return 0.; }
105  virtual double getBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const { return 0.; }
106  virtual double getBinError(EcalDQMSetupObjects const, int, int = 0) const { return 0.; }
107 
108  virtual double getBinEntries(EcalDQMSetupObjects const, DetId const &, int = 0) const { return 0.; }
109  virtual double getBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const { return 0.; }
110  virtual double getBinEntries(EcalDQMSetupObjects const, int, int = 0) const { return 0.; }
111 
112  // title, axis
113  virtual void setAxisTitle(std::string const &, int = 1);
114 
115  virtual void reset(EcalElectronicsMapping const *, double = 0., double = 0., double = 0.);
116  virtual void resetAll(double = 0., double = 0., double = 0.);
117 
118  virtual bool maskMatches(DetId const &, uint32_t, StatusManager const *, EcalTrigTowerConstituentsMap const *) const;
119 
120  virtual std::string const &getPath() const { return path_; }
123  MonitorElement::Kind getKind() const { return kind_; }
124  bool isActive() const { return active_; } // booked or retrieved
125  virtual bool isVariableBinning() const { return false; }
126  virtual MonitorElement const *getME(unsigned _iME) const { return (_iME < mes_.size() ? mes_[_iME] : nullptr); }
127  virtual MonitorElement *getME(unsigned _iME) { return (_iME < mes_.size() ? mes_[_iME] : nullptr); }
128 
129  std::string formPath(PathReplacements const &) const;
130 
131  void setLumiFlag() { lumiFlag_ = true; };
132  bool getLumiFlag() const { return lumiFlag_; }
133  void setBatchMode() { batchMode_ = true; }
134  bool getBatchMode() const { return batchMode_; }
135 
136  protected:
137  virtual void fill_(unsigned, int, double);
138  virtual void fill_(unsigned, int, double, double);
139  virtual void fill_(unsigned, double, double, double);
140 
141  virtual void checkME_(unsigned _iME) const {
142  if (!getME(_iME)) {
143  std::stringstream ss;
144  ss << "ME does not exist at index " << _iME;
145  throw_(ss.str());
146  }
147  }
148 
149  void throw_(std::string const &_message) const { throw cms::Exception("EcalDQM") << path_ << ": " << _message; }
150 
151  mutable std::vector<MonitorElement *> mes_;
152 
157  bool lumiFlag_; // when true, histograms will be saved every lumi section
158  // (default false)
159  bool batchMode_; // when true, histograms are not GUI-ready (default false)
160 
161  mutable bool active_;
162 
163  public:
164  struct ConstBin {
165  protected:
166  MESet const *meSet_;
167 
168  public:
169  unsigned iME;
170  int iBin;
172 
173  ConstBin() : meSet_(nullptr), iME(-1), iBin(-1), otype(binning::nObjType) {}
174  ConstBin(MESet const &, unsigned = 0, int = 1);
175  ConstBin(ConstBin const &_orig) : meSet_(_orig.meSet_), iME(_orig.iME), iBin(_orig.iBin), otype(_orig.otype) {}
176  ConstBin &operator=(ConstBin const &);
177  bool operator==(ConstBin const &_rhs) const {
178  return meSet_ != nullptr && meSet_ == _rhs.meSet_ && iME == _rhs.iME && iBin == _rhs.iBin;
179  }
180  bool isChannel(EcalElectronicsMapping const *electronicsMap) const {
181  if (meSet_)
182  return binning::isValidIdBin(electronicsMap, otype, meSet_->getBinType(), iME, iBin);
183  else
184  return false;
185  }
186  uint32_t getId() const {
187  if (meSet_)
189  else
190  return 0;
191  }
192  double getBinContent() const {
193  if (meSet_ && iME != unsigned(-1))
194  return meSet_->getME(iME)->getBinContent(iBin);
195  else
196  return 0.;
197  }
198  double getBinError() const {
199  if (meSet_ && iME != unsigned(-1))
200  return meSet_->getME(iME)->getBinError(iBin);
201  else
202  return 0.;
203  }
204  double getBinEntries() const {
205  if (meSet_ && iME != unsigned(-1))
206  return meSet_->getME(iME)->getBinEntries(iBin);
207  else
208  return 0.;
209  }
210  MonitorElement const *getME() const {
211  if (meSet_ && iME != unsigned(-1))
212  return meSet_->getME(iME);
213  else
214  return nullptr;
215  }
216  void setMESet(MESet const &_meSet) { meSet_ = &_meSet; }
217  MESet const *getMESet() const { return meSet_; }
218  };
219 
220  struct Bin : public ConstBin {
221  protected:
223 
224  public:
225  Bin() : ConstBin(), meSet_(nullptr) {}
226  Bin(MESet &_set, unsigned _iME = 0, int _iBin = 1) : ConstBin(_set, _iME, _iBin), meSet_(&_set) {}
227  Bin(Bin const &_orig) : ConstBin(_orig), meSet_(_orig.meSet_) {}
228  ConstBin &operator=(Bin const &_rhs) {
229  bool wasNull(ConstBin::meSet_ == nullptr);
230  ConstBin::operator=(_rhs);
231  if (wasNull)
232  meSet_ = _rhs.meSet_;
233  return *this;
234  }
235  void fill(double _w = 1.) {
236  if (meSet_)
237  meSet_->fill_(iME, iBin, _w);
238  }
239  void fill(double _y, double _w = 1.) {
240  if (meSet_)
241  meSet_->fill_(iME, iBin, _y, _w);
242  }
243  void setBinContent(double _content) {
244  if (meSet_ && iME != unsigned(-1))
245  meSet_->getME(iME)->setBinContent(iBin, _content);
246  }
247  void setBinError(double _error) {
248  if (meSet_ && iME != unsigned(-1))
249  meSet_->getME(iME)->setBinError(iBin, _error);
250  }
251  void setBinEntries(double _entries) {
252  if (meSet_ && iME != unsigned(-1))
253  meSet_->getME(iME)->setBinEntries(iBin, _entries);
254  }
256  if (meSet_ && iME != unsigned(-1))
257  return meSet_->getME(iME);
258  else
259  return nullptr;
260  }
261  void setMESet(MESet &_meSet) {
262  ConstBin::meSet_ = &_meSet;
263  meSet_ = &_meSet;
264  }
265  MESet *getMESet() const { return meSet_; }
266  };
267 
268  /* const_iterator
269  iterates over bins
270  supports automatic transition between MEs in the same set
271  underflow -> bin == 0 overflow -> bin == -1
272  */
273  struct const_iterator {
275  const_iterator(EcalElectronicsMapping const *, MESet const &_meSet, unsigned _iME = 0, int _iBin = 1)
276  : bin_(_meSet, _iME, _iBin) {}
277  const_iterator(EcalElectronicsMapping const *, MESet const &, DetId const &);
278  const_iterator(const_iterator const &_orig) : bin_(_orig.bin_) {}
280  bin_ = _rhs.bin_;
281  return *this;
282  }
283  bool operator==(const_iterator const &_rhs) const { return bin_ == _rhs.bin_; }
284  bool operator!=(const_iterator const &_rhs) const { return !(bin_ == _rhs.bin_); }
285  ConstBin const *operator->() const { return &bin_; }
288  bool up();
289  bool down();
290  bool left();
291  bool right();
292 
293  protected:
295  };
296 
297  struct iterator : public const_iterator {
299  iterator(EcalElectronicsMapping const *electronicsMap, MESet &_meSet, unsigned _iME = 0, int _iBin = 1)
300  : const_iterator(electronicsMap, _meSet, _iME, _iBin), bin_(_meSet) {
301  bin_.ConstBin::operator=(const_iterator::bin_);
302  }
303  iterator(EcalElectronicsMapping const *electronicsMap, MESet &_meSet, DetId const &_id)
304  : const_iterator(electronicsMap, _meSet, _id), bin_(_meSet) {
305  bin_.ConstBin::operator=(const_iterator::bin_);
306  }
307  iterator(iterator const &_orig) : const_iterator(_orig), bin_(_orig.bin_) {}
310  bin_.ConstBin::operator=(const_iterator::bin_);
311  return *this;
312  }
313  Bin *operator->() { return &bin_; }
314  Bin const *operator->() const { return &bin_; }
317  bin_.ConstBin::operator=(const_iterator::bin_);
318  return *this;
319  }
321  const_iterator::toNextChannel(electronicsMap);
322  bin_.ConstBin::operator=(const_iterator::bin_);
323  return *this;
324  }
325  bool up() {
326  bool res(const_iterator::up());
327  bin_.ConstBin::operator=(const_iterator::bin_);
328  return res;
329  }
330  bool down() {
331  bool res(const_iterator::down());
332  bin_.ConstBin::operator=(const_iterator::bin_);
333  return res;
334  }
335  bool left() {
336  bool res(const_iterator::left());
337  bin_.ConstBin::operator=(const_iterator::bin_);
338  return res;
339  }
340  bool right() {
341  bool res(const_iterator::right());
342  bin_.ConstBin::operator=(const_iterator::bin_);
343  return res;
344  }
345 
346  private:
348  };
349 
350  virtual const_iterator begin(EcalElectronicsMapping const *electronicsMap) const {
351  return const_iterator(electronicsMap, *this);
352  }
353 
354  virtual const_iterator end(EcalElectronicsMapping const *electronicsMap) const {
355  return const_iterator(electronicsMap, *this, -1, -1);
356  }
357 
358  virtual const_iterator beginChannel(EcalElectronicsMapping const *electronicsMap) const {
359  const_iterator itr(electronicsMap, *this, 0, 0);
360  return itr.toNextChannel(electronicsMap);
361  }
362 
363  virtual iterator begin(EcalElectronicsMapping const *electronicsMap) { return iterator(electronicsMap, *this); }
364 
365  virtual iterator end(EcalElectronicsMapping const *electronicsMap) {
366  return iterator(electronicsMap, *this, -1, -1);
367  }
368 
369  virtual iterator beginChannel(EcalElectronicsMapping const *electronicsMap) {
370  iterator itr(electronicsMap, *this, 0, 0);
371  itr.toNextChannel(electronicsMap);
372  return itr;
373  }
374  };
375 
376 } // namespace ecaldqm
377 
378 namespace ecaldqm {
379 
381  using MESetColletionType = std::map<std::string, std::unique_ptr<MESet>>;
382 
383  public:
384  using iterator = MESetColletionType::iterator;
385  using const_iterator = MESetColletionType::const_iterator;
386 
387  void insert(const std::string &key, MESet *ptr) { _MESetColletion.emplace(key, ptr); }
388  void insert(const std::string &&key, MESet *ptr) { _MESetColletion.emplace(key, ptr); }
389 
390  void erase(const std::string &key) { _MESetColletion.erase(key); }
391 
392  auto begin() { return _MESetColletion.begin(); }
393  auto end() const { return _MESetColletion.end(); }
394 
395  const_iterator find(const std::string &key) const { return _MESetColletion.find(key); }
396  iterator find(const std::string &key) { return _MESetColletion.find(key); }
397 
398  //return a reference, but this collection still has the ownership
399  MESet &at(const std::string &key) { return *(_MESetColletion.at(key).get()); }
400 
401  private:
403  };
404 
405 } // namespace ecaldqm
406 
407 #endif
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:79
virtual std::string const & getPath() const
Definition: MESet.h:120
virtual double getBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int=0) const
Definition: MESet.h:109
MonitorElement::Kind kind_
Definition: MESet.h:156
virtual double getBinError(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:104
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:93
const_iterator & operator=(const_iterator const &_rhs)
Definition: MESet.h:279
virtual void setBinContent(EcalDQMSetupObjects const, int, double)
Definition: MESet.h:81
void insert(const std::string &&key, MESet *ptr)
Definition: MESet.h:388
virtual MonitorElement const * getME(unsigned _iME) const
Definition: MESet.h:126
MonitorElement::Kind getKind() const
Definition: MESet.h:123
virtual void setAxisTitle(std::string const &, int=1)
Definition: MESet.cc:89
const_iterator & operator++()
Definition: MESet.cc:363
virtual double getBinContent(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:100
bool isValidIdBin(EcalElectronicsMapping const *, ObjectType, BinningType, unsigned, int)
dqm::legacy::DQMStore DQMStore
Definition: MESet.h:44
iterator & operator=(const_iterator const &_rhs)
Definition: MESet.h:308
MESet & at(const std::string &key)
Definition: MESet.h:399
virtual void clear() const
Definition: MESet.cc:84
virtual const_iterator begin(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:350
virtual void setBinError(EcalDQMSetupObjects const, int, int, double)
Definition: MESet.h:91
const_iterator & toNextChannel(EcalElectronicsMapping const *electronicsMap)
Definition: MESet.h:320
bool operator==(const_iterator const &_rhs) const
Definition: MESet.h:283
virtual void checkME_(unsigned _iME) const
Definition: MESet.h:141
virtual void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, double)
Definition: MESet.h:80
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
void insert(const std::string &key, MESet *ptr)
Definition: MESet.h:387
virtual iterator begin(EcalElectronicsMapping const *electronicsMap)
Definition: MESet.h:363
void fill(double _y, double _w=1.)
Definition: MESet.h:239
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, int, double)
Definition: MESet.h:89
dqm::legacy::MonitorElement MonitorElement
Definition: MESet.h:45
iterator(iterator const &_orig)
Definition: MESet.h:307
MESet const * meSet_
Definition: MESet.h:166
double getBinEntries() const
Definition: MESet.h:204
binning::ObjectType otype
Definition: MESet.h:171
MonitorElement const * getME() const
Definition: MESet.h:210
virtual double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
virtual void setBinEntries(EcalDQMSetupObjects const, int, int, double)
Definition: MESet.h:98
virtual MESet * clone(std::string const &="") const
Definition: MESet.cc:75
virtual bool maskMatches(DetId const &, uint32_t, StatusManager const *, EcalTrigTowerConstituentsMap const *) const
Definition: MESet.cc:170
virtual void fill(EcalDQMSetupObjects const, EcalElectronicsId const &, double=1., double=1., double=1.)
Definition: MESet.h:75
bool batchMode_
Definition: MESet.h:159
MonitorElement * getME() const
Definition: MESet.h:255
virtual ~MESet()
Definition: MESet.cc:62
void setMESet(MESet &_meSet)
Definition: MESet.h:261
virtual double getBinError(EcalDQMSetupObjects const, int, int=0) const
Definition: MESet.h:106
virtual const_iterator beginChannel(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:358
bool isChannel(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:180
iterator find(const std::string &key)
Definition: MESet.h:396
binning::ObjectType getObjType() const
Definition: MESet.h:121
virtual double getBinEntries(EcalDQMSetupObjects const, int, int=0) const
Definition: MESet.h:110
virtual void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double)
Definition: MESet.h:97
void throw_(std::string const &_message) const
Definition: MESet.h:149
virtual void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, double)
Definition: MESet.h:94
ConstBin(ConstBin const &_orig)
Definition: MESet.h:175
Bin const * operator->() const
Definition: MESet.h:314
iterator(EcalElectronicsMapping const *electronicsMap, MESet &_meSet, unsigned _iME=0, int _iBin=1)
Definition: MESet.h:299
virtual void setBinContent(EcalDQMSetupObjects const, DetId const &, int, double)
Definition: MESet.h:82
double getBinError() const
Definition: MESet.h:198
virtual iterator beginChannel(EcalElectronicsMapping const *electronicsMap)
Definition: MESet.h:369
std::map< std::string, std::unique_ptr< MESet >> MESetColletionType
Definition: MESet.h:381
tuple key
prepare the HTCondor submission files and eventually submit them
MESet * getMESet() const
Definition: MESet.h:265
Bin(Bin const &_orig)
Definition: MESet.h:227
virtual void setBinError(EcalDQMSetupObjects const, int, double)
Definition: MESet.h:88
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
Definition: MESet.h:74
iterator(EcalElectronicsMapping const *electronicsMap, MESet &_meSet, DetId const &_id)
Definition: MESet.h:303
virtual iterator end(EcalElectronicsMapping const *electronicsMap)
Definition: MESet.h:365
virtual void book(DQMStore::IBooker &, EcalElectronicsMapping const *)
Definition: MESet.h:57
virtual double getBinContent(EcalDQMSetupObjects const, int, int=0) const
Definition: MESet.h:102
virtual bool isVariableBinning() const
Definition: MESet.h:125
MESetColletionType::const_iterator const_iterator
Definition: MESet.h:385
bool operator!=(const_iterator const &_rhs) const
Definition: MESet.h:284
virtual void setBinError(EcalDQMSetupObjects const, DetId const &, double)
Definition: MESet.h:86
bool lumiFlag_
Definition: MESet.h:157
virtual double getBinContent(int binx) const
get content of bin (1-D)
EcalElectronicsMapping const * electronicsMap
Definition: MESet.h:34
virtual void fill(EcalDQMSetupObjects const, int, double=1., double=1., double=1.)
Definition: MESet.h:76
virtual void setBinContent(EcalDQMSetupObjects const, int, int, double)
Definition: MESet.h:84
ConstBin & operator=(ConstBin const &)
Definition: MESet.cc:329
void fill(double _w=1.)
Definition: MESet.h:235
virtual void fill_(unsigned, int, double)
Definition: MESet.cc:252
MESetColletionType _MESetColletion
Definition: MESet.h:402
MESetColletionType::iterator iterator
Definition: MESet.h:384
std::string formPath(PathReplacements const &) const
Definition: MESet.cc:153
const_iterator(const_iterator const &_orig)
Definition: MESet.h:278
const_iterator find(const std::string &key) const
Definition: MESet.h:395
virtual void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, double)
Definition: MESet.h:87
void setBatchMode()
Definition: MESet.h:133
Definition: DetId.h:17
MESet const * getMESet() const
Definition: MESet.h:217
auto end() const
Definition: MESet.h:393
virtual void fill(EcalDQMSetupObjects const, double, double=1., double=1.)
Definition: MESet.h:77
void setLumiFlag()
Definition: MESet.h:131
virtual double getBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int=0) const
Definition: MESet.h:101
MESet * meSet_
Definition: MESet.h:222
bool getBatchMode() const
Definition: MESet.h:134
ConstBin & operator=(Bin const &_rhs)
Definition: MESet.h:228
virtual void setBinEntries(int bin, double nentries)
set # of bin entries (to be used for profiles)
virtual void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double)
Definition: MESet.h:83
bool isActive() const
Definition: MESet.h:124
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual MonitorElement * getME(unsigned _iME)
Definition: MESet.h:127
bool getLumiFlag() const
Definition: MESet.h:132
EcalTrigTowerConstituentsMap const * trigtowerMap
Definition: MESet.h:35
virtual void setBinEntries(EcalDQMSetupObjects const, int, double)
Definition: MESet.h:95
virtual void setBinEntries(EcalDQMSetupObjects const, DetId const &, int, double)
Definition: MESet.h:96
Bin(MESet &_set, unsigned _iME=0, int _iBin=1)
Definition: MESet.h:226
binning::BinningType getBinType() const
Definition: MESet.h:122
virtual void resetAll(double=0., double=0., double=0.)
Definition: MESet.cc:108
double getBinContent() const
Definition: MESet.h:192
virtual double getBinEntries(int bin) const
get # of bin entries (for profiles)
const_iterator & toNextChannel(EcalElectronicsMapping const *)
Definition: MESet.cc:413
bool active_
Definition: MESet.h:161
tuple binning
Definition: pileupCalc.py:163
virtual double getBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int=0) const
Definition: MESet.h:105
virtual void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double)
Definition: MESet.h:90
const_iterator(EcalElectronicsMapping const *, MESet const &_meSet, unsigned _iME=0, int _iBin=1)
Definition: MESet.h:275
CaloTopology const * topology
Definition: MESet.h:37
ConstBin const * operator->() const
Definition: MESet.h:285
uint32_t getId() const
Definition: MESet.h:186
void setMESet(MESet const &_meSet)
Definition: MESet.h:216
CaloGeometry const * geometry
Definition: MESet.h:36
binning::ObjectType otype_
Definition: MESet.h:154
void setBinContent(double _content)
Definition: MESet.h:243
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
void setBinEntries(double _entries)
Definition: MESet.h:251
virtual double getBinEntries(EcalDQMSetupObjects const, DetId const &, int=0) const
Definition: MESet.h:108
virtual const_iterator end(EcalElectronicsMapping const *electronicsMap) const
Definition: MESet.h:354
virtual MESet & operator=(MESet const &)
Definition: MESet.cc:64
binning::BinningType btype_
Definition: MESet.h:155
virtual void reset(EcalElectronicsMapping const *, double=0., double=0., double=0.)
Definition: MESet.cc:98
void setBinError(double _error)
Definition: MESet.h:247
std::map< std::string, std::string > PathReplacements
Definition: MESet.h:46
virtual bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string *=nullptr) const
Definition: MESet.h:58
bool operator==(ConstBin const &_rhs) const
Definition: MESet.h:177
std::string path_
Definition: MESet.h:153
const_iterator & operator++()
Definition: MESet.h:315
void erase(const std::string &key)
Definition: MESet.h:390
std::vector< MonitorElement * > mes_
Definition: MESet.h:151
uint32_t idFromBin(ObjectType, BinningType, unsigned, int)