1 #ifndef CondFormats_SiPixelObjects_interface_alpaka_SiPixelGainCalibrationForHLTUtilities_h 2 #define CondFormats_SiPixelObjects_interface_alpaka_SiPixelGainCalibrationForHLTUtilities_h 5 #include <alpaka/alpaka.hpp> 9 ALPAKA_FN_HOST_ACC ALPAKA_FN_ACC ALPAKA_FN_INLINE
static std::pair<float, float>
getPedAndGain(
15 bool& isNoisyColumn) {
17 auto end =
view.modEnds()[moduleInd];
18 auto nCols =
view.modCols()[moduleInd];
20 unsigned int lengthOfColumnData = (
end -
start) / nCols;
21 unsigned int lengthOfAveragedDataInEachColumn = 2;
22 unsigned int numberOfDataBlocksToSkip = row /
view.numberOfRowsAveragedOver();
24 auto offset =
start +
col * lengthOfColumnData + lengthOfAveragedDataInEachColumn * numberOfDataBlocksToSkip;
29 auto lp =
view.v_pedestals();
32 isDeadColumn = (
s.ped & 0xFF) ==
view.deadFlag();
33 isNoisyColumn = (
s.ped & 0xFF) ==
view.noisyFlag();
34 float decodeGain =
float(
s.gain & 0xFF) *
view.gainPrecision() +
view.minGain();
35 float decodePed =
float(
s.ped & 0xFF) *
view.pedPrecision() +
view.minPed();
37 return std::make_pair(decodePed, decodeGain);
41 #endif //CondFormats_SiPixelObjects_interface_alpaka_SiPixelGainCalibrationForHLTUtilities_h
ALPAKA_FN_HOST_ACC ALPAKA_FN_ACC static ALPAKA_FN_INLINE std::pair< float, float > getPedAndGain(const SiPixelGainCalibrationForHLTSoAConstView &view, uint32_t moduleInd, int col, int row, bool &isDeadColumn, bool &isNoisyColumn)