CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleCutsIsolator.h
Go to the documentation of this file.
1 #ifndef SimpleCutsIsolator_H
2 #define SimpleCutsIsolator_H
3 
6 
7 
9  public:
11  theCuts(par.getParameter<std::vector<double> > ("EtaBounds"),
12  par.getParameter<std::vector<double> > ("ConeSizes"),
13  par.getParameter<std::vector<double> > ("Thresholds"))
14  {
15  }
16 
17  virtual ResultType resultType() const {return ISOL_BOOL_TYPE;}
18 
19  virtual Result result(const DepositContainer& deposits, const edm::Event* = 0) const {
21  answer.valBool = false;
22  // fail miserably...
23  return answer;
24  }
25 
26  virtual Result result(const DepositContainer& deposits, const reco::Track& tk, const edm::Event* = 0) const {
28 
29  muonisolation::Cuts::CutSpec cuts_here = theCuts(tk.eta());
30 
31  double conesize = cuts_here.conesize;
32  double dephlt = 0;
33  unsigned int nDeps = deposits.size();
34  for(unsigned int iDep = 0; iDep < nDeps; ++iDep ){
35  dephlt += deposits[iDep].dep->depositWithin(conesize);
36  }
37  answer.valFloat = dephlt;
38  if (dephlt<cuts_here.threshold) {
39  answer.valBool = true;
40  } else {
41  answer.valBool = false;
42  }
43  return answer;
44  }
45 
46  private:
47 
48  // Isolation cuts
50 
51 
52 };
53 
54 #endif
answer
Definition: submit.py:44
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
virtual Result result(const DepositContainer &deposits, const reco::Track &tk, const edm::Event *=0) const
Compute and return the isolation variable, with vetoes and the muon.
muonisolation::Cuts theCuts
std::vector< DepositAndVetos > DepositContainer
SimpleCutsIsolator(const edm::ParameterSet &par)
virtual Result result(const DepositContainer &deposits, const edm::Event *=0) const
Compute and return the isolation variable.
virtual ResultType resultType() const