RecoMuon
MuonIsolation
interface
SimpleCutsIsolator.h
Go to the documentation of this file.
1
#ifndef SimpleCutsIsolator_H
2
#define SimpleCutsIsolator_H
3
4
#include "
RecoMuon/MuonIsolation/interface/MuIsoBaseIsolator.h
"
5
#include "
RecoMuon/MuonIsolation/interface/Cuts.h
"
6
7
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
8
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
9
10
class
SimpleCutsIsolator
:
public
muonisolation::MuIsoBaseIsolator
{
11
public
:
12
SimpleCutsIsolator
(
const
edm::ParameterSet
& par,
edm::ConsumesCollector
&& iC)
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
48
muonisolation::Cuts
theCuts
;
49
};
50
51
#endif
muonisolation::MuIsoBaseIsolator::ISOL_BOOL_TYPE
Definition:
MuIsoBaseIsolator.h:25
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
submit.answer
answer
Definition:
submit.py:45
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:36
SimpleCutsIsolator::resultType
ResultType resultType() const override
Definition:
SimpleCutsIsolator.h:17
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition:
TrackBase.h:623
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::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:39
MuIsoBaseIsolator.h
Cuts.h
Generated for CMSSW Reference Manual by
1.8.16