CMS 3D CMS Logo

ElectronDqmAnalyzerBase.h
Go to the documentation of this file.
1 
2 #ifndef ElectronDqmAnalyzerBase_h
3 #define ElectronDqmAnalyzerBase_h
4 
7 #include <Rtypes.h>
8 #include <string>
9 #include <vector>
10 
11 //DQM
15 
16 namespace edab {
17  struct Empty {};
18 } // namespace edab
20 protected:
21  explicit ElectronDqmAnalyzerBase(const edm::ParameterSet &conf);
22  ~ElectronDqmAnalyzerBase() override;
23 
24  // specific implementation of EDAnalyzer
25  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
26 
27  // interface to implement in derived classes
28  void analyze(const edm::Event &e, const edm::EventSetup &c) override {}
29 
30  // utility methods
31  int verbosity() { return verbosity_; }
32 
33  void setBookPrefix(const std::string &);
34  void setBookIndex(short);
35  void setBookEfficiencyFlag(const bool &);
36  void setBookStatOverflowFlag(const bool &);
37 
39  const std::string &name,
40  const std::string &title,
41  int nchX,
42  double lowX,
43  double highX,
44  const std::string &titleX = "",
45  const std::string &titleY = "Events",
46  Option_t *option = "E1 P");
47 
48  MonitorElement *bookH1withSumw2(DQMStore::IBooker &,
49  const std::string &name,
50  const std::string &title,
51  int nchX,
52  double lowX,
53  double highX,
54  const std::string &titleX = "",
55  const std::string &titleY = "Events",
56  Option_t *option = "E1 P");
57 
59  const std::string &name,
60  const std::string &title,
61  int nchX,
62  double lowX,
63  double highX,
64  int nchY,
65  double lowY,
66  double highY,
67  const std::string &titleX = "",
68  const std::string &titleY = "",
69  Option_t *option = "COLZ");
70 
71  MonitorElement *bookH2withSumw2(DQMStore::IBooker &,
72  const std::string &name,
73  const std::string &title,
74  int nchX,
75  double lowX,
76  double highX,
77  int nchY,
78  double lowY,
79  double highY,
80  const std::string &titleX = "",
81  const std::string &titleY = "",
82  Option_t *option = "COLZ");
83 
85  const std::string &name,
86  const std::string &title,
87  int nchX,
88  double lowX,
89  double highX,
90  double lowY,
91  double highY,
92  const std::string &titleX = "",
93  const std::string &titleY = "",
94  Option_t *option = "E1 P");
95 
96  MonitorElement *cloneH1(DQMStore::IBooker &iBooker,
97  const std::string &name,
99  const std::string &title = "");
100 
101  MonitorElement *cloneH1(DQMStore::IBooker &iBooker,
102  const std::string &name,
103  const std::string &original,
104  const std::string &title = "");
105 
106 private:
109  short bookIndex_;
110  bool bookEfficiencyFlag_ = false;
111  bool bookStatOverflowFlag_ = false;
113  std::vector<std::string> histoNames_;
119 
120  // utility methods
121  std::string newName(const std::string &name);
122 };
123 
124 #endif
string newName
Definition: mps_merge.py:86
void analyze(const edm::Event &e, const edm::EventSetup &c) override
std::vector< std::string > histoNames_
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
Definition: Run.h:45