CMS 3D CMS Logo

DQMHistPlotter.h
Go to the documentation of this file.
1 #ifndef TauDQMHistPlotter_h
2 #define TauDQMHistPlotter_h
3 
11 // framework & common header files
16 
18 
19 #include <TH1.h>
20 #include <TLegend.h>
21 #include <TPaveText.h>
22 
23 #include <string>
24 #include <vector>
25 #include <map>
26 
28 {
29  typedef std::vector<std::string> vstring;
30 
32  {
34  void print() const;
40  };
41 
43  {
44  explicit cfgEntryAxisX(const std::string&, const edm::ParameterSet&);
45  void print() const;
46  void applyTo(TH1*) const;
48  double minX_;
49  double maxX_;
53  };
54 
56  {
57  explicit cfgEntryAxisY(const std::string&, const edm::ParameterSet&);
58  void print() const;
59  static void setNorm(double yAxisNorm) { yAxisNorm_ = yAxisNorm; }
60  void applyTo(TH1*) const;
62  double minY_linear_;
63  double minY_log_;
64  double maxY_linear_;
65  double maxY_log_;
70  static double yAxisNorm_;
71  };
72 
74  {
76  void print() const;
77  void applyTo(TLegend*) const;
79  double posX_;
80  double posY_;
81  double sizeX_;
82  double sizeY_;
87  };
88 
90  {
92  void print() const;
93  void applyTo(TPaveText*) const;
95  double posX_;
96  double posY_;
97  double sizeX_;
98  double sizeY_;
103  double textSize_;
105  double textAngle_;
106  vstring text_;
107  };
108 
110  {
113  void print() const;
114  void applyTo(TH1*) const;
117  double markerSize_;
126  };
127 
129  {
130  plotDefEntry(const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, bool);
131  plotDefEntry(const plotDefEntry&);
132  void print() const;
138  bool doStack_;
140  };
141 
142  typedef std::list<plotDefEntry> plotDefList;
143 
145  {
146  cfgEntryDrawJob(const std::string&, const plotDefList&, const std::string&, const std::string&, const std::string&, const std::string&, const vstring&);
147  void print() const;
149  plotDefList plots_;
154  vstring labels_;
155  };
156 
157  public:
158  explicit TauDQMHistPlotter(const edm::ParameterSet&);
159  virtual ~TauDQMHistPlotter();
160  virtual void analyze(const edm::Event&, const edm::EventSetup&);
161  virtual void endJob(){}
162  virtual void endRun(const edm::Run& r, const edm::EventSetup& c);
163 
164 private:
165  std::map<std::string, cfgEntryProcess> processes_;
166  std::map<std::string, cfgEntryAxisX> xAxes_;
167  std::map<std::string, cfgEntryAxisY> yAxes_;
168  std::map<std::string, cfgEntryLegend> legends_;
169  std::map<std::string, cfgEntryLabel> labels_;
170  std::map<std::string, cfgEntryDrawOption> drawOptionEntries_;
171  std::list<cfgEntryDrawJob> drawJobs_;
178  bool toFile_;
179 };
180 
181 #endif
182 
183 
virtual void analyze(const edm::Event &, const edm::EventSetup &)
static void setNorm(double yAxisNorm)
std::map< std::string, cfgEntryLegend > legends_
std::vector< std::string > vstring
cfgEntryProcess(const std::string &, const edm::ParameterSet &)
std::string outputFileName_
std::map< std::string, cfgEntryLabel > labels_
std::map< std::string, cfgEntryProcess > processes_
std::map< std::string, cfgEntryAxisX > xAxes_
virtual ~TauDQMHistPlotter()
virtual void endRun(const edm::Run &r, const edm::EventSetup &c)
std::list< plotDefEntry > plotDefList
std::string outputFilePath_
std::map< std::string, cfgEntryDrawOption > drawOptionEntries_
std::list< cfgEntryDrawJob > drawJobs_
virtual void endJob()
TauDQMHistPlotter(const edm::ParameterSet &)
std::map< std::string, cfgEntryAxisY > yAxes_
std::string indOutputFileName_
Definition: Run.h:42