19 double cut()
const {
return isolated_.cut(); }
55 using namespace isodeposit;
57 template <
typename Isolator>
61 : isolator_(cfg.
template getParameter<double>(
"isoCut")),
62 ptThreshold(cfg.getUntrackedParameter<double>(
"ptThreshold")),
65 dRVetoTrk(cfg.getUntrackedParameter<double>(
"deltaRVetoTrk")),
66 dRTrk(cfg.getUntrackedParameter<double>(
"deltaRTrk")),
67 dREcal(cfg.getUntrackedParameter<double>(
"deltaREcal")),
68 dRHcal(cfg.getUntrackedParameter<double>(
"deltaRHcal")),
69 alpha(cfg.getUntrackedParameter<double>(
"alpha")),
70 beta(cfg.getUntrackedParameter<double>(
"beta")),
86 vetosEcal.push_back(
new ConeVeto(dir, 0.));
90 vetosHcal.push_back(
new ConeVeto(dir, 0.));
98 alpha * (((1 +
beta) / 2 * isovalueEcal) + ((1 -
beta) / 2 * isovalueHcal)) + ((1 -
alpha) * isovalueTrk);
112 <<
"Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n";
ZToMuMuIsoDepositSelector(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
NonIsolatedSelector(double cut)
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< IsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuIsolatedIDSelector
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
double candIsolation(const reco::Candidate *c) const
bool operator()(double i1, double i2) const
double sumWithin(double coneSize, const AbsVetos &vetos=AbsVetos(), bool skipDepositVeto=false) const
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
#define DEFINE_FWK_MODULE(type)
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< OneNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuOneNonIsolatedIDSelector
bool operator()(const reco::Candidate &z) const
bool operator()(double i1, double i2) const
def template(fileName, svg, replaceme="REPLACEME")
OneNonIsolatedSelector(double cut)
double candIsolation(const reco::Candidate *c, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta, bool relativeIsolation)
bool operator()(double i1, double i2) const
virtual const CandidateBaseRef & masterClone() const =0
double isolation(const T *t) const
std::vector< AbsVeto * > AbsVetos
IsolatedSelector(double cut)
IsolatedSelector isolated_
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< TwoNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuTwoNonIsolatedIDSelector
alpha
zGenParticlesMatch = cms.InputTag(""),
TwoNonIsolatedSelector(double cut)
virtual size_type numberOfDaughters() const =0
number of daughters
Analysis-level muon class.
edm::View< Candidate > CandidateView
view of a collection containing candidates
bool operator()(double i1, double i2) const
virtual bool hasMasterClone() const =0
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< NonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuNonIsolatedIDSelector