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) {
87 aRecoTrack.setAlgorithm(algo);
89 recoTracks->push_back(aRecoTrack);
92 unsigned nh = aRecoTrack.recHitsSize();
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
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
trackProducer
Run2: False; Run1: True.
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.