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