File indexing completed on 2025-06-26 23:26:30
0001 #ifndef CondFormats_HcalObjects_HcalRecoParamWithPulseShapeSoA_h
0002 #define CondFormats_HcalObjects_HcalRecoParamWithPulseShapeSoA_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 using HcalPSfunctorArray = std::array<float, hcal::constants::maxPSshapeBin>;
0013 using HcalPSfunctorBXarray = std::array<float, hcal::constants::nsPerBX>;
0014
0015 GENERATE_SOA_LAYOUT(HcalRecoParamSoALayout,
0016 SOA_COLUMN(uint32_t, param1),
0017 SOA_COLUMN(uint32_t, param2),
0018 SOA_COLUMN(uint32_t, ids))
0019 GENERATE_SOA_LAYOUT(HcalPulseShapeSoALayout,
0020 SOA_COLUMN(HcalPSfunctorArray, acc25nsVec),
0021 SOA_COLUMN(HcalPSfunctorArray, diff25nsItvlVec),
0022 SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxMinusOneVec),
0023 SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxMinusOneVec),
0024 SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxZEROVec),
0025 SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxZEROVec))
0026
0027 using HcalRecoParamSoA = HcalRecoParamSoALayout<>;
0028 using HcalPulseShapeSoA = HcalPulseShapeSoALayout<>;
0029 }
0030 #endif