CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DQMHistPlotter.h
Go to the documentation of this file.
1 #ifndef TauDQMHistPlotter_h
2 #define TauDQMHistPlotter_h
3 
13 // framework & common header files
18 
20 
21 #include <TH1.h>
22 #include <TLegend.h>
23 #include <TPaveText.h>
24 
25 #include <string>
26 #include <vector>
27 #include <map>
28 
30 {
31  typedef std::vector<std::string> vstring;
32 
34  {
36  void print() const;
42  };
43 
45  {
46  explicit cfgEntryAxisX(const std::string&, const edm::ParameterSet&);
47  void print() const;
48  void applyTo(TH1*) const;
50  double minX_;
51  double maxX_;
55  };
56 
58  {
59  explicit cfgEntryAxisY(const std::string&, const edm::ParameterSet&);
60  void print() const;
61  static void setNorm(double yAxisNorm) { yAxisNorm_ = yAxisNorm; }
62  void applyTo(TH1*) const;
64  double minY_linear_;
65  double minY_log_;
66  double maxY_linear_;
67  double maxY_log_;
72  static double yAxisNorm_;
73  };
74 
76  {
78  void print() const;
79  void applyTo(TLegend*) const;
81  double posX_;
82  double posY_;
83  double sizeX_;
84  double sizeY_;
89  };
90 
92  {
94  void print() const;
95  void applyTo(TPaveText*) const;
97  double posX_;
98  double posY_;
99  double sizeX_;
100  double sizeY_;
105  double textSize_;
107  double textAngle_;
109  };
110 
112  {
115  void print() const;
116  void applyTo(TH1*) const;
119  double markerSize_;
128  };
129 
131  {
132  plotDefEntry(const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, bool);
133  plotDefEntry(const plotDefEntry&);
134  void print() const;
140  bool doStack_;
142  };
143 
144  typedef std::list<plotDefEntry> plotDefList;
145 
147  {
148  cfgEntryDrawJob(const std::string&, const plotDefList&, const std::string&, const std::string&, const std::string&, const std::string&, const vstring&);
149  void print() const;
157  };
158 
159  public:
160  explicit TauDQMHistPlotter(const edm::ParameterSet&);
161  virtual ~TauDQMHistPlotter();
162  virtual void analyze(const edm::Event&, const edm::EventSetup&);
163  virtual void endJob(){}
164  virtual void endRun(const edm::Run& r, const edm::EventSetup& c);
165 
166 private:
167  std::map<std::string, cfgEntryProcess> processes_;
168  std::map<std::string, cfgEntryAxisX> xAxes_;
169  std::map<std::string, cfgEntryAxisY> yAxes_;
170  std::map<std::string, cfgEntryLegend> legends_;
171  std::map<std::string, cfgEntryLabel> labels_;
172  std::map<std::string, cfgEntryDrawOption> drawOptionEntries_;
173  std::list<cfgEntryDrawJob> drawJobs_;
180  bool toFile_;
181 };
182 
183 #endif
184 
185 
virtual void analyze(const edm::Event &, const edm::EventSetup &)
static void setNorm(double yAxisNorm)
cfgEntryLabel(const std::string &, const edm::ParameterSet &)
cfgEntryAxisX(const std::string &, const edm::ParameterSet &)
cfgEntryDrawOption(const std::string &, const edm::ParameterSet &)
void applyTo(TLegend *) const
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)
cfgEntryAxisY(const std::string &, const edm::ParameterSet &)
std::list< plotDefEntry > plotDefList
std::string outputFilePath_
std::map< std::string, cfgEntryDrawOption > drawOptionEntries_
plotDefEntry(const std::string &, const std::string &, const std::string &, const std::string &, const std::string &, bool)
cfgEntryDrawJob(const std::string &, const plotDefList &, const std::string &, const std::string &, const std::string &, const std::string &, const vstring &)
std::list< cfgEntryDrawJob > drawJobs_
virtual void endJob()
TauDQMHistPlotter(const edm::ParameterSet &)
std::map< std::string, cfgEntryAxisY > yAxes_
std::string indOutputFileName_
void applyTo(TPaveText *) const
cfgEntryLegend(const std::string &, const edm::ParameterSet &)
Definition: Run.h:36