1 #ifndef MuonIsolation_MuIsoBaseIsolator_H
2 #define MuonIsolation_MuIsoBaseIsolator_H
11 namespace muonisolation {
65 inline int MuIsoBaseIsolator::Result::val<int>()
const {
69 inline float MuIsoBaseIsolator::Result::val<float>()
const {
73 inline bool MuIsoBaseIsolator::Result::val<bool>()
const {
virtual Result result(const DepositContainer &deposits, const edm::Event *=nullptr) const =0
Compute and return the isolation variable.
reco::IsoDeposit::Vetos Vetos
virtual Result result(const DepositContainer &deposits, const reco::Candidate &muon, const edm::Event *=nullptr) const
Compute and return the isolation variable, with vetoes and the muon.
reco::IsoDeposit::Veto Veto
DepositAndVetos(const reco::IsoDeposit *depA, const Vetos *vetosA=nullptr)
virtual Result result(const DepositContainer &deposits, const reco::Track &muon, const edm::Event *=nullptr) const
Compute and return the isolation variable, with vetoes and the muon.
virtual ResultType resultType() const =0
virtual ~MuIsoBaseIsolator()
std::vector< DepositAndVetos > DepositContainer
std::vector< Veto > Vetos
const reco::IsoDeposit * dep