00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "DQMOffline/JetMET/interface/PFJetAnalyzer.h"
00010 #include "DataFormats/Common/interface/Handle.h"
00011
00012 #include "DataFormats/JetReco/interface/PFJet.h"
00013
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015
00016 #include <string>
00017 using namespace edm;
00018
00019
00020 PFJetAnalyzer::PFJetAnalyzer(const edm::ParameterSet& pSet) {
00021
00022 parameters = pSet;
00023 _leadJetFlag = 0;
00024 _JetLoPass = 0;
00025 _JetHiPass = 0;
00026 _ptThreshold = 5.;
00027 _LooseCHFMin = -999.;
00028 _LooseNHFMax = -999.;
00029 _LooseCEFMax = -999.;
00030 _LooseNEFMax = -999.;
00031 _TightCHFMin = -999.;
00032 _TightNHFMax = -999.;
00033 _TightCEFMax = -999.;
00034 _TightNEFMax = -999.;
00035 _ThisCHFMin = -999.;
00036 _ThisNHFMax = -999.;
00037 _ThisCEFMax = -999.;
00038 _ThisNEFMax = -999.;
00039
00040 }
00041
00042
00043 PFJetAnalyzer::~PFJetAnalyzer() { }
00044
00045
00046 void PFJetAnalyzer::beginJob(DQMStore * dbe) {
00047
00048 metname = "pFJetAnalyzer";
00049
00050 LogTrace(metname)<<"[PFJetAnalyzer] Parameters initialization";
00051
00052
00053
00054 dbe->setCurrentFolder("JetMET/Jet/"+_source);
00055
00056
00057 jetME = dbe->book1D("jetReco", "jetReco", 3, 1, 4);
00058 jetME->setBinLabel(2,"PFJets",1);
00059
00060
00061 etaBin = parameters.getParameter<int>("etaBin");
00062 etaMin = parameters.getParameter<double>("etaMin");
00063 etaMax = parameters.getParameter<double>("etaMax");
00064
00065
00066 phiBin = parameters.getParameter<int>("phiBin");
00067 phiMin = parameters.getParameter<double>("phiMin");
00068 phiMax = parameters.getParameter<double>("phiMax");
00069
00070
00071 ptBin = parameters.getParameter<int>("ptBin");
00072 ptMin = parameters.getParameter<double>("ptMin");
00073 ptMax = parameters.getParameter<double>("ptMax");
00074
00075
00076 eBin = parameters.getParameter<int>("eBin");
00077 eMin = parameters.getParameter<double>("eMin");
00078 eMax = parameters.getParameter<double>("eMax");
00079
00080
00081 pBin = parameters.getParameter<int>("pBin");
00082 pMin = parameters.getParameter<double>("pMin");
00083 pMax = parameters.getParameter<double>("pMax");
00084
00085 _ptThreshold = parameters.getParameter<double>("ptThreshold");
00086
00087 _TightCHFMin = parameters.getParameter<double>("TightCHFMin");
00088 _TightNHFMax = parameters.getParameter<double>("TightNHFMax");
00089 _TightCEFMax = parameters.getParameter<double>("TightCEFMax");
00090 _TightNEFMax = parameters.getParameter<double>("TightNEFMax");
00091 _LooseCHFMin = parameters.getParameter<double>("LooseCHFMin");
00092 _LooseNHFMax = parameters.getParameter<double>("LooseNHFMax");
00093 _LooseCEFMax = parameters.getParameter<double>("LooseCEFMax");
00094 _LooseNEFMax = parameters.getParameter<double>("LooseNEFMax");
00095
00096 fillpfJIDPassFrac = parameters.getParameter<int>("fillpfJIDPassFrac");
00097
00098 _ThisCHFMin = parameters.getParameter<double>("ThisCHFMin");
00099 _ThisNHFMax = parameters.getParameter<double>("ThisNHFMax");
00100 _ThisCEFMax = parameters.getParameter<double>("ThisCEFMax");
00101 _ThisNEFMax = parameters.getParameter<double>("ThisNEFMax");
00102
00103
00104 mPt = dbe->book1D("Pt", "Pt", ptBin, ptMin, ptMax);
00105 mPt_1 = dbe->book1D("Pt1", "Pt1", 100, 0, 100);
00106 mPt_2 = dbe->book1D("Pt2", "Pt2", 100, 0, 300);
00107 mPt_3 = dbe->book1D("Pt3", "Pt3", 100, 0, 5000);
00108 mEta = dbe->book1D("Eta", "Eta", etaBin, etaMin, etaMax);
00109 mPhi = dbe->book1D("Phi", "Phi", phiBin, phiMin, phiMax);
00110 mConstituents = dbe->book1D("Constituents", "# of Constituents", 100, 0, 100);
00111 mHFrac = dbe->book1D("HFrac", "HFrac", 120, -0.1, 1.1);
00112 mEFrac = dbe->book1D("EFrac", "EFrac", 120, -0.1, 1.1);
00113
00114 mPhiVSEta = dbe->book2D("PhiVSEta", "PhiVSEta", 50, etaMin, etaMax, 24, phiMin, phiMax);
00115
00116
00117 mPt_Lo = dbe->book1D("Pt_Lo", "Pt (Pass Low Pt Jet Trigger)", 100, 0, 100);
00118 mEta_Lo = dbe->book1D("Eta_Lo", "Eta (Pass Low Pt Jet Trigger)", etaBin, etaMin, etaMax);
00119 mPhi_Lo = dbe->book1D("Phi_Lo", "Phi (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
00120
00121 mPt_Hi = dbe->book1D("Pt_Hi", "Pt (Pass Hi Pt Jet Trigger)", 100, 0, 300);
00122 mEta_Hi = dbe->book1D("Eta_Hi", "Eta (Pass Hi Pt Jet Trigger)", etaBin, etaMin, etaMax);
00123 mPhi_Hi = dbe->book1D("Phi_Hi", "Phi (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
00124
00125 mE = dbe->book1D("E", "E", eBin, eMin, eMax);
00126 mP = dbe->book1D("P", "P", pBin, pMin, pMax);
00127 mMass = dbe->book1D("Mass", "Mass", 100, 0, 25);
00128 mNJets = dbe->book1D("NJets", "Number of Jets", 100, 0, 100);
00129
00130 mPt_Barrel_Lo = dbe->book1D("Pt_Barrel_Lo", "Pt Barrel (Pass Low Pt Jet Trigger)", 100, 0, 100);
00131 mPhi_Barrel_Lo = dbe->book1D("Phi_Barrel_Lo", "Phi Barrel (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
00132 mConstituents_Barrel_Lo = dbe->book1D("Constituents_Barrel_Lo", "Constituents Barrel (Pass Low Pt Jet Trigger)", 100, 0, 100);
00133 mHFrac_Barrel_Lo = dbe->book1D("HFrac_Barrel_Lo", "HFrac Barrel (Pass Low Pt Jet Trigger)", 100, 0, 1);
00134
00135 mPt_EndCap_Lo = dbe->book1D("Pt_EndCap_Lo", "Pt EndCap (Pass Low Pt Jet Trigger)", 100, 0, 100);
00136 mPhi_EndCap_Lo = dbe->book1D("Phi_EndCap_Lo", "Phi EndCap (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
00137 mConstituents_EndCap_Lo = dbe->book1D("Constituents_EndCap_Lo", "Constituents EndCap (Pass Low Pt Jet Trigger)", 100, 0, 100);
00138 mHFrac_EndCap_Lo = dbe->book1D("HFrac_Endcap_Lo", "HFrac EndCap (Pass Low Pt Jet Trigger)", 100, 0, 1);
00139
00140 mPt_Forward_Lo = dbe->book1D("Pt_Forward_Lo", "Pt Forward (Pass Low Pt Jet Trigger)", 100, 0, 100);
00141 mPhi_Forward_Lo = dbe->book1D("Phi_Forward_Lo", "Phi Forward (Pass Low Pt Jet Trigger)", phiBin, phiMin, phiMax);
00142 mConstituents_Forward_Lo = dbe->book1D("Constituents_Forward_Lo", "Constituents Forward (Pass Low Pt Jet Trigger)", 100, 0, 100);
00143 mHFrac_Forward_Lo = dbe->book1D("HFrac_Forward_Lo", "HFrac Forward (Pass Low Pt Jet Trigger)", 100, 0, 1);
00144
00145 mPt_Barrel_Hi = dbe->book1D("Pt_Barrel_Hi", "Pt Barrel (Pass Hi Pt Jet Trigger)", 100, 0, 300);
00146 mPhi_Barrel_Hi = dbe->book1D("Phi_Barrel_Hi", "Phi Barrel (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
00147 mConstituents_Barrel_Hi = dbe->book1D("Constituents_Barrel_Hi", "Constituents Barrel (Pass Hi Pt Jet Trigger)", 100, 0, 100);
00148 mHFrac_Barrel_Hi = dbe->book1D("HFrac_Barrel_Hi", "HFrac Barrel (Pass Hi Pt Jet Trigger)", 100, 0, 1);
00149
00150 mPt_EndCap_Hi = dbe->book1D("Pt_EndCap_Hi", "Pt EndCap (Pass Hi Pt Jet Trigger)", 100, 0, 300);
00151 mPhi_EndCap_Hi = dbe->book1D("Phi_EndCap_Hi", "Phi EndCap (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
00152 mConstituents_EndCap_Hi = dbe->book1D("Constituents_EndCap_Hi", "Constituents EndCap (Pass Hi Pt Jet Trigger)", 100, 0, 100);
00153 mHFrac_EndCap_Hi = dbe->book1D("HFrac_EndCap_Hi", "HFrac EndCap (Pass Hi Pt Jet Trigger)", 100, 0, 1);
00154
00155 mPt_Forward_Hi = dbe->book1D("Pt_Forward_Hi", "Pt Forward (Pass Hi Pt Jet Trigger)", 100, 0, 300);
00156 mPhi_Forward_Hi = dbe->book1D("Phi_Forward_Hi", "Phi Forward (Pass Hi Pt Jet Trigger)", phiBin, phiMin, phiMax);
00157 mConstituents_Forward_Hi = dbe->book1D("Constituents_Forward_Hi", "Constituents Forward (Pass Hi Pt Jet Trigger)", 100, 0, 100);
00158 mHFrac_Forward_Hi = dbe->book1D("HFrac_Forward_Hi", "HFrac Forward (Pass Hi Pt Jet Trigger)", 100, 0, 1);
00159
00160 mPhi_Barrel = dbe->book1D("Phi_Barrel", "Phi_Barrel", phiBin, phiMin, phiMax);
00161 mE_Barrel = dbe->book1D("E_Barrel", "E_Barrel", eBin, eMin, eMax);
00162 mPt_Barrel = dbe->book1D("Pt_Barrel", "Pt_Barrel", ptBin, ptMin, ptMax);
00163
00164 mPhi_EndCap = dbe->book1D("Phi_EndCap", "Phi_EndCap", phiBin, phiMin, phiMax);
00165 mE_EndCap = dbe->book1D("E_EndCap", "E_EndCap", eBin, eMin, eMax);
00166 mPt_EndCap = dbe->book1D("Pt_EndCap", "Pt_EndCap", ptBin, ptMin, ptMax);
00167
00168 mPhi_Forward = dbe->book1D("Phi_Forward", "Phi_Forward", phiBin, phiMin, phiMax);
00169 mE_Forward = dbe->book1D("E_Forward", "E_Forward", eBin, eMin, eMax);
00170 mPt_Forward = dbe->book1D("Pt_Forward", "Pt_Forward", ptBin, ptMin, ptMax);
00171
00172
00173 mEtaFirst = dbe->book1D("EtaFirst", "EtaFirst", 100, -5, 5);
00174 mPhiFirst = dbe->book1D("PhiFirst", "PhiFirst", 70, -3.5, 3.5);
00175 mEFirst = dbe->book1D("EFirst", "EFirst", 100, 0, 1000);
00176 mPtFirst = dbe->book1D("PtFirst", "PtFirst", 100, 0, 500);
00177
00178 mDPhi = dbe->book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.));
00179
00180
00181 mChargedHadronEnergy = dbe->book1D("mChargedHadronEnergy", "mChargedHadronEnergy", 100, 0, 100);
00182 mNeutralHadronEnergy = dbe->book1D("mNeutralHadronEnergy", "mNeutralHadronEnergy", 100, 0, 100);
00183 mChargedEmEnergy= dbe->book1D("mChargedEmEnergy ", "mChargedEmEnergy ", 100, 0, 100);
00184 mChargedMuEnergy = dbe->book1D("mChargedMuEnergy", "mChargedMuEnergy", 100, 0, 100);
00185 mNeutralEmEnergy= dbe->book1D("mNeutralEmEnergy", "mNeutralEmEnergy", 100, 0, 100);
00186 mChargedMultiplicity= dbe->book1D("mChargedMultiplicity ", "mChargedMultiplicity ", 100, 0, 100);
00187 mNeutralMultiplicity = dbe->book1D(" mNeutralMultiplicity", "mNeutralMultiplicity", 100, 0, 100);
00188 mMuonMultiplicity= dbe->book1D("mMuonMultiplicity", "mMuonMultiplicity", 100, 0, 100);
00189
00190 mNeutralFraction = dbe->book1D("NeutralFraction","Neutral Fraction",100,0,1);
00191 if(fillpfJIDPassFrac==1) {
00192 mLooseJIDPassFractionVSeta= dbe->bookProfile("LooseJIDPassFractionVSeta","LooseJIDPassFractionVSeta",etaBin, etaMin, etaMax,0.,1.2);
00193 mLooseJIDPassFractionVSpt= dbe->bookProfile("LooseJIDPassFractionVSpt","LooseJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
00194 mTightJIDPassFractionVSeta= dbe->bookProfile("TightJIDPassFractionVSeta","TightJIDPassFractionVSeta",etaBin, etaMin, etaMax,0.,1.2);
00195 mTightJIDPassFractionVSpt= dbe->bookProfile("TightJIDPassFractionVSpt","TightJIDPassFractionVSpt",ptBin, ptMin, ptMax,0.,1.2);
00196 }
00197
00198
00199 }
00200
00201 void PFJetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::PFJetCollection& pfJets) {
00202
00203 int numofjets=0;
00204 double fstPhi=0.;
00205 double sndPhi=0.;
00206 double diff = 0.;
00207 double corr = 0.;
00208 double dphi = -999. ;
00209
00210 bool Thiscleaned=false;
00211 bool Loosecleaned=false;
00212 bool Tightcleaned=false;
00213 bool ThisCHFcleaned=false;
00214 bool LooseCHFcleaned=false;
00215 bool TightCHFcleaned=false;
00216
00217 for (reco::PFJetCollection::const_iterator jet = pfJets.begin(); jet!=pfJets.end(); ++jet){
00218 LogTrace(metname)<<"[JetAnalyzer] Analyze PFJet";
00219
00220 Thiscleaned=false;
00221 Loosecleaned=false;
00222 Tightcleaned=false;
00223
00224 if (jet == pfJets.begin()) {
00225 fstPhi = jet->phi();
00226 _leadJetFlag = 1;
00227 } else {
00228 _leadJetFlag = 0;
00229 }
00230
00231 if (jet == (pfJets.begin()+1)) sndPhi = jet->phi();
00232
00233 if (jet->pt() > _ptThreshold) {
00234 numofjets++ ;
00235 jetME->Fill(2);
00236
00237
00238 ThisCHFcleaned=true;
00239 LooseCHFcleaned=true;
00240 TightCHFcleaned=true;
00241 if((jet->chargedHadronEnergy()/jet->energy())<=_ThisCHFMin && fabs(jet->eta())<2.4) ThisCHFcleaned=false;
00242 if((jet->chargedHadronEnergy()/jet->energy())<=_LooseCHFMin && fabs(jet->eta())<2.4) LooseCHFcleaned=false;
00243 if((jet->chargedHadronEnergy()/jet->energy())<=_TightCHFMin && fabs(jet->eta())<2.4) TightCHFcleaned=false;
00244 if(ThisCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_ThisNHFMax && (jet->chargedEmEnergy()/jet->energy())<_ThisCEFMax && (jet->neutralEmEnergy()/jet->energy())<_ThisNEFMax) Thiscleaned=true;
00245 if(LooseCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_LooseNHFMax && (jet->chargedEmEnergy()/jet->energy())<_LooseCEFMax && (jet->neutralEmEnergy()/jet->energy())<_LooseNEFMax) Loosecleaned=true;
00246 if(TightCHFcleaned && (jet->neutralHadronEnergy()/jet->energy())<_TightNHFMax && (jet->chargedEmEnergy()/jet->energy())<_TightCEFMax && (jet->neutralEmEnergy()/jet->energy())<_TightNEFMax) Tightcleaned=true;
00247
00248 if(fillpfJIDPassFrac==1) {
00249
00250 if(Loosecleaned) {
00251 mLooseJIDPassFractionVSeta->Fill(jet->eta(),1.);
00252 mLooseJIDPassFractionVSpt->Fill(jet->pt(),1.);
00253 } else {
00254 mLooseJIDPassFractionVSeta->Fill(jet->eta(),0.);
00255 mLooseJIDPassFractionVSpt->Fill(jet->pt(),0.);
00256 }
00257 if(Tightcleaned) {
00258 mTightJIDPassFractionVSeta->Fill(jet->eta(),1.);
00259 mTightJIDPassFractionVSpt->Fill(jet->pt(),1.);
00260 } else {
00261 mTightJIDPassFractionVSeta->Fill(jet->eta(),0.);
00262 mTightJIDPassFractionVSpt->Fill(jet->pt(),0.);
00263 }
00264 }
00265
00266 if(!Thiscleaned) continue;
00267
00268
00269
00270 if (_leadJetFlag == 1) {
00271
00272 if (mEtaFirst) mEtaFirst->Fill (jet->eta());
00273 if (mPhiFirst) mPhiFirst->Fill (jet->phi());
00274 if (mEFirst) mEFirst->Fill (jet->energy());
00275 if (mPtFirst) mPtFirst->Fill (jet->pt());
00276 }
00277
00278
00279 if (_JetLoPass == 1) {
00280 if (fabs(jet->eta()) <= 1.3) {
00281 if (mPt_Barrel_Lo) mPt_Barrel_Lo->Fill(jet->pt());
00282 if (mEta_Lo) mEta_Lo->Fill(jet->eta());
00283 if (mPhi_Barrel_Lo) mPhi_Barrel_Lo->Fill(jet->phi());
00284 if (mConstituents_Barrel_Lo) mConstituents_Barrel_Lo->Fill(jet->nConstituents());
00285 if (mHFrac_Barrel_Lo) mHFrac_Barrel_Lo->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction() );
00286 }
00287 if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
00288 if (mPt_EndCap_Lo) mPt_EndCap_Lo->Fill(jet->pt());
00289 if (mEta_Lo) mEta_Lo->Fill(jet->eta());
00290 if (mPhi_EndCap_Lo) mPhi_EndCap_Lo->Fill(jet->phi());
00291 if (mConstituents_EndCap_Lo) mConstituents_EndCap_Lo->Fill(jet->nConstituents());
00292 if (mHFrac_EndCap_Lo) mHFrac_EndCap_Lo->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00293 }
00294 if (fabs(jet->eta()) > 3.0) {
00295 if (mPt_Forward_Lo) mPt_Forward_Lo->Fill(jet->pt());
00296 if (mEta_Lo) mEta_Lo->Fill(jet->eta());
00297 if (mPhi_Forward_Lo) mPhi_Forward_Lo->Fill(jet->phi());
00298 if (mConstituents_Forward_Lo) mConstituents_Forward_Lo->Fill(jet->nConstituents());
00299 if (mHFrac_Forward_Lo) mHFrac_Forward_Lo->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00300 }
00301 if (mEta_Lo) mEta_Lo->Fill (jet->eta());
00302 if (mPhi_Lo) mPhi_Lo->Fill (jet->phi());
00303 if (mPt_Lo) mPt_Lo->Fill (jet->pt());
00304 }
00305
00306
00307 if (_JetHiPass == 1) {
00308 if (fabs(jet->eta()) <= 1.3) {
00309 if (mPt_Barrel_Hi) mPt_Barrel_Hi->Fill(jet->pt());
00310 if (mEta_Hi) mEta_Hi->Fill(jet->eta());
00311 if (mPhi_Barrel_Hi) mPhi_Barrel_Hi->Fill(jet->phi());
00312 if (mConstituents_Barrel_Hi) mConstituents_Barrel_Hi->Fill(jet->nConstituents());
00313 if (mHFrac_Barrel_Hi) mHFrac_Barrel_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00314 }
00315 if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
00316 if (mPt_EndCap_Hi) mPt_EndCap_Hi->Fill(jet->pt());
00317 if (mEta_Hi) mEta_Hi->Fill(jet->eta());
00318 if (mPhi_EndCap_Hi) mPhi_EndCap_Hi->Fill(jet->phi());
00319 if (mConstituents_EndCap_Hi) mConstituents_EndCap_Hi->Fill(jet->nConstituents());
00320 if (mHFrac_EndCap_Hi) mHFrac_EndCap_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00321 }
00322 if (fabs(jet->eta()) > 3.0) {
00323 if (mPt_Forward_Hi) mPt_Forward_Hi->Fill(jet->pt());
00324 if (mEta_Hi) mEta_Hi->Fill(jet->eta());
00325 if (mPhi_Forward_Hi) mPhi_Forward_Hi->Fill(jet->phi());
00326 if (mConstituents_Forward_Hi) mConstituents_Forward_Hi->Fill(jet->nConstituents());
00327 if (mHFrac_Forward_Hi) mHFrac_Forward_Hi->Fill(jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00328 }
00329
00330 if (mEta_Hi) mEta_Hi->Fill (jet->eta());
00331 if (mPhi_Hi) mPhi_Hi->Fill (jet->phi());
00332 if (mPt_Hi) mPt_Hi->Fill (jet->pt());
00333 }
00334
00335 if (mPt) mPt->Fill (jet->pt());
00336 if (mPt_1) mPt_1->Fill (jet->pt());
00337 if (mPt_2) mPt_2->Fill (jet->pt());
00338 if (mPt_3) mPt_3->Fill (jet->pt());
00339 if (mEta) mEta->Fill (jet->eta());
00340 if (mPhi) mPhi->Fill (jet->phi());
00341 if (mPhiVSEta) mPhiVSEta->Fill(jet->eta(),jet->phi());
00342
00343 if (mConstituents) mConstituents->Fill (jet->nConstituents());
00344 if (mHFrac) mHFrac->Fill (jet->chargedHadronEnergyFraction()+jet->neutralHadronEnergyFraction());
00345 if (mEFrac) mEFrac->Fill (jet->chargedEmEnergyFraction() +jet->neutralEmEnergyFraction());
00346
00347 if (fabs(jet->eta()) <= 1.3) {
00348 if (mPt_Barrel) mPt_Barrel->Fill (jet->pt());
00349 if (mPhi_Barrel) mPhi_Barrel->Fill (jet->phi());
00350 if (mE_Barrel) mE_Barrel->Fill (jet->energy());
00351 }
00352 if ( (fabs(jet->eta()) > 1.3) && (fabs(jet->eta()) <= 3) ) {
00353 if (mPt_EndCap) mPt_EndCap->Fill (jet->pt());
00354 if (mPhi_EndCap) mPhi_EndCap->Fill (jet->phi());
00355 if (mE_EndCap) mE_EndCap->Fill (jet->energy());
00356 }
00357 if (fabs(jet->eta()) > 3.0) {
00358 if (mPt_Forward) mPt_Forward->Fill (jet->pt());
00359 if (mPhi_Forward) mPhi_Forward->Fill (jet->phi());
00360 if (mE_Forward) mE_Forward->Fill (jet->energy());
00361 }
00362
00363 if (mE) mE->Fill (jet->energy());
00364 if (mP) mP->Fill (jet->p());
00365 if (mMass) mMass->Fill (jet->mass());
00366
00367
00368 if (mChargedHadronEnergy) mChargedHadronEnergy->Fill (jet->chargedHadronEnergy());
00369 if (mNeutralHadronEnergy) mNeutralHadronEnergy->Fill (jet->neutralHadronEnergy());
00370 if (mChargedEmEnergy) mChargedEmEnergy->Fill(jet->chargedEmEnergy());
00371 if (mChargedMuEnergy) mChargedMuEnergy->Fill (jet->chargedMuEnergy ());
00372 if (mNeutralEmEnergy) mNeutralEmEnergy->Fill(jet->neutralEmEnergy());
00373 if (mChargedMultiplicity ) mChargedMultiplicity->Fill(jet->chargedMultiplicity());
00374 if (mNeutralMultiplicity ) mNeutralMultiplicity->Fill(jet->neutralMultiplicity());
00375 if (mMuonMultiplicity )mMuonMultiplicity->Fill (jet-> muonMultiplicity());
00376
00377 if (mNeutralFraction) mNeutralFraction->Fill (jet->neutralMultiplicity()/jet->nConstituents());
00378
00379
00380 if(numofjets>1) {
00381 diff = fabs(fstPhi - sndPhi);
00382 corr = 2*acos(-1.) - diff;
00383 if(diff < acos(-1.)) {
00384 dphi = diff;
00385 } else {
00386 dphi = corr;
00387 }
00388 }
00389 }
00390 }
00391 if (mNJets) mNJets->Fill (numofjets);
00392 if (mDPhi) mDPhi->Fill (dphi);
00393 }