86 produces<reco::TrackCollection>();
87 produces<TrackingRecHitCollection>();
88 produces<reco::TrackExtraCollection>();
104 using namespace reco;
119 const auto&
seeds = *hseeds;
135 for (
size_t iSeed = 0; iSeed <
seeds.size(); ++iSeed) {
139 if (
seed.nHits() == 0) {
140 const Surface* deepCore_sruface = &geometry_->
idToDet(
seed.startingState().detId())->specificSurface();
148 if (tsAtClosestApproachSeed.
isValid()) {
158 tracks->emplace_back(0., 0., vSeed1, pSeed,
state.charge(), seedPerigeeErrors.covarianceMatrix());
160 edm::LogVerbatim(
"SeedValidator") <<
"TrajectoryStateClosestToBeamLine not valid";
168 tracks->back().appendHits(
seed.recHits().begin(),
seed.recHits().end(), ttopo);
170 size_t firsthitindex =
rechits->size();
177 trackextras->back().setHits(ref_rechits, firsthitindex,
rechits->size() - firsthitindex);
184 edm::LogInfo(
"SeedValidator") <<
"failed to create tracks from " << nfailed <<
" out of " <<
seeds.size()
Log< level::Info, true > LogVerbatim
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > mfToken_
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
std::vector< Track > TrackCollection
collection of Tracks
edm::Ref< TrackExtraCollection > TrackExtraRef
persistent reference to a TrackExtra
const GeomDet * idToDet(DetId) const override
~TrackFromSeedProducer() override
GlobalPoint position() const
void addDefault(ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< edm::View< TrajectorySeed > > seedsToken
GlobalVector momentum() const
FTS const & trackStateAtPCA() const
bool getData(T &iHolder) const
math::XYZPoint Point
point in the space
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > geoToken_
std::shared_ptr< TrackingRecHit const > RecHitPointer
Log< level::Info, false > LogInfo
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
const edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > ttrhToken_
auto const & tracks
cannot be loose
TrackFromSeedProducer(const edm::ParameterSet &)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
PerigeeTrajectoryError ftsToPerigeeError(const FTS &originalFTS)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
math::XYZVector Vector
spatial vector
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix