CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQMOffline/JetMET/interface/JetMETAnalyzer.h

Go to the documentation of this file.
00001 #ifndef JetMETAnalyzer_H
00002 #define JetMETAnalyzer_H
00003 
00004 
00016 #include <memory>
00017 #include <fstream>
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "FWCore/Framework/interface/EDAnalyzer.h"
00020 #include "FWCore/Framework/interface/Event.h"
00021 #include "FWCore/Framework/interface/MakerMacros.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 #include "FWCore/ServiceRegistry/interface/Service.h"
00024 #include "DQMServices/Core/interface/DQMStore.h"
00025 #include "DQMServices/Core/interface/MonitorElement.h"
00026 
00027 #include "DataFormats/Common/interface/TriggerResults.h"
00028 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00029 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00030 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
00031 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
00032 //
00033 #include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h"
00034 //
00035 #include "DQMOffline/JetMET/interface/JetAnalyzer.h"
00036 #include "DQMOffline/JetMET/interface/JetPtAnalyzer.h"
00037 #include "DQMOffline/JetMET/interface/PFJetAnalyzer.h"
00038 #include "DQMOffline/JetMET/interface/JPTJetAnalyzer.h"
00039 #include "DQMOffline/JetMET/interface/CaloMETAnalyzer.h"
00040 #include "DQMOffline/JetMET/interface/METAnalyzer.h"
00041 #include "DQMOffline/JetMET/interface/PFMETAnalyzer.h"
00042 #include "DQMOffline/JetMET/interface/HTMHTAnalyzer.h"
00043 
00044 #include "DQMOffline/JetMET/interface/JetMETDQMDCSFilter.h"
00045 
00046 #include "DataFormats/VertexReco/interface/Vertex.h"
00047 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00048 
00049 #include "DataFormats/Scalers/interface/DcsStatus.h" 
00050 
00051 class JetMETAnalyzer : public edm::EDAnalyzer {
00052  public:
00053 
00055   JetMETAnalyzer(const edm::ParameterSet&);
00056   
00058   virtual ~JetMETAnalyzer();
00059   
00061   void beginJob(void);
00062 
00064   void analyze(const edm::Event&, const edm::EventSetup&);
00065 
00067   void endJob(void);
00068 
00070   void beginRun(const edm::Run&,  const edm::EventSetup&);
00071 
00073   void endRun(const edm::Run&,  const edm::EventSetup&);
00074 
00075 
00076  private:
00077   // ----------member data ---------------------------
00078   
00079   DQMStore* dbe;
00080   edm::ParameterSet parameters;
00081   std::string metname;
00082 
00083   edm::InputTag theCaloJetCollectionLabel; 
00084   edm::InputTag theAKJetCollectionLabel;
00085   edm::InputTag theSCJetCollectionLabel;
00086   edm::InputTag theICJetCollectionLabel;
00087   edm::InputTag thePFJetCollectionLabel;
00088   edm::InputTag theJPTJetCollectionLabel;
00089   edm::InputTag theTriggerResultsLabel;
00090 
00091 
00092   //Cleaning parameters
00093   edm::ParameterSet theCleaningParameters;
00094   edm::InputTag _theVertexLabel;
00095   edm::InputTag _theGTLabel;
00096   std::string _hlt_PhysDec;
00097 
00098   bool _hlt_initialized;
00099 
00100   std::vector<unsigned > _techTrigsAND;
00101   std::vector<unsigned > _techTrigsOR;
00102   std::vector<unsigned > _techTrigsNOT;
00103 
00104   bool _doPVCheck;
00105   bool _doHLTPhysicsOn;
00106 
00107   bool _tightBHFiltering;
00108 
00109   int _nvtx_min;
00110   int _vtxndof_min;
00111   int _nvtxtrks_min;
00112   double _vtxchi2_max;
00113   double _vtxz_max;
00114   //
00115 
00116   int _LSBegin;
00117   int _LSEnd;
00118 
00119   HLTConfigProvider hltConfig_;
00120   std::string processname_;
00121 
00122   //MonitorElement* hltpathME;
00123   MonitorElement* lumisecME;
00124   MonitorElement* cleanupME;
00125   MonitorElement* verticesME;
00126 
00127   GenericTriggerEventFlag * _HighPtJetEventFlag;
00128   GenericTriggerEventFlag * _LowPtJetEventFlag;
00129 
00130   std::vector<std::string> highPtJetExpr_;
00131   std::vector<std::string> lowPtJetExpr_;
00132 
00133   bool theJetAnalyzerFlag;  
00134   bool theIConeJetAnalyzerFlag;
00135   bool theSConeJetAnalyzerFlag;
00136   bool theJetCleaningFlag;
00137 
00138   bool theJetPtAnalyzerFlag;
00139   bool theJetPtCleaningFlag;
00140 
00141   bool thePFJetAnalyzerFlag;
00142   bool thePFJetCleaningFlag;
00143 
00144   bool theDiJetSelectionFlag;
00145 
00146   bool theJPTJetAnalyzerFlag;
00147   bool theJPTJetCleaningFlag;
00148 
00149   bool theCaloMETAnalyzerFlag;
00150 
00151   bool theTcMETAnalyzerFlag;
00152 
00153   bool theMuCorrMETAnalyzerFlag;
00154 
00155   bool thePfMETAnalyzerFlag;
00156 
00157   bool theHTMHTAnalyzerFlag;
00158 
00159   // the jet analyzer
00160   JetAnalyzer       * theJetAnalyzer;
00161   JetAnalyzer       * theAKJetAnalyzer;   
00162   JetAnalyzer       * theSCJetAnalyzer;   
00163   JetAnalyzer       * theICJetAnalyzer;  
00164   JetAnalyzer       * theCleanedAKJetAnalyzer;    
00165   JetAnalyzer       * theCleanedSCJetAnalyzer;
00166   JetAnalyzer       * theCleanedICJetAnalyzer;
00167   JetAnalyzer       * theDiJetAnalyzer;  
00168 
00169   JPTJetAnalyzer    * theJPTJetAnalyzer;   
00170   JPTJetAnalyzer    * theCleanedJPTJetAnalyzer;
00171 
00172   PFJetAnalyzer     * thePFJetAnalyzer;     
00173   PFJetAnalyzer     * theCleanedPFJetAnalyzer; 
00174   PFJetAnalyzer     * thePFDiJetAnalyzer;
00175 
00176   JetPtAnalyzer     * thePtAKJetAnalyzer;
00177   JetPtAnalyzer     * thePtSCJetAnalyzer;
00178   JetPtAnalyzer     * thePtICJetAnalyzer;
00179   JetPtAnalyzer     * theCleanedPtAKJetAnalyzer;
00180   JetPtAnalyzer     * theCleanedPtSCJetAnalyzer;
00181   JetPtAnalyzer     * theCleanedPtICJetAnalyzer;
00182 
00183   CaloMETAnalyzer   * theCaloMETAnalyzer;
00184   //CaloMETAnalyzer   * theCaloMETNoHFAnalyzer;
00185   //CaloMETAnalyzer   * theCaloMETHOAnalyzer;
00186   //CaloMETAnalyzer   * theCaloMETNoHFHOAnalyzer;
00187   CaloMETAnalyzer   * theMuCorrMETAnalyzer;
00188 
00189   METAnalyzer       * theTcMETAnalyzer;
00190 
00191   PFMETAnalyzer     * thePfMETAnalyzer;
00192 
00193   HTMHTAnalyzer     * theHTMHTAnalyzer;
00194 
00195   JetMETDQMDCSFilter * DCSFilterCalo;
00196   JetMETDQMDCSFilter * DCSFilterPF;
00197   JetMETDQMDCSFilter * DCSFilterJPT;
00198   JetMETDQMDCSFilter * DCSFilterAll;
00199 
00200 };
00201 #endif