CMS 3D CMS Logo

ElectronDqmHarvesterBase.h
Go to the documentation of this file.
1 
2 #ifndef ElectronDqmHarvesterBase_h
3 #define ElectronDqmHarvesterBase_h
4 
5 class DQMStore ;
6 class MonitorElement ;
7 
10 #include <Rtypes.h>
11 #include <string>
12 #include <vector>
13 
14 //DQM
18 
20  {
21 
22  protected:
23 
24  explicit ElectronDqmHarvesterBase( const edm::ParameterSet & conf ) ;
25  ~ElectronDqmHarvesterBase() override ;
26 
27  // specific implementation of EDAnalyzer
28  void beginJob() override ; // prepare DQM, open input field if declared, and call book() below
29  void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const&) override; //performed in the endLumi
30  void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override; //performed in the endJob
31 
32  // interface to implement in derived classes
33  virtual void finalize( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter ) {} ; // override ;, const edm::Event& e, const edm::EventSetup & c
34 
35  // utility methods
36  bool finalStepDone() { return finalDone_ ; }
37  int verbosity() { return verbosity_ ; }
38  MonitorElement * get( DQMStore::IGetter & iGetter, const std::string & name ) ;
39  void remove( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter, const std::string & name ) ;
40 
41  void setBookPrefix( const std::string & ) ;
42  void setBookIndex( short ) ;
43  void setBookEfficiencyFlag( const bool & ) ;
44  void setBookStatOverflowFlag ( const bool & ) ;
45 
47  ( DQMStore::IBooker & , const std::string & name, const std::string & title,
48  int nchX, double lowX, double highX,
49  const std::string & titleX ="", const std::string & titleY ="Events",
50  Option_t * option = "E1 P" ) ;
51 
53  ( DQMStore::IBooker & , const std::string & name, const std::string & title,
54  int nchX, double lowX, double highX,
55  const std::string & titleX ="", const std::string & titleY ="Events",
56  Option_t * option = "E1 P" ) ;
57 
59  ( DQMStore::IBooker & , const std::string & name, const std::string & title,
60  int nchX, double lowX, double highX,
61  int nchY, double lowY, double highY,
62  const std::string & titleX ="", const std::string & titleY ="",
63  Option_t * option = "COLZ" ) ;
64 
66  ( DQMStore::IBooker & , const std::string & name, const std::string & title,
67  int nchX, double lowX, double highX,
68  int nchY, double lowY, double highY,
69  const std::string & titleX ="", const std::string & titleY ="",
70  Option_t * option = "COLZ" ) ;
71 
73  ( DQMStore::IBooker & , const std::string & name, const std::string & title,
74  int nchX, double lowX, double highX,
75  double lowY, double highY,
76  const std::string & titleX ="", const std::string & titleY ="",
77  Option_t * option = "E1 P" ) ;
78 
80  ( DQMStore::IBooker & iBooker, DQMStore::IGetter &,
81  const std::string & name, MonitorElement * num, MonitorElement * denom,
82  const std::string & titleX, const std::string & titleY,
83  const std::string & title ="" ) ;
84 
86  ( DQMStore::IBooker & iBooker, DQMStore::IGetter &,
87  const std::string & name, MonitorElement * num, MonitorElement * denom,
88  const std::string & titleX, const std::string & titleY,
89  const std::string & title ="" ) ;
90 
92  ( DQMStore::IBooker & iBooker, DQMStore::IGetter &,
93  const std::string & name, MonitorElement * original,
94  const std::string & title ="" ) ;
95 
97  ( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter, MonitorElement * me2d,
98  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
99  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
100 
102  ( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter, MonitorElement * me2d,
103  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
104  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
105 
107  ( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter,
108  const std::string & name, const std::string & num, const std::string & denom,
109  const std::string & titleX, const std::string & titleY,
110  const std::string & title ="" ) ;
111 
113  ( DQMStore::IBooker & iBooker, DQMStore::IGetter &,
114  const std::string & name, const std::string & num, const std::string & denom,
115  const std::string & titleX, const std::string & titleY,
116  const std::string & title ="" ) ;
117 
119  ( DQMStore::IBooker & iBooker, DQMStore::IGetter &,
120  const std::string & name, const std::string & original,
121  const std::string & title ="" ) ;
122 
124  ( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter, const std::string & me2d,
125  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
126  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
127 
129  ( DQMStore::IBooker & iBooker, DQMStore::IGetter & iGetter, const std::string & me2d,
130  const std::string & title ="", const std::string & titleX ="", const std::string & titleY ="",
131  Double_t minimum = -1111, Double_t maximum = -1111 ) ;
132 
133  private:
134 
137  short bookIndex_ ;
138  bool bookEfficiencyFlag_ = false;
139  bool bookStatOverflowFlag_ = false;
141  std::vector<std::string> histoNames_ ;
147  bool finalDone_ ;
148 
149  // utility methods
150  std::string newName( const std::string & name ) ;
151  const std::string * find( DQMStore::IGetter & iGetter, const std::string & name ) ;
152  } ;
153 
154 #endif
155 
156 
157 
const std::string * find(DQMStore::IGetter &iGetter, const std::string &name)
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")
void setBookPrefix(const std::string &)
MonitorElement * cloneH1(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *original, const std::string &title="")
MonitorElement * profileX(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
void setBookStatOverflowFlag(const bool &)
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")
void setBookEfficiencyFlag(const bool &)
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 * bookH1andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, 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")
std::vector< std::string > histoNames_
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
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")
ElectronDqmHarvesterBase(const edm::ParameterSet &conf)
MonitorElement * profileY(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
virtual void finalize(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * bookH2andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")