62 minNumberOfHits_(iConfig.getParameter<int>(
"minNumberOfHits"))
65 produces<TrajectorySeedCollection>();
72 desc.
add<
int>(
"minNumberOfHits", 0);
79 auto result = std::make_unique<TrajectorySeedCollection>();
83 auto const& dus = tracker->detUnits();
94 auto const*
quality = tsoa.qualityData();
95 auto const&
fit = tsoa.stateAtBS;
96 auto const& detIndices = tsoa.detIndices;
100 for (int32_t it = 0; it <
maxTracks; ++it) {
101 auto nHits = tsoa.nHits(it);
113 auto b = detIndices.begin(it);
115 for (
int iHit = 0; iHit <
nHits; ++iHit) {
116 auto const* det = dus[*(
b + iHit)];
123 float phi = tsoa.phi(it);
127 fit.copyToDense(ipar, icov, it);
132 for (
int i = 0;
i < 5; ++
i)
133 for (
int j =
i;
j < 5; ++
j)
134 m(
i,
j) = ocov(
i,
j);
152 auto const& lastHit = hits.
back();
157 edm::LogError(
"SeedFromGPU") <<
" was trying to create a seed from:\n"
158 << fts <<
"\n propagating to: " << lastHit.geographicalId().rawId();
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::ESGetToken< Propagator, TrackingComponentsRecord > trackerPropagatorToken_
LocalPoint position() const
Local x and y position coordinates.
#define DEFINE_FWK_MODULE(type)
uint32_t const *__restrict__ Quality * quality
Sin< T >::type sin(const T &t)
~SeedProducerFromSoA() override=default
Log< level::Error, false > LogError
Eigen::Matrix< double, 5, 1 > Vector5d
__host__ __device__ void transformToPerigeePlane(VI5 const &ip, MI5 const &icov, VO5 &op, MO5 &ocov)
Cos< T >::type cos(const T &t)
SeedProducerFromSoA(const edm::ParameterSet &iConfig)
bool get(ProductID const &oid, Handle< PROD > &result) const
LocalVector momentum() const
Momentum vector in the local frame.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void produce(edm::StreamID streamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t nHits
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerDigiGeometryToken_
TrackCharge charge() const
Charge (-1, 0 or 1)
const edm::EDGetTokenT< reco::BeamSpot > tBeamSpot_
Eigen::Matrix< double, 5, 5 > Matrix5d
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > idealMagneticFieldToken_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
const edm::EDGetTokenT< PixelTrackHeterogeneous > tokenTrack_