1 #ifndef RecoPixelVertexing_PixelVertexFinding_plugins_gpuClusterTracksByDensity_h
2 #define RecoPixelVertexing_PixelVertexFinding_plugins_gpuClusterTracksByDensity_h
13 namespace gpuVertexFinder {
27 using namespace gpuVertexFinder;
31 printf(
"params %d %f %f %f\n", minT, eps, errmax, chi2max);
35 auto& __restrict__
data = *pdata;
36 auto& __restrict__
ws = *
pws;
38 float const* __restrict__
zt =
ws.zt;
39 float const* __restrict__
ezt2 =
ws.ezt2;
44 uint8_t* __restrict__
izt =
ws.izt;
45 int32_t* __restrict__
nn =
data.ndof;
46 int32_t* __restrict__
iv =
ws.iv;
67 int iz = int(
zt[
i] * 10.);
70 izt[
i] = iz - INT8_MIN;
71 assert(iz - INT8_MIN >= 0);
72 assert(iz - INT8_MIN < 256);
93 auto loop = [&](uint32_t
j) {
99 if (dist * dist > chi2max * (
ezt2[
i] +
ezt2[j]))
112 auto loop = [&](uint32_t
j) {
120 if (dist * dist > chi2max * (
ezt2[i] +
ezt2[j]))
161 auto loop = [&](uint32_t
j) {
169 if (dist * dist > chi2max * (
ezt2[i] +
ezt2[j]))
189 if (
iv[
i] ==
int(
i)) {
229 clusterTracksByDensity(pdata, pws, minT, eps, errmax, chi2max);
234 #endif // RecoPixelVertexing_PixelVertexFinding_plugins_gpuClusterTracksByDensity_h
float const *__restrict__ ezt2
float const *__restrict__ zt
static constexpr uint32_t MAXVTX
WorkSpace int float float float chi2max
T1 atomicInc(T1 *a, T2 b)
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
Abs< T >::type abs(const T &t)
typename Base::Counter Counter
__shared__ Hist::Counter hws[32]
constexpr auto capacity() const
uint8_t *__restrict__ izt
WorkSpace int float float errmax
static constexpr uint32_t nbins()
static constexpr uint32_t totbins()
static constexpr uint32_t MAXTRACKS
__shared__ unsigned int foundClusters
uint32_t & nvIntermediate