00001 /*Offlone DQM For Tau HLT 00002 Author : Michail Bachtis 00003 University of Wisconsin-Madison 00004 bachtis@hep.wisc.edu 00005 */ 00006 00007 00008 #include <memory> 00009 #include <unistd.h> 00010 #include <FWCore/Framework/interface/EDAnalyzer.h> 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "DQMServices/Core/interface/MonitorElement.h" 00013 #include "DQMServices/Core/interface/DQMStore.h" 00014 #include "DataFormats/Common/interface/Handle.h" 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/Framework/interface/EventSetup.h" 00017 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00018 #include "FWCore/ServiceRegistry/interface/Service.h" 00019 #include "DataFormats/Math/interface/LorentzVector.h" 00020 //Plotters 00021 #include "DQM/HLTEvF/interface/HLTTauDQML1Plotter.h" 00022 #include "DQM/HLTEvF/interface/HLTTauDQMCaloPlotter.h" 00023 #include "DQM/HLTEvF/interface/HLTTauDQMTrkPlotter.h" 00024 #include "DQM/HLTEvF/interface/HLTTauDQMPathPlotter.h" 00025 #include "DQM/HLTEvF/interface/HLTTauDQMLitePathPlotter.h" 00026 00027 // 00028 // class declaration 00029 // 00030 00031 typedef math::XYZTLorentzVectorD LV; 00032 typedef std::vector<LV> LVColl; 00033 00034 class HLTTauDQMOfflineSource : public edm::EDAnalyzer { 00035 public: 00036 HLTTauDQMOfflineSource( const edm::ParameterSet& ); 00037 ~HLTTauDQMOfflineSource(); 00038 00039 protected: 00040 00042 void beginJob(); 00043 00045 void beginRun(const edm::Run& r, const edm::EventSetup& c); 00046 00048 void analyze(const edm::Event& e, const edm::EventSetup& c) ; 00049 00051 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00052 const edm::EventSetup& context) ; 00054 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00055 const edm::EventSetup& c); 00057 void endRun(const edm::Run& r, const edm::EventSetup& c); 00058 00060 void endJob(); 00061 00062 00063 00064 private: 00065 DQMStore* dbe_; 00066 std::vector<edm::ParameterSet> config_; 00067 std::vector<std::string> configType_; 00068 00069 //Reference 00070 bool doRefAnalysis_; 00071 int NPtBins_; 00072 int NEtaBins_; 00073 int NPhiBins_; 00074 double EtMax_; 00075 double L1MatchDr_; 00076 double HLTMatchDr_; 00077 00078 00079 std::vector<edm::InputTag> refObjects_; 00080 00081 00082 // edm::InputTag refFilter2_; 00083 // int refID2_; 00084 // double ptThres2_; 00085 00086 00087 //DQM Prescaler 00088 int counterEvt_; 00089 int prescaleEvt_; 00090 00091 //get The trigger Event 00092 edm::InputTag triggerEvent_; 00093 00094 //Define Dummy vectors of Plotters 00095 std::vector<HLTTauDQML1Plotter> l1Plotters; 00096 std::vector<HLTTauDQMCaloPlotter> caloPlotters; 00097 std::vector<HLTTauDQMTrkPlotter> trackPlotters; 00098 std::vector<HLTTauDQMPathPlotter> pathPlotters; 00099 std::vector<HLTTauDQMLitePathPlotter> litePathPlotters; 00100 }; 00101