38 auto recoTracks = std::make_unique<reco::TrackCollection>();
39 auto recoTrackExtras = std::make_unique<reco::TrackExtraCollection>();
40 auto recoHits = std::make_unique<TrackingRecHitCollection>();
41 auto recoTrajectories = std::make_unique<vector<Trajectory>>();
42 auto recoTrajTrackMap = std::make_unique<TrajTrackAssociationCollection>();
45 <<
"[TrackListCombiner]";
73 <<
" [TrackListCombiner] " << labels.
module 74 <<
" : " << theAssoMap->
size();
81 anAssociation = theAssoMap->
begin();
82 lastAssociation = theAssoMap->
end();
85 for ( ; anAssociation != lastAssociation; ++anAssociation )
94 aRecoTrack.setAlgorithm(algo);
96 recoTracks->push_back(aRecoTrack);
99 unsigned nh = aRecoTrack.recHitsSize();
100 for(
unsigned ih=0; ih<nh; ++ih)
103 recoHits->push_back(hit);
107 recoTrajectories->push_back(*aTrajectoryRef);
113 <<
" [TrackListCombiner] allTracks : " << recoTracks->size()
114 <<
"|" << recoTrajectories->size();
122 unsigned nTracks = recoTracks->size();
123 recoTrackExtras->reserve(nTracks);
141 aTrackExtra.setHits(theRecoHitsProd,hits,nHits);
144 recoTrackExtras->push_back(aTrackExtra);
155 (recoTracks->at(
index)).setExtra(theTrackExtraRef);
170 recoTrajTrackMap->insert(trajRef,tkRef);
const edm::RefToBase< TrajectorySeed > & seedRef() const
const unsigned int nTracks(const reco::Vertex &sv)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
friend struct const_iterator
const_iterator end() const
last iterator over the map (read only)
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
size_type size() const
map size
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
std::vector< Tags > trackProducers
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
const_iterator begin() const
first iterator over the map (read only)
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.