CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/DQMOffline/Trigger/interface/JetMETHLTOfflineClient.h

Go to the documentation of this file.
00001 #ifndef DQMOFFLINE_TRIGGER_JETMETHLTOFFLINECLIENT
00002 #define DQMOFFLINE_TRIGGER_JETMETHLTOFFLINECLIENT
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    JetMETHLTOffline
00007 // Class:      JetMETHLTOffline
00008 // 
00009 /*
00010  Description: This is a DQM client meant to plot high-level HLT trigger 
00011  quantities as stored in the HLT results object TriggerResults for the JetMET triggers
00012 */
00013 
00014 //
00015 // Originally create by:  Kenichi Hatakeyama
00016 //                        April 2009
00017 // Owned by:              Shabnam Jabeen
00018 //
00019 //
00020 
00021 #include <memory>
00022 #include <unistd.h>
00023 #include <FWCore/Framework/interface/EDAnalyzer.h>
00024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00025 #include "DQMServices/Core/interface/MonitorElement.h"
00026 #include "DQMServices/Core/interface/DQMStore.h"
00027 #include "DataFormats/Common/interface/Handle.h"
00028 #include "FWCore/Framework/interface/Event.h"
00029 #include "FWCore/Framework/interface/EventSetup.h"
00030 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032 #include "DataFormats/Math/interface/LorentzVector.h"
00033 
00034 #include "DataFormats/Common/interface/TriggerResults.h"
00035 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00036 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00037 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
00038 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
00039 
00040 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00041 #include "DataFormats/METReco/interface/CaloMETCollection.h"
00042 #include "DataFormats/METReco/interface/CaloMET.h"
00043 
00044 #include <iostream>
00045 #include <fstream>
00046 #include <vector>
00047 
00048 class DQMStore;
00049 class MonitorElement;
00050 
00051 class JetMETHLTOfflineClient : public edm::EDAnalyzer {
00052  
00053  private:
00054   DQMStore* dbe_; //dbe seems to be the standard name for this, I dont know why. We of course dont own it
00055 
00056   edm::ParameterSet conf_;
00057 
00058   bool debug_;
00059   bool verbose_;
00060 
00061   std::string dirName_;
00062   std::string hltTag_;
00063   std::string processname_;
00064 
00065  public:
00066   explicit JetMETHLTOfflineClient(const edm::ParameterSet& );
00067   virtual ~JetMETHLTOfflineClient();
00068   
00069   virtual void beginJob();
00070   virtual void endJob();
00071   virtual void beginRun(const edm::Run& run, const edm::EventSetup& c);
00072   virtual void endRun(const edm::Run& run, const edm::EventSetup& c);
00073   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00074   virtual void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& c);
00075   virtual void runClient_();   
00076 
00077 };
00078  
00079 #endif