Go to the documentation of this file.00001 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFLINESUMMARYCLIENT
00002 #define DQMOFFLINE_TRIGGER_EGHLTOFFLINESUMMARYCLIENT
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "FWCore/Framework/interface/Frameworkfwd.h"
00024 #include "FWCore/Framework/interface/EDAnalyzer.h"
00025
00026 #include <vector>
00027 #include <string>
00028
00029 class DQMStore;
00030 class MonitorElement;
00031
00032
00033 class EgHLTOfflineSummaryClient : public edm::EDAnalyzer {
00034
00035 public:
00036 struct SumHistBinData {
00037 std::string name;
00038 std::vector<std::string> qTestPatterns;
00039 };
00040
00041 private:
00042 DQMStore* dbe_;
00043 std::string dirName_;
00044 std::string egHLTSumHistName_;
00045
00046 std::vector<std::string> eleHLTFilterNames_;
00047 std::vector<std::string> phoHLTFilterNames_;
00048 std::vector<std::string> egHLTFiltersToMon_;
00049
00050 std::vector<std::string> eleHLTFilterNamesForSumBit_;
00051 std::vector<std::string> phoHLTFilterNamesForSumBit_;
00052
00053
00054
00055 std::vector<SumHistBinData> egHLTSumHistXBins_;
00056 std::vector<SumHistBinData> eleQTestsForSumBit_;
00057 std::vector<SumHistBinData> phoQTestsForSumBit_;
00058
00059 bool runClientEndLumiBlock_;
00060 bool runClientEndRun_;
00061 bool runClientEndJob_;
00062
00063 std::vector<std::string> egHLTFiltersToMonPaths_;
00064 bool usePathNames_;
00065
00066 bool filterInactiveTriggers_;
00067 bool isSetup_;
00068 std::string hltTag_;
00069
00070
00071
00072 EgHLTOfflineSummaryClient(const EgHLTOfflineSummaryClient& rhs){}
00073 EgHLTOfflineSummaryClient& operator=(const EgHLTOfflineSummaryClient& rhs){return *this;}
00074
00075 public:
00076 explicit EgHLTOfflineSummaryClient(const edm::ParameterSet& );
00077 virtual ~EgHLTOfflineSummaryClient();
00078
00079
00080 virtual void beginJob();
00081 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00082 virtual void endJob();
00083 virtual void beginRun(const edm::Run& run, const edm::EventSetup& c);
00084 virtual void endRun(const edm::Run& run, const edm::EventSetup& c);
00085
00086
00087 virtual void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,const edm::EventSetup& context){}
00088
00089 virtual void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,const edm::EventSetup& c);
00090
00091
00092
00093 private:
00094 void runClient_();
00095
00096 int getQTestBinData_(const edm::ParameterSet&);
00097
00098
00099 void splitStringsToPairs_(const std::vector<std::string>& stringsToSplit,std::vector<std::pair<std::string,std::string> >& splitStrings);
00100
00101 MonitorElement* getEgHLTSumHist_();
00102
00103
00104
00105 void getEgHLTFiltersToMon_(std::vector<std::string>& filterNames)const;
00106
00107
00108
00109
00110
00111 int getQTestResults_(const std::string& filterName,const std::vector<std::string>& pattern)const;
00112
00113 static void fillQTestData_(const edm::ParameterSet& iConfig,std::vector<SumHistBinData>& qTests,const std::string& label);
00114 };
00115
00116 #endif