00001 #ifndef DQMPROVINFO_H 00002 #define DQMPROVINFO_H 00003 00004 /* 00005 * \file DQMProvInfo.h 00006 * 00007 * $Date: 2011/11/23 14:24:50 $ 00008 * $Revision: 1.14 $ 00009 * \author A.Meyer - DESY 00010 * 00011 */ 00012 00013 #include <FWCore/Framework/interface/Frameworkfwd.h> 00014 #include <FWCore/Framework/interface/EDAnalyzer.h> 00015 #include <FWCore/Framework/interface/Event.h> 00016 #include <FWCore/Framework/interface/Run.h> 00017 #include <FWCore/Framework/interface/MakerMacros.h> 00018 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00019 #include <FWCore/ServiceRegistry/interface/Service.h> 00020 00021 #include <DQMServices/Core/interface/DQMStore.h> 00022 #include <DQMServices/Core/interface/MonitorElement.h> 00023 00024 #include <string> 00025 #include <vector> 00026 00027 class DQMProvInfo: public edm::EDAnalyzer{ 00028 00029 public: 00030 00032 DQMProvInfo(const edm::ParameterSet& ps); 00033 00035 virtual ~DQMProvInfo(); 00036 00037 protected: 00038 00040 void analyze(const edm::Event& e, const edm::EventSetup& c); 00041 void beginRun(const edm::Run& r, const edm::EventSetup& c) ; 00042 void endLuminosityBlock(const edm::LuminosityBlock& l, const edm::EventSetup& c); 00043 00044 private: 00045 00046 std::string getShowTags(void); 00047 void makeProvInfo(); 00048 void makeHLTKeyInfo(const edm::Run& r, const edm::EventSetup &c); 00049 void makeDcsInfo(const edm::Event& e); 00050 void makeGtInfo(const edm::Event& e); 00051 00052 DQMStore *dbe_; 00053 00054 edm::ParameterSet parameters_; 00055 00056 std::string provinfofolder_; 00057 std::string subsystemname_; 00058 std::string globalTag_; 00059 std::string runType_; 00060 std::string nameProcess_; 00061 00062 bool physDecl_; 00063 bool dcs25[25]; 00064 bool gotProcessParameterSet_; 00065 00066 int lastlumi_; 00067 int lhcFill_; 00068 int beamMode_; 00069 int momentum_; 00070 int intensity1_; 00071 int intensity2_; 00072 00073 00074 00075 // histograms 00076 MonitorElement * versCMSSW_ ; 00077 MonitorElement * versDataset_ ; 00078 MonitorElement * versTaglist_ ; 00079 MonitorElement * versGlobaltag_ ; 00080 MonitorElement * versRuntype_ ; 00081 MonitorElement * hostName_; 00082 00083 MonitorElement * workingDir_; 00084 MonitorElement * processId_; 00085 MonitorElement * isComplete_; 00086 MonitorElement * fileVersion_; 00087 00088 MonitorElement * hBeamMode_; 00089 MonitorElement * hLhcFill_; 00090 MonitorElement * hMomentum_; 00091 MonitorElement * hIntensity1_; 00092 MonitorElement * hIntensity2_; 00093 00094 MonitorElement * hIsCollisionsRun_; 00095 MonitorElement * hHltKey_; 00096 00097 MonitorElement * reportSummary_; 00098 MonitorElement * reportSummaryMap_; 00099 00100 }; 00101 00102 #endif