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 
16 
17 #include <Rtypes.h>
18 
20 protected:
21  explicit ScoutingAnalyzerBase(const edm::ParameterSet &conf);
22  ~ScoutingAnalyzerBase() override;
23  // virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &,
24  // edm::EventSetup const &);
25  void analyze(const edm::Event &e, const edm::EventSetup &c) override {}
26 
28 
30 
31  // Members for ME booking
33  const std::string &name,
34  const std::string &title,
35  int nchX,
36  double lowX,
37  double highX,
38  const std::string &titleX = "",
39  const std::string &titleY = "Events",
40  Option_t *option = "E1 P");
41 
43  const std::string &name,
44  const std::string &title,
45  int nchX,
46  double lowX,
47  double highX,
48  const std::string &titleX = "",
49  const std::string &titleY = "Events",
50  Option_t *option = "E1 P");
51 
53  const std::string &name,
54  const std::string &title,
55  int nchX,
56  float *xbinsize,
57  const std::string &titleX = "",
58  const std::string &titleY = "Events",
59  Option_t *option = "E1 P");
60 
62  const std::string &name,
63  const std::string &title,
64  int nchX,
65  float *xbinsize,
66  const std::string &titleX = "",
67  const std::string &titleY = "Events",
68  Option_t *option = "E1 P");
69 
71  const std::string &name,
72  const std::string &title,
73  int nchX,
74  double lowX,
75  double highX,
76  int nchY,
77  double lowY,
78  double highY,
79  const std::string &titleX = "",
80  const std::string &titleY = "",
81  Option_t *option = "COLZ");
82 
84  const std::string &name,
85  const std::string &title,
86  int nchX,
87  double lowX,
88  double highX,
89  int nchY,
90  double lowY,
91  double highY,
92  const std::string &titleX = "",
93  const std::string &titleY = "",
94  Option_t *option = "COLZ");
95 
97  const std::string &name,
98  const std::string &title,
99  int nchX,
100  double lowX,
101  double highX,
102  double lowY,
103  double highY,
104  const std::string &titleX = "",
105  const std::string &titleY = "",
106  Option_t *option = "E1 P");
107 
109  const std::string &name,
112  const std::string &titleX,
113  const std::string &titleY,
114  const std::string &title = "");
115 
117  const std::string &name,
120  const std::string &titleX,
121  const std::string &titleY,
122  const std::string &title = "");
123 
125  MonitorElement *me2d,
126  const std::string &title = "",
127  const std::string &titleX = "",
128  const std::string &titleY = "",
129  Double_t minimum = -1111,
130  Double_t maximum = -1111);
131 
133  MonitorElement *me2d,
134  const std::string &title = "",
135  const std::string &titleX = "",
136  const std::string &titleY = "",
137  Double_t minimum = -1111,
138  Double_t maximum = -1111);
139 
140 private:
144 };
145 
146 #endif
MonitorElement * bookH2andDivide(DQMStore::IBooker &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
void prepareBooking(DQMStore::IBooker &)
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 * 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 * 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")
std::string newName(const std::string &name)
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")
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")
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 * bookH1andDivide(DQMStore::IBooker &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
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")
void analyze(const edm::Event &e, const edm::EventSetup &c) override
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 * 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")