1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef DataFormats_SiPixelClusterSoA_interface_ClusteringConstants_h
#define DataFormats_SiPixelClusterSoA_interface_ClusteringConstants_h
#include <cstdint>
#include <limits>
//TODO: move this to TrackerTraits!
namespace pixelClustering {
#ifdef GPU_SMALL_EVENTS
// kept for testing and debugging
constexpr uint32_t maxHitsInIter() { return 64; }
#else
// optimized for real data PU 50
// tested on MC events with 55-75 pileup events
constexpr uint32_t maxHitsInIter() { return 160; } //TODO better tuning for PU 140-200
#endif
constexpr uint32_t maxHitsInModule() { return 1024; }
constexpr uint16_t clusterThresholdLayerOne = 2000;
constexpr uint16_t clusterThresholdOtherLayers = 4000;
constexpr uint16_t clusterThresholdPhase2LayerOne = 4000;
constexpr uint16_t clusterThresholdPhase2OtherLayers = 4000;
constexpr uint32_t maxNumDigis = 3 * 256 * 1024; // @PU=200 µ=530k σ=50k this is >4σ away
constexpr uint16_t maxNumModules = 5000; // This is an upperlimit taking into account D110 has 4000 modules
constexpr int32_t maxNumClustersPerModules = maxHitsInModule();
constexpr uint16_t invalidModuleId = std::numeric_limits<uint16_t>::max() - 1;
constexpr int invalidClusterId = -9999;
static_assert(invalidModuleId > maxNumModules); // invalidModuleId must be > maxNumModules
} // namespace pixelClustering
#endif // DataFormats_SiPixelClusterSoA_interface_ClusteringConstants_h
|