Go to the documentation of this file.
55 using namespace isodeposit;
57 template <
typename Isolator>
61 : isolator_(
cfg.
template getParameter<double>(
"isoCut")),
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")),
93 double isovalueTrk = (
trkIso->sumWithin(
dRTrk, vetosTrk));
98 alpha * (((1 +
beta) / 2 * isovalueEcal) + ((1 -
beta) / 2 * isovalueHcal)) + ((1 -
alpha) * isovalueTrk);
105 const pat::Muon*
mu = dynamic_cast<const pat::Muon*>(
c);
112 <<
"Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n";
116 if (z.numberOfDaughters() != 2)
118 <<
"Candidate has " << z.numberOfDaughters() <<
" daughters, 2 expected\n";
double candIsolation(const reco::Candidate *c) const
edm::View< Candidate > CandidateView
view of a collection containing candidates
bool operator()(double i1, double i2) const
double isolation(const T *t) const
alpha
zGenParticlesMatch = cms.InputTag(""),
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< IsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuIsolatedIDSelector
IsolatedSelector isolated_
Analysis-level muon class.
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< OneNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuOneNonIsolatedIDSelector
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< NonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuNonIsolatedIDSelector
TwoNonIsolatedSelector(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)
NonIsolatedSelector(double cut)
#define DEFINE_FWK_MODULE(type)
isodeposit::AbsVetos AbsVetos
bool operator()(const reco::Candidate &z) const
virtual bool hasMasterClone() const =0
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed)
double sumWithin(double coneSize, const AbsVetos &vetos=AbsVetos(), bool skipDepositVeto=false) const
def template(fileName, svg, replaceme="REPLACEME")
OneNonIsolatedSelector(double cut)
ZToMuMuIsoDepositSelector(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
bool operator()(double i1, double i2) const
bool operator()(double i1, double i2) const
bool operator()(double i1, double i2) const
virtual const CandidateBaseRef & masterClone() const =0
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsoDepositSelector< TwoNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuTwoNonIsolatedIDSelector
IsolatedSelector(double cut)