159 using namespace reco;
170 vertexBeamSpot = *hBsp;
175 selTracks_ = std::make_unique<TrackCollection>();
179 selHits_ = std::make_unique<TrackingRecHitCollection>();
188 for (TrackCollection::const_iterator it = hSrcTrack->begin(), ed = hSrcTrack->end(); it != ed; ++it, ++current) {
189 const Track & trk = * it;
191 bool ok =
select(vertexBeamSpot, trk);
209 auto const firstHitIndex =
selHits_->size();
211 selHits_->push_back( (*hit)->clone() );
225 selTrajs_ = std::make_unique<std::vector<Trajectory>>();
228 for (
size_t i = 0,
n = hTraj->size();
i <
n; ++
i) {
231 if (match != hTTAss->
end()) {
233 short oldKey =
static_cast<short>(trkRef.
key());
236 selTTAss_->insert (
Ref< vector<Trajectory> >(rTrajectories_,
selTrajs_->size() - 1),
trackRefs_[oldKey] );
const edm::RefToBase< TrajectorySeed > & seedRef() const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const TrackExtraRef & extra() const
reference to "extra" object
friend struct const_iterator
const_iterator end() const
last iterator over the map (read only)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
TrackBase::TrackQuality qualityToSet_
std::unique_ptr< TrajTrackAssociationCollection > selTTAss_
EDProductGetter const & productGetter() const
const_iterator find(const key_type &k) const
find element with specified reference key
reco::TrackExtraRefProd rTrackExtras_
std::vector< Track > TrackCollection
collection of Tracks
edm::EDGetTokenT< reco::BeamSpot > beamspot_
bool innerOk() const
return true if the innermost hit is valid
edm::Ref< TrackExtraCollection > TrackExtraRef
persistent reference to a TrackExtra
key_type key() const
Accessor for product key.
edm::EDGetTokenT< std::vector< Trajectory > > srcTraj_
const math::XYZPoint & outerPosition() const
position of the outermost hit
std::unique_ptr< TrackingRecHitCollection > selHits_
const math::XYZPoint & innerPosition() const
position of the innermost hit
edm::RefProd< std::vector< Trajectory > > rTrajectories_
std::unique_ptr< reco::TrackExtraCollection > selTrackExtras_
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
TrackingRecHitRefProd rHits_
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
edm::EDGetTokenT< TrajTrackAssociationCollection > srcTass_
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
RefProd< PROD > getRefBeforePut()
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
std::unique_ptr< std::vector< Trajectory > > selTrajs_
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
bool select(const reco::BeamSpot &vertexBeamSpot, const reco::Track &tk)
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
static std::string const emptyString("")
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
const TrackResiduals & residuals() const
get the residuals
edm::EDGetTokenT< reco::TrackCollection > src_
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
reco::TrackRefProd rTracks_
std::vector< reco::TrackRef > trackRefs_
std::unique_ptr< reco::TrackCollection > selTracks_
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.