20 consumes<TrajTrackAssociationCollection>(
prod));
23 produces<reco::TrackCollection>();
24 produces<reco::TrackExtraCollection>();
25 produces<TrackingRecHitCollection>();
26 produces<vector<Trajectory> >();
27 produces<TrajTrackAssociationCollection>();
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 )
96 recoTracks->push_back(aRecoTrack);
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
T getParameter(std::string const &) 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
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
TrackListCombiner(const edm::ParameterSet &ps)
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.
virtual 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.