![]() |
![]() |
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/interface/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(DQMStore * dbe); 00041 00043 void analyze(const edm::Event&, const edm::EventSetup&, const reco::PFJetCollection& pfJets); 00044 // 00045 void setSource(std::string source) { 00046 _source = source; 00047 } 00048 // 00049 void setLeadJetFlag(int flag) { 00050 _leadJetFlag = flag; 00051 } 00052 int getLeadJetFlag() { 00053 return _leadJetFlag; 00054 } 00055 void setJetLoPass(int pass) { 00056 _JetLoPass = pass; 00057 } 00058 00059 void setJetHiPass(int pass) { 00060 _JetHiPass = pass; 00061 } 00062 00063 00064 private: 00065 // ----------member data --------------------------- 00066 00067 int _JetLoPass; 00068 int _JetHiPass; 00069 int _leadJetFlag; 00070 double _ptThreshold; 00071 //histo binning parameters 00072 int etaBin; 00073 double etaMin; 00074 double etaMax; 00075 00076 int phiBin; 00077 double phiMin; 00078 double phiMax; 00079 00080 int ptBin; 00081 double ptMin; 00082 double ptMax; 00083 00084 int eBin; 00085 double eMin; 00086 double eMax; 00087 00088 int pBin; 00089 double pMin; 00090 double pMax; 00091 00092 int fillpfJIDPassFrac; 00093 00094 double _ThisCHFMin; 00095 double _ThisNHFMax; 00096 double _ThisCEFMax; 00097 double _ThisNEFMax; 00098 double _LooseCHFMin; 00099 double _LooseNHFMax; 00100 double _LooseCEFMax; 00101 double _LooseNEFMax; 00102 double _TightCHFMin; 00103 double _TightNHFMax; 00104 double _TightCEFMax; 00105 double _TightNEFMax; 00106 00107 //the histos 00108 MonitorElement* jetME; 00109 00110 edm::ParameterSet parameters; 00111 // Switch for verbosity 00112 std::string metname; 00113 // Calo Jet Label 00114 edm::InputTag thePFJetCollectionLabel; 00115 std::string _source; 00116 00117 /* // Generic Jet Parameters */ 00118 /* MonitorElement* mEta; */ 00119 /* MonitorElement* mPhi; */ 00120 /* MonitorElement* mE; */ 00121 /* MonitorElement* mP; */ 00122 /* MonitorElement* mPt; */ 00123 /* MonitorElement* mMass; */ 00124 /* MonitorElement* mConstituents; */ 00125 00126 /* // Leading Jet Parameters */ 00127 /* MonitorElement* mEtaFirst; */ 00128 /* MonitorElement* mPhiFirst; */ 00129 /* MonitorElement* mEFirst; */ 00130 /* MonitorElement* mPtFirst; */ 00131 MonitorElement* mPt; 00132 MonitorElement* mPt_1; 00133 MonitorElement* mPt_2; 00134 MonitorElement* mPt_3; 00135 MonitorElement* mEta; 00136 MonitorElement* mPhi; 00137 MonitorElement* mConstituents; 00138 MonitorElement* mHFrac; 00139 MonitorElement* mEFrac; 00140 MonitorElement* mPhiVSEta; 00141 00142 MonitorElement* mPt_Barrel; 00143 MonitorElement* mPhi_Barrel; 00144 00145 MonitorElement* mPt_EndCap; 00146 MonitorElement* mPhi_EndCap; 00147 00148 MonitorElement* mPt_Forward; 00149 MonitorElement* mPhi_Forward; 00150 00151 MonitorElement* mPt_Barrel_Lo; 00152 MonitorElement* mPhi_Barrel_Lo; 00153 MonitorElement* mConstituents_Barrel_Lo; 00154 MonitorElement* mHFrac_Barrel_Lo; 00155 MonitorElement* mPt_EndCap_Lo; 00156 MonitorElement* mPhi_EndCap_Lo; 00157 MonitorElement* mConstituents_EndCap_Lo; 00158 MonitorElement* mHFrac_EndCap_Lo; 00159 MonitorElement* mPt_Forward_Lo; 00160 MonitorElement* mPhi_Forward_Lo; 00161 MonitorElement* mConstituents_Forward_Lo; 00162 MonitorElement* mHFrac_Forward_Lo; 00163 00164 MonitorElement* mPt_Barrel_Hi; 00165 MonitorElement* mPhi_Barrel_Hi; 00166 MonitorElement* mConstituents_Barrel_Hi; 00167 MonitorElement* mHFrac_Barrel_Hi; 00168 MonitorElement* mPt_EndCap_Hi; 00169 MonitorElement* mPhi_EndCap_Hi; 00170 MonitorElement* mConstituents_EndCap_Hi; 00171 MonitorElement* mHFrac_EndCap_Hi; 00172 MonitorElement* mPt_Forward_Hi; 00173 MonitorElement* mPhi_Forward_Hi; 00174 MonitorElement* mConstituents_Forward_Hi; 00175 MonitorElement* mHFrac_Forward_Hi; 00176 // --- 00177 00178 00179 MonitorElement* mE_Barrel; 00180 MonitorElement* mE_EndCap; 00181 MonitorElement* mE_Forward; 00182 00183 MonitorElement* mE; 00184 MonitorElement* mP; 00185 MonitorElement* mMass; 00186 MonitorElement* mNJets; 00187 MonitorElement* mDPhi; 00188 00189 // Leading Jet Parameters 00190 MonitorElement* mEtaFirst; 00191 MonitorElement* mPhiFirst; 00192 MonitorElement* mEFirst; 00193 MonitorElement* mPtFirst; 00194 00195 // Events passing the jet triggers 00196 MonitorElement* mEta_Lo; 00197 MonitorElement* mPhi_Lo; 00198 MonitorElement* mPt_Lo; 00199 00200 MonitorElement* mEta_Hi; 00201 MonitorElement* mPhi_Hi; 00202 MonitorElement* mPt_Hi; 00203 // PFlowJet specific 00204 00205 MonitorElement* mChargedHadronEnergy; 00206 MonitorElement* mNeutralHadronEnergy; 00207 MonitorElement* mChargedEmEnergy; 00208 MonitorElement* mChargedMuEnergy; 00209 MonitorElement* mNeutralEmEnergy; 00210 MonitorElement* mChargedMultiplicity; 00211 MonitorElement* mNeutralMultiplicity; 00212 MonitorElement* mMuonMultiplicity; 00213 00214 //new Plots with Res./ Eff. as function of neutral, charged & em fraction 00215 00216 MonitorElement* mNeutralFraction; 00217 MonitorElement* mNeutralFraction2; 00218 00219 MonitorElement* mEEffNeutralFraction; 00220 MonitorElement* mEEffChargedFraction; 00221 MonitorElement* mEResNeutralFraction; 00222 MonitorElement* mEResChargedFraction; 00223 MonitorElement* nEEff; 00224 00225 MonitorElement* mLooseJIDPassFractionVSeta; 00226 MonitorElement* mLooseJIDPassFractionVSpt; 00227 MonitorElement* mTightJIDPassFractionVSeta; 00228 MonitorElement* mTightJIDPassFractionVSpt; 00229 00230 }; 00231 #endif