File indexing completed on 2025-06-26 23:26:30
0001 #ifndef CondFormats_HcalObjects_HcalMahiConditionsSoA_h
0002 #define CondFormats_HcalObjects_HcalMahiConditionsSoA_h
0003
0004 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalConstants.h"
0005
0006 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0007 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0008
0009 #include <array>
0010
0011 namespace hcal {
0012
0013 static constexpr uint32_t numValuesPerChannel = 16;
0014 using HcalPedestalArray = std::array<float, 4>;
0015 using HcalQIECodersArray = std::array<float, numValuesPerChannel>;
0016
0017 GENERATE_SOA_LAYOUT(HcalMahiConditionsSoALayout,
0018 SOA_COLUMN(HcalPedestalArray, pedestals_value),
0019 SOA_COLUMN(HcalPedestalArray, pedestals_width),
0020 SOA_COLUMN(HcalPedestalArray, gains_value),
0021 SOA_COLUMN(HcalPedestalArray, effectivePedestals),
0022 SOA_COLUMN(HcalPedestalArray, effectivePedestalWidths),
0023 SOA_COLUMN(float, lutCorrs_values),
0024 SOA_COLUMN(float, respCorrs_values),
0025 SOA_COLUMN(float, timeCorrs_values),
0026
0027 SOA_COLUMN(float, pedestalWidths_sigma00),
0028 SOA_COLUMN(float, pedestalWidths_sigma01),
0029 SOA_COLUMN(float, pedestalWidths_sigma02),
0030 SOA_COLUMN(float, pedestalWidths_sigma03),
0031 SOA_COLUMN(float, pedestalWidths_sigma10),
0032 SOA_COLUMN(float, pedestalWidths_sigma11),
0033 SOA_COLUMN(float, pedestalWidths_sigma12),
0034 SOA_COLUMN(float, pedestalWidths_sigma13),
0035 SOA_COLUMN(float, pedestalWidths_sigma20),
0036 SOA_COLUMN(float, pedestalWidths_sigma21),
0037 SOA_COLUMN(float, pedestalWidths_sigma22),
0038 SOA_COLUMN(float, pedestalWidths_sigma23),
0039 SOA_COLUMN(float, pedestalWidths_sigma30),
0040 SOA_COLUMN(float, pedestalWidths_sigma31),
0041 SOA_COLUMN(float, pedestalWidths_sigma32),
0042 SOA_COLUMN(float, pedestalWidths_sigma33),
0043 SOA_COLUMN(float, gainWidths_value0),
0044 SOA_COLUMN(float, gainWidths_value1),
0045 SOA_COLUMN(float, gainWidths_value2),
0046 SOA_COLUMN(float, gainWidths_value3),
0047 SOA_COLUMN(uint32_t, channelQuality_status),
0048 SOA_COLUMN(HcalQIECodersArray, qieCoders_offsets),
0049 SOA_COLUMN(HcalQIECodersArray, qieCoders_slopes),
0050 SOA_COLUMN(int, qieTypes_values),
0051 SOA_COLUMN(int, sipmPar_type),
0052 SOA_COLUMN(int, sipmPar_auxi1),
0053 SOA_COLUMN(float, sipmPar_fcByPE),
0054 SOA_COLUMN(float, sipmPar_darkCurrent),
0055 SOA_COLUMN(float, sipmPar_auxi2),
0056 SOA_SCALAR(int, maxDepthHB),
0057 SOA_SCALAR(int, maxDepthHE),
0058 SOA_SCALAR(int, maxPhiHE),
0059 SOA_SCALAR(int, firstHBRing),
0060 SOA_SCALAR(int, lastHBRing),
0061 SOA_SCALAR(int, firstHERing),
0062 SOA_SCALAR(int, lastHERing),
0063 SOA_SCALAR(int, nEtaHB),
0064 SOA_SCALAR(int, nEtaHE),
0065 SOA_SCALAR(uint32_t, offsetForHashes))
0066 using HcalMahiConditionsSoA = HcalMahiConditionsSoALayout<>;
0067
0068 }
0069
0070 #endif