47 if (deltar2 <= _vetoConeSize2 || deltar2 >=
_coneSize2)
56 if (aspacked->charge() != 0) {
57 bool is_vertex_allowed =
false;
59 if (vtxtype == aspacked->fromPV()) {
60 is_vertex_allowed =
true;
68 throw cms::Exception(
"InvalidIsolationInput") <<
"The supplied candidate to be used as isolation " 69 <<
"was neither a reco::PFCandidate nor a pat::PackedCandidate!";
IsolationConeDefinitionBase(const edm::ParameterSet &c)
MuonPFIsolationWithConeVeto & operator=(const MuonPFIsolationWithConeVeto &)=delete
void setConsumes(edm::ConsumesCollector) override
bool isInIsolationCone(const reco::CandidatePtr &physob, const reco::CandidatePtr &other) const final
const double _vetoConeSize2
edm::Ptr< pat::PackedCandidate > PackedCandidatePtr
const double _vetoThreshold
bool isNonnull() const
Checks for non-null.
MuonPFIsolationWithConeVeto(const edm::ParameterSet &c)
T const * get() const
Returns C++ pointer to the item.
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
~MuonPFIsolationWithConeVeto() override
Destructor.
std::string _additionalCode
#define DEFINE_EDM_PLUGIN(factory, type, name)
const std::vector< unsigned > _miniAODVertexCodes
edm::EDGetTokenT< reco::VertexCollection > _vtxToken