Go to the documentation of this file.00001 #ifndef _SiStripActionExecutor_h_
00002 #define _SiStripActionExecutor_h_
00003
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007
00008 #include <iostream>
00009 #include <fstream>
00010 #include <sstream>
00011 #include <map>
00012 #include <vector>
00013 #include <string>
00014
00015 class SiStripSummaryCreator;
00016 class DQMStore;
00017 class MonitorUserInterface;
00018 class SiStripTrackerMapCreator;
00019 class SiStripQualityChecker;
00020 class SiStripFedCabling;
00021 class SiStripDetCabling;
00022 class SiStripConfigWriter;
00023
00024 class SiStripActionExecutor {
00025
00026 public:
00027
00028 SiStripActionExecutor(edm::ParameterSet const& ps);
00029 virtual ~SiStripActionExecutor();
00030
00031
00032 bool readConfiguration();
00033 bool readTkMapConfiguration();
00034
00035 void saveMEs(DQMStore * dqm_store, std::string fname);
00036 void createSummary(DQMStore* dqm_store);
00037 void createSummaryOffline(DQMStore* dqm_store);
00038 void createTkMap(const edm::ParameterSet & tkmapPset,
00039 const edm::ESHandle<SiStripFedCabling>& fedcabling,
00040 DQMStore* dqm_store, std::string& map_type);
00041 void createOfflineTkMap(const edm::ParameterSet & tkmapPset,
00042 DQMStore* dqm_store, std::string& map_type);
00043
00044 void createStatus(DQMStore* dqm_store);
00045 void fillDummyStatus();
00046 void fillStatus(DQMStore* dqm_store, const edm::ESHandle<SiStripDetCabling>& fedcabling);
00047 void fillStatusAtLumi(DQMStore* dqm_store);
00048
00049 void createDummyShiftReport();
00050 void createShiftReport(DQMStore * dqm_store);
00051 void printReportSummary(MonitorElement* me, std::ostringstream& str_val, std::string name);
00052 void printShiftHistoParameters(DQMStore * dqm_store,
00053 std::map<std::string, std::vector<std::string> >&layout_map,std::ostringstream& str_val);
00054 void printFaultyModuleList(DQMStore * dqm_store, std::ostringstream& str_val);
00055 void createFaultyModuleMEs(DQMStore *dqm_store);
00056
00057 private:
00058
00059 std::vector<std::string> tkMapMENames;
00060
00061 SiStripSummaryCreator* summaryCreator_;
00062 SiStripTrackerMapCreator* tkMapCreator_;
00063 SiStripQualityChecker* qualityChecker_;
00064
00065 SiStripConfigWriter* configWriter_;
00066
00067 edm::ParameterSet pSet_;
00068
00069 };
00070 #endif