CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SimpleCutsIsolator Class Reference

#include <SimpleCutsIsolator.h>

Inheritance diagram for SimpleCutsIsolator:
muonisolation::MuIsoBaseIsolator

Public Member Functions

Result result (const DepositContainer &deposits, const edm::Event *=0) const override
 Compute and return the isolation variable. More...
 
Result result (const DepositContainer &deposits, const reco::Track &tk, const edm::Event *=0) const override
 Compute and return the isolation variable, with vetoes and the muon. More...
 
ResultType resultType () const override
 
 SimpleCutsIsolator (const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
 
- 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< DepositAndVetosDepositContainer
 
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 10 of file SimpleCutsIsolator.h.

Constructor & Destructor Documentation

SimpleCutsIsolator::SimpleCutsIsolator ( const edm::ParameterSet par,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 12 of file SimpleCutsIsolator.h.

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

Member Function Documentation

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

Compute and return the isolation variable.

Implements muonisolation::MuIsoBaseIsolator.

Definition at line 21 of file SimpleCutsIsolator.h.

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

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

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

Reimplemented from muonisolation::MuIsoBaseIsolator.

Definition at line 28 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.

28  {
29  Result answer(ISOL_BOOL_TYPE);
30 
31  muonisolation::Cuts::CutSpec cuts_here = theCuts(tk.eta());
32 
33  double conesize = cuts_here.conesize;
34  double dephlt = 0;
35  unsigned int nDeps = deposits.size();
36  for(unsigned int iDep = 0; iDep < nDeps; ++iDep ){
37  dephlt += deposits[iDep].dep->depositWithin(conesize);
38  }
39  answer.valFloat = dephlt;
40  if (dephlt<cuts_here.threshold) {
41  answer.valBool = true;
42  } else {
43  answer.valBool = false;
44  }
45  return answer;
46  }
muonisolation::Cuts theCuts
answer
Definition: submit.py:45
ResultType SimpleCutsIsolator::resultType ( ) const
inlineoverridevirtual

Member Data Documentation

muonisolation::Cuts SimpleCutsIsolator::theCuts
private

Definition at line 51 of file SimpleCutsIsolator.h.

Referenced by result().