1 #ifndef RecoLocalTracker_SiPixelClusterizer_plugins_gpuCalibPixel_h
2 #define RecoLocalTracker_SiPixelClusterizer_plugins_gpuCalibPixel_h
12 namespace gpuCalibPixel {
29 template <
bool isRun2>
31 uint16_t
const* __restrict__ x,
32 uint16_t
const* __restrict__ y,
38 uint32_t* __restrict__ clusModuleStart
44 clusModuleStart[0] = moduleStart[0] = 0;
46 nClustersInModule[
i] = 0;
53 bool isDeadColumn =
false, isNoisyColumn =
false;
57 auto ret = ped->getPedAndGain(
id[i], col, row, isDeadColumn, isNoisyColumn);
59 float gain =
ret.second;
61 if (isDeadColumn | isNoisyColumn) {
62 printf(
"bad pixel at %d in %d\n", i,
id[i]);
66 float vcal = float(adc[i]) * gain - pedestal * gain;
70 vcal = vcal * conversionFactor +
offset;
82 uint32_t* __restrict__ clusModuleStart
88 clusModuleStart[0] = moduleStart[0] = 0;
90 nClustersInModule[
i] = 0;
99 if constexpr (mode < 0)
103 adc[
i] = int((adc[i] - 0.5) * ElectronPerADCGain);
106 constexpr int8_t ds = int8_t(dspp <= 1 ? 1 : (dspp - 1) * (dspp - 1));
112 adc[
i] = uint16_t((adc[i] + 0.5 * ds) * ElectronPerADCGain);
122 #endif // RecoLocalTracker_SiPixelClusterizer_plugins_gpuCalibPixel_h
constexpr float VCaltoElectronOffset_L1
tuple ret
prodAgent to be discontinued
constexpr float VCaltoElectronGain_L1
constexpr float VCaltoElectronOffset
constexpr int VCalChargeThreshold
constexpr uint32_t numberOfModules
__global__ void calibDigis(uint16_t *id, uint16_t const *__restrict__ x, uint16_t const *__restrict__ y, uint16_t *adc, SiPixelGainForHLTonGPU const *__restrict__ ped, int numElements, uint32_t *__restrict__ moduleStart, uint32_t *__restrict__ nClustersInModule, uint32_t *__restrict__ clusModuleStart)
constexpr float ElectronPerADCGain
uint16_t *__restrict__ uint16_t const *__restrict__ uint32_t const *__restrict__ uint32_t *__restrict__ nClustersInModule
printf("params %d %f %f %f\n", minT, eps, errmax, chi2max)
constexpr uint16_t Phase2DigiBaseline
uint16_t *__restrict__ uint16_t const *__restrict__ uint32_t const *__restrict__ moduleStart
uint16_t *__restrict__ uint16_t const *__restrict__ uint32_t const *__restrict__ uint32_t *__restrict__ uint32_t const *__restrict__ int32_t *__restrict__ uint32_t numElements
constexpr uint16_t invalidModuleId
constexpr uint32_t numberOfModules
constexpr int8_t Phase2ReadoutMode
__global__ void calibDigisPhase2(uint16_t *id, uint16_t *adc, int numElements, uint32_t *__restrict__ moduleStart, uint32_t *__restrict__ nClustersInModule, uint32_t *__restrict__ clusModuleStart)
constexpr uint8_t Phase2KinkADC
constexpr float VCaltoElectronGain
uint16_t *__restrict__ uint16_t const *__restrict__ adc