Go to the documentation of this file.00001 #ifndef _SiPixelHistoPlotter_h_
00002 #define _SiPixelHistoPlotter_h_
00003
00004
00005 #include <fstream>
00006 #include <sstream>
00007 #include <map>
00008 #include <vector>
00009 #include <string>
00010
00011 #include "TCanvas.h"
00012
00013 class DQMStore;
00014 class MonitorElement;
00015 class TH1;
00016
00017 class SiPixelHistoPlotter {
00018
00019 public:
00020
00021 SiPixelHistoPlotter();
00022 ~SiPixelHistoPlotter();
00023
00024 void getNamedImageBuffer(const std::string& path, std::string& image);
00025 void createPlots(DQMStore* bei);
00026 void setNewPlot(std::string& path, std::string& option,
00027 int width, int height);
00028 void createStaticPlot(MonitorElement* me, const std::string& file_name);
00029
00030 private:
00031
00032
00033 struct PlotParameter {
00034 std::string Path;
00035 std::string Option;
00036 int CWidth;
00037 int CHeight;
00038
00039 };
00040
00041 void fillNamedImageBuffer(TCanvas * c1, const std::string& name);
00042 void makePlot(DQMStore* bei, const PlotParameter& par);
00043 bool hasNamedImage(const std::string & name);
00044 void createDummyImage(const std::string& name);
00045 void setDrawingOption(TH1* hist);
00046
00047 void setSubDetAxisDrawing( std::string detector,
00048 TH1F * histo);
00049 void setLines( MonitorElement * me,
00050 std::string & meName,
00051 double & ymin,
00052 double & ymax,
00053 double & warning,
00054 double & error,
00055 double & channelFraction);
00056
00057 std::map<std::string, std::string> namedPictureBuffer_;
00058 std::vector<PlotParameter> plotList_;
00059
00060 };
00061 #endif