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  void applyTo(TH1*, double norm) const;
61  double minY_linear_;
62  double minY_log_;
63  double maxY_linear_;
64  double maxY_log_;
69  };
70 
72  {
74  void print() const;
75  void applyTo(TLegend*) const;
77  double posX_;
78  double posY_;
79  double sizeX_;
80  double sizeY_;
85  };
86 
88  {
90  void print() const;
91  void applyTo(TPaveText*) const;
93  double posX_;
94  double posY_;
95  double sizeX_;
96  double sizeY_;
101  double textSize_;
103  double textAngle_;
104  vstring text_;
105  };
106 
108  {
111  void print() const;
112  void applyTo(TH1*) const;
115  double markerSize_;
124  };
125 
127  {
128  plotDefEntry(const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, bool);
129  plotDefEntry(const plotDefEntry&);
130  void print() const;
136  bool doStack_;
138  };
139 
140  typedef std::list<plotDefEntry> plotDefList;
141 
143  {
144  cfgEntryDrawJob(const std::string&, const plotDefList&, const std::string&, const std::string&, const std::string&, const std::string&, const vstring&);
145  void print() const;
147  plotDefList plots_;
152  vstring labels_;
153  };
154 
155  public:
156  explicit TauDQMHistPlotter(const edm::ParameterSet&);
157  ~TauDQMHistPlotter() override;
158  void analyze(const edm::Event&, const edm::EventSetup&) override;
159  void endJob() override{}
160  void endRun(const edm::Run& r, const edm::EventSetup& c) override;
161 
162 private:
163  std::map<std::string, cfgEntryProcess> processes_;
164  std::map<std::string, cfgEntryAxisX> xAxes_;
165  std::map<std::string, cfgEntryAxisY> yAxes_;
166  std::map<std::string, cfgEntryLegend> legends_;
167  std::map<std::string, cfgEntryLabel> labels_;
168  std::map<std::string, cfgEntryDrawOption> drawOptionEntries_;
169  std::list<cfgEntryDrawJob> drawJobs_;
176  bool toFile_;
177 };
178 
179 #endif
180 
181 
void endJob() override
void endRun(const edm::Run &r, const edm::EventSetup &c) override
std::map< std::string, cfgEntryLegend > legends_
~TauDQMHistPlotter() override
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_
std::list< plotDefEntry > plotDefList
std::string outputFilePath_
std::map< std::string, cfgEntryDrawOption > drawOptionEntries_
std::list< cfgEntryDrawJob > drawJobs_
TauDQMHistPlotter(const edm::ParameterSet &)
std::map< std::string, cfgEntryAxisY > yAxes_
std::string indOutputFileName_
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: Run.h:45