11 muonTag_ (params.getParameter<
edm::InputTag>(
"muonSrc") ),
12 electronTag_ (params.getParameter<
edm::InputTag>(
"electronSrc") ),
13 jetTag_ (params.getParameter<
edm::InputTag>(
"jetSrc") ),
14 metTag_ (params.getParameter<
edm::InputTag>(
"metSrc") ),
15 trigTag_ (params.getParameter<
edm::InputTag>(
"trigSrc") ),
16 muTrig_ (params.getParameter<
std::
string>(
"muTrig")),
17 eleTrig_ (params.getParameter<
std::
string>(
"eleTrig")),
20 electronIdTight_ (params.getParameter<
edm::
ParameterSet>(
"electronIdTight") ),
22 electronIdLoose_ (params.getParameter<
edm::
ParameterSet>(
"electronIdLoose") ),
24 pfjetIdLoose_ (params.getParameter<
edm::
ParameterSet>(
"pfjetIdLoose") ),
25 minJets_ (params.getParameter<
int> (
"minJets") ),
26 muJetDR_ (params.getParameter<double>(
"muJetDR")),
27 eleJetDR_ (params.getParameter<double>(
"eleJetDR")),
28 muPlusJets_ (params.getParameter<
bool>(
"muPlusJets") ),
29 ePlusJets_ (params.getParameter<
bool>(
"ePlusJets") ),
30 muPtMin_ (params.getParameter<double>(
"muPtMin")),
31 muEtaMax_ (params.getParameter<double>(
"muEtaMax")),
32 eleEtMin_ (params.getParameter<double>(
"eleEtMin")),
33 eleEtaMax_ (params.getParameter<double>(
"eleEtaMax")),
34 muPtMinLoose_ (params.getParameter<double>(
"muPtMinLoose")),
35 muEtaMaxLoose_ (params.getParameter<double>(
"muEtaMaxLoose")),
36 eleEtMinLoose_ (params.getParameter<double>(
"eleEtMinLoose")),
37 eleEtaMaxLoose_ (params.getParameter<double>(
"eleEtaMaxLoose")),
38 jetPtMin_ (params.getParameter<double>(
"jetPtMin")),
39 jetEtaMax_ (params.getParameter<double>(
"jetEtaMax")),
40 jetScale_ (params.getParameter<double>(
"jetScale")),
41 metMin_ (params.getParameter<double>(
"metMin"))
44 push_back(
"Inclusive" );
45 push_back(
"Trigger" );
47 push_back(
">= 1 Lepton" );
48 push_back(
"== 1 Tight Lepton" );
49 push_back(
"== 1 Tight Lepton, Mu Veto");
50 push_back(
"== 1 Lepton" );
51 push_back(
"MET Cut" );
52 push_back(
"Z Veto" );
53 push_back(
"Conversion Veto");
54 push_back(
"Cosmic Veto" );
55 push_back(
">=1 Jets" );
56 push_back(
">=2 Jets" );
57 push_back(
">=3 Jets" );
58 push_back(
">=4 Jets" );
59 push_back(
">=5 Jets" );
67 set(
"== 1 Tight Lepton" );
68 set(
"== 1 Tight Lepton, Mu Veto");
72 set(
"Conversion Veto");
98 if ( params.
exists(
"cutsToIgnore") )
99 setIgnoredCuts( params.
getParameter<std::vector<std::string> >(
"cutsToIgnore") );
102 retInternal_ = getBitTemplate();
127 event.getByLabel(
trigTag_, triggerEvent);
158 if ( ignoreCut(
pvIndex_) || passPV ) {
165 event.getByLabel (
muonTag_, muonHandle);
172 event.getByLabel (
metTag_, metHandle);
175 for ( std::vector<pat::Electron>::const_iterator electronBegin = electronHandle->begin(),
176 electronEnd = electronHandle->end(), ielectron = electronBegin;
177 ielectron != electronEnd; ++ielectron ) {
182 ielectron->electronID(
"eidRobustTight" ) > 0 ) {
194 for ( std::vector<pat::Muon>::const_iterator muonBegin = muonHandle->begin(),
195 muonEnd = muonHandle->end(), imuon = muonBegin;
196 imuon != muonEnd; ++imuon ) {
197 if ( !imuon->isGlobalMuon() )
continue;
200 bool passTight =
muonIdTight_(*imuon,event) && imuon->isTrackerMuon() ;
216 metHandle->at(0).charge(),
217 metHandle->at(0).p4() );
221 event.getByLabel (
jetTag_, jetHandle);
224 for ( std::vector<pat::Jet>::const_iterator jetBegin = jetHandle->begin(),
225 jetEnd = jetHandle->end(), ijet = jetBegin;
226 ijet != jetEnd; ++ijet ) {
230 bool passJetID =
false;
231 if ( ijet->isCaloJet() || ijet->isJPTJet() ) passJetID =
jetIdLoose_(*ijet, ret1);
239 bool indeltaR =
false;
240 for( std::vector<reco::ShallowClonePtrCandidate>::const_iterator muonBegin =
selectedMuons_.begin(),
242 imuon != muonEnd; ++imuon ) {
252 bool indeltaR =
false;
253 for( std::vector<reco::ShallowClonePtrCandidate>::const_iterator electronBegin =
selectedElectrons_.begin(),
255 ielectron != electronEnd; ++ielectron ) {
325 bool conversionVeto =
true;
332 bool cosmicVeto =
true;
std::vector< reco::ShallowClonePtrCandidate > selectedElectrons_
bool wasAccept() const
Get the success flag.
T getParameter(std::string const &) const
ElectronVPlusJetsIDSelectionFunctor electronIdLoose_
double eta() const final
momentum pseudorapidity
ElectronVPlusJetsIDSelectionFunctor electronIdTight_
index_type conversionIndex_
PFJetIDSelectionFunctor pfjetIdLoose_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
reco::ShallowClonePtrCandidate met_
double pt() const final
transverse momentum
int charge() const final
electric charge
JetIDSelectionFunctor jetIdLoose_
Analysis-level HLTrigger path class.
std::vector< reco::ShallowClonePtrCandidate > selectedJets_
const TriggerPath * path(const std::string &namePath) const
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
std::vector< reco::ShallowClonePtrCandidate > selectedMuons_
Analysis-level trigger event class.
index_type inclusiveIndex_
virtual bool operator()(edm::EventBase const &t, pat::strbitset &ret)
edm::InputTag electronTag_
strbitset & set(bool val=true)
set method of all bits
pat::strbitset getBitTemplate() const
Get an empty bitset with the proper names.
std::vector< reco::ShallowClonePtrCandidate > looseElectrons_
std::vector< reco::ShallowClonePtrCandidate > selectedMETs_
std::vector< reco::ShallowClonePtrCandidate > cleanedJets_
MuonVPlusJetsIDSelectionFunctor muonIdLoose_
MuonVPlusJetsIDSelectionFunctor muonIdTight_
double phi() const final
momentum azimuthal angle
bool wasRun() const
Get the run flag.
bool wasAccept() const
Get the success flag.
bool passTrig(const float objEta, float objPhi, const trigger::TriggerEvent &trigEvt, const std::string &filterName, const std::string &processName)
std::vector< reco::ShallowClonePtrCandidate > looseMuons_