00001 #ifndef SiPixelUtility_H 00002 #define SiPixelUtility_H 00003 00013 #include <vector> 00014 #include <fstream> 00015 #include <string> 00016 #include <map> 00017 #include "TH1.h" 00018 #include "TPaveText.h" 00019 #include "DQMServices/Core/interface/MonitorElement.h" 00020 #include "DQMServices/Core/interface/DQMStore.h" 00021 00022 class SiPixelUtility 00023 { 00024 public: 00025 00026 static int getMEList(std::string name, std::vector<std::string>& values); 00027 static bool checkME(std::string element, std::string name, std::string& full_path); 00028 static int getMEList(std::string name, std::string& dir_path, std::vector<std::string>& me_names); 00029 00030 static void split(const std::string& str, std::vector<std::string>& tokens, 00031 const std::string& delimiters=" "); 00032 static void getStatusColor(int status, int& rval, int&gval, int& bval); 00033 static void getStatusColor(int status, int& icol, std::string& tag); 00034 static void getStatusColor(double status, int& rval, int&gval, int& bval); 00035 static int getStatus(MonitorElement* me); 00036 00037 static int computeHistoBin(std::string& module_path); 00038 static int computeErrorCode(DQMStore * bei, std::string& module_path); 00039 static int computeErrorCode(int status); 00040 static void fillPaveText(TPaveText* pave, std::map<std::string,std::pair<int,double> > messages); 00041 static void createStatusLegendMessages(std::map<std::string,std::pair<int,double> >& messages); 00042 static std::map<std::string,std::string> sourceCodeMap(); 00043 static void setDrawingOption(TH1* hist,float xlow=-1.,float xhigh=-1.); 00044 static std::vector<std::string> getQTestNameList(MonitorElement* me); 00045 00046 }; 00047 00048 #endif