00001 #ifndef ValidationRecoJetsCaloJetTester_h 00002 #define ValidationRecoJetsCaloJetTester_h 00003 00004 // Producer for validation histograms for CaloJet objects 00005 // F. Ratnikov, Sept. 7, 2006 00006 // $Id: CaloJetTester.h,v 1.4 2008/02/29 20:49:03 ksmith Exp $ 00007 00008 #include <string> 00009 00010 #include "FWCore/Framework/interface/EDAnalyzer.h" 00011 #include "DQMServices/Core/interface/MonitorElement.h" 00012 00013 namespace reco { 00014 class CaloJet; 00015 class GenJet; 00016 } 00017 00018 class MonitorElement; 00019 00020 class CaloJetTester : public edm::EDAnalyzer { 00021 public: 00022 00023 CaloJetTester (const edm::ParameterSet&); 00024 ~CaloJetTester(); 00025 00026 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00027 virtual void beginJob(const edm::EventSetup&) ; 00028 virtual void endJob() ; 00029 00030 private: 00031 00032 void fillMatchHists (const reco::GenJet& fGenJet, const reco::CaloJet& fCaloJet); 00033 00034 edm::InputTag mInputCollection; 00035 edm::InputTag mInputGenCollection; 00036 std::string mOutputFile; 00037 00038 // Generic Jet Parameters 00039 MonitorElement* mEta; 00040 MonitorElement* mPhi; 00041 MonitorElement* mE; 00042 MonitorElement* mP; 00043 MonitorElement* mPt; 00044 MonitorElement* mMass; 00045 MonitorElement* mConstituents; 00046 00047 // Leading Jet Parameters 00048 MonitorElement* mEtaFirst; 00049 MonitorElement* mPhiFirst; 00050 MonitorElement* mEFirst; 00051 MonitorElement* mPtFirst; 00052 00053 // CaloJet specific 00054 MonitorElement* mMaxEInEmTowers; 00055 MonitorElement* mMaxEInHadTowers; 00056 MonitorElement* mHadEnergyInHO; 00057 MonitorElement* mHadEnergyInHB; 00058 MonitorElement* mHadEnergyInHF; 00059 MonitorElement* mHadEnergyInHE; 00060 MonitorElement* mEmEnergyInEB; 00061 MonitorElement* mEmEnergyInEE; 00062 MonitorElement* mEmEnergyInHF; 00063 MonitorElement* mEnergyFractionHadronic; 00064 MonitorElement* mEnergyFractionEm; 00065 MonitorElement* mN90; 00066 00067 // CaloJet<->GenJet matching 00068 MonitorElement* mAllGenJetsPt; 00069 MonitorElement* mMatchedGenJetsPt; 00070 MonitorElement* mAllGenJetsEta; 00071 MonitorElement* mMatchedGenJetsEta; 00072 MonitorElement* mGenJetMatchEnergyFraction; 00073 MonitorElement* mReverseMatchEnergyFraction; 00074 MonitorElement* mRMatch; 00075 MonitorElement* mDeltaEta; 00076 MonitorElement* mDeltaPhi; 00077 MonitorElement* mEScale; 00078 MonitorElement* mDeltaE; 00079 00080 // Matching parameters 00081 double mMatchGenPtThreshold; 00082 double mGenEnergyFractionThreshold; 00083 double mReverseEnergyFractionThreshold; 00084 double mRThreshold; 00085 }; 00086 00087 #endif