CMS 3D CMS Logo

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 { class ParameterSet; }
9 
10 namespace muonisolation {
11 
12 class Cuts {
13 public:
14 
15  struct CutSpec { muonisolation::Range<double> etaRange; double conesize; double threshold; };
16 
18  Cuts(){}
19 
21  Cuts(const edm::ParameterSet & pset);
22 
24  Cuts( const std::vector<double> & etaBounds,
25  const std::vector<double> & coneSizes,
26  const std::vector<double> & thresholds);
27 
28  const CutSpec & operator()(double eta) const;
29 
30  const CutSpec & operator[](unsigned int i) const {return theCuts[i];};
31 
32  unsigned int size() {return theCuts.size();};
33 
34  std::string print() const;
35 
36 private:
37  void init(
38  const std::vector<double> & etaBounds,
39  const std::vector<double> & coneSizes,
40  const std::vector<double> & thresholds);
41 
42  std::vector<CutSpec> theCuts;
43 };
44 
45 }
46 #endif
unsigned int size()
Definition: Cuts.h:32
int init
Definition: HydjetWrapper.h:67
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
const CutSpec & operator[](unsigned int i) const
Definition: Cuts.h:30
std::vector< CutSpec > theCuts
Definition: Cuts.h:42
HLT enums.
Cuts()
dummy constructor
Definition: Cuts.h:18