Go to the documentation of this file.
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)
Base class for all types of Jets.
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_)
float chargedHadronEnergy() const
chargedHadronEnergy
int chargedMultiplicity() const
chargedMultiplicity
float chargedEmEnergy() const
chargedEmEnergy
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 neutralHadronEnergy() const
neutralHadronEnergy
Jets made from PFObjects.
float neutralEmEnergy() const
neutralEmEnergy
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())