18 trackProducers.emplace_back(consumes<vector<Trajectory>>(prod), consumes<TrajTrackAssociationCollection>(prod));
21 produces<reco::TrackCollection>();
22 produces<reco::TrackExtraCollection>();
23 produces<TrackingRecHitCollection>();
24 produces<vector<Trajectory>>();
25 produces<TrajTrackAssociationCollection>();
33 auto recoTracks = std::make_unique<reco::TrackCollection>();
34 auto recoTrackExtras = std::make_unique<reco::TrackExtraCollection>();
35 auto recoHits = std::make_unique<TrackingRecHitCollection>();
36 auto recoTrajectories = std::make_unique<vector<Trajectory>>();
37 auto recoTrajTrackMap = std::make_unique<TrajTrackAssociationCollection>();
39 LogTrace(
"MinBiasTracking") <<
"[TrackListCombiner]";
69 LogTrace(
"MinBiasTracking") <<
" [TrackListCombiner] " << labels.
module <<
" : " << theAssoMap->size();
75 anAssociation = theAssoMap->begin();
76 lastAssociation = theAssoMap->end();
79 for (; anAssociation != lastAssociation; ++anAssociation) {
89 recoTracks->push_back(aRecoTrack);
93 for (
unsigned ih = 0; ih <
nh; ++ih) {
95 recoHits->push_back(hit);
99 recoTrajectories->push_back(*aTrajectoryRef);
103 LogTrace(
"MinBiasTracking") <<
" [TrackListCombiner] allTracks : " << recoTracks->size() <<
"|"
104 << recoTrajectories->size();
112 unsigned nTracks = recoTracks->size();
113 recoTrackExtras->reserve(nTracks);
130 aTrackExtra.setHits(theRecoHitsProd, hits, nHits);
133 recoTrackExtras->push_back(aTrackExtra);
142 (recoTracks->at(
index)).setExtra(theTrackExtraRef);
155 recoTrajTrackMap->insert(trajRef, tkRef);
const edm::RefToBase< TrajectorySeed > & seedRef() const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
friend struct const_iterator
bool getByToken(EDGetToken token, Handle< PROD > &result) const
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits)...
bool innerOk() const
return true if the innermost hit is valid
key_type key() const
Accessor for product key.
const math::XYZPoint & outerPosition() const
position of the outermost hit
TrackAlgorithm
track algorithm
const math::XYZPoint & innerPosition() const
position of the innermost hit
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
const math::XYZVector & outerMomentum() const
momentum vector at the outermost hit position
bool outerOk() const
return true if the outermost hit is valid
const PropagationDirection & seedDirection() const
direction of how the hits were sorted in the original seed
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
T getParameter(std::string const &) const
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
TrackListCombiner(const edm::ParameterSet &ps)
~TrackListCombiner() override
void setAlgorithm(const TrackAlgorithm a)
Track algorithm.
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
void produce(edm::StreamID, edm::Event &ev, const edm::EventSetup &es) const override
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.