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 
16 namespace muonisolation {
18 public:
20 
22  virtual ~ConeSizeFunction() = default;
23  virtual float coneSize( float eta, float pt) const = 0;
24  };
25 
27  IsolatorByDepositCount(float conesize, const std::vector<double>& thresh);
28  IsolatorByDepositCount(const ConeSizeFunction * conesize, const std::vector<double>& thresh);
29 
30  ~IsolatorByDepositCount() override = default;
31 
33  Result result(const DepositContainer& deposits, const edm::Event* = nullptr) const override;
34 
35 
36  void setConeSize(float conesize) { theConeSize = conesize; theConeSizeFunction = nullptr;}
37 
38  void setConeSize(ConeSizeFunction * conesize) { theConeSizeFunction = conesize; }
39 
40 
42  virtual float coneSize(float eta, float pT) const {
44  }
45 
46  ResultType resultType() const override { return ISOL_INT_TYPE;}
47 
48 
49 private:
51  float theConeSize;
52  std::vector<double> theDepThresholds;
53 };
54 }
55 
56 #endif
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 =0
virtual float coneSize(float eta, float pT) const
Get the cone size.
void setConeSize(ConeSizeFunction *conesize)
Result result(const DepositContainer &deposits, const edm::Event *=0) const override
Compute the deposit within the cone and return the isolation result.
std::vector< DepositAndVetos > DepositContainer