Go to the documentation of this file.00001 #ifndef _SiPixelWebInterface_h_
00002 #define _SiPixelWebInterface_h_
00003
00004 #include "DQM/TrackerCommon/interface/WebInterface.h"
00005 #include "DQMServices/Core/interface/MonitorElement.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007
00008 class DQMStore;
00009 class SiPixelActionExecutor;
00010 class SiPixelInformationExtractor;
00011 class SiPixelEDAClient;
00012
00013 class SiPixelWebInterface
00014 {
00015
00016 public:
00017
00018 enum SiPixelActionType{NoAction = 0,
00019 Summary = 1,
00020 setupQTest = 2,
00021 QTestResult = 3,
00022 CreateTkMap = 4,
00023 PlotSingleModuleHistos = 5,
00024 PlotSingleHistogram = 6,
00025 PlotTkMapHistogram = 7,
00026 periodicTrackerMapUpdate = 8,
00027 PlotHistogramFromPath = 9,
00028 CreatePlots = 10,
00029 ComputeGlobalQualityFlag = 11,
00030 dumpModIds = 12,
00031 Occupancy = 13};
00032
00033 SiPixelWebInterface(DQMStore* bei,
00034 bool offlineXMLfile,
00035 bool Tier0Flag);
00036 ~SiPixelWebInterface();
00037
00038 void handleEDARequest(xgi::Input* in,
00039 xgi::Output* out,
00040 int niter);
00041
00042 SiPixelActionType getActionFlag() {return theActionFlag;}
00043 void setActionFlag(SiPixelActionType flag) {theActionFlag = flag;}
00044 void performAction();
00045
00046 bool readConfiguration(int& tkmap_freq,
00047 int& summary_freq);
00048
00049 bool createTkMap();
00050 void periodicTkMapUpdate( xgi::Output * out);
00051
00052 private:
00053
00054 std::string get_from_multimap(std::multimap<std::string, std::string> &mymap, std::string key);
00055
00056 SiPixelActionType theActionFlag;
00057 SiPixelActionExecutor* actionExecutor_;
00058 SiPixelInformationExtractor* infoExtractor_;
00059
00060 void returnReplyXml(xgi::Output * out,
00061 const std::string& name,
00062 const std::string& comment);
00063
00064 std::vector<std::string> tkMapOptions_;
00065 bool tkMapCreated;
00066 std::multimap<std::string, std::string> requestMap_;
00067 DQMStore* bei_;
00068 bool offlineXMLfile_;
00069 bool Tier0Flag_;
00070
00071 protected:
00072
00073 };
00074
00075 #endif