CMS 3D CMS Logo

SiStripInformationExtractor.h

Go to the documentation of this file.
00001 #ifndef _SiStripInformationExtractor_h_
00002 #define _SiStripInformationExtractor_h_
00003 
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006 
00007 
00008 #include "xgi/Utils.h"
00009 #include "xgi/Method.h"
00010 
00011 
00012 #include <fstream>
00013 #include <sstream>
00014 #include <map>
00015 #include <vector>
00016 #include <string>
00017 #include <map>
00018 
00019 class SiStripLayoutParser;
00020 class SiStripDetCabling;
00021 class DQMStore;
00022 class QReport;
00023 class SiStripHistoPlotter;
00024 
00025 class SiStripInformationExtractor {
00026 
00027  public:
00028 
00029   SiStripInformationExtractor();
00030  ~SiStripInformationExtractor();
00031 
00032   void getSingleModuleHistos(DQMStore * dqm_store, 
00033        const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00034   void getGlobalHistos(DQMStore* dqm_store, 
00035        const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00036   void getHistosFromPath(DQMStore * dqm_store, 
00037        const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00038   void getTrackerMapHistos(DQMStore* dqm_store, 
00039        const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00040   void getCondDBHistos(DQMStore* dqm_store, 
00041        const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00042 
00043   void readModuleAndHistoList(DQMStore* dqm_store,std::string& sname, const edm::ESHandle<SiStripDetCabling>& detcabling,xgi::Output * out);
00044   void plotHistosFromLayout(DQMStore * dqm_store);
00045   void readSummaryHistoTree(DQMStore* dqm_store, std::string& str_name, 
00046                 xgi::Output * out);
00047   void readAlarmTree(DQMStore* dqm_store, std::string& str_name, 
00048                 xgi::Output * out);
00049  
00050   void readStatusMessage(DQMStore* dqm_store, std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00051   void readGlobalHistoList(DQMStore* dqm_store, std::string& dname, xgi::Output * out);
00052   void readLayoutNames(std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00053 
00054   void readQTestSummary(DQMStore* dqm_store, std::string type, const edm::ESHandle<SiStripDetCabling>& detcabling, xgi::Output * out);
00055 
00056   void readNonGeomHistoTree(DQMStore* dqm_store, std::string& fld_name, xgi::Output * out);
00057   
00058   void createImages(DQMStore* dqm_store);
00059   void getIMGCImage(const std::multimap<std::string, std::string>& req_map, xgi::Output * out);
00060 
00061  private:
00062 
00063   void readConfiguration();
00064 
00065 
00066  
00067   void getItemList(const std::multimap<std::string, std::string>& req_map,
00068                    std::string item_name, std::vector<std::string>& items);
00069   bool hasItem(const std::multimap<std::string, std::string>& req_map,
00070               std::string item_name);
00071   std::string getItemValue(const std::multimap<std::string, std::string>& req_map,
00072               std::string item_name);
00073   void printSummaryHistoList(DQMStore* dqm_store, std::ostringstream& str_val);
00074   void printAlarmList(DQMStore * dqm_store, std::ostringstream& str_val);
00075   void printNonGeomHistoList(DQMStore * dqm_store, std::ostringstream& str_val);
00076 
00077   void selectImage(std::string& name, int status);
00078   void selectImage(std::string& name, std::vector<QReport*> & reports);
00079   void selectColor(std::string& col, int status);
00080   void selectColor(std::string& col, std::vector<QReport*>& reports);
00081 
00082   
00083   void setHTMLHeader(xgi::Output * out);
00084   void setXMLHeader(xgi::Output * out);
00085   void setPlainHeader(xgi::Output * out);
00086 
00087 
00088   SiStripLayoutParser* layoutParser_;
00089 
00090   std::map<std::string, std::vector< std::string > > layoutMap;
00091   bool  readReference_;
00092  
00093 
00094   SiStripHistoPlotter* histoPlotter_;
00095 };
00096 #endif

Generated on Tue Jun 9 17:33:34 2009 for CMSSW by  doxygen 1.5.4