14 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
15 prefixME_.append(
"/");
41 std::cout <<
"<HcalBaseDQClient::beginJob()> Displaying dqmStore directory structure:"<<std::endl;
53 if (
debug_>1)
std::cout <<
"<HcalBaseDQClient::setStatusMap> Input map size = "<<map.size()<<std::endl;
54 for (std::map<HcalDetId, unsigned int>::const_iterator iter = map.begin();
55 iter!=map.end();++iter)
74 if (
debug_>0)
std::cout <<
"<HcalBaseDQClient::htmlOutput> dqmStore object does not exist!"<<std::endl;
78 if (
debug_>2)
std::cout <<
"\t<HcalBaseDQClient::htmlOutput> Preparing html for task: "<<
name_<<std::endl;
80 for(
int i=0;
i<105; ++
i )
83 TColor*
color = gROOT->GetColor( 901+
i );
84 if( ! color ) color =
new TColor( 901+
i, 0, 0, 0,
"" );
86 color->SetRGB(
i/5.,1.,0);
90 color->SetRGB(1,1-0.01*
i,0);
96 htmlFile.open(outfile.c_str());
99 htmlFile <<
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> " << std::endl;
100 htmlFile <<
"<html> " << std::endl;
101 htmlFile <<
"<head> " << std::endl;
102 htmlFile <<
" <meta content=\"text/html; charset=ISO-8859-1\" " << std::endl;
103 htmlFile <<
" http-equiv=\"content-type\"> " << std::endl;
104 htmlFile <<
" <title>Monitor: Hcal "<<name_<<
" output</title> " << std::endl;
105 htmlFile <<
"</head> " << std::endl;
106 htmlFile <<
"<style type=\"text/css\"> td { font-weight: bold } </style>" << std::endl;
107 htmlFile <<
"<body> " << std::endl;
108 htmlFile <<
"<br> " << std::endl;
109 htmlFile <<
"<hr>" << std::endl;
111 gStyle->SetPalette(105,pcol_error);
112 gStyle->SetNumberContours(105);
115 if (
debug_>0)
std::cout <<
"<HcalBaseDQClient::htmlOutput> Writing html output for client "<<this->
name()<<std::endl;
120 htmlFile <<
"<table align=\"center\" border=\"1\" cellspacing=\"0\" " << std::endl;
121 htmlFile <<
"cellpadding=\"10\"> " << std::endl;
122 htmlFile<<
"<tr align=\"center\">"<<std::endl;
124 htmlFile<<
"</tr>"<<std::endl;
125 htmlFile<<
"</table>"<<std::endl;
129 htmlFile <<
"<table align=\"center\" border=\"1\" cellspacing=\"0\" " << std::endl;
130 htmlFile <<
"cellpadding=\"10\"> " << std::endl;
139 htmlFile<<
"<tr align=\"center\">"<<std::endl;
143 htmlFile<<
"</tr>"<<std::endl;
145 htmlFile<<
"</table>"<<std::endl;
148 htmlFile <<
"<table align=\"center\" border=\"1\" cellspacing=\"0\" " << std::endl;
149 htmlFile <<
"cellpadding=\"10\"> " << std::endl;
153 gStyle->SetPalette(1);
156 for (
unsigned int i=0;
i<hists.size();++
i)
162 htmlFile <<
"<tr align=\"center\">" << std::endl;
165 htmlFile <<
"</tr>"<<std::endl;
170 std::string histname=hists[
i]->getName();
171 bool isproblem=
false;
177 if (
debug_>1)
std::cout <<
"<HcalBaseDQClient::htmlOutput> Found Problem Histogram '"<<histname<<
"' in list of histograms"<<std::endl;
181 if (isproblem)
continue;
184 htmlFile <<
"<tr align=\"center\">" << std::endl;
187 htmlFile <<
"</tr>"<<std::endl;
194 htmlFile <<
"<tr align=\"center\">" << std::endl;
197 htmlFile <<
"</tr>"<<std::endl;
200 htmlFile<<
"</table>"<<std::endl;
201 htmlFile <<
"</body> " << std::endl;
202 htmlFile <<
"</html> " << std::endl;
virtual void beginJob(void)
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * ProblemCells
TProfile * getTProfile(std::string name, std::string process, std::string rootfolder, DQMStore *dbe_, bool verb, bool clone)
void htmlAnyHisto(int runNo, myHist *hist, const char *xlab, const char *ylab, int width, ofstream &htmlFile, std::string htmlDir, int debug=0)
std::vector< MonitorElement * > getAllContents(const std::string &path) const
std::vector< MonitorElement * > depth
std::vector< std::string > problemnames_
EtaPhiHists * ProblemCellsByDepth
virtual bool validHtmlOutput()
TH1F * getTH1F(std::string name, std::string process, std::string rootfolder, DQMStore *dbe_, bool verb, bool clone)
virtual void setStatusMap(std::map< HcalDetId, unsigned int > &map)
virtual void htmlOutput(std::string htmlDir)
std::map< HcalDetId, unsigned int > badstatusmap
virtual ~HcalBaseDQClient(void)
TH2F * getTH2F(std::string name, std::string process, std::string rootfolder, DQMStore *dbe_, bool verb, bool clone)
void showDirStructure(void) const
int badChannelStatusMask_
TH2F * getTH2F(void) const