CMS 3D CMS Logo

PATLeptonCountFilter.cc
Go to the documentation of this file.
1 //
2 //
3 
5 
7 
8 
9 using namespace pat;
10 
11 
13  electronToken_(mayConsume<edm::View<Electron> >(iConfig.getParameter<edm::InputTag>( "electronSource" ))),
14  muonToken_(mayConsume<edm::View<Muon> >(iConfig.getParameter<edm::InputTag>( "muonSource" ))),
15  tauToken_(mayConsume<edm::View<Tau> >(iConfig.getParameter<edm::InputTag>( "tauSource" ))),
16  countElectrons_(iConfig.getParameter<bool> ( "countElectrons" )),
17  countMuons_(iConfig.getParameter<bool> ( "countMuons" )),
18  countTaus_(iConfig.getParameter<bool> ( "countTaus" )),
19  minNumber_(iConfig.getParameter<unsigned int> ( "minNumber" )),
20  maxNumber_(iConfig.getParameter<unsigned int> ( "maxNumber" )) {
21 
22 }
23 
24 
26 }
27 
28 
31  if (countElectrons_) iEvent.getByToken(electronToken_, electrons);
33  if (countMuons_) iEvent.getByToken(muonToken_, muons);
35  if (countTaus_) iEvent.getByToken(tauToken_, taus);
36  unsigned int nrLeptons = 0;
37  nrLeptons += (countElectrons_ ? electrons->size() : 0);
38  nrLeptons += (countMuons_ ? muons->size() : 0);
39  nrLeptons += (countTaus_ ? taus->size() : 0);
40  return nrLeptons >= minNumber_ && nrLeptons <= maxNumber_;
41 }
42 
45 
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
Definition: HeavyIon.h:7
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
const edm::EDGetTokenT< edm::View< Muon > > muonToken_
Definition: Muon.py:1
Definition: Tau.py:1
bool filter(edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
const edm::EDGetTokenT< edm::View< Tau > > tauToken_
const edm::EDGetTokenT< edm::View< Electron > > electronToken_
HLT enums.
PATLeptonCountFilter(const edm::ParameterSet &iConfig)