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")),
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")) {
43 push_back(
"Inclusive");
46 push_back(
">= 1 Lepton");
47 push_back(
"== 1 Tight Lepton");
48 push_back(
"== 1 Tight Lepton, Mu Veto");
49 push_back(
"== 1 Lepton");
52 push_back(
"Conversion Veto");
53 push_back(
"Cosmic Veto");
54 push_back(
">=1 Jets");
55 push_back(
">=2 Jets");
56 push_back(
">=3 Jets");
57 push_back(
">=4 Jets");
58 push_back(
">=5 Jets");
65 set(
"== 1 Tight Lepton");
66 set(
"== 1 Tight Lepton, Mu Veto");
70 set(
"Conversion Veto");
95 if (params.
exists(
"cutsToIgnore"))
96 setIgnoredCuts(params.
getParameter<std::vector<std::string> >(
"cutsToIgnore"));
98 retInternal_ = getBitTemplate();
117 event.getByLabel(
trigTag_, triggerEvent);
142 if (ignoreCut(
pvIndex_) || passPV) {
149 event.getByLabel(
muonTag_, muonHandle);
156 event.getByLabel(
metTag_, metHandle);
159 for (std::vector<pat::Electron>::const_iterator electronBegin = electronHandle->begin(),
160 electronEnd = electronHandle->end(),
161 ielectron = electronBegin;
162 ielectron != electronEnd;
167 ielectron->electronID(
"eidRobustTight") > 0) {
180 for (std::vector<pat::Muon>::const_iterator muonBegin = muonHandle->begin(),
181 muonEnd = muonHandle->end(),
185 if (!imuon->isGlobalMuon())
189 bool passTight =
muonIdTight_(*imuon, event) && imuon->isTrackerMuon();
203 event.getByLabel(
jetTag_, jetHandle);
206 for (std::vector<pat::Jet>::const_iterator jetBegin = jetHandle->begin(),
207 jetEnd = jetHandle->end(),
213 bool passJetID =
false;
214 if (ijet->isCaloJet() || ijet->isJPTJet())
223 bool indeltaR =
false;
224 for (std::vector<reco::ShallowClonePtrCandidate>::const_iterator muonBegin =
selectedMuons_.begin(),
239 bool indeltaR =
false;
240 for (std::vector<reco::ShallowClonePtrCandidate>::const_iterator electronBegin =
selectedElectrons_.begin(),
242 ielectron = electronBegin;
243 ielectron != electronEnd;
263 if (ignoreCut(
lep1Index_) || (nleptons > 0)) {
266 if (ignoreCut(
lep2Index_) || (nleptons == 1)) {
293 bool conversionVeto =
true;
297 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_
ret
prodAgent to be discontinued
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
std::vector< reco::ShallowClonePtrCandidate > selectedMuons_
bool operator()(edm::EventBase const &t, pat::strbitset &ret) override
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Analysis-level trigger event class.
index_type inclusiveIndex_
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_