33 ptMin_(cfg.getParameter<double>(
"ptMin")),
34 etaMin_(cfg.getParameter<double>(
"etaMin")),
35 etaMax_(cfg.getParameter<double>(
"etaMax")),
36 massMin_(cfg.getParameter<double>(
"massMin")),
37 massMax_(cfg.getParameter<double>(
"massMax")),
38 isoMax_(cfg.getParameter<double>(
"isoMax")) {
48 unsigned int nZ = zCands->
size();
49 if (nZ == 0)
return false;
50 for(
unsigned int i = 0;
i < nZ; ++
i) {
52 double zMass = zCand.
mass();
53 if (zMass < massMin_ || zMass >
massMax_)
return false;
57 double pt0 = dau0->
pt(),
pt1 = dau1->
pt();
59 double eta0 = dau0->
eta(), eta1 = dau1->
eta();
60 if(eta0 < etaMin_ || eta0 >
etaMax_)
return false;
61 if(eta1 < etaMin_ || eta1 > etaMax_)
return false;
64 double iso0 = (*muIso1)[mu0];
65 double iso1 = (*muIso2)[mu1];
66 if (iso0 >
isoMax_)
return false;
67 if (iso1 >
isoMax_)
return false;
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
edm::EDGetTokenT< reco::CandidateCollection > zCandsToken_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
#define DEFINE_FWK_MODULE(type)
ZToMuMuFilter(const edm::ParameterSet &)
virtual const CandidateBaseRef & masterClone() const =0
virtual double eta() const =0
momentum pseudorapidity
edm::EDGetTokenT< reco::CandDoubleAssociations > muIso1Token_
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
bool filter(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::CandDoubleAssociations > muIso2Token_
virtual size_type numberOfDaughters() const =0
number of daughters