00001 #ifndef MuonIsolation_CutsConeSizeFunction_H 00002 #define MuonIsolation_CutsConeSizeFunction_H 00003 00004 #include "RecoMuon/MuonIsolation/interface/Cuts.h" 00005 #include "RecoMuon/MuonIsolation/interface/IsolatorByDeposit.h" 00006 00007 namespace muonisolation { 00008 class CutsConeSizeFunction : public IsolatorByDeposit::ConeSizeFunction { 00009 public: 00010 CutsConeSizeFunction(const Cuts & cuts) : theLastCut(0), theCuts(cuts) {} 00011 float threshold() const { return theLastCut->threshold; } 00012 float coneSize( float eta, float pt) const { 00013 theLastCut = & theCuts(eta); 00014 return theLastCut->conesize; 00015 } 00016 private: 00017 mutable const Cuts::CutSpec * theLastCut; 00018 const Cuts & theCuts; 00019 }; 00020 } 00021 #endif