1 #ifndef RecoPixelVertexingPixelTrackFittingStoreTracks_H
2 #define RecoPixelVertexingPixelTrackFittingStoreTracks_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++) {
35 auto*
hit = hits[
k]->clone();
37 recHits->push_back(
hit);
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)
auto const & tracks
cannot be loose
ROOT::Math::SVector< double, 5 > AlgebraicVector5
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t nHits
bool appendHitPattern(const TrackingRecHit &hit, const TrackerTopology &ttopo)
append a single hit to the HitPattern