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  void endLuminosityBlock( edm::LuminosityBlock const &, edm::EventSetup const & ) override {}
28 
30 
32 
33  // Members for ME booking
36  const std::string & name, const std::string & title,
37  int nchX, double lowX, double highX,
38  const std::string & titleX ="", const std::string & titleY ="Events",
39  Option_t * option = "E1 P" ) ;
40 
43  const std::string & name, const std::string & title,
44  int nchX, double lowX, double highX,
45  const std::string & titleX ="", const std::string & titleY ="Events",
46  Option_t * option = "E1 P" ) ;
47 
50  const std::string & name, const std::string & title,
51  int nchX, float *xbinsize,
52  const std::string & titleX ="", const std::string & titleY ="Events",
53  Option_t * option = "E1 P" ) ;
54 
57  const std::string & name, const std::string & title,
58  int nchX, float *xbinsize,
59  const std::string & titleX ="", const std::string & titleY ="Events",
60  Option_t * option = "E1 P" ) ;
61 
64  const std::string & name, const std::string & title,
65  int nchX, double lowX, double highX,
66  int nchY, double lowY, double highY,
67  const std::string & titleX ="", const std::string & titleY ="",
68  Option_t * option = "COLZ" ) ;
69 
72  const std::string & name, const std::string & title,
73  int nchX, double lowX, double highX,
74  int nchY, double lowY, double highY,
75  const std::string & titleX ="", const std::string & titleY ="",
76  Option_t * option = "COLZ" ) ;
77 
80  const std::string & name, const std::string & title,
81  int nchX, double lowX, double highX,
82  double lowY, double highY,
83  const std::string & titleX ="", const std::string & titleY ="",
84  Option_t * option = "E1 P" ) ;
85 
88  const std::string & name, MonitorElement * num, MonitorElement * denom,
89  const std::string & titleX, const std::string & titleY,
90  const std::string & title ="" ) ;
91 
94  const std::string & name, MonitorElement * num, MonitorElement * denom,
95  const std::string & titleX, const std::string & titleY,
96  const std::string & title ="" ) ;
97 
100  MonitorElement * me2d,
101  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
102  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
103 
105  ( DQMStore::IBooker &,
106  MonitorElement * me2d,
107  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
108  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
109 
110  private:
114 };
115 
116 #endif
117 
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")
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
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")