26 vetoSrcToken_{consumes<edm::View<reco::Candidate>>(iConfig.getParameter<
edm::InputTag>(
"veto"))},
27 useDeltaRforFootprint_(iConfig.getParameter<
bool>(
"useDeltaRforFootprint")) {
28 produces<edm::PtrVector<reco::Candidate>>();
36 auto result = std::make_unique<PtrVector<reco::Candidate>>();
37 std::set<reco::CandidatePtr> vetoedPtrs;
38 for (
auto const&
veto : *vetoes) {
39 auto const n =
veto.numberOfSourceCandidatePtrs();
40 for (
size_t j{};
j <
n; ++
j) {
41 vetoedPtrs.insert(
veto.sourceCandidatePtr(
j));
47 for (
size_t i{};
i <
cands->size(); ++
i) {
49 if (vetoedPtrs.find(
c) == vetoedPtrs.cend()) {
52 for (
const auto& it : vetoedPtrs)
53 if (it.isNonnull() && it.isAvailable() &&
reco::deltaR2(*it, *
c) < 0.00000025) {
68 desc.
add<
bool>(
"useDeltaRforFootprint",
false);