Go to the documentation of this file.00001
00002
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