1 #ifndef RecoPixelVertexing_PixelVertexFinding_plugins_gpuFitVertices_h
2 #define RecoPixelVertexing_PixelVertexFinding_plugins_gpuFitVertices_h
13 namespace gpuVertexFinder {
21 auto& __restrict__
data = *pdata;
22 auto& __restrict__
ws = *
pws;
24 float const* __restrict__
zt = ws.zt;
25 float const* __restrict__
ezt2 = ws.ezt2;
26 float* __restrict__
zv = data.zv;
27 float* __restrict__
wv = data.wv;
28 float* __restrict__
chi2 = data.chi2;
29 uint32_t&
nvFinal = data.nvFinal;
32 int32_t* __restrict__
nn = data.ndof;
33 int32_t* __restrict__
iv = ws.iv;
38 assert(nvFinal <= nvIntermediate);
65 auto w = 1.f / ezt2[
i];
84 auto c2 = zv[iv[
i]] - zt[
i];
96 wv[
i] *= float(nn[
i]) / chi2[
i];
101 printf(
"and %d noise\n", noise);
108 fitVertices(pdata, pws, chi2Max);
113 #endif // RecoPixelVertexing_PixelVertexFinding_plugins_gpuFitVertices_h
__device__ WorkSpace float chi2Max
float const *__restrict__ ezt2
float const *__restrict__ zt
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
T1 atomicAdd_block(T1 *a, T2 b)
__shared__ unsigned int foundClusters
uint32_t & nvIntermediate
T1 atomicAdd(T1 *a, T2 b)