43 iConfig.existsAs<
std::
string>(
"probeSelection") ? iConfig.getParameter<
std::
string>(
"probeSelection") :
"",
45 produces<edm::ValueMap<float>>();
59 std::vector<unsigned int> tagKeys;
62 for (pair = pairs->begin(); pair != endpairs; ++pair, ++
i) {
64 unsigned int tagKey = pair->daughter(0)->masterClone().key();
65 unsigned int copies = 1;
67 for (
unsigned int j = 0;
j <
i; ++
j)
68 if (tagKeys[
j] == tagKey)
70 for (
unsigned int j = 0;
j <
i; ++
j)
71 if (tagKeys[
j] == tagKey)
77 tagKeys.push_back(tagKey);
78 values.push_back(copies);
82 auto valMap = std::make_unique<ValueMap<float>>();
84 filler.insert(pairs, values.begin(), values.end());
edm::EDGetTokenT< reco::CandidateView > pairs_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
StringCutObjectSelector< reco::Candidate, true > probeCut_
StringCutObjectSelector< reco::Candidate, true > pairCut_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
~ProbeMulteplicityProducer() override
#define DEFINE_FWK_MODULE(type)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Matcher of number of reconstructed objects in the event to probe.
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
ProbeMulteplicityProducer(const edm::ParameterSet &iConfig)
edm::View< Candidate > CandidateView
view of a collection containing candidates