CMS 3D CMS Logo

ElectronDqmHarvesterBase.h
Go to the documentation of this file.
1 
2 #ifndef ElectronDqmHarvesterBase_h
3 #define ElectronDqmHarvesterBase_h
4 
6 #include <Rtypes.h>
7 #include <string>
8 #include <vector>
9 
10 //DQM
14 
16 protected:
17  explicit ElectronDqmHarvesterBase(const edm::ParameterSet &conf);
18  ~ElectronDqmHarvesterBase() override;
19 
20  // specific implementation of EDAnalyzer
21  void beginJob() override; // prepare DQM, open input field if declared, and call book() below
24  edm::LuminosityBlock const &,
25  edm::EventSetup const &) override; //performed in the endLumi
26  void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override; //performed in the endJob
27 
28  // interface to implement in derived classes
29  virtual void finalize(DQMStore::IBooker &iBooker,
30  DQMStore::IGetter &iGetter){}; // override ;, const edm::Event& e, const edm::EventSetup & c
31 
32  // utility methods
33  bool finalStepDone() { return finalDone_; }
34  int verbosity() { return verbosity_; }
35  MonitorElement *get(DQMStore::IGetter &iGetter, const std::string &name);
36  void remove(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, const std::string &name);
37 
38  void setBookPrefix(const std::string &);
39  void setBookIndex(short);
40  void setBookEfficiencyFlag(const bool &);
41  void setBookStatOverflowFlag(const bool &);
42 
44  const std::string &name,
45  const std::string &title,
46  int nchX,
47  double lowX,
48  double highX,
49  const std::string &titleX = "",
50  const std::string &titleY = "Events",
51  Option_t *option = "E1 P");
52 
54  const std::string &name,
55  const std::string &title,
56  int nchX,
57  double lowX,
58  double highX,
59  const std::string &titleX = "",
60  const std::string &titleY = "Events",
61  Option_t *option = "E1 P");
62 
64  const std::string &name,
65  const std::string &title,
66  int nchX,
67  double lowX,
68  double highX,
69  int nchY,
70  double lowY,
71  double highY,
72  const std::string &titleX = "",
73  const std::string &titleY = "",
74  Option_t *option = "COLZ");
75 
77  const std::string &name,
78  const std::string &title,
79  int nchX,
80  double lowX,
81  double highX,
82  int nchY,
83  double lowY,
84  double highY,
85  const std::string &titleX = "",
86  const std::string &titleY = "",
87  Option_t *option = "COLZ");
88 
90  const std::string &name,
91  const std::string &title,
92  int nchX,
93  double lowX,
94  double highX,
95  double lowY,
96  double highY,
97  const std::string &titleX = "",
98  const std::string &titleY = "",
99  Option_t *option = "E1 P");
100 
103  const std::string &name,
106  const std::string &titleX,
107  const std::string &titleY,
108  const std::string &title = "");
109 
112  const std::string &name,
115  const std::string &titleX,
116  const std::string &titleY,
117  const std::string &title = "");
118 
121  const std::string &name,
123  const std::string &title = "");
124 
126  DQMStore::IGetter &iGetter,
127  MonitorElement *me2d,
128  const std::string &title = "",
129  const std::string &titleX = "",
130  const std::string &titleY = "",
131  Double_t minimum = -1111,
132  Double_t maximum = -1111);
133 
135  DQMStore::IGetter &iGetter,
136  MonitorElement *me2d,
137  const std::string &title = "",
138  const std::string &titleX = "",
139  const std::string &titleY = "",
140  Double_t minimum = -1111,
141  Double_t maximum = -1111);
142 
144  DQMStore::IGetter &iGetter,
145  const std::string &name,
146  const std::string &num,
147  const std::string &denom,
148  const std::string &titleX,
149  const std::string &titleY,
150  const std::string &title = "");
151 
154  const std::string &name,
155  const std::string &num,
156  const std::string &denom,
157  const std::string &titleX,
158  const std::string &titleY,
159  const std::string &title = "");
160 
163  const std::string &name,
164  const std::string &original,
165  const std::string &title = "");
166 
168  DQMStore::IGetter &iGetter,
169  const std::string &me2d,
170  const std::string &title = "",
171  const std::string &titleX = "",
172  const std::string &titleY = "",
173  Double_t minimum = -1111,
174  Double_t maximum = -1111);
175 
177  DQMStore::IGetter &iGetter,
178  const std::string &me2d,
179  const std::string &title = "",
180  const std::string &titleX = "",
181  const std::string &titleY = "",
182  Double_t minimum = -1111,
183  Double_t maximum = -1111);
184 
185 private:
188  short bookIndex_;
189  bool bookEfficiencyFlag_ = false;
190  bool bookStatOverflowFlag_ = false;
192  std::vector<std::string> histoNames_;
199 
200  // utility methods
202  const std::string *find(DQMStore::IGetter &iGetter, const std::string &name);
203 };
204 
205 #endif
MonitorElement * profileX(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
MonitorElement * bookH1withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
MonitorElement * bookH2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
const std::string * find(DQMStore::IGetter &iGetter, const std::string &name)
MonitorElement * bookH1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
void setBookPrefix(const std::string &)
MonitorElement * bookH2andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
MonitorElement * bookH1andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
MonitorElement * profileY(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
MonitorElement * bookH2withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
void setBookStatOverflowFlag(const bool &)
void setBookEfficiencyFlag(const bool &)
MonitorElement * cloneH1(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *original, const std::string &title="")
std::vector< std::string > histoNames_
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
MonitorElement * bookP1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="E1 P")
std::string newName(const std::string &name)
ElectronDqmHarvesterBase(const edm::ParameterSet &conf)
virtual void finalize(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override