24 " Creating SiStripInformationExtractor " <<
"\n" ;
36 " Deleting SiStripInformationExtractor " <<
"\n" ;
52 " Layouts correctly readout " <<
"\n" ;
54 " Problem in reading Layout " <<
"\n" ;
57 subdetVec.push_back(
"SiStrip/MechanicalView/TIB");
58 subdetVec.push_back(
"SiStrip/MechanicalView/TOB");
59 subdetVec.push_back(
"SiStrip/MechanicalView/TID/PLUS");
60 subdetVec.push_back(
"SiStrip/MechanicalView/TID/MINUS");
61 subdetVec.push_back(
"SiStrip/MechanicalView/TEC/PLUS");
62 subdetVec.push_back(
"SiStrip/MechanicalView/TEC/MINUS");
73 if (dname.find(
"module_") ==0)
return;
75 str_val <<
"<li><span class=\"folder\">" << dname <<
"</span>" << std::endl;
76 std::vector<MonitorElement *> meVec = dqm_store->
getContents(currDir);
77 std::vector<std::string> subDirVec = dqm_store->
getSubdirs();
78 if ( meVec.empty() && subDirVec.empty() ) {
79 str_val <<
"</li> "<< std::endl;
82 str_val <<
"<ul>" << std::endl;
83 for (std::vector<MonitorElement *>::const_iterator it = meVec.begin();
84 it != meVec.end(); it++) {
88 str_val <<
"<li> <span class=\"file\"><a href=\"javascript:RequestHistos.DrawSummaryHistogram('" 90 <<
"')\">" << name <<
"</a></span></li>" << std::endl;
94 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
95 ic != subDirVec.end(); ic++) {
98 if (titl.find(
"module_") == 0) {
99 titl = titl.substr(titl.find(
"module_")+7);
105 if (mtag.size() > 10) {
107 str_val <<
"<li> <span class=\"file\"><a href=\"#\">" << mtag <<
"</a></span></li>" << std::endl;
109 str_val <<
"</ul> "<< std::endl;
110 str_val <<
"</li> "<< std::endl;
122 str_val <<
"<li><span class=\"folder\">" 123 << dname <<
"<img src=\"" 124 << image_name <<
"\"></span>" << std::endl;
125 std::vector<std::string> subDirVec = dqm_store->
getSubdirs();
126 std::vector<MonitorElement *> meVec = dqm_store->
getContents(currDir);
128 if (subDirVec.empty() && meVec.empty()) {
129 str_val <<
"</li> "<< std::endl;
132 str_val <<
"<ul>" << std::endl;
133 if (dname.find(
"module_") != std::string::npos) {
134 if (!meVec.empty()) {
135 for (std::vector<MonitorElement *>::const_iterator it = meVec.begin();
136 it != meVec.end(); it++) {
139 std::vector<QReport*> q_reports = me->
getQReports();
140 if (!q_reports.empty()) {
143 str_val <<
"<li><span class=\"file\"><a href=\"javascript:RequestHistos.ReadAlarmStatus('" 144 << currDir <<
"')\">"<<me->
getName()
146 << image_name1 <<
"\">" 147 <<
"</span></li>" << std::endl;
152 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
153 ic != subDirVec.end(); ic++) {
158 str_val <<
"</ul> "<< std::endl;
159 str_val <<
"</li> "<< std::endl;
282 std::ofstream image_file;
285 unsigned int ival = 0;
286 std::string image_list =
"images/" + it->first +
".lis";
288 if (!image_file)
return;
291 for (std::vector<std::string>::iterator im = it->second.begin();
292 im != it->second.end(); im++) {
294 if (path_name.empty())
continue;
297 std::ostringstream
fname, ftitle;
299 fname <<
"images/EmptyPlot.png";
300 ftitle <<
"EmptyPlot";
302 fname <<
"images/" << it->first <<
"_" <<ival <<
".png";
306 image_file <<
"["<<
"\"" << fname.str() <<
"\",\"" << path_name <<
"\"]";
307 if (ival != it->second.size()) image_file <<
","<< std::endl;
309 image_file <<
"]" << std::endl;
597 for (std::multimap<std::string, std::string>::const_iterator it = req_map.begin();
598 it != req_map.end(); it++) {
600 if (it->first == item_name) {
601 items.push_back(it->second);
610 std::multimap<std::string,std::string>::const_iterator
pos = req_map.find(item_name);
611 if (pos != req_map.end())
return true;
619 std::multimap<std::string,std::string>::const_iterator
pos = req_map.find(item_name);
621 if (pos != req_map.end()) {
634 else col =
"#0000ff";
642 for (std::vector<QReport*>::const_iterator it = reports.begin(); it != reports.end();
644 status = (*it)->getStatus();
645 if (status > istat) istat =
status;
657 else name=
"images/LI_blue.gif";
665 for (std::vector<QReport*>::const_iterator it = reports.begin(); it != reports.end();
667 status = (*it)->getStatus();
668 if (status > istat) istat =
status;
873 str_val <<
"<li><span class=\"folder\">" << dname <<
"</span>" << std::endl;
874 std::vector<MonitorElement *> meVec = dqm_store->
getContents(currDir);
875 std::vector<std::string> subDirVec = dqm_store->
getSubdirs();
876 if ( meVec.empty() && subDirVec.empty() ) {
877 str_val <<
"</li> "<< std::endl;
880 str_val <<
"<ul>" << std::endl;
881 for (std::vector<MonitorElement *>::const_iterator it = meVec.begin();
882 it != meVec.end(); it++) {
886 str_val <<
"<li> <span class=\"file\"><a href=\"javascript:RequestHistos.DrawSummaryHistogram('" 888 <<
"')\">" << name <<
"</a></span></li>" << std::endl;
890 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
891 ic != subDirVec.end(); ic++) {
896 str_val <<
"</ul> "<< std::endl;
897 str_val <<
"</li> "<< std::endl;
int getStatus(const std::string &path="") const
const std::string & pwd() const
void createPlots(DQMStore *dqm_store)
void getDocument(std::string configFile, bool UseDB=false)
Methor that parses the xml file configFile.
const std::string & getName() const
get name of ME
void createStaticPlot(MonitorElement *me, const std::string &file_name)
void createCondDBPlots(DQMStore *dqm_store)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
std::vector< MonitorElement * > getContents(const std::string &path) const
std::vector< std::string > getSubdirs() const
void cd()
go to top directory (ie. root)
std::vector< QReport * > getQReports() const
get map of QReports
bool getAllLayouts(std::map< std::string, std::vector< std::string > > &me_names)
static const int STATUS_OK
void goUp()
equivalent to "cd .."