18 : minPt_(iConfig.getParameter<double>(
"minPt")),
19 maxEta_(iConfig.getParameter<double>(
"maxEta")),
20 CHF_(iConfig.getParameter<double>(
"CHF")),
21 NHF_(iConfig.getParameter<double>(
"NHF")),
22 CEF_(iConfig.getParameter<double>(
"CEF")),
23 NEF_(iConfig.getParameter<double>(
"NEF")),
24 maxCF_(iConfig.getParameter<double>(
"maxCF")),
25 NCH_(iConfig.getParameter<
int>(
"NCH")),
26 NTOT_(iConfig.getParameter<
int>(
"NTOT")),
27 inputTag_(iConfig.getParameter<
edm::
InputTag>(
"jetsInput")) {
31 produces<reco::PFJetCollection>();
40 desc.
add<
double>(
"minPt", 20.);
41 desc.
add<
double>(
"maxEta", 1e99);
42 desc.
add<
double>(
"CHF", -99.);
43 desc.
add<
double>(
"NHF", 99.);
44 desc.
add<
double>(
"CEF", 99.);
45 desc.
add<
double>(
"NEF", 99.);
46 desc.
add<
double>(
"maxCF", 99.);
47 desc.
add<
int>(
"NCH", 0);
48 desc.
add<
int>(
"NTOT", 0);
50 descriptions.
add(
"hltPFJetIDProducer", desc);
61 for (
auto const&
j : *pfjets) {
77 double chf =
j.chargedHadronEnergyFraction();
79 double nhf =
j.neutralHadronEnergyFraction();
80 double cef =
j.chargedEmEnergyFraction();
81 double nef =
j.neutralEmEnergyFraction();
82 double cftot = chf + cef +
j.chargedMuEnergyFraction();
83 int nch =
j.chargedMultiplicity();
84 int ntot =
j.numberOfDaughters();
87 pass = pass && (ntot >
NTOT_);
88 pass = pass && (nef <
NEF_);
89 pass = pass && (nhf < NHF_ || abseta >= 2.4);
90 pass = pass && (cef < CEF_ || abseta >= 2.4);
91 pass = pass && (chf >
CHF_ || abseta >= 2.4);
92 pass = pass && (nch >
NCH_ || abseta >= 2.4);
93 pass = pass && (cftot < maxCF_ || abseta >= 2.4);