CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/PhysicsTools/PatUtils/interface/CaloIsolationEnergy.h

Go to the documentation of this file.
00001 //
00002 // $Id: CaloIsolationEnergy.h,v 1.3 2008/03/05 14:51:02 fronga Exp $
00003 //
00004 
00005 #ifndef PhysicsTools_PatUtils_CaloIsolationEnergy_h
00006 #define PhysicsTools_PatUtils_CaloIsolationEnergy_h
00007 
00019 #include <vector>
00020 
00021 class MagneticField;
00022 class TrackToEcalPropagator;
00023 class CaloTower;
00024 
00025 namespace reco {
00026   class Track; 
00027 }
00028 
00029 namespace pat {
00030   class Muon;
00031   class Electron;
00032 
00033   class CaloIsolationEnergy {
00034     public:
00035       CaloIsolationEnergy();
00036       virtual ~CaloIsolationEnergy();
00037 
00038       float calculate(const Electron & anElectron, const std::vector<CaloTower> & theTowers, float isoConeElectron = 0.3) const;
00039       float calculate(const Muon & aMuon, const std::vector<CaloTower> & theTowers, float isoConeMuon = 0.3) const;
00040 
00041     private:
00042       float calculate(const reco::Track & track, const float leptonEnergy, const std::vector<CaloTower> & theTowers, float isoCone) const;
00043   };
00044 
00045 }
00046 
00047 #endif
00048