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 
30 
31  typedef std::vector<std::string> vstring;
32 
33  struct cfgEntryProcess {
35  void print() const;
41  };
42 
43  struct cfgEntryAxisX {
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 
55  struct cfgEntryAxisY {
56  explicit cfgEntryAxisY(const std::string&, const edm::ParameterSet&);
57  void print() const;
58  void applyTo(TH1*, double norm) const;
60  double minY_linear_;
61  double minY_log_;
62  double maxY_linear_;
63  double maxY_log_;
68  };
69 
70  struct cfgEntryLegend {
72  void print() const;
73  void applyTo(TLegend*) const;
75  double posX_;
76  double posY_;
77  double sizeX_;
78  double sizeY_;
83  };
84 
85  struct cfgEntryLabel {
87  void print() const;
88  void applyTo(TPaveText*) const;
90  double posX_;
91  double posY_;
92  double sizeX_;
93  double sizeY_;
98  double textSize_;
100  double textAngle_;
102  };
103 
107  void print() const;
108  void applyTo(TH1*) const;
111  double markerSize_;
120  };
121 
122  struct plotDefEntry {
123  plotDefEntry(
124  const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, bool);
125  plotDefEntry(const plotDefEntry&);
126  void print() const;
132  bool doStack_;
134  };
135 
136  typedef std::list<plotDefEntry> plotDefList;
137 
140  const plotDefList&,
141  const std::string&,
142  const std::string&,
143  const std::string&,
144  const std::string&,
145  const vstring&);
146  void print() const;
154  };
155 
156 public:
157  explicit TauDQMHistPlotter(const edm::ParameterSet&);
158  ~TauDQMHistPlotter() override;
159  void analyze(const edm::Event&, const edm::EventSetup&) override;
160  void endJob() override {}
161  void endRun(const edm::Run& r, const edm::EventSetup& c) override;
162 
163 private:
164  std::map<std::string, cfgEntryProcess> processes_;
165  std::map<std::string, cfgEntryAxisX> xAxes_;
166  std::map<std::string, cfgEntryAxisY> yAxes_;
167  std::map<std::string, cfgEntryLegend> legends_;
168  std::map<std::string, cfgEntryLabel> labels_;
169  std::map<std::string, cfgEntryDrawOption> drawOptionEntries_;
170  std::list<cfgEntryDrawJob> drawJobs_;
177  bool toFile_;
178 };
179 
180 #endif
TauDQMHistPlotter::cfgEntryAxisX::xAxisTitleSize_
double xAxisTitleSize_
Definition: DQMHistPlotter.h:52
TauDQMHistPlotter::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: DQMHistPlotter.cc:885
TauDQMHistPlotter::cfgEntryAxisX
Definition: DQMHistPlotter.h:43
TauDQMHistPlotter
Definition: DQMHistPlotter.h:27
TauDQMHistPlotter::cfgEntryProcess::legendEntry_
std::string legendEntry_
Definition: DQMHistPlotter.h:38
TauDQMHistPlotter::cfgEntryDrawOption::name_
std::string name_
Definition: DQMHistPlotter.h:109
TauDQMHistPlotter::cfgEntryDrawOption::drawOption_
std::string drawOption_
Definition: DQMHistPlotter.h:118
TauDQMHistPlotter::endRun
void endRun(const edm::Run &r, const edm::EventSetup &c) override
Definition: DQMHistPlotter.cc:889
TauDQMHistPlotter::cfgEntryLegend::print
void print() const
Definition: DQMHistPlotter.cc:304
TauDQMHistPlotter::plotDefEntry::legendEntry_
std::string legendEntry_
Definition: DQMHistPlotter.h:129
edm::Run
Definition: Run.h:45
TauDQMHistPlotter::cfgEntryLabel::option_
std::string option_
Definition: DQMHistPlotter.h:94
TauDQMHistPlotter::cfgEntryLabel::textSize_
double textSize_
Definition: DQMHistPlotter.h:98
TauDQMHistPlotter::plotDefEntry::isErrorBand_
bool isErrorBand_
Definition: DQMHistPlotter.h:133
TauDQMHistPlotter::plotDefEntry::print
void print() const
Definition: DQMHistPlotter.cc:495
TauDQMHistPlotter::cfgEntryLegend::header_
std::string header_
Definition: DQMHistPlotter.h:79
TauDQMHistPlotter::cfgEntryDrawOption
Definition: DQMHistPlotter.h:104
TauDQMHistPlotter::cfgEntryLegend::fillColor_
int fillColor_
Definition: DQMHistPlotter.h:82
TauDQMHistPlotter::cfgEntryLegend::sizeX_
double sizeX_
Definition: DQMHistPlotter.h:77
TauDQMHistPlotter::endJob
void endJob() override
Definition: DQMHistPlotter.h:160
TauDQMHistPlotter::cfgEntryLegend
Definition: DQMHistPlotter.h:70
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
TauDQMHistPlotter::cfgEntryDrawOption::cfgEntryDrawOption
cfgEntryDrawOption(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:398
TauDQMHistPlotter::cfgEntryAxisY::name_
std::string name_
Definition: DQMHistPlotter.h:59
EDAnalyzer.h
TauDQMHistPlotter::cfgEntryProcess::cfgEntryProcess
cfgEntryProcess(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:163
TauDQMHistPlotter::cfgEntryLabel
Definition: DQMHistPlotter.h:85
TauDQMHistPlotter::cfgEntryDrawJob::name_
std::string name_
Definition: DQMHistPlotter.h:147
TauDQMHistPlotter::cfgEntryAxisY
Definition: DQMHistPlotter.h:55
TauDQMHistPlotter::cfgEntryLabel::textAngle_
double textAngle_
Definition: DQMHistPlotter.h:100
TauDQMHistPlotter::cfgEntryLabel::text_
vstring text_
Definition: DQMHistPlotter.h:101
TauDQMHistPlotter::cfgEntryLabel::print
void print() const
Definition: DQMHistPlotter.cc:354
TauDQMHistPlotter::cfgEntryAxisX::maxX_
double maxX_
Definition: DQMHistPlotter.h:49
TauDQMHistPlotter::cfgEntryDrawJob::title_
std::string title_
Definition: DQMHistPlotter.h:149
edm::EDAnalyzer
Definition: EDAnalyzer.h:29
TauDQMHistPlotter::cfgEntryAxisX::xAxisTitleOffset_
double xAxisTitleOffset_
Definition: DQMHistPlotter.h:51
TauDQMHistPlotter::cfgEntryLabel::sizeY_
double sizeY_
Definition: DQMHistPlotter.h:93
TauDQMHistPlotter::cfgEntryDrawOption::lineStyle_
int lineStyle_
Definition: DQMHistPlotter.h:114
TauDQMHistPlotter::cfgEntryLabel::textColor_
int textColor_
Definition: DQMHistPlotter.h:97
dqm::legacy::DQMStore
Definition: DQMStore.h:727
TauDQMHistPlotter::cfgEntryAxisY::applyTo
void applyTo(TH1 *, double norm) const
Definition: DQMHistPlotter.cc:260
TauDQMHistPlotter::cfgEntryAxisY::minY_linear_
double minY_linear_
Definition: DQMHistPlotter.h:60
TauDQMHistPlotter::cfgEntryDrawJob::plots_
plotDefList plots_
Definition: DQMHistPlotter.h:148
TauDQMHistPlotter::cfgEntryLabel::borderSize_
int borderSize_
Definition: DQMHistPlotter.h:95
TauDQMHistPlotter::cfgEntryAxisY::yAxisTitleSize_
double yAxisTitleSize_
Definition: DQMHistPlotter.h:67
TauDQMHistPlotter::plotDefEntry::drawOptionEntry_
std::string drawOptionEntry_
Definition: DQMHistPlotter.h:128
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TauDQMHistPlotter::cfgEntryDrawJob::xAxis_
std::string xAxis_
Definition: DQMHistPlotter.h:150
TauDQMHistPlotter::cfgEntryDrawOption::lineColor_
int lineColor_
Definition: DQMHistPlotter.h:113
TauDQMHistPlotter::cfgEntryProcess::type_
std::string type_
Definition: DQMHistPlotter.h:40
TauDQMHistPlotter::legends_
std::map< std::string, cfgEntryLegend > legends_
Definition: DQMHistPlotter.h:167
TauDQMHistPlotter::cfgEntryLabel::sizeX_
double sizeX_
Definition: DQMHistPlotter.h:92
TauDQMHistPlotter::cfgEntryAxisY::yScale_
std::string yScale_
Definition: DQMHistPlotter.h:64
TauDQMHistPlotter::cfgEntryLegend::name_
std::string name_
Definition: DQMHistPlotter.h:74
TauDQMHistPlotter::cfgEntryLabel::name_
std::string name_
Definition: DQMHistPlotter.h:89
TauDQMHistPlotter::cfgEntryDrawOption::print
void print() const
Definition: DQMHistPlotter.cc:436
TauDQMHistPlotter::vstring
std::vector< std::string > vstring
Definition: DQMHistPlotter.h:31
TauDQMHistPlotter::toFile_
bool toFile_
Definition: DQMHistPlotter.h:177
edm::ParameterSet
Definition: ParameterSet.h:36
TauDQMHistPlotter::cfgEntryDrawOption::fillColor_
int fillColor_
Definition: DQMHistPlotter.h:116
Event.h
TauDQMHistPlotter::outputFileName_
std::string outputFileName_
Definition: DQMHistPlotter.h:174
TauDQMHistPlotter::cfgEntryProcess::dqmDirectory_
std::string dqmDirectory_
Definition: DQMHistPlotter.h:37
TauDQMHistPlotter::DQMStore
dqm::legacy::DQMStore DQMStore
Definition: DQMHistPlotter.h:28
TauDQMHistPlotter::cfgEntryProcess::print
void print() const
Definition: DQMHistPlotter.cc:178
TauDQMHistPlotter::xAxes_
std::map< std::string, cfgEntryAxisX > xAxes_
Definition: DQMHistPlotter.h:165
TauDQMHistPlotter::cfgEntryLabel::textAlign_
int textAlign_
Definition: DQMHistPlotter.h:99
TauDQMHistPlotter::cfgEntryProcess
Definition: DQMHistPlotter.h:33
TauDQMHistPlotter::plotDefEntry::process_
std::string process_
Definition: DQMHistPlotter.h:131
TauDQMHistPlotter::~TauDQMHistPlotter
~TauDQMHistPlotter() override
Definition: DQMHistPlotter.cc:881
TauDQMHistPlotter::cfgEntryLegend::sizeY_
double sizeY_
Definition: DQMHistPlotter.h:78
TauDQMHistPlotter::labels_
std::map< std::string, cfgEntryLabel > labels_
Definition: DQMHistPlotter.h:168
TauDQMHistPlotter::plotDefList
std::list< plotDefEntry > plotDefList
Definition: DQMHistPlotter.h:136
edm::EventSetup
Definition: EventSetup.h:57
TauDQMHistPlotter::cfgEntryDrawOption::markerStyle_
int markerStyle_
Definition: DQMHistPlotter.h:112
TauDQMHistPlotter::cfgEntryProcess::name_
std::string name_
Definition: DQMHistPlotter.h:36
TauDQMHistPlotter::processes_
std::map< std::string, cfgEntryProcess > processes_
Definition: DQMHistPlotter.h:164
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
TauDQMHistPlotter::cfgEntryLegend::applyTo
void applyTo(TLegend *) const
Definition: DQMHistPlotter.cc:317
TauDQMHistPlotter::plotDefEntry
Definition: DQMHistPlotter.h:122
TauDQMHistPlotter::cfgEntryAxisY::yAxisTitleOffset_
double yAxisTitleOffset_
Definition: DQMHistPlotter.h:66
TauDQMHistPlotter::outputFilePath_
std::string outputFilePath_
Definition: DQMHistPlotter.h:173
TauDQMHistPlotter::cfgEntryDrawJob::yAxis_
std::string yAxis_
Definition: DQMHistPlotter.h:151
TauDQMHistPlotter::cfgEntryAxisY::yAxisTitle_
std::string yAxisTitle_
Definition: DQMHistPlotter.h:65
TauDQMHistPlotter::cfgEntryDrawOption::lineWidth_
int lineWidth_
Definition: DQMHistPlotter.h:115
TauDQMHistPlotter::drawOptionEntries_
std::map< std::string, cfgEntryDrawOption > drawOptionEntries_
Definition: DQMHistPlotter.h:169
TauDQMHistPlotter::cfgEntryAxisX::name_
std::string name_
Definition: DQMHistPlotter.h:47
TauDQMHistPlotter::cfgEntryLabel::cfgEntryLabel
cfgEntryLabel(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:334
alignCSCRings.r
r
Definition: alignCSCRings.py:93
TauDQMHistPlotter::MonitorElement
dqm::legacy::MonitorElement MonitorElement
Definition: DQMHistPlotter.h:29
TauDQMHistPlotter::plotDefEntry::legendEntryErrorBand_
std::string legendEntryErrorBand_
Definition: DQMHistPlotter.h:130
TauDQMHistPlotter::cfgError_
int cfgError_
Definition: DQMHistPlotter.h:176
TauDQMHistPlotter::cfgEntryAxisX::applyTo
void applyTo(TH1 *) const
Definition: DQMHistPlotter.cc:215
TauDQMHistPlotter::cfgEntryDrawJob::labels_
vstring labels_
Definition: DQMHistPlotter.h:153
TauDQMHistPlotter::cfgEntryDrawOption::drawOptionLegend_
std::string drawOptionLegend_
Definition: DQMHistPlotter.h:119
TauDQMHistPlotter::cfgEntryLegend::posY_
double posY_
Definition: DQMHistPlotter.h:76
TauDQMHistPlotter::drawJobs_
std::list< cfgEntryDrawJob > drawJobs_
Definition: DQMHistPlotter.h:170
TauDQMHistPlotter::cfgEntryLabel::applyTo
void applyTo(TPaveText *) const
Definition: DQMHistPlotter.cc:371
TauDQMHistPlotter::cfgEntryAxisY::minY_log_
double minY_log_
Definition: DQMHistPlotter.h:61
TauDQMHistPlotter::cfgEntryAxisX::cfgEntryAxisX
cfgEntryAxisX(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:191
TauDQMHistPlotter::cfgEntryLegend::option_
std::string option_
Definition: DQMHistPlotter.h:80
TauDQMHistPlotter::plotDefEntry::dqmMonitorElement_
std::string dqmMonitorElement_
Definition: DQMHistPlotter.h:127
TauDQMHistPlotter::plotDefEntry::doStack_
bool doStack_
Definition: DQMHistPlotter.h:132
TauDQMHistPlotter::cfgEntryLegend::borderSize_
int borderSize_
Definition: DQMHistPlotter.h:81
TauDQMHistPlotter::canvasSizeY_
int canvasSizeY_
Definition: DQMHistPlotter.h:172
TauDQMHistPlotter::plotDefEntry::plotDefEntry
plotDefEntry(const std::string &, const std::string &, const std::string &, const std::string &, const std::string &, bool)
Definition: DQMHistPlotter.cc:468
TauDQMHistPlotter::TauDQMHistPlotter
TauDQMHistPlotter(const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:556
EventSetup.h
TauDQMHistPlotter::cfgEntryAxisX::xAxisTitle_
std::string xAxisTitle_
Definition: DQMHistPlotter.h:50
TauDQMHistPlotter::cfgEntryDrawJob
Definition: DQMHistPlotter.h:138
TauDQMHistPlotter::cfgEntryLabel::posY_
double posY_
Definition: DQMHistPlotter.h:91
TauDQMHistPlotter::cfgEntryAxisY::cfgEntryAxisY
cfgEntryAxisY(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:230
TauDQMHistPlotter::cfgEntryDrawOption::fillStyle_
int fillStyle_
Definition: DQMHistPlotter.h:117
TauDQMHistPlotter::cfgEntryAxisX::minX_
double minX_
Definition: DQMHistPlotter.h:48
TauDQMHistPlotter::cfgEntryDrawJob::cfgEntryDrawJob
cfgEntryDrawJob(const std::string &, const plotDefList &, const std::string &, const std::string &, const std::string &, const std::string &, const vstring &)
Definition: DQMHistPlotter.cc:509
ParameterSet.h
TauDQMHistPlotter::cfgEntryDrawOption::markerSize_
double markerSize_
Definition: DQMHistPlotter.h:111
TauDQMHistPlotter::cfgEntryAxisX::print
void print() const
Definition: DQMHistPlotter.cc:205
edm::Event
Definition: Event.h:73
TauDQMHistPlotter::cfgEntryDrawJob::legend_
std::string legend_
Definition: DQMHistPlotter.h:152
TauDQMHistPlotter::canvasSizeX_
int canvasSizeX_
Definition: DQMHistPlotter.h:171
TauDQMHistPlotter::cfgEntryLegend::cfgEntryLegend
cfgEntryLegend(const std::string &, const edm::ParameterSet &)
Definition: DQMHistPlotter.cc:288
TauDQMHistPlotter::cfgEntryAxisY::print
void print() const
Definition: DQMHistPlotter.cc:247
TauDQMHistPlotter::cfgEntryDrawOption::applyTo
void applyTo(TH1 *) const
Definition: DQMHistPlotter.cc:451
TauDQMHistPlotter::cfgEntryLabel::posX_
double posX_
Definition: DQMHistPlotter.h:90
TauDQMHistPlotter::indOutputFileName_
std::string indOutputFileName_
Definition: DQMHistPlotter.h:175
TauDQMHistPlotter::cfgEntryDrawOption::markerColor_
int markerColor_
Definition: DQMHistPlotter.h:110
TauDQMHistPlotter::yAxes_
std::map< std::string, cfgEntryAxisY > yAxes_
Definition: DQMHistPlotter.h:166
TauDQMHistPlotter::cfgEntryLabel::fillColor_
int fillColor_
Definition: DQMHistPlotter.h:96
TauDQMHistPlotter::cfgEntryAxisY::maxY_linear_
double maxY_linear_
Definition: DQMHistPlotter.h:62
TauDQMHistPlotter::cfgEntryLegend::posX_
double posX_
Definition: DQMHistPlotter.h:75
TauDQMHistPlotter::cfgEntryAxisY::maxY_log_
double maxY_log_
Definition: DQMHistPlotter.h:63
TauDQMHistPlotter::cfgEntryDrawJob::print
void print() const
Definition: DQMHistPlotter.cc:537
TauDQMHistPlotter::cfgEntryProcess::legendEntryErrorBand_
std::string legendEntryErrorBand_
Definition: DQMHistPlotter.h:39