CMS 3D CMS Logo

IsolatorByDepositCount.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_IsolatorByDepositCount_H
2 #define MuonIsolation_IsolatorByDepositCount_H
3 
13 #include <vector>
14 
15 namespace muonisolation {
17  public:
19 
21  virtual ~ConeSizeFunction() = default;
22  virtual float coneSize(float eta, float pt) const = 0;
23  };
24 
26  IsolatorByDepositCount(float conesize, const std::vector<double>& thresh);
27  IsolatorByDepositCount(const ConeSizeFunction* conesize, const std::vector<double>& thresh);
28 
29  ~IsolatorByDepositCount() override = default;
30 
32  Result result(const DepositContainer& deposits, const edm::Event* = nullptr) const override;
33 
34  void setConeSize(float conesize) {
36  theConeSizeFunction = nullptr;
37  }
38 
40 
42  virtual float coneSize(float eta, float pT) const {
44  }
45 
46  ResultType resultType() const override { return ISOL_INT_TYPE; }
47 
48  private:
50  float theConeSize;
51  std::vector<double> theDepThresholds;
52  };
53 } // namespace muonisolation
54 
55 #endif
Result result(const DepositContainer &deposits, const edm::Event *=nullptr) const override
Compute the deposit within the cone and return the isolation result.
virtual float coneSize(float eta, float pt) const =0
IsolatorByDepositCount(float conesize, const std::vector< double > &thresh)
construct with non-default thresholds per deposit
~IsolatorByDepositCount() override=default
MuIsoBaseIsolator::DepositContainer DepositContainer
virtual float coneSize(float eta, float pT) const
Get the cone size.
void setConeSize(ConeSizeFunction *conesize)
std::vector< DepositAndVetos > DepositContainer