16 const double& ratioMin_,
17 const double& ratioMax_,
30 const int& jetFlavour,
32 const double jec)
const {
52 LogDebug(
"infos not valid") <<
"A valid SoftLeptonTagInfoCollection was not found!"
53 <<
" Skipping ratio check.";
55 double pToEratio =
ratio(jet, infos);
56 if (pToEratio / jec < ratioMin || pToEratio / jec >
ratioMax)
69 if (!(neutralHadronEnergyFraction < 0.99 && neutralEmEnergyFraction < 0.99 && nConstituents > 1 &&
70 chargedHadronEnergyFraction > 0.0 && chargedMultiplicity > 0.0 && chargedEmEnergyFraction < 0.99))
81 double jetRatio = 0.0;
82 reco::SoftLeptonTagInfoCollection::const_iterator infoiter = infos->begin();
83 for (; infoiter != infos->end(); ++infoiter) {
84 if (
reco::deltaR(jet.
eta(), jet.
phi(), infoiter->jet()->eta(), infoiter->jet()->phi()) > 1
e-4)
87 if (infoiter->leptons() == 0)
90 for (
unsigned int k = 0;
k != infoiter->leptons(); ++
k) {
91 double tempRatio = infoiter->properties(
k).ratio;
92 if (tempRatio > jetRatio)
float chargedEmEnergy() const
chargedEmEnergy
double pt() const final
transverse momentum
Base class for all types of Jets.
etaMax_(conf.getParameter< double >("etaMax"))
int chargedMultiplicity() const
chargedMultiplicity
Jets made from PFObjects.
float neutralEmEnergy() const
neutralEmEnergy
ptMin_(conf.getParameter< double >("ptMin"))
double p() const final
magnitude of momentum vector
pMin_(conf.getParameter< double >("pMin"))
AcceptJet(const double &etaMin_, const double &etaMax_, const double &ptMin_, const double &ptMax_, const double &pMin_, const double &pMax_, const double &ratioMin_, const double &ratioMax_, const bool &doJetID_)
double ratio(const reco::Jet &jet, const edm::Handle< reco::SoftLeptonTagInfoCollection > &infos) const
Finds the ratio of the momentum of any leptons in the jet to jet energy.
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
virtual std::vector< reco::PFCandidatePtr > getPFConstituents() const
get all constituents
float neutralHadronEnergy() const
neutralHadronEnergy
bool operator()(const reco::Jet &jet, const int &jetFlavour, const edm::Handle< reco::SoftLeptonTagInfoCollection > &infos, const double jec) const
Returns true if jet and associated parton satisfy kinematic cuts.
double phi() const final
momentum azimuthal angle
etaMin_(conf.getParameter< double >("etaMin"))
float chargedHadronEnergy() const
chargedHadronEnergy
double energy() const final
energy
double eta() const final
momentum pseudorapidity