CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  */
11 
18 
19 #include <vector>
20 #include <string>
21 
22 namespace hcaldqm
23 {
24 
25  using namespace axis;
26  using namespace mapper;
27  class Container1D : public Container
28  {
29  public:
30  Container1D();
31  // Initialize Container
32  // @folder - folder name where to save. Should already include the
33  // Tasks's name
34  // @nametitle - namebase of the name and of the title
35  //
36  Container1D(std::string const& folder, std::string const& nametitle,
37  mapper::MapperType mt, axis::Axis* xaxis,
38  axis::Axis* yaxis = new ValueAxis(fYaxis, fEntries));
39  virtual ~Container1D();
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,
47  std::string const& nametitle,
48  mapper::MapperType mt, axis::Axis* xaxis,
49  axis::Axis* yaxis = new ValueAxis(fYaxis, fEntries),
50  int debug=0);
51 
52  // just to have here
53  virtual void fill(double ) {}
54  virtual void fill(int) {}
55  // using int as mapper or double
56  virtual void fill(int, int);
57  virtual void fill(int, double);
58  virtual void fill(int, int, double);
59  virtual void fill(int, double, double);
60  virtual void fill(int, int, int, double);
61  virtual void fill(int, int, double, double);
62  virtual void fill(int, double, double, double);
63 
64  // using DetId as mapper
65  virtual void fill(HcalDetId const&);
66  virtual void fill(HcalDetId const&, int);
67  virtual void fill(HcalDetId const&, double);
68  virtual void fill(HcalDetId const&, int, double);
69  virtual void fill(HcalDetId const&, int, int);
70  virtual void fill(HcalDetId const&, double, double);
71 
72  // using ElectronicsId as mapper
73  virtual void fill(HcalElectronicsId const&);
74  virtual void fill(HcalElectronicsId const&, int);
75  virtual void fill(HcalElectronicsId const&, double);
76  virtual void fill(HcalElectronicsId const&, int, double);
77  virtual void fill(HcalElectronicsId const&, double, double);
78 
79  virtual void fill(HcalTrigTowerDetId const&);
80  virtual void fill(HcalTrigTowerDetId const&, int);
81  virtual void fill(HcalTrigTowerDetId const&, double);
82  virtual void fill(HcalTrigTowerDetId const&, int, int);
83  virtual void fill(HcalTrigTowerDetId const&, int, double);
84 
85  virtual double getBinContent(unsigned int, int);
86 
87  // getters
88  // get the MonitorElement
89  // @i is the index within the container
90  virtual MonitorElement* at(unsigned int i);
91  virtual MonitorElement* at(HcalDetId const&);
92  virtual MonitorElement* at(HcalElectronicsId const&);
93  virtual MonitorElement* at(HcalTrigTowerDetId const&);
94 
95  // get the Size of Container
96  virtual inline unsigned int size() {return _mes.size();}
97 
98  // booking
99  // @aux - typically a cut or anything else
100  // @subsystem - subsystem under which to save
101  //
102  virtual void book(DQMStore::IBooker&, std::string subsystem="Hcal",
103  std::string aux="");
104  virtual void reset();
105 
106  protected:
107  typedef std::vector<MonitorElement*> MEVector;
112 
113  };
114 }
115 
116 #endif
117 
118 
119 
120 
121 
122 
123 
124 
static AlgebraicMatrix initialize()
int i
Definition: DBlmapReader.cc:9
string fill
Definition: lumiContext.py:319
mapper::Mapper _mapper
Definition: Container1D.h:109
virtual void fill(int)
Definition: Container1D.h:54
std::vector< MonitorElement * > MEVector
Definition: Container1D.h:107
virtual void fill(double)
Definition: Container1D.h:53
virtual unsigned int size()
Definition: Container1D.h:96
#define debug
Definition: HDRShower.cc:19
axis::Axis * _xaxis
Definition: Container1D.h:110
axis::Axis * _yaxis
Definition: Container1D.h:111
void reset(double vett[256])
Definition: TPedValues.cc:11
Readout chain identification for Hcal.