00001 // CMSDAS11DijetAnalyzer.cc 00002 // Description: A basic dijet analyzer for the CMSDAS 2011 00003 // Author: John Paul Chou 00004 // Date: January 12, 2011 00005 00006 #ifndef __CMSDAS11_DIJET_ANALYZER_H__ 00007 #define __CMSDAS11_DIJET_ANALYZER_H__ 00008 00009 #include "FWCore/Framework/interface/Event.h" 00010 #include "FWCore/Utilities/interface/InputTag.h" 00011 #include "FWCore/Framework/interface/EDAnalyzer.h" 00012 00013 #include "DataFormats/JetReco/interface/CaloJetCollection.h" 00014 00015 #include <string> 00016 00017 class TH1D; 00018 class TH2D; 00019 00020 class CMSDAS11DijetAnalyzer : public edm::EDAnalyzer { 00021 public: 00022 CMSDAS11DijetAnalyzer(const edm::ParameterSet &); 00023 void analyze( const edm::Event& , const edm::EventSetup& ); 00024 virtual ~CMSDAS11DijetAnalyzer() {} 00025 virtual void beginJob() {} 00026 virtual void endJob(void); 00027 00028 static bool compare_JetPt(const reco::CaloJet& jet1, const reco::CaloJet& jet2) { 00029 return (jet1.pt() > jet2.pt() ); 00030 } 00031 private: 00032 00033 // Parameters 00034 edm::InputTag jetSrc; 00035 edm::InputTag vertexSrc; 00036 std::string jetCorrections; 00037 double innerDeltaEta; 00038 double outerDeltaEta; 00039 double JESbias; 00040 00041 // Histograms to be filled 00042 TH1D* hVertexZ; 00043 TH1D* hJetCorrPt; 00044 TH1D* hJetRawPt; 00045 TH1D* hJetEta; 00046 TH1D* hJetPhi; 00047 TH1D* hJetEMF; 00048 00049 TH1D* hRawDijetMass; 00050 TH1D* hCorDijetMass; 00051 TH1D* hCorDijetXsec; 00052 TH1D* hJet1Pt; 00053 TH1D* hJet1Eta; 00054 TH1D* hJet1Phi; 00055 TH1D* hJet1EMF; 00056 TH1D* hJet2Pt; 00057 TH1D* hJet2Eta; 00058 TH1D* hJet2Phi; 00059 TH1D* hJet2EMF; 00060 TH1D* hDijetDeltaPhi; 00061 TH1D* hDijetDeltaEta; 00062 00063 TH1D* hInnerDijetMass; 00064 TH1D* hOuterDijetMass; 00065 00066 }; 00067 00068 00069 #endif