File indexing completed on 2024-04-06 12:02:34
0001 #ifndef CondFormats_SiPixelObjects_interface_SiPixelGainCalibrationForHLTLayout_h
0002 #define CondFormats_SiPixelObjects_interface_SiPixelGainCalibrationForHLTLayout_h
0003
0004 #include <array>
0005 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0006 #include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
0007
0008 namespace siPixelGainsSoA {
0009 struct DecodingStructure {
0010 uint8_t gain;
0011 uint8_t ped;
0012 };
0013
0014 using Ranges = std::array<uint32_t, phase1PixelTopology::numberOfModules>;
0015 using Cols = std::array<int, phase1PixelTopology::numberOfModules>;
0016 }
0017
0018 GENERATE_SOA_LAYOUT(SiPixelGainCalibrationForHLTLayout,
0019 SOA_COLUMN(siPixelGainsSoA::DecodingStructure, v_pedestals),
0020
0021 SOA_SCALAR(siPixelGainsSoA::Ranges, modStarts),
0022 SOA_SCALAR(siPixelGainsSoA::Ranges, modEnds),
0023 SOA_SCALAR(siPixelGainsSoA::Cols, modCols),
0024
0025 SOA_SCALAR(float, minPed),
0026 SOA_SCALAR(float, maxPed),
0027 SOA_SCALAR(float, minGain),
0028 SOA_SCALAR(float, maxGain),
0029 SOA_SCALAR(float, pedPrecision),
0030 SOA_SCALAR(float, gainPrecision),
0031
0032 SOA_SCALAR(unsigned int, numberOfRowsAveragedOver),
0033 SOA_SCALAR(unsigned int, nBinsToUseForEncoding),
0034 SOA_SCALAR(unsigned int, deadFlag),
0035 SOA_SCALAR(unsigned int, noisyFlag),
0036 SOA_SCALAR(float, link))
0037
0038 using SiPixelGainCalibrationForHLTSoA = SiPixelGainCalibrationForHLTLayout<>;
0039 using SiPixelGainCalibrationForHLTSoAView = SiPixelGainCalibrationForHLTSoA::View;
0040 using SiPixelGainCalibrationForHLTSoAConstView = SiPixelGainCalibrationForHLTSoA::ConstView;
0041
0042 #endif