CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
SimpleCutsIsolator Class Reference

#include <SimpleCutsIsolator.h>

Inheritance diagram for SimpleCutsIsolator:
muonisolation::MuIsoBaseIsolator

Public Member Functions

virtual Result result (const DepositContainer &deposits, const edm::Event *=0) const
 Compute and return the isolation variable. More...
 
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. More...
 
virtual ResultType resultType () const
 
 SimpleCutsIsolator (const edm::ParameterSet &par)
 
- Public Member Functions inherited from muonisolation::MuIsoBaseIsolator
virtual Result result (const DepositContainer &deposits, const reco::Candidate &muon, const edm::Event *=0) const
 Compute and return the isolation variable, with vetoes and the muon. More...
 
virtual ~MuIsoBaseIsolator ()
 

Private Attributes

muonisolation::Cuts theCuts
 

Additional Inherited Members

- Public Types inherited from muonisolation::MuIsoBaseIsolator
typedef std::vector
< DepositAndVetos
DepositContainer
 
enum  ResultType { ISOL_INT_TYPE = 0, ISOL_FLOAT_TYPE, ISOL_BOOL_TYPE, ISOL_INVALID_TYPE }
 
typedef reco::IsoDeposit::Veto Veto
 
typedef reco::IsoDeposit::Vetos Vetos
 

Detailed Description

Definition at line 8 of file SimpleCutsIsolator.h.

Constructor & Destructor Documentation

SimpleCutsIsolator::SimpleCutsIsolator ( const edm::ParameterSet par)
inline

Definition at line 10 of file SimpleCutsIsolator.h.

10  :
11  theCuts(par.getParameter<std::vector<double> > ("EtaBounds"),
12  par.getParameter<std::vector<double> > ("ConeSizes"),
13  par.getParameter<std::vector<double> > ("Thresholds"))
14  {
15  }
T getParameter(std::string const &) const
muonisolation::Cuts theCuts

Member Function Documentation

virtual Result SimpleCutsIsolator::result ( const DepositContainer deposits,
const edm::Event = 0 
) const
inlinevirtual

Compute and return the isolation variable.

Implements muonisolation::MuIsoBaseIsolator.

Definition at line 19 of file SimpleCutsIsolator.h.

References submit::answer, muonisolation::MuIsoBaseIsolator::ISOL_BOOL_TYPE, and muonisolation::MuIsoBaseIsolator::Result::valBool.

19  {
20  Result answer(ISOL_BOOL_TYPE);
21  answer.valBool = false;
22  // fail miserably...
23  return answer;
24  }
answer
Definition: submit.py:44
virtual Result SimpleCutsIsolator::result ( const DepositContainer deposits,
const reco::Track muon,
const edm::Event = 0 
) const
inlinevirtual

Compute and return the isolation variable, with vetoes and the muon.

Reimplemented from muonisolation::MuIsoBaseIsolator.

Definition at line 26 of file SimpleCutsIsolator.h.

References submit::answer, muonisolation::Cuts::CutSpec::conesize, reco::TrackBase::eta(), muonisolation::MuIsoBaseIsolator::ISOL_BOOL_TYPE, theCuts, muonisolation::Cuts::CutSpec::threshold, muonisolation::MuIsoBaseIsolator::Result::valBool, and muonisolation::MuIsoBaseIsolator::Result::valFloat.

26  {
27  Result answer(ISOL_BOOL_TYPE);
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  }
answer
Definition: submit.py:44
muonisolation::Cuts theCuts
virtual ResultType SimpleCutsIsolator::resultType ( ) const
inlinevirtual

Member Data Documentation

muonisolation::Cuts SimpleCutsIsolator::theCuts
private

Definition at line 49 of file SimpleCutsIsolator.h.

Referenced by result().