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;
64 result = result && (is_vertex_allowed);
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
const edm::EventSetup & c
void setConsumes(edm::ConsumesCollector) override
T const * get() const
Returns C++ pointer to the item.
bool isInIsolationCone(const reco::CandidatePtr &physob, const reco::CandidatePtr &other) const final
const double _vetoConeSize2
edm::Ptr< pat::PackedCandidate > PackedCandidatePtr
const double _vetoThreshold
MuonPFIsolationWithConeVeto(const edm::ParameterSet &c)
bool isNonnull() const
Checks for non-null.
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)
Power< A, B >::type pow(const A &a, const B &b)
const std::vector< unsigned > _miniAODVertexCodes
edm::EDGetTokenT< reco::VertexCollection > _vtxToken