CMS 3D CMS Logo

SimpleCutsIsolator.h
Go to the documentation of this file.
1 #ifndef SimpleCutsIsolator_H
2 #define SimpleCutsIsolator_H
3 
6 
9 
11 public:
13  : theCuts(par.getParameter<std::vector<double> >("EtaBounds"),
14  par.getParameter<std::vector<double> >("ConeSizes"),
15  par.getParameter<std::vector<double> >("Thresholds")) {}
16 
17  ResultType resultType() const override { return ISOL_BOOL_TYPE; }
18 
19  Result result(const DepositContainer& deposits, const edm::Event* = nullptr) const override {
20  Result answer(ISOL_BOOL_TYPE);
21  answer.valBool = false;
22  // fail miserably...
23  return answer;
24  }
25 
26  Result result(const DepositContainer& deposits, const reco::Track& tk, const edm::Event* = nullptr) const override {
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  }
45 
46 private:
47  // Isolation cuts
49 };
50 
51 #endif
muonisolation::MuIsoBaseIsolator::ISOL_BOOL_TYPE
Definition: MuIsoBaseIsolator.h:25
muonisolation::MuIsoBaseIsolator::Result::valBool
bool valBool
Definition: MuIsoBaseIsolator.h:37
SimpleCutsIsolator::result
Result result(const DepositContainer &deposits, const reco::Track &tk, const edm::Event *=nullptr) const override
Compute and return the isolation variable, with vetoes and the muon.
Definition: SimpleCutsIsolator.h:26
muonisolation::MuIsoBaseIsolator::Result
Definition: MuIsoBaseIsolator.h:27
SimpleCutsIsolator::theCuts
muonisolation::Cuts theCuts
Definition: SimpleCutsIsolator.h:48
muonisolation::MuIsoBaseIsolator
Definition: MuIsoBaseIsolator.h:12
reco::Track
Definition: Track.h:27
muonisolation::Cuts
Definition: Cuts.h:14
SimpleCutsIsolator::SimpleCutsIsolator
SimpleCutsIsolator(const edm::ParameterSet &par, edm::ConsumesCollector &&iC)
Definition: SimpleCutsIsolator.h:12
muonisolation::MuIsoBaseIsolator::ResultType
ResultType
Definition: MuIsoBaseIsolator.h:25
edm::ParameterSet
Definition: ParameterSet.h:47
SimpleCutsIsolator::resultType
ResultType resultType() const override
Definition: SimpleCutsIsolator.h:17
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
SimpleCutsIsolator::result
Result result(const DepositContainer &deposits, const edm::Event *=nullptr) const override
Compute and return the isolation variable.
Definition: SimpleCutsIsolator.h:19
std
Definition: JetResolutionObject.h:76
muonisolation::Cuts::CutSpec::conesize
double conesize
Definition: Cuts.h:18
muonisolation::MuIsoBaseIsolator::Result::valFloat
float valFloat
Definition: MuIsoBaseIsolator.h:36
muonisolation::MuIsoBaseIsolator::DepositContainer
std::vector< DepositAndVetos > DepositContainer
Definition: MuIsoBaseIsolator.h:23
muonisolation::Cuts::CutSpec::threshold
double threshold
Definition: Cuts.h:19
SimpleCutsIsolator
Definition: SimpleCutsIsolator.h:10
ConsumesCollector.h
ParameterSet.h
edm::Event
Definition: Event.h:73
muonisolation::Cuts::CutSpec
Definition: Cuts.h:16
CandIsolatorFromDeposits_cfi.deposits
deposits
Definition: CandIsolatorFromDeposits_cfi.py:4
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
MuIsoBaseIsolator.h
Cuts.h