Go to the documentation of this file.
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();
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerDigiGeometryToken_
SeedProducerFromSoA(const edm::ParameterSet &iConfig)
Eigen::Matrix< double, 5, 1 > Vector5d
const edm::ESGetToken< Propagator, TrackingComponentsRecord > trackerPropagatorToken_
const uint32_t *__restrict__ Quality * quality
Sin< T >::type sin(const T &t)
Cos< T >::type cos(const T &t)
__host__ __device__ void transformToPerigeePlane(VI5 const &ip, MI5 const &icov, VO5 &op, MO5 &ocov)
#define DEFINE_FWK_MODULE(type)
LocalPoint position() const
Local x and y position coordinates.
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t nHits
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
const edm::EDGetTokenT< PixelTrackHeterogeneous > tokenTrack_
TrackCharge charge() const
Charge (-1, 0 or 1)
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > idealMagneticFieldToken_
const edm::EDGetTokenT< reco::BeamSpot > tBeamSpot_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Log< level::Error, false > LogError
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
~SeedProducerFromSoA() override=default
LocalVector momentum() const
Momentum vector in the local frame.
Eigen::Matrix< double, 5, 5 > Matrix5d
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
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)