#include <DQM/SiStripMonitorClient/interface/SiStripWebInterface.h>
Definition at line 13 of file SiStripWebInterface.h.
NoAction | |
Summary | |
PlotSingleModuleHistos | |
PlotGlobalHistos | |
PlotHistogramFromPath | |
PlotTkMapHistogram | |
PlotHistogramFromLayout | |
CreatePlots |
Definition at line 18 of file SiStripWebInterface.h.
00018 {NoAction=0, Summary=2, 00019 PlotSingleModuleHistos=5, PlotGlobalHistos=6, 00020 PlotHistogramFromPath=7, PlotTkMapHistogram=8, 00021 PlotHistogramFromLayout=9, 00022 CreatePlots=10};
SiStripWebInterface::SiStripWebInterface | ( | DQMStore * | dqm_store | ) |
Definition at line 18 of file SiStripWebInterface.cc.
References infoExtractor_, NoAction, and theActionFlag.
00018 : dqmStore_(dqm_store) { 00019 00020 theActionFlag = NoAction; 00021 infoExtractor_ = 0; 00022 if (infoExtractor_ == 0) infoExtractor_ = new SiStripInformationExtractor(); 00023 }
SiStripWebInterface::~SiStripWebInterface | ( | ) |
Definition at line 27 of file SiStripWebInterface.cc.
References infoExtractor_.
00027 { 00028 if (infoExtractor_) delete infoExtractor_; 00029 infoExtractor_ = 0; 00030 }
void SiStripWebInterface::clearConDBPlotRequests | ( | ) | [inline] |
Definition at line 40 of file SiStripWebInterface.h.
References condDBRequestList_.
Referenced by SiStripAnalyser::analyze().
00040 { condDBRequestList_.clear(); }
std::string SiStripWebInterface::get_from_multimap | ( | std::multimap< std::string, std::string > & | mymap, | |
std::string | key | |||
) | [private] |
Definition at line 211 of file SiStripWebInterface.cc.
References it.
Referenced by handleAnalyserRequest().
00212 { 00213 std::multimap<std::string, std::string>::iterator it; 00214 it = mymap.find(key); 00215 if (it != mymap.end()) 00216 { 00217 return (it->second); 00218 } 00219 return ""; 00220 }
SiStripActionType SiStripWebInterface::getActionFlag | ( | ) | [inline] |
Definition at line 34 of file SiStripWebInterface.h.
References theActionFlag.
00034 {return theActionFlag;}
void SiStripWebInterface::getConDBPlotParameters | ( | unsigned int | ival, | |
uint32_t & | det_id, | |||
std::string & | subdet_type, | |||
uint32_t & | subdet_side, | |||
uint32_t & | layer_number | |||
) |
Definition at line 224 of file SiStripWebInterface.cc.
References condDBRequestList_.
Referenced by SiStripAnalyser::analyze().
00225 { 00226 if (condDBRequestList_.size() > ival) { 00227 det_id = condDBRequestList_[ival].detId; 00228 subdet_type = condDBRequestList_[ival].type; 00229 subdet_side = condDBRequestList_[ival].side; 00230 layer_number = condDBRequestList_[ival].layer; 00231 } else { 00232 det_id = 999; 00233 subdet_type = ""; 00234 subdet_side = 999; 00235 layer_number = 999; 00236 } 00237 00238 }
unsigned int SiStripWebInterface::getNumberOfConDBPlotRequest | ( | ) | [inline] |
Definition at line 37 of file SiStripWebInterface.h.
References condDBRequestList_.
Referenced by SiStripAnalyser::analyze().
00037 { return condDBRequestList_.size();}
void SiStripWebInterface::handleAnalyserRequest | ( | xgi::Input * | in, | |
xgi::Output * | out, | |||
const edm::ESHandle< SiStripDetCabling > & | detcabling, | |||
int | niter | |||
) |
Definition at line 34 of file SiStripWebInterface.cc.
References BUF_SIZE, TestMuL1L2Filter_cff::cerr, condDBRequestList_, GenMuonPlsPt100GeV_cfg::cout, detId, SiStripWebInterface::CondDBPlotParameter::detId, dqmStore_, lat::endl(), mergeAndRegister_online::fname, get_from_multimap(), SiStripInformationExtractor::getCondDBHistos(), SiStripInformationExtractor::getGlobalHistos(), SiStripInformationExtractor::getHistosFromPath(), SiStripInformationExtractor::getIMGCImage(), SiStripInformationExtractor::getSingleModuleHistos(), SiStripInformationExtractor::getTrackerMapHistos(), infoExtractor_, SiStripWebInterface::CondDBPlotParameter::layer, NoAction, performAction(), PlotHistogramFromLayout, CgiReader::read_form(), SiStripInformationExtractor::readAlarmTree(), SiStripInformationExtractor::readGlobalHistoList(), SiStripInformationExtractor::readLayoutNames(), SiStripInformationExtractor::readModuleAndHistoList(), SiStripInformationExtractor::readNonGeomHistoTree(), SiStripInformationExtractor::readQTestSummary(), SiStripInformationExtractor::readStatusMessage(), SiStripInformationExtractor::readSummaryHistoTree(), requestMap_, returnReplyXml(), SiStripWebInterface::CondDBPlotParameter::side, theActionFlag, and SiStripWebInterface::CondDBPlotParameter::type.
Referenced by SiStripAnalyser::defaultWebPage().
00034 { 00035 DQMScope enter; 00036 // put the request information in a multimap... 00037 // std::multimap<std::string, std::string> requestMap_; 00038 CgiReader reader(in); 00039 reader.read_form(requestMap_); 00040 std::string requestID = get_from_multimap(requestMap_, "RequestID"); 00041 // get the string that identifies the request: 00042 std::cout << " requestID " << requestID << std::endl; 00043 if (requestID == "IsReady") { 00044 theActionFlag = NoAction; 00045 if (niter > 0) { 00046 infoExtractor_->readLayoutNames(requestMap_, out); 00047 } else { 00048 returnReplyXml(out, "ReadyState", "wait"); 00049 } 00050 } 00051 else if (requestID == "CheckQTResults") { 00052 std::string infoType = get_from_multimap(requestMap_, "InfoType"); 00053 infoExtractor_->readQTestSummary(dqmStore_, infoType, detcabling, out); 00054 theActionFlag = NoAction; 00055 } 00056 else if (requestID == "SingleModuleHistoList") { 00057 theActionFlag = NoAction; 00058 std::string sname = get_from_multimap(requestMap_, "FolderName"); 00059 infoExtractor_->readModuleAndHistoList(dqmStore_, sname, detcabling, out); 00060 } 00061 else if (requestID == "GlobalHistoList") { 00062 theActionFlag = NoAction; 00063 std::string gname = get_from_multimap(requestMap_, "GlobalFolder"); 00064 infoExtractor_->readGlobalHistoList(dqmStore_, gname, out); 00065 } 00066 else if (requestID == "SummaryHistoList") { 00067 theActionFlag = NoAction; 00068 std::string sname = get_from_multimap(requestMap_, "StructureName"); 00069 infoExtractor_->readSummaryHistoTree(dqmStore_, sname, out); 00070 } 00071 else if (requestID == "AlarmList") { 00072 theActionFlag = NoAction; 00073 std::string sname = get_from_multimap(requestMap_, "StructureName"); 00074 infoExtractor_->readAlarmTree(dqmStore_, sname, out); 00075 } 00076 else if (requestID == "ReadQTestStatus") { 00077 theActionFlag = NoAction; 00078 infoExtractor_->readStatusMessage(dqmStore_, requestMap_, out); 00079 } 00080 else if (requestID == "PlotAsModule") { 00081 theActionFlag = NoAction; 00082 infoExtractor_->getSingleModuleHistos(dqmStore_, requestMap_, out); 00083 } 00084 else if (requestID == "PlotGlobalHisto") { 00085 theActionFlag = NoAction; 00086 infoExtractor_->getGlobalHistos(dqmStore_, requestMap_, out); 00087 } 00088 else if (requestID == "PlotHistogramFromPath") { 00089 theActionFlag = NoAction; 00090 infoExtractor_->getHistosFromPath(dqmStore_, requestMap_, out); 00091 } 00092 else if (requestID == "PlotTkMapHistogram") { 00093 theActionFlag = NoAction; 00094 infoExtractor_->getTrackerMapHistos(dqmStore_, requestMap_, out); 00095 } 00096 else if (requestID == "PlotHistogramFromLayout") { 00097 theActionFlag = PlotHistogramFromLayout; 00098 } 00099 else if (requestID == "GetIMGCImage") { 00100 infoExtractor_->getIMGCImage(requestMap_, out); 00101 } 00102 else if (requestID == "GetTkMap") { 00103 theActionFlag = NoAction; 00104 00105 ifstream fin("dqmtmapviewer.xhtml"); 00106 char buf[BUF_SIZE]; 00107 std::ostringstream html_out; 00108 if (!fin) { 00109 std::cerr << "Input File: dqmtmapviewer.xhtml "<< " could not be opened!" << std::endl; 00110 return; 00111 } 00112 while (fin.getline(buf, BUF_SIZE, '\n')) { // pops off the newline character 00113 html_out << buf << std::endl; 00114 } 00115 fin.close(); 00116 00117 out->getHTTPResponseHeader().addHeader("Content-type","application/xhtml+xml"); 00118 *out << html_out.str(); 00119 } 00120 else if (requestID == "NonGeomHistoList") { 00121 theActionFlag = NoAction; 00122 std::string fname = get_from_multimap(requestMap_, "FolderName"); 00123 infoExtractor_->readNonGeomHistoTree(dqmStore_, fname, out); 00124 } 00125 else if (requestID == "PlotModuleCondDBHistos") { 00126 theActionFlag = NoAction; 00127 CondDBPlotParameter local_par; 00128 uint32_t detId = atoi(get_from_multimap(requestMap_,"ModId").c_str()); 00129 local_par.detId = detId; 00130 local_par.type = ""; 00131 local_par.side = 999; 00132 local_par.layer = 999; 00133 condDBRequestList_.push_back(local_par); 00134 infoExtractor_->getCondDBHistos(dqmStore_, requestMap_, out); 00135 } 00136 else if (requestID == "PlotLayerCondDBHistos") { 00137 00138 theActionFlag = NoAction; 00139 CondDBPlotParameter local_par; 00140 std::string sname = get_from_multimap(requestMap_,"StructureName"); 00141 local_par.detId = 999; 00142 local_par.type = sname.substr(sname.find_first_of("/")+1,3); 00143 if (sname.find("side_")!=std::string::npos) 00144 local_par.side = atoi((sname.substr(sname.find("side_")+5,1)).c_str()); 00145 else local_par.side = 999; 00146 local_par.layer = atoi((sname.substr(sname.find_last_of("_")+1)).c_str()); 00147 condDBRequestList_.push_back(local_par); 00148 00149 infoExtractor_->getCondDBHistos(dqmStore_, requestMap_, out); 00150 } 00151 performAction(); 00152 }
void SiStripWebInterface::performAction | ( | ) |
Definition at line 156 of file SiStripWebInterface.cc.
References SiStripInformationExtractor::createImages(), CreatePlots, dqmStore_, infoExtractor_, NoAction, PlotGlobalHistos, PlotHistogramFromLayout, PlotHistogramFromPath, SiStripInformationExtractor::plotHistosFromLayout(), PlotSingleModuleHistos, PlotTkMapHistogram, setActionFlag(), Summary, and theActionFlag.
Referenced by SiStripAnalyser::analyze(), SiStripAnalyser::endLuminosityBlock(), and handleAnalyserRequest().
00156 { 00157 00158 switch (theActionFlag) { 00159 case SiStripWebInterface::Summary : 00160 { 00161 // actionExecutor_->createSummary(dqmStore_); 00162 break; 00163 } 00164 case SiStripWebInterface::PlotSingleModuleHistos : 00165 { 00166 // infoExtractor_->plotSingleModuleHistos(dqmStore_, requestMap_, out); 00167 break; 00168 } 00169 case SiStripWebInterface::PlotGlobalHistos : 00170 { 00171 // infoExtractor_->plotGlobalHistos(dqmStore_, requestMap_, out); 00172 break; 00173 } 00174 case SiStripWebInterface::PlotTkMapHistogram : 00175 { 00176 // infoExtractor_->plotTrackerMapHistos(dqmStore_, requestMap_, out); 00177 break; 00178 } 00179 case SiStripWebInterface::PlotHistogramFromPath : 00180 { 00181 // infoExtractor_->plotHistosFromPath(dqmStore_, requestMap_, out); 00182 break; 00183 } 00184 case SiStripWebInterface::PlotHistogramFromLayout : 00185 { 00186 infoExtractor_->plotHistosFromLayout(dqmStore_); 00187 break; 00188 } 00189 case SiStripWebInterface::CreatePlots : 00190 { 00191 infoExtractor_->createImages(dqmStore_); 00192 break; 00193 } 00194 case SiStripWebInterface::NoAction : 00195 { 00196 break; 00197 } 00198 } 00199 setActionFlag(SiStripWebInterface::NoAction); 00200 }
void SiStripWebInterface::returnReplyXml | ( | xgi::Output * | out, | |
const std::string & | name, | |||
const std::string & | comment | |||
) | [private] |
Definition at line 201 of file SiStripWebInterface.cc.
References lat::endl().
Referenced by handleAnalyserRequest().
00201 { 00202 out->getHTTPResponseHeader().addHeader("Content-Type", "text/xml"); 00203 *out << "<?xml version=\"1.0\" ?>" << std::endl; 00204 *out << "<"<<name<<">" << std::endl; 00205 *out << " <Response>" << comment << "</Response>" << std::endl; 00206 *out << "</"<<name<<">" << std::endl; 00207 }
void SiStripWebInterface::setActionFlag | ( | SiStripActionType | flag | ) | [inline] |
Definition at line 35 of file SiStripWebInterface.h.
References theActionFlag.
Referenced by SiStripAnalyser::analyze(), SiStripAnalyser::endLuminosityBlock(), and performAction().
00035 {theActionFlag = flag;}
Definition at line 48 of file SiStripWebInterface.h.
bool SiStripWebInterface::condDBFlag_ [private] |
Definition at line 57 of file SiStripWebInterface.h.
std::vector<CondDBPlotParameter> SiStripWebInterface::condDBRequestList_ [private] |
Definition at line 68 of file SiStripWebInterface.h.
Referenced by clearConDBPlotRequests(), getConDBPlotParameters(), getNumberOfConDBPlotRequest(), and handleAnalyserRequest().
DQMStore* SiStripWebInterface::dqmStore_ [private] |
Definition at line 55 of file SiStripWebInterface.h.
Referenced by handleAnalyserRequest(), and performAction().
Definition at line 49 of file SiStripWebInterface.h.
Referenced by handleAnalyserRequest(), performAction(), SiStripWebInterface(), and ~SiStripWebInterface().
std::multimap<std::string, std::string> SiStripWebInterface::requestMap_ [private] |
Definition at line 47 of file SiStripWebInterface.h.
Referenced by getActionFlag(), handleAnalyserRequest(), performAction(), setActionFlag(), and SiStripWebInterface().