13 m_sign(option(params.getParameter<std::
string>(
"ipSign"))),
14 m_leptonId(
reco::SoftLeptonProperties::
Quality::btagLeptonCands),
17 if (params.
exists(
"leptonId") || params.
exists(
"qualityCut")) {
19 m_leptonId = reco::SoftLeptonProperties::Quality::byName<reco::SoftLeptonProperties::Quality::Generic>(leptonId.c_str());
30 float sip = use3d ? properties.
sip3d : properties.
sip2d;
45 if (selection ==
"any")
47 else if (selection ==
"negative")
49 else if (selection ==
"positive")
T getParameter(std::string const &) const
float quality(Quality::Generic qual, bool throwIfUndefined=true) const
bool exists(std::string const ¶meterName) const
checks if a parameter exists
sign
optionally select leptons based on their impact parameter sign
LeptonSelector(const edm::ParameterSet ¶ms)
static sign option(const std::string &election)
bool operator()(const reco::SoftLeptonProperties &properties, bool use3d=true) const
reco::SoftLeptonProperties::Quality::Generic m_leptonId