Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-03 04:17:35

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 #include "DataFormats/SoATemplate/interface/SoAView.h"
0009 
0010 #include <array>
0011 
0012 namespace hcal {
0013 
0014   static constexpr uint32_t numValuesPerChannel = 16;
0015   using HcalPedestalArray = std::array<float, 4>;                     // 4 capIds
0016   using HcalQIECodersArray = std::array<float, numValuesPerChannel>;  // QIEData
0017 
0018   GENERATE_SOA_LAYOUT(HcalMahiConditionsSoALayout,
0019                       SOA_COLUMN(HcalPedestalArray, pedestals_value),
0020                       SOA_COLUMN(HcalPedestalArray, pedestals_width),
0021                       SOA_COLUMN(HcalPedestalArray, gains_value),
0022                       SOA_COLUMN(HcalPedestalArray, effectivePedestals),
0023                       SOA_COLUMN(HcalPedestalArray, effectivePedestalWidths),
0024                       SOA_COLUMN(float, lutCorrs_values),
0025                       SOA_COLUMN(float, respCorrs_values),
0026                       SOA_COLUMN(float, timeCorrs_values),
0027                       // Use EIGEN_COLUMN for matrix?
0028                       SOA_COLUMN(float, pedestalWidths_sigma00),
0029                       SOA_COLUMN(float, pedestalWidths_sigma01),
0030                       SOA_COLUMN(float, pedestalWidths_sigma02),
0031                       SOA_COLUMN(float, pedestalWidths_sigma03),
0032                       SOA_COLUMN(float, pedestalWidths_sigma10),
0033                       SOA_COLUMN(float, pedestalWidths_sigma11),
0034                       SOA_COLUMN(float, pedestalWidths_sigma12),
0035                       SOA_COLUMN(float, pedestalWidths_sigma13),
0036                       SOA_COLUMN(float, pedestalWidths_sigma20),
0037                       SOA_COLUMN(float, pedestalWidths_sigma21),
0038                       SOA_COLUMN(float, pedestalWidths_sigma22),
0039                       SOA_COLUMN(float, pedestalWidths_sigma23),
0040                       SOA_COLUMN(float, pedestalWidths_sigma30),
0041                       SOA_COLUMN(float, pedestalWidths_sigma31),
0042                       SOA_COLUMN(float, pedestalWidths_sigma32),
0043                       SOA_COLUMN(float, pedestalWidths_sigma33),
0044                       SOA_COLUMN(float, gainWidths_value0),
0045                       SOA_COLUMN(float, gainWidths_value1),
0046                       SOA_COLUMN(float, gainWidths_value2),
0047                       SOA_COLUMN(float, gainWidths_value3),
0048                       SOA_COLUMN(uint32_t, channelQuality_status),
0049                       SOA_COLUMN(HcalQIECodersArray, qieCoders_offsets),
0050                       SOA_COLUMN(HcalQIECodersArray, qieCoders_slopes),
0051                       SOA_COLUMN(int, qieTypes_values),
0052                       SOA_COLUMN(int, sipmPar_type),
0053                       SOA_COLUMN(int, sipmPar_auxi1),
0054                       SOA_COLUMN(float, sipmPar_fcByPE),
0055                       SOA_COLUMN(float, sipmPar_darkCurrent),
0056                       SOA_COLUMN(float, sipmPar_auxi2),
0057                       SOA_SCALAR(int, maxDepthHB),
0058                       SOA_SCALAR(int, maxDepthHE),
0059                       SOA_SCALAR(int, maxPhiHE),
0060                       SOA_SCALAR(int, firstHBRing),
0061                       SOA_SCALAR(int, lastHBRing),
0062                       SOA_SCALAR(int, firstHERing),
0063                       SOA_SCALAR(int, lastHERing),
0064                       SOA_SCALAR(int, nEtaHB),
0065                       SOA_SCALAR(int, nEtaHE),
0066                       SOA_SCALAR(uint32_t, offsetForHashes))
0067   using HcalMahiConditionsSoA = HcalMahiConditionsSoALayout<>;
0068 
0069 }  // namespace hcal
0070 
0071 #endif