00001 #ifndef PFJetAnalyzer_H 00002 #define PFJetAnalyzer_H 00003 00004 00015 #include <memory> 00016 #include <fstream> 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "DQMOffline/JetMET/src/PFJetAnalyzerBase.h" 00019 #include "FWCore/Framework/interface/Event.h" 00020 #include "FWCore/Framework/interface/MakerMacros.h" 00021 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00022 #include "FWCore/ServiceRegistry/interface/Service.h" 00023 #include "DQMServices/Core/interface/DQMStore.h" 00024 #include "DQMServices/Core/interface/MonitorElement.h" 00025 //#include "DataFormats/JetReco/interface/CaloJetCollection.h" 00026 #include "DataFormats/JetReco/interface/PFJet.h" 00027 00028 00029 00030 class PFJetAnalyzer : public PFJetAnalyzerBase { 00031 public: 00032 00034 PFJetAnalyzer(const edm::ParameterSet&); 00035 00037 virtual ~PFJetAnalyzer(); 00038 00040 void beginJob(edm::EventSetup const& iSetup, DQMStore *dbe); 00041 00043 void analyze(const edm::Event&, const edm::EventSetup&, const reco::PFJet& jet); 00044 00045 00046 private: 00047 // ----------member data --------------------------- 00048 00049 edm::ParameterSet parameters; 00050 // Switch for verbosity 00051 std::string metname; 00052 // Calo Jet Label 00053 edm::InputTag thePFJetCollectionLabel; 00054 00055 // Generic Jet Parameters 00056 MonitorElement* mEta; 00057 MonitorElement* mPhi; 00058 MonitorElement* mE; 00059 MonitorElement* mP; 00060 MonitorElement* mPt; 00061 MonitorElement* mMass; 00062 MonitorElement* mConstituents; 00063 00064 // Leading Jet Parameters 00065 MonitorElement* mEtaFirst; 00066 MonitorElement* mPhiFirst; 00067 MonitorElement* mEFirst; 00068 MonitorElement* mPtFirst; 00069 00070 // PFlowJet specific 00071 00072 MonitorElement* mChargedHadronEnergy; 00073 MonitorElement* mNeutralHadronEnergy; 00074 MonitorElement* mChargedEmEnergy; 00075 MonitorElement* mChargedMuEnergy; 00076 MonitorElement* mNeutralEmEnergy; 00077 MonitorElement* mChargedMultiplicity; 00078 MonitorElement* mNeutralMultiplicity; 00079 MonitorElement* mMuonMultiplicity; 00080 00081 //new Plots with Res./ Eff. as function of neutral, charged & em fraction 00082 00083 MonitorElement* mNeutralFraction; 00084 MonitorElement* mNeutralFraction2; 00085 00086 MonitorElement* mEEffNeutralFraction; 00087 MonitorElement* mEEffChargedFraction; 00088 MonitorElement* mEResNeutralFraction; 00089 MonitorElement* mEResChargedFraction; 00090 MonitorElement* nEEff; 00091 00092 }; 00093 #endif