10 : signalTracksTag(conf.getParameter<
edm::
InputTag>(
"signalTracks")),
11 pileUpTracksTag(conf.getParameter<
edm::
InputTag>(
"pileUpTracks")),
58 e.getByLabel(label, tracks);
59 e.getByLabel(label, hits);
60 e.getByLabel(label, trackExtras);
64 <<
"Failed to find track collections with inputTag " << label << std::endl;
68 <<
"Failed to find hit collections with inputTag " << label << std::endl;
72 <<
"Failed to find trackExtra collections with inputTag " << label << std::endl;
75 for (
size_t t = 0;
t < tracks->size(); ++
t) {
79 auto const& extra = trackExtras->at(track.
extra().
key());
81 extra.outerMomentum(),
83 extra.innerPosition(),
84 extra.innerMomentum(),
86 extra.outerStateCovariance(),
88 extra.innerStateCovariance(),
90 extra.seedDirection(),
101 auto const firstTrackIndex =
newHits_->size();
102 for (
unsigned int i = 0;
i < extra.recHitsSize();
i++) {
103 newHits_->push_back((*hits)[extra.recHit(
i).key()]);
105 newExtra.setHits(
rNewHits, firstTrackIndex,
newHits_->size() - firstTrackIndex);
106 newExtra.setTrajParams(extra.trajParams(), extra.chi2sX5());
107 assert(newExtra.recHitsSize() == newExtra.trajParams().size());
int bunchCrossing() const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void accumulateEvent(const T &e, edm::EventSetup const &c, const edm::InputTag &label)
const TrackExtraRef & extra() const
reference to "extra" object
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
std::vector< Track > TrackCollection
collection of Tracks
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
key_type key() const
Accessor for product key.
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
std::unique_ptr< reco::TrackCollection > newTracks_
TrackingRecHitRefProd rNewHits
std::unique_ptr< reco::TrackExtraCollection > newTrackExtras_
reco::TrackRefProd rNewTracks
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
edm::OwnVector< TrackingRecHit > TrackingRecHitCollection
collection of TrackingRecHits
std::unique_ptr< TrackingRecHitCollection > newHits_
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
#define DEFINE_DIGI_ACCUMULATOR(type)
~RecoTrackAccumulator() override
edm::InputTag signalTracksTag
edm::InputTag pileUpTracksTag
RecoTrackAccumulator(const edm::ParameterSet &conf, edm::ProducesCollector, edm::ConsumesCollector &iC)
reco::TrackExtraRefProd rNewTrackExtras