83 produces<edm::Association<std::vector<reco::GenParticle> > >();
84 produces<edm::ValueMap<float> >(
"pulls");
104 typedef std::vector<reco::GenParticle> MCColl;
110 std::vector<uint8_t> candGood(cands->size(),1);
113 std::vector<int>
matches(src->size(),-1);
114 std::vector<float> pulls(src->size(), 1e39);
115 for (
size_t i = 0,
n = src->size();
i <
n; ++
i) {
116 const T &tk = (*src)[
i];
117 std::pair<int,float>
m =
algo_.
match(tk, *cands, candGood);
124 MCAsso::Filler matchesFiller(*matchesMap);
126 matchesFiller.fill();
131 pullsFiller.
insert(src, pulls.begin(), pulls.end());
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< edm::View< T > > srcToken_
The RECO objects.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
void insert(const H &h, I begin, I end)
std::pair< bool, float > match(const reco::Track &tk, const reco::Candidate &mc, const AlgebraicSymMatrix55 &invertedCovariance) const
StringCutObjectSelector< reco::GenParticle > mcSel_
Preselection cut on MC objects.
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
edm::EDGetTokenT< std::vector< reco::GenParticle > > matchedToken_
The MC objects to match against.
pat::MatcherByPulls< reco::Track > TrackMatcherByPulls
MatcherByPulls(const edm::ParameterSet &)
virtual void produce(edm::Event &, const edm::EventSetup &) override
MatcherByPullsAlgorithm algo_