Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:38:03

0001 #ifndef RecoVertex_PixelVertexFinding_interface_PixelVertexWorkSpaceLayout_h
0002 #define RecoVertex_PixelVertexFinding_interface_PixelVertexWorkSpaceLayout_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 
0008 // Intermediate data used in the vertex reco algos
0009 // For internal use only
0010 namespace vertexFinder {
0011 
0012   GENERATE_SOA_LAYOUT(PixelVertexWSSoALayout,
0013                       SOA_COLUMN(uint16_t, itrk),            // index of original track
0014                       SOA_COLUMN(float, zt),                 // input track z at bs
0015                       SOA_COLUMN(float, ezt2),               // input error^2 on the above
0016                       SOA_COLUMN(float, ptt2),               // input pt^2 on the above
0017                       SOA_COLUMN(uint8_t, izt),              // interized z-position of input tracks
0018                       SOA_COLUMN(int32_t, iv),               // vertex index for each associated track
0019                       SOA_SCALAR(uint32_t, ntrks),           // number of "selected tracks"
0020                       SOA_SCALAR(uint32_t, nvIntermediate))  // the number of vertices after splitting pruning etc.
0021 
0022   using PixelVertexWorkSpaceSoALayout = PixelVertexWSSoALayout<>;
0023   using PixelVertexWorkSpaceSoAView = PixelVertexWSSoALayout<>::View;
0024   using PixelVertexWorkSpaceSoAConstView = PixelVertexWSSoALayout<>::ConstView;
0025 
0026   ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE void init(PixelVertexWorkSpaceSoAView& workspace_view) {
0027     workspace_view.ntrks() = 0;
0028     workspace_view.nvIntermediate() = 0;
0029   }
0030 
0031 }  // namespace vertexFinder
0032 
0033 #endif  // RecoVertex_PixelVertexFinding_interface_PixelVertexWorkSpaceLayout_h