11 const double& etaMax_,
16 const double& ratioMin_,
17 const double& ratioMax_,
30 const int& jetFlavour,
32 const double jec)
const {
51 if (!
infos.isValid()) {
52 LogDebug(
"infos not valid") <<
"A valid SoftLeptonTagInfoCollection was not found!" 53 <<
" Skipping ratio check.";
56 if (pToEratio / jec < ratioMin || pToEratio / jec >
ratioMax)
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 neutralHadronEnergy() const
neutralHadronEnergy
int chargedMultiplicity() const
chargedMultiplicity
float chargedEmEnergy() const
chargedEmEnergy
float neutralEmEnergy() const
neutralEmEnergy
Base class for all types of Jets.
Jets made from PFObjects.
virtual std::vector< reco::PFCandidatePtr > getPFConstituents() const
get all constituents
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.
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_)
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
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.
float chargedHadronEnergy() const
chargedHadronEnergy