CMS 3D CMS Logo

gpuVertexFinder.h
Go to the documentation of this file.
1 #ifndef RecoTracker_PixelVertexFinding_plugins_gpuVertexFinder_h
2 #define RecoTracker_PixelVertexFinding_plugins_gpuVertexFinder_h
3 
4 #include <cstddef>
5 #include <cstdint>
6 
14 
15 namespace gpuVertexFinder {
16 
19 
20  __global__ void init(VtxSoAView pdata, WsSoAView pws) {
23  }
24 
25  template <typename TrackerTraits>
26  class Producer {
28 
29  public:
31  bool useDensity,
32  bool useDBSCAN,
33  bool useIterative,
34  int iminT, // min number of neighbours to be "core"
35  float ieps, // max absolute distance to cluster
36  float ierrmax, // max error to be "seed"
37  float ichi2max // max normalized distance to cluster
38  )
43  minT(iminT),
44  eps(ieps),
45  errmax(ierrmax),
46  chi2max(ichi2max) {}
47 
48  ~Producer() = default;
49 
50  ZVertexSoADevice makeAsync(cudaStream_t stream, const TkSoAConstView &tracks_view, float ptMin, float ptMax) const;
51  ZVertexSoAHost make(const TkSoAConstView &tracks_view, float ptMin, float ptMax) const;
52 
53  private:
54  const bool oneKernel_;
55  const bool useDensity_;
56  const bool useDBSCAN_;
57  const bool useIterative_;
58 
59  int minT; // min number of neighbours to be "core"
60  float eps; // max absolute distance to cluster
61  float errmax; // max error to be "seed"
62  float chi2max; // max normalized distance to cluster
63  };
64 
65 } // namespace gpuVertexFinder
66 
67 #endif // RecoTracker_PixelVertexFinding_plugins_gpuVertexFinder_h
ZVertexSoAHost make(const TkSoAConstView &tracks_view, float ptMin, float ptMax) const
ZVertexSoADevice makeAsync(cudaStream_t stream, const TkSoAConstView &tracks_view, float ptMin, float ptMax) const
uint32_t const *__restrict__ TkSoAView< TrackerTraits > tracks_view
PixelVertexWSSoALayout<>::View PixelVertexWorkSpaceSoAView
#define __global__
Definition: cudaCompat.h:19
int init
Definition: HydjetWrapper.h:64
VtxSoAView WsSoAView float ptMin
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
ZVertexSoAHeterogeneousLayout<>::View ZVertexSoAView
__device__ WsSoAView & pws
VtxSoAView WsSoAView float float ptMax
Producer(bool oneKernel, bool useDensity, bool useDBSCAN, bool useIterative, int iminT, float ieps, float ierrmax, float ichi2max)
gpuVertexFinder::workSpace::PixelVertexWorkSpaceSoAView WsSoAView
__host__ __device__ void init(PixelVertexWorkSpaceSoAView &workspace_view)
TrackSoAConstView< TrackerTraits > TkSoAConstView
typename TrackSoA< TrackerTraits >::template TrackSoALayout<>::ConstView TrackSoAConstView
__host__ __device__ void init(ZVertexSoAView &vertices)
zVertex::ZVertexSoAView VtxSoAView