39 gsftracks_{consumes<std::vector<reco::GsfTrack> >(
iConfig.getParameter<
edm::InputTag>(
"gsfTracks"))} {
40 produces<edm::Association<reco::TrackCollection> >();
49 const size_t ngsf = gsftracks->size();
52 std::vector<int> gsf2track(ngsf, -1);
55 for (
unsigned int igsf = 0; igsf < ngsf; ++igsf) {
62 "The reco::Track collection used to match against the GSF Tracks was not used to produce such tracks");
65 size_t trkid = trk.
index();
66 gsf2track[igsf] = trkid;
70 auto assoc = std::make_unique<edm::Association<reco::TrackCollection> >(
tracks);
72 filler.insert(gsftracks, gsf2track.begin(), gsf2track.end());
82 descriptions.
add(
"lowPtGsfToTrackLinks", desc);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EDGetTokenT< std::vector< reco::PreId > > preid_
LowPtGSFToTrackLinker(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
auto const & tracks
cannot be loose
static void fillDescriptions(edm::ConfigurationDescriptions &)
ProductID id() const
Accessor for product ID.
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
const edm::EDGetTokenT< std::vector< reco::GsfTrack > > gsftracks_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
T getParameter(std::string const &) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const edm::EDGetTokenT< reco::TrackCollection > tracks_