Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:04

0001 #ifndef MuonIsolation_CutsConeSizeFunction_H
0002 #define MuonIsolation_CutsConeSizeFunction_H
0003 
0004 #include "RecoMuon/MuonIsolation/interface/Cuts.h"
0005 #include "RecoMuon/MuonIsolation/interface/IsolatorByDeposit.h"
0006 
0007 namespace muonisolation {
0008   class CutsConeSizeFunction : public IsolatorByDeposit::ConeSizeFunction {
0009   public:
0010     CutsConeSizeFunction(const Cuts& cuts) : theLastCut(nullptr), theCuts(cuts) {}
0011     ~CutsConeSizeFunction() override = default;
0012     float threshold() const { return theLastCut->threshold; }
0013     float coneSize(float eta, float pt) const override {
0014       theLastCut = &theCuts(eta);
0015       return theLastCut->conesize;
0016     }
0017 
0018   private:
0019     mutable const Cuts::CutSpec* theLastCut;
0020     const Cuts& theCuts;
0021   };
0022 }  // namespace muonisolation
0023 #endif