1 #ifndef MuonIsolation_MuIsoBaseIsolator_H
2 #define MuonIsolation_MuIsoBaseIsolator_H
11 namespace muonisolation {
39 template <
typename T>
T val()
const;
68 template<>
inline int MuIsoBaseIsolator::Result::val<int>()
const {
return valInt;}
69 template<>
inline float MuIsoBaseIsolator::Result::val<float>()
const {
return valFloat;}
70 template<>
inline bool MuIsoBaseIsolator::Result::val<bool>()
const {
return valBool;}
virtual Result result(const DepositContainer &deposits, const edm::Event *=0) const =0
Compute and return the isolation variable.
reco::IsoDeposit::Vetos Vetos
reco::IsoDeposit::Veto Veto
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.
virtual Result result(const DepositContainer &deposits, const reco::Track &muon, const edm::Event *=0) 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
volatile std::atomic< bool > shutdown_flag false
const reco::IsoDeposit * dep
DepositAndVetos(const reco::IsoDeposit *depA, const Vetos *vetosA=0)