CMS 3D CMS Logo

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