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);
T getParameter(std::string const &) const
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits)...
CovarianceMatrix outerStateCovariance() const
outermost trajectory state curvilinear errors
const math::XYZPoint & outerPosition() const
position of the outermost hit
const math::XYZVector & outerMomentum() const
momentum vector at the outermost hit position
friend struct const_iterator
const edm::RefToBase< TrajectorySeed > & seedRef() const
key_type key() const
Accessor for product key.
TrackAlgorithm
track algorithm
const_iterator end() const
last iterator over the map (read only)
CovarianceMatrix innerStateCovariance() const
innermost trajectory state curvilinear errors
size_type size() const
map size
unsigned int innerDetId() const
DetId of the detector on which surface the innermost state is located.
bool innerOk() const
return true if the innermost hit is valid
const PropagationDirection & seedDirection() const
direction of how the hits were sorted in the original seed
unsigned int outerDetId() const
DetId of the detector on which surface the outermost state is located.
TrackListCombiner(const edm::ParameterSet &ps)
~TrackListCombiner() override
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
void setAlgorithm(const TrackAlgorithm a)
Track algorithm.
const_iterator begin() const
first iterator over the map (read only)
void produce(edm::StreamID, edm::Event &ev, const edm::EventSetup &es) const override
trackProducer
Run2: False; Run1: True.
const math::XYZVector & innerMomentum() const
momentum vector at the innermost hit position
TupleMultiplicity< TrackerTraits > const *__restrict__ uint32_t nHits
const math::XYZPoint & innerPosition() const
position of the innermost hit
bool outerOk() const
return true if the outermost hit is valid