CMS 3D CMS Logo

Container1D.h
Go to the documentation of this file.
1 #ifndef Container1D_h
2 #define Container1D_h
3 
4 /*
5  * file: Container1D.h
6  * Author: Viktor Khristenko
7  *
8  * Description:
9  * 1D Container
10  */
19 
20 #include <vector>
21 #include "boost/unordered_map.hpp"
22 #include "boost/foreach.hpp"
23 #include <string>
24 
25 namespace hcaldqm
26 {
27  class Container1D : public Container
28  {
29  public:
30  Container1D();
31  // Initialize Container
32  // @folder - folder name where to start saving - root.
33  // By default it will be the Task's name.
34  //
39  ~Container1D() override;
40 
41  // Initialize Container
42  // @folder - folder name where to save. Should already include the
43  // Tasks's name
44  // @nametitle - namebase of the name and of the title
45  //
46  virtual void initialize(std::string const& folder,
49  int debug=0);
50 
51  // @qname - to replace the QyvsQx naming
52  virtual void initialize(std::string const& folder,
53  std::string const &qname,
56  int debug=0);
58 
59  // filling by hash
60  virtual void fill(uint32_t);
61  virtual void fill(uint32_t, int);
62  virtual void fill(uint32_t, double);
63  virtual void fill(uint32_t, int, double);
64  virtual void fill(uint32_t, int, int);
65  virtual void fill(uint32_t, double, double);
66 
67  // using DetId as mapper
68  virtual void fill(HcalDetId const&);
69  virtual void fill(HcalDetId const&, int);
70  virtual void fill(HcalDetId const&, double);
71  virtual void fill(HcalDetId const&, int, double);
72  virtual void fill(HcalDetId const&, int, int);
73  virtual void fill(HcalDetId const&, double, double);
74 
75  virtual double getBinEntries(HcalDetId const&);
76  virtual double getBinEntries(HcalDetId const&, int);
77  virtual double getBinEntries(HcalDetId const&, double);
78  virtual double getBinEntries(HcalDetId const& did, int x, int)
79  {return getBinEntries(did, x);}
80  virtual double getBinEntries(HcalDetId const& did, int x, double)
81  {return getBinEntries(did, x);}
82  virtual double getBinEntries(HcalDetId const& did, double x, double)
83  {return getBinEntries(did, x);}
84 
85  virtual double getBinContent(HcalDetId const&);
86  virtual double getBinContent(HcalDetId const&, int);
87  virtual double getBinContent(HcalDetId const&, double);
88  virtual double getBinContent(HcalDetId const& did, int x, int)
89  {return getBinContent(did, x);}
90  virtual double getBinContent(HcalDetId const& did, int x, double)
91  {return getBinContent(did, x);}
92  virtual double getBinContent(HcalDetId const& did, double x, double)
93  {return getBinContent(did, x);}
94  virtual double getMean(HcalDetId const&, int axis=1);
95  virtual double getRMS(HcalDetId const&, int axix=1);
96 
97  virtual void setBinContent(HcalDetId const&, int);
98  virtual void setBinContent(HcalDetId const&, double);
99  virtual void setBinContent(HcalDetId const&, int, int);
100  virtual void setBinContent(HcalDetId const&, int, double);
101  virtual void setBinContent(HcalDetId const&, double, double);
102  virtual void setBinContent(HcalDetId const&, double, int);
103  virtual void setBinContent(HcalDetId const& id, int x, int y, int)
104  {setBinContent(id, x, y);}
105  virtual void setBinContent(HcalDetId const& id, int x, double y,
106  int)
107  {setBinContent(id, x, y);}
108  virtual void setBinContent(HcalDetId const& id, double x, int y,
109  int)
110  {setBinContent(id, x, y);}
111  virtual void setBinContent(HcalDetId const& id, double x, double y,
112  int)
113  {setBinContent(id, x, y);}
114  virtual void setBinContent(HcalDetId const& id, int x, int y,
115  double)
116  {setBinContent(id, x, y);}
117  virtual void setBinContent(HcalDetId const& id, int x, double y,
118  double)
119  {setBinContent(id, x, y);}
120  virtual void setBinContent(HcalDetId const& id, double x, int y,
121  double)
122  {setBinContent(id, x, y);}
123  virtual void setBinContent(HcalDetId const& id, double x, double y,
124  double)
125  {setBinContent(id, x, y);}
126 
127  // using ElectronicsId
128  virtual void fill(HcalElectronicsId const&);
129  virtual void fill(HcalElectronicsId const&, int);
130  virtual void fill(HcalElectronicsId const&, double);
131  virtual void fill(HcalElectronicsId const&, int, double);
132  virtual void fill(HcalElectronicsId const&, int, int);
133  virtual void fill(HcalElectronicsId const&, double, double);
134 
135  virtual double getBinEntries(HcalElectronicsId const&);
136  virtual double getBinEntries(HcalElectronicsId const&, int);
137  virtual double getBinEntries(HcalElectronicsId const&, double);
138  virtual double getBinEntries(HcalElectronicsId const& eid, int x,
139  int)
140  {return getBinEntries(eid, x);}
141  virtual double getBinEntries(HcalElectronicsId const& eid, int x,
142  double)
143  {return getBinEntries(eid, x);}
144  virtual double getBinEntries(HcalElectronicsId const& eid,
145  double x, double)
146  {return getBinEntries(eid, x);}
147 
148  virtual double getBinContent(HcalElectronicsId const&);
149  virtual double getBinContent(HcalElectronicsId const&, int);
150  virtual double getBinContent(HcalElectronicsId const&, double);
151  virtual double getBinContent(HcalElectronicsId const& eid,
152  int x, int)
153  {return getBinContent(eid, x);}
154  virtual double getBinContent(HcalElectronicsId const& eid,
155  int x, double)
156  {return getBinContent(eid, x);}
157  virtual double getBinContent(HcalElectronicsId const& eid,
158  double x, double)
159  {return getBinContent(eid, x);}
160  virtual double getMean(HcalElectronicsId const&, int axis=1);
161  virtual double getRMS(HcalElectronicsId const&, int axis=1);
162 
163  virtual void setBinContent(HcalElectronicsId const&, int);
164  virtual void setBinContent(HcalElectronicsId const&, double);
165  virtual void setBinContent(HcalElectronicsId const&, int, int);
166  virtual void setBinContent(HcalElectronicsId const&, int, double);
167  virtual void setBinContent(HcalElectronicsId const&, double, double);
168  virtual void setBinContent(HcalElectronicsId const&, double, int);
169  virtual void setBinContent(HcalElectronicsId const& id, int x, int y
170  , int)
171  {setBinContent(id, x, y);}
172  virtual void setBinContent(HcalElectronicsId const& id, int x,
173  double y, int)
174  {setBinContent(id, x, y);}
175  virtual void setBinContent(HcalElectronicsId const& id, double x,
176  int y, int)
177  {setBinContent(id, x, y);}
178  virtual void setBinContent(HcalElectronicsId const& id, double x,
179  double y, int)
180  {setBinContent(id, x, y);}
181  virtual void setBinContent(HcalElectronicsId const& id, int x,
182  int y, double)
183  {setBinContent(id, x, y);}
184  virtual void setBinContent(HcalElectronicsId const& id, int x,
185  double y, double)
186  {setBinContent(id, x, y);}
187  virtual void setBinContent(HcalElectronicsId const& id, double x,
188  int y, double)
189  {setBinContent(id, x, y);}
190  virtual void setBinContent(HcalElectronicsId const& id, double x,
191  double y, double)
192  {setBinContent(id, x, y);}
193 
194  // using DetId as mapper
195  virtual void fill(HcalTrigTowerDetId const&);
196  virtual void fill(HcalTrigTowerDetId const&, int);
197  virtual void fill(HcalTrigTowerDetId const&, double);
198  virtual void fill(HcalTrigTowerDetId const&, int, double);
199  virtual void fill(HcalTrigTowerDetId const&, int, int);
200  virtual void fill(HcalTrigTowerDetId const&, double, double);
201 
202  virtual double getBinEntries(HcalTrigTowerDetId const&);
203  virtual double getBinEntries(HcalTrigTowerDetId const&, int);
204  virtual double getBinEntries(HcalTrigTowerDetId const&, double);
205  virtual double getBinEntries(HcalTrigTowerDetId const& tid, int x,
206  int)
207  {return getBinEntries(tid, x);}
208  virtual double getBinEntries(HcalTrigTowerDetId const& tid, int x,
209  double)
210  {return getBinEntries(tid, x);}
211  virtual double getBinEntries(HcalTrigTowerDetId const& tid,
212  double x, double)
213  {return getBinEntries(tid, x);}
214 
215  virtual double getBinContent(HcalTrigTowerDetId const&);
216  virtual double getBinContent(HcalTrigTowerDetId const&, int);
217  virtual double getBinContent(HcalTrigTowerDetId const&, double);
218  virtual double getBinContent(HcalTrigTowerDetId const& tid,
219  int x, int)
220  {return getBinContent(tid, x);}
221  virtual double getBinContent(HcalTrigTowerDetId const& tid,
222  int x, double)
223  {return getBinContent(tid, x);}
224  virtual double getBinContent(HcalTrigTowerDetId const& tid,
225  double x, double)
226  {return getBinContent(tid, x);}
227  virtual double getMean(HcalTrigTowerDetId const&, int axis=1);
228  virtual double getRMS(HcalTrigTowerDetId const&, int axis=1);
229 
230  virtual void setBinContent(HcalTrigTowerDetId const&, int);
231  virtual void setBinContent(HcalTrigTowerDetId const&, double);
232  virtual void setBinContent(HcalTrigTowerDetId const&, int, int);
233  virtual void setBinContent(HcalTrigTowerDetId const&, int, double);
234  virtual void setBinContent(HcalTrigTowerDetId const&, double,
235  double);
236  virtual void setBinContent(HcalTrigTowerDetId const&, double, int);
237  virtual void setBinContent(HcalTrigTowerDetId const& id, int x,
238  int y, int)
239  {setBinContent(id, x, y);}
240  virtual void setBinContent(HcalTrigTowerDetId const& id, int x,
241  double y, int)
242  {setBinContent(id, x, y);}
243  virtual void setBinContent(HcalTrigTowerDetId const& id, double x,
244  int y, int)
245  {setBinContent(id, x, y);}
246  virtual void setBinContent(HcalTrigTowerDetId const& id, double x,
247  double y, int)
248  {setBinContent(id, x, y);}
249  virtual void setBinContent(HcalTrigTowerDetId const& id, int x,
250  int y, double)
251  {setBinContent(id, x, y);}
252  virtual void setBinContent(HcalTrigTowerDetId const& id, int x,
253  double y, double)
254  {setBinContent(id, x, y);}
255  virtual void setBinContent(HcalTrigTowerDetId const& id, double x,
256  int y, double)
257  {setBinContent(id, x, y);}
258  virtual void setBinContent(HcalTrigTowerDetId const& id, double x,
259  double y, double)
260  {setBinContent(id, x, y);}
261 
262  // booking using IBooker
263  // @aux - typically a cut or anything else
264  // @subsystem - subsystem under which to save
265  //
266  virtual void book(DQMStore::IBooker&, HcalElectronicsMap const*,
267  std::string subsystem="Hcal",
268  std::string aux="");
269  virtual void book(DQMStore::IBooker&, HcalElectronicsMap const*,
270  filter::HashFilter const&, std::string subsystem="Hcal",
271  std::string aux="");
272 
273  // loading using DQMStore
274  // @DQMStore
275  // @emap
276  // @prepend - name to prepend to /<subsystem> - used when load
277  // a file to DQMStore without stripping and in case a name is
278  // appended
279  // @mode - if StripRunDirs - then there will be no Run Summary
280  // otherwise there is Run Summary folde. Used for retrieving
281  // MEs which were loaded into the DQM store from a file
282  virtual void load(DQMStore::IGetter&, HcalElectronicsMap const*,
283  std::string const& subsystem="Hcal",
284  std::string const& aux="");
285  virtual void load(DQMStore::IGetter&, HcalElectronicsMap const*,
286  filter::HashFilter const&,
287  std::string const& subsystem="Hcal",
288  std::string const& aux="");
289 
290  // reset all the elements
291  virtual void reset();
292 
293  // print all the elements
294  virtual void print();
295 
296  // TO BE USED IN THE FUTURE!
297  virtual void extendAxisRange(int);
298 
299  // set lumi flags for all mes
300  virtual void setLumiFlag();
301 
302  virtual void showOverflowX(bool showOverflow);
303  virtual void showOverflowY(bool showOverflow);
304 
305  protected:
306  virtual void customize(MonitorElement*);
307 
308  typedef boost::unordered_map<uint32_t, MonitorElement*> MEMap;
309  MEMap _mes;
313  };
314 }
315 
316 #endif
virtual double getBinEntries(HcalTrigTowerDetId const &tid, int x, int)
Definition: Container1D.h:205
virtual double getBinEntries(HcalElectronicsId const &eid, int x, double)
Definition: Container1D.h:141
virtual double getBinEntries(HcalElectronicsId const &eid, double x, double)
Definition: Container1D.h:144
virtual void setBinContent(HcalElectronicsId const &id, double x, double y, int)
Definition: Container1D.h:178
virtual void customize(MonitorElement *)
Definition: Container1D.cc:962
virtual void initialize(std::string const &folder, std::string const &qname, int debug=0)
Definition: Container.h:33
virtual void initialize(std::string const &folder, hashfunctions::HashType, quantity::Quantity *, quantity::Quantity *qy=new quantity::ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
virtual double getBinEntries(HcalTrigTowerDetId const &tid, int x, double)
Definition: Container1D.h:208
virtual double getRMS(HcalDetId const &, int axix=1)
Definition: Container1D.cc:237
virtual void setBinContent(HcalElectronicsId const &id, int x, double y, double)
Definition: Container1D.h:184
virtual void setBinContent(HcalElectronicsId const &id, double x, int y, int)
Definition: Container1D.h:175
virtual double getBinEntries(HcalDetId const &did, double x, double)
Definition: Container1D.h:82
virtual void setBinContent(HcalElectronicsId const &id, double x, double y, double)
Definition: Container1D.h:190
virtual void setBinContent(HcalTrigTowerDetId const &id, int x, int y, double)
Definition: Container1D.h:249
virtual double getBinContent(HcalDetId const &did, double x, double)
Definition: Container1D.h:92
virtual void setBinContent(HcalTrigTowerDetId const &id, double x, double y, int)
Definition: Container1D.h:246
virtual double getBinContent(HcalElectronicsId const &eid, int x, int)
Definition: Container1D.h:151
virtual void setBinContent(HcalTrigTowerDetId const &id, double x, double y, double)
Definition: Container1D.h:258
virtual double getBinContent(HcalTrigTowerDetId const &tid, int x, double)
Definition: Container1D.h:221
virtual void setBinContent(HcalElectronicsId const &id, int x, double y, int)
Definition: Container1D.h:172
virtual void setBinContent(HcalTrigTowerDetId const &id, double x, int y, double)
Definition: Container1D.h:255
virtual double getBinEntries(HcalElectronicsId const &eid, int x, int)
Definition: Container1D.h:138
virtual void setBinContent(HcalTrigTowerDetId const &id, int x, double y, int)
Definition: Container1D.h:240
virtual void setBinContent(HcalTrigTowerDetId const &id, double x, int y, int)
Definition: Container1D.h:243
~Container1D() override
Definition: Container1D.cc:22
virtual void setBinContent(HcalDetId const &id, double x, int y, int)
Definition: Container1D.h:108
virtual void setBinContent(HcalDetId const &id, int x, double y, int)
Definition: Container1D.h:105
virtual void fill(uint32_t)
Definition: Container1D.cc:82
virtual void reset()
Definition: Container1D.cc:65
quantity::Quantity * _qx
Definition: Container1D.h:311
virtual double getBinContent(HcalElectronicsId const &eid, double x, double)
Definition: Container1D.h:157
virtual void setBinContent(HcalDetId const &id, int x, double y, double)
Definition: Container1D.h:117
virtual double getBinEntries(HcalTrigTowerDetId const &tid, double x, double)
Definition: Container1D.h:211
virtual void showOverflowX(bool showOverflow)
virtual void setBinContent(HcalDetId const &id, int x, int y, double)
Definition: Container1D.h:114
virtual void setBinContent(HcalElectronicsId const &id, int x, int y, double)
Definition: Container1D.h:181
virtual void showOverflowY(bool showOverflow)
virtual void setBinContent(HcalElectronicsId const &id, int x, int y, int)
Definition: Container1D.h:169
virtual double getMean(HcalDetId const &, int axis=1)
Definition: Container1D.cc:232
virtual double getBinEntries(HcalDetId const &did, int x, int)
Definition: Container1D.h:78
virtual double getBinContent(HcalTrigTowerDetId const &tid, int x, int)
Definition: Container1D.h:218
virtual void setBinContent(HcalTrigTowerDetId const &id, int x, double y, double)
Definition: Container1D.h:252
virtual void setBinContent(HcalDetId const &id, double x, double y, int)
Definition: Container1D.h:111
virtual double getBinContent(HcalElectronicsId const &eid, int x, double)
Definition: Container1D.h:154
virtual void setBinContent(HcalElectronicsId const &id, double x, int y, double)
Definition: Container1D.h:187
#define debug
Definition: HDRShower.cc:19
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:777
virtual void setBinContent(HcalDetId const &, int)
Definition: Container1D.cc:243
mapper::HashMapper _hashmap
Definition: Container1D.h:310
virtual void print()
Definition: Container1D.cc:73
boost::unordered_map< uint32_t, MonitorElement * > MEMap
Definition: Container1D.h:308
virtual void setBinContent(HcalDetId const &id, double x, double y, double)
Definition: Container1D.h:123
virtual double getBinContent(HcalTrigTowerDetId const &tid, double x, double)
Definition: Container1D.h:224
virtual double getBinEntries(HcalDetId const &did, int x, double)
Definition: Container1D.h:80
virtual void setLumiFlag()
Definition: Container1D.cc:998
virtual double getBinContent(HcalDetId const &)
Definition: Container1D.cc:214
virtual void setBinContent(HcalDetId const &id, double x, int y, double)
Definition: Container1D.h:120
virtual void setBinContent(HcalDetId const &id, int x, int y, int)
Definition: Container1D.h:103
virtual void load(DQMStore::IGetter &, HcalElectronicsMap const *, std::string const &subsystem="Hcal", std::string const &aux="")
Definition: Container1D.cc:597
virtual double getBinContent(HcalDetId const &did, int x, int)
Definition: Container1D.h:88
virtual void setBinContent(HcalTrigTowerDetId const &id, int x, int y, int)
Definition: Container1D.h:237
virtual double getBinEntries(HcalDetId const &)
Definition: Container1D.cc:197
quantity::Quantity * _qy
Definition: Container1D.h:312
virtual double getBinContent(HcalDetId const &did, int x, double)
Definition: Container1D.h:90
Readout chain identification for Hcal.
virtual void extendAxisRange(int)
Definition: Container1D.cc:980