1 #ifndef RecoTracker_PixelTrackFitting_plugins_storeTracks_h 2 #define RecoTracker_PixelTrackFitting_plugins_storeTracks_h 18 template <
typename Ev,
typename TWH>
20 auto tracks = std::make_unique<reco::TrackCollection>();
21 auto recHits = std::make_unique<TrackingRecHitCollection>();
22 auto trackExtras = std::make_unique<reco::TrackExtraCollection>();
24 int cc = 0,
nTracks = tracksWithHits.size();
32 const auto&
hits = tracksWithHits[
i].second;
34 for (
unsigned int k = 0;
k <
hits.size();
k++) {
36 track->appendHitPattern(*
hit, ttopo);
43 LogDebug(
"TrackProducer") <<
"put the collection of TrackingRecHit in the event" 49 auto& aTrackExtra = (*trackExtras)[
k];
52 unsigned int nHits = (*tracks)[
k].numberOfValidHits();
53 aTrackExtra.setHits(hitCollProd,
cc,
nHits);
61 LogDebug(
"TrackProducer") <<
"put the collection of TrackExtra in the event" 67 (*tracks)[
k].setExtra(theTrackExtraRef);
void storeTracks(Ev &ev, const TWH &tracksWithHits, const TrackerTopology &ttopo)
uint32_t cc[maxCellsPerHit]
ROOT::Math::SVector< double, 5 > AlgebraicVector5
TupleMultiplicity< TrackerTraits > const *__restrict__ uint32_t nHits