CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Cuts.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_Cuts_H
2 #define MuonIsolation_Cuts_H
3 
5 #include <vector>
6 #include <string>
7 
8 namespace edm {
9  class ParameterSet;
10 }
11 
12 namespace muonisolation {
13 
14  class Cuts {
15  public:
16  struct CutSpec {
18  double conesize;
19  double threshold;
20  };
21 
23  Cuts() {}
24 
26  Cuts(const edm::ParameterSet& pset);
27 
29  Cuts(const std::vector<double>& etaBounds,
30  const std::vector<double>& coneSizes,
31  const std::vector<double>& thresholds);
32 
33  const CutSpec& operator()(double eta) const;
34 
35  const CutSpec& operator[](unsigned int i) const { return theCuts[i]; };
36 
37  unsigned int size() { return theCuts.size(); };
38 
39  std::string print() const;
40 
41  private:
42  void init(const std::vector<double>& etaBounds,
43  const std::vector<double>& coneSizes,
44  const std::vector<double>& thresholds);
45 
46  std::vector<CutSpec> theCuts;
47  };
48 
49 } // namespace muonisolation
50 #endif
unsigned int size()
Definition: Cuts.h:37
void init(const std::vector< double > &etaBounds, const std::vector< double > &coneSizes, const std::vector< double > &thresholds)
Definition: Cuts.cc:21
const CutSpec & operator[](unsigned int i) const
Definition: Cuts.h:35
std::string print() const
Definition: Cuts.cc:54
muonisolation::Range< double > etaRange
Definition: Cuts.h:17
std::vector< CutSpec > theCuts
Definition: Cuts.h:46
const CutSpec & operator()(double eta) const
Definition: Cuts.cc:41
Cuts()
dummy constructor
Definition: Cuts.h:23