CMS 3D CMS Logo

ScoutingAnalyzerBase.h
Go to the documentation of this file.
1 #ifndef ScoutingAnalyzerBase_h
2 #define ScoutingAnalyzerBase_h
3 
4 /* This class, as this whole package, was inspired by the EGamma monitoring
5  * by David Chamont. The idea is to provide a base class for all the monitoring
6  * modules implemented as plugins.
7  * The methods of the base class will spare the developer the pain of allocating
8  * all the ME, make projections and manipulations with extremely ugly copy&paste
9  * code sections
10  * */
11 class DQMStore;
12 class MonitorElement;
13 
18 
19 #include <Rtypes.h>
20 
22 protected:
23  explicit ScoutingAnalyzerBase(const edm::ParameterSet &conf);
24  ~ScoutingAnalyzerBase() override;
25  // virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &,
26  // edm::EventSetup const &);
27  void analyze(const edm::Event &e, const edm::EventSetup &c) override {}
28 
30 
32 
33  // Members for ME booking
35  const std::string &name,
36  const std::string &title,
37  int nchX,
38  double lowX,
39  double highX,
40  const std::string &titleX = "",
41  const std::string &titleY = "Events",
42  Option_t *option = "E1 P");
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  float *xbinsize,
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  float *xbinsize,
68  const std::string &titleX = "",
69  const std::string &titleY = "Events",
70  Option_t *option = "E1 P");
71 
73  const std::string &name,
74  const std::string &title,
75  int nchX,
76  double lowX,
77  double highX,
78  int nchY,
79  double lowY,
80  double highY,
81  const std::string &titleX = "",
82  const std::string &titleY = "",
83  Option_t *option = "COLZ");
84 
86  const std::string &name,
87  const std::string &title,
88  int nchX,
89  double lowX,
90  double highX,
91  int nchY,
92  double lowY,
93  double highY,
94  const std::string &titleX = "",
95  const std::string &titleY = "",
96  Option_t *option = "COLZ");
97 
99  const std::string &name,
100  const std::string &title,
101  int nchX,
102  double lowX,
103  double highX,
104  double lowY,
105  double highY,
106  const std::string &titleX = "",
107  const std::string &titleY = "",
108  Option_t *option = "E1 P");
109 
111  const std::string &name,
113  MonitorElement *denom,
114  const std::string &titleX,
115  const std::string &titleY,
116  const std::string &title = "");
117 
119  const std::string &name,
120  MonitorElement *num,
121  MonitorElement *denom,
122  const std::string &titleX,
123  const std::string &titleY,
124  const std::string &title = "");
125 
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  MonitorElement *me2d,
136  const std::string &title = "",
137  const std::string &titleX = "",
138  const std::string &titleY = "",
139  Double_t minimum = -1111,
140  Double_t maximum = -1111);
141 
142 private:
146 };
147 
148 #endif
void prepareBooking(DQMStore::IBooker &)
MonitorElement * bookH2andDivide(DQMStore::IBooker &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
MonitorElement * bookH1andDivide(DQMStore::IBooker &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
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")
std::string newName(const std::string &name)
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")
MonitorElement * profileY(DQMStore::IBooker &, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
ScoutingAnalyzerBase(const edm::ParameterSet &conf)
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")
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")
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 analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * bookH1withSumw2BinArray(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, float *xbinsize, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
MonitorElement * profileX(DQMStore::IBooker &, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
MonitorElement * bookH1BinArray(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, float *xbinsize, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")