00001 /*DQM For Tau HLT 00002 Author : Michail Bachtis 00003 University of Wisconsin-Madison 00004 bachtis@hep.wisc.edu 00005 */ 00006 00007 #include "FWCore/Framework/interface/EDAnalyzer.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "DataFormats/Common/interface/Handle.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/Framework/interface/EventSetup.h" 00012 #include "FWCore/Framework/interface/ESHandle.h" 00013 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00014 #include "FWCore/ServiceRegistry/interface/Service.h" 00015 #include "FWCore/Utilities/interface/Digest.h" 00016 00017 //Plotters 00018 #include "DQMOffline/Trigger/interface/HLTTauDQMSummaryPlotter.h" 00019 00020 //Automatic Configuration 00021 #include "DQMOffline/Trigger/interface/HLTTauDQMAutomation.h" 00022 00023 class HLTTauPostProcessor : public edm::EDAnalyzer { 00024 public: 00025 HLTTauPostProcessor( const edm::ParameterSet& ); 00026 ~HLTTauPostProcessor(); 00027 00028 protected: 00030 void beginJob(); 00031 00033 void beginRun(const edm::Run& r, const edm::EventSetup& c); 00034 00036 void analyze(const edm::Event& e, const edm::EventSetup& c) ; 00037 00039 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& iSetup); 00041 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& iSetup); 00043 void endRun(const edm::Run& r, const edm::EventSetup& iSetup); 00044 00046 void endJob(); 00047 00048 void harvest(); 00049 00050 private: 00051 //Helper function to retrieve data from the parameter set 00052 void processPSet( const edm::ParameterSet& pset ); 00053 00054 edm::ParameterSet ps_; 00055 std::vector<edm::ParameterSet> setup_; 00056 std::string dqmBaseFolder_; 00057 bool hltMenuChanged_; 00058 std::string hltProcessName_; 00059 std::string sourceModule_; 00060 00061 double L1MatchDr_; 00062 double HLTMatchDr_; 00063 00064 HLTConfigProvider HLTCP_; 00065 HLTTauDQMAutomation automation_; 00066 00067 bool runAtEndJob_; 00068 bool runAtEndRun_; 00069 00070 std::vector<HLTTauDQMSummaryPlotter*> summaryPlotters_; 00071 };