30 return (i1 < cut_ && i2 >=
cut_) || (i1 >=
cut_ && i2 <
cut_);
52 template<
typename Isolator>
57 std::string
iso = cfg.template getParameter<std::string>(
"isolationType");
62 else if(iso ==
"ecal") {
66 else if(iso ==
"hcal") {
70 else if(iso ==
"calo") {
75 <<
"Invalid isolation type: " << iso <<
". Valid types are:"
76 <<
"'track', 'ecal', 'hcal', 'calo'\n";
86 <<
"Candidate daughters have no master clone\n";
88 double iso0 = -1, iso1 = -1;
98 <<
"Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n";
110 <<
"Candidate daughter #1 is neither pat::Muons nor pat::GenericParticle\n";
float(pat::Lepton< reco::Muon >::* LeptonIsolationType)() const
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsolationSelector< OneNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuOneNonIsolatedSelector
NonIsolatedSelector(double cut)
#define DEFINE_FWK_MODULE(type)
ZToMuMuIsolationSelector(const edm::ParameterSet &cfg)
float(pat::GenericParticle::* TrackIsolationType)() const
bool operator()(double i1, double i2) const
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
virtual size_type numberOfDaughters() const =0
number of daughters
virtual bool hasMasterClone() const =0
Analysis-level lepton class.
bool operator()(double i1, double i2) const
OneNonIsolatedSelector(double cut)
bool operator()(double i1, double i2) const
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsolationSelector< IsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuIsolatedSelector
LeptonIsolationType leptonIsolation_
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsolationSelector< NonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuNonIsolatedSelector
TrackIsolationType trackIsolation_
IsolatedSelector(double cut)
IsolatedSelector isolated_
TwoNonIsolatedSelector(double cut)
Analysis-level muon class.
SingleObjectSelector< reco::CandidateView, AndSelector< ZToMuMuIsolationSelector< TwoNonIsolatedSelector >, StringCutObjectSelector< reco::Candidate > > > ZToMuMuTwoNonIsolatedSelector
edm::View< Candidate > CandidateView
view of a collection containing candidates
bool operator()(double i1, double i2) const
bool operator()(const reco::Candidate &z) const
virtual const CandidateBaseRef & masterClone() const =0