CMS 3D CMS Logo

ZVertexSoA.h
Go to the documentation of this file.
1 #ifndef CUDADataFormats_Vertex_ZVertexSoA_h
2 #define CUDADataFormats_Vertex_ZVertexSoA_h
3 
4 #include <cstdint>
6 
7 // SOA for vertices
8 // These vertices are clusterized and fitted only along the beam line (z)
9 // to obtain their global coordinate the beam spot position shall be added (eventually correcting for the beam angle as well)
10 struct ZVertexSoA {
11  static constexpr uint32_t MAXTRACKS = 32 * 1024;
12  static constexpr uint32_t MAXVTX = 1024;
13 
14  int16_t idv[MAXTRACKS]; // vertex index for each associated (original) track (-1 == not associate)
15  float zv[MAXVTX]; // output z-posistion of found vertices
16  float wv[MAXVTX]; // output weight (1/error^2) on the above
17  float chi2[MAXVTX]; // vertices chi2
18  float ptv2[MAXVTX]; // vertices pt^2
19  int32_t ndof[MAXTRACKS]; // vertices number of dof (reused as workspace for the number of nearest neighbours FIXME)
20  uint16_t sortInd[MAXVTX]; // sorted index (by pt2) ascending
21  uint32_t nvFinal; // the number of vertices
22 
23  __host__ __device__ void init() { nvFinal = 0; }
24 };
25 
26 #endif // CUDADataFormats_Vertex_ZVertexSoA_h
#define __host__
float wv[MAXVTX]
Definition: ZVertexSoA.h:16
static constexpr uint32_t MAXVTX
Definition: ZVertexSoA.h:12
float zv[MAXVTX]
Definition: ZVertexSoA.h:15
float ptv2[MAXVTX]
Definition: ZVertexSoA.h:18
int16_t idv[MAXTRACKS]
Definition: ZVertexSoA.h:14
float chi2[MAXVTX]
Definition: ZVertexSoA.h:17
uint32_t nvFinal
Definition: ZVertexSoA.h:21
int32_t ndof[MAXTRACKS]
Definition: ZVertexSoA.h:19
static constexpr uint32_t MAXTRACKS
Definition: ZVertexSoA.h:11
__host__ __device__ void init()
Definition: ZVertexSoA.h:23
uint16_t sortInd[MAXVTX]
Definition: ZVertexSoA.h:20
#define __device__