Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-12-24 02:18:29

0001 #ifndef CUDADataFormats_SiPixelCluster_interface_gpuClusteringConstants_h
0002 #define CUDADataFormats_SiPixelCluster_interface_gpuClusteringConstants_h
0003 
0004 #include <cstdint>
0005 #include <limits>
0006 
0007 namespace gpuClustering {
0008 #ifdef GPU_SMALL_EVENTS
0009   // kept for testing and debugging
0010   constexpr uint32_t maxHitsInIter() { return 64; }
0011 #else
0012   // optimized for real data PU 50
0013   // tested on MC events with 55-75 pileup events
0014   constexpr uint32_t maxHitsInIter() { return 160; }  //TODO better tuning for PU 140-200
0015 #endif
0016   constexpr uint32_t maxHitsInModule() { return 1024; }
0017 
0018   constexpr uint32_t maxNumDigis = 3 * 256 * 1024;  // @PU=200 µ=530k σ=50k this is >4σ away
0019   constexpr uint16_t maxNumModules = 4000;
0020 
0021   constexpr int32_t maxNumClustersPerModules = maxHitsInModule();
0022   constexpr uint16_t invalidModuleId = std::numeric_limits<uint16_t>::max() - 1;
0023   constexpr int invalidClusterId = -9999;
0024   static_assert(invalidModuleId > maxNumModules);  // invalidModuleId must be > maxNumModules
0025 
0026 }  // namespace gpuClustering
0027 
0028 #endif  // CUDADataFormats_SiPixelCluster_interface_gpuClusteringConstants_h