CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/PhysicsTools/PatUtils/interface/LeptonJetIsolationAngle.h

Go to the documentation of this file.
00001 //
00002 // $Id: LeptonJetIsolationAngle.h,v 1.4 2009/05/26 08:54:21 fabiocos Exp $
00003 //
00004 
00005 #ifndef PhysicsTools_PatUtils_LeptonJetIsolationAngle_h
00006 #define PhysicsTools_PatUtils_LeptonJetIsolationAngle_h
00007 
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "DataFormats/Common/interface/Handle.h"
00023 #include "CLHEP/Vector/LorentzVector.h"
00024 
00025 #include "DataFormats/PatCandidates/interface/Electron.h"
00026 #include "DataFormats/PatCandidates/interface/Muon.h"
00027 #include "DataFormats/PatCandidates/interface/Jet.h"
00028 #include "PhysicsTools/PatUtils/interface/TrackerIsolationPt.h"
00029 
00030 
00031 namespace pat {
00032 
00033 
00034   class LeptonJetIsolationAngle {
00035 
00036     public:
00037 
00038       LeptonJetIsolationAngle();
00039       ~LeptonJetIsolationAngle();
00040 
00041       float calculate(const Electron & anElectron, const edm::Handle<edm::View<reco::Track> > & trackHandle, const edm::Event & iEvent);
00042       float calculate(const Muon & aMuon, const edm::Handle<edm::View<reco::Track> > & trackHandle, const edm::Event & iEvent);
00043 
00044     private:
00045 
00046       float calculate(const CLHEP::HepLorentzVector & aLepton, const edm::Handle<edm::View<reco::Track> > & trackHandle, const edm::Event & iEvent);
00047       float spaceAngle(const CLHEP::HepLorentzVector & aLepton, const reco::CaloJet & aJet);
00048 
00049     private:
00050 
00051       TrackerIsolationPt trkIsolator_;
00052 
00053   };
00054 
00055 
00056 }
00057 
00058 #endif
00059