Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:05:11

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