91 produces<std::vector<Trajectory>>();
92 produces<TrajTrackAssociationCollection>();
121 auto trajectoryCollection = std::make_unique<std::vector<Trajectory>>();
128 for (reco::TrackCollection::const_iterator
track = tracks->begin();
track != tracks->end(); ++
track) {
134 std::vector<TrajectoryMeasurement::ConstRecHitPointer> transHits;
135 std::vector<TrajectoryStateOnSurface> TSOSes;
137 for (
auto const&
hit :
track->recHits()) {
154 transHits.push_back(hitPtr);
160 assert(clonedHits.
size() == transHits.size());
161 assert(transHits.size() == TSOSes.size());
164 if (!clonedHits.
empty()) {
171 std::vector<TrajectoryMeasurement::ConstRecHitPointer>::const_iterator transHitPtr = transHits.begin();
172 std::vector<TrajectoryStateOnSurface>::const_iterator
TSOS = TSOSes.begin();
173 for (; clonedHit != clonedHits.
end(); ++clonedHit, ++transHitPtr, ++
TSOS) {
177 trajectoryCollection->push_back(trajectory);
181 reference_map[trajCounter] = trackCounter;
186 unsigned int numTrajectories = trajectoryCollection->size();
192 auto trajTrackMap = std::make_unique<TrajTrackAssociationCollection>();
194 for (trajCounter = 0; trajCounter < numTrajectories; trajCounter++) {
197 trajTrackMap->insert(
edm::Ref<std::vector<Trajectory>>(ohTrajs, trajCounter),
RecHitPointer build(const TrackingRecHit *p, edm::ESHandle< GlobalTrackingGeometry > trackingGeometry) const
Call the MuonTransientTrackingRecHit::specificBuild.
std::remove_cv< typename std::remove_reference< argument_type >::type >::type key_type
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const GeomDet * idToDet(DetId) const override
const Plane & surface() const
The nominal surface of the GeomDet.
#define DEFINE_FWK_MODULE(type)
~CSCOverlapsTrackPreparation() override
ROOT::Math::SVector< double, 5 > AlgebraicVector5
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
CSCOverlapsTrackPreparation(const edm::ParameterSet &)
TrajectoryStateOnSurface TSOS
TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
void push(const TrajectoryMeasurement &tm)
void produce(edm::Event &, const edm::EventSetup &) override