File indexing completed on 2024-04-06 12:24:03
0001
0002
0003
0004 #ifndef PhysicsTools_PatUtils_CaloIsolationEnergy_h
0005 #define PhysicsTools_PatUtils_CaloIsolationEnergy_h
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #include <vector>
0019
0020 class MagneticField;
0021 class TrackToEcalPropagator;
0022 class CaloTower;
0023
0024 namespace reco {
0025 class Track;
0026 }
0027
0028 namespace pat {
0029 class Muon;
0030 class Electron;
0031
0032 class CaloIsolationEnergy {
0033 public:
0034 CaloIsolationEnergy();
0035 virtual ~CaloIsolationEnergy();
0036
0037 float calculate(const Electron& anElectron,
0038 const std::vector<CaloTower>& theTowers,
0039 float isoConeElectron = 0.3) const;
0040 float calculate(const Muon& aMuon, const std::vector<CaloTower>& theTowers, float isoConeMuon = 0.3) const;
0041
0042 private:
0043 float calculate(const reco::Track& track,
0044 const float leptonEnergy,
0045 const std::vector<CaloTower>& theTowers,
0046 float isoCone) const;
0047 };
0048
0049 }
0050
0051 #endif