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 &, edm::EventSetup const &);
26  void analyze( const edm::Event & e, const edm::EventSetup & c ) override {}
27 
29 
31 
32  // Members for ME booking
35  const std::string & name, const std::string & title,
36  int nchX, double lowX, double highX,
37  const std::string & titleX ="", const std::string & titleY ="Events",
38  Option_t * option = "E1 P" ) ;
39 
42  const std::string & name, const std::string & title,
43  int nchX, double lowX, double highX,
44  const std::string & titleX ="", const std::string & titleY ="Events",
45  Option_t * option = "E1 P" ) ;
46 
49  const std::string & name, const std::string & title,
50  int nchX, float *xbinsize,
51  const std::string & titleX ="", const std::string & titleY ="Events",
52  Option_t * option = "E1 P" ) ;
53 
56  const std::string & name, const std::string & title,
57  int nchX, float *xbinsize,
58  const std::string & titleX ="", const std::string & titleY ="Events",
59  Option_t * option = "E1 P" ) ;
60 
63  const std::string & name, const std::string & title,
64  int nchX, double lowX, double highX,
65  int nchY, double lowY, double highY,
66  const std::string & titleX ="", const std::string & titleY ="",
67  Option_t * option = "COLZ" ) ;
68 
71  const std::string & name, const std::string & title,
72  int nchX, double lowX, double highX,
73  int nchY, double lowY, double highY,
74  const std::string & titleX ="", const std::string & titleY ="",
75  Option_t * option = "COLZ" ) ;
76 
79  const std::string & name, const std::string & title,
80  int nchX, double lowX, double highX,
81  double lowY, double highY,
82  const std::string & titleX ="", const std::string & titleY ="",
83  Option_t * option = "E1 P" ) ;
84 
87  const std::string & name, MonitorElement * num, MonitorElement * denom,
88  const std::string & titleX, const std::string & titleY,
89  const std::string & title ="" ) ;
90 
93  const std::string & name, MonitorElement * num, MonitorElement * denom,
94  const std::string & titleX, const std::string & titleY,
95  const std::string & title ="" ) ;
96 
99  MonitorElement * me2d,
100  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
101  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
102 
104  ( DQMStore::IBooker &,
105  MonitorElement * me2d,
106  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
107  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
108 
109  private:
113 };
114 
115 #endif
116 
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")