Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-18 03:41:49

0001 #ifndef CondFormats_HGCalObjects_interface_HGCalCalibParamSoA_h
0002 #define CondFormats_HGCalObjects_interface_HGCalCalibParamSoA_h
0003 
0004 #include <Eigen/Core>
0005 #include <Eigen/Dense>
0006 
0007 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0008 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0009 #include "DataFormats/SoATemplate/interface/SoAView.h"
0010 
0011 //#include "CondFormats/HGCalObjects/interface/HGCalMappingModuleIndexer.h"
0012 
0013 namespace hgcalrechit {
0014 
0015   // Generate structure of channel-level arrays (SoA) layout with RecHit dataformat
0016   GENERATE_SOA_LAYOUT(HGCalCalibParamSoALayout,
0017                       SOA_COLUMN(float, ADC_ped),       // ADC pedestals, O(91)
0018                       SOA_COLUMN(float, Noise),         // noise, O(3)
0019                       SOA_COLUMN(float, CM_slope),      // common mode slope, O(0.25)
0020                       SOA_COLUMN(float, CM_ped),        // common mode pedestal (offset), O(92)
0021                       SOA_COLUMN(float, BXm1_slope),    // leakage correction from previous bunch, O(0.0)
0022                       SOA_COLUMN(float, TOTtoADC),      // TOT linearization in ADC units, O(15)
0023                       SOA_COLUMN(float, TOT_ped),       // TOT pedestal (offset), O(9.0)
0024                       SOA_COLUMN(float, TOT_lin),       // threshold at which TOT is linear, O(200)
0025                       SOA_COLUMN(float, TOT_P0),        // coefficient pol2 in nonlinear region, O(145)
0026                       SOA_COLUMN(float, TOT_P1),        // coefficient pol2 in nonlinear region, O(1.0)
0027                       SOA_COLUMN(float, TOT_P2),        // coefficient pol2 in nonlinear region, O(0.004)
0028                       SOA_COLUMN(float, TOAtops),       // TOA conversion to time (ps)
0029                       SOA_COLUMN(float, MIPS_scale),    // MIPS scale
0030                       SOA_COLUMN(unsigned char, valid)  // only 1 bit used: if false = mask dead channel
0031   )
0032   using HGCalCalibParamSoA = HGCalCalibParamSoALayout<>;
0033 
0034 }  // namespace hgcalrechit
0035 
0036 #endif  // CondFormats_HGCalObjects_interface_HGCalCalibParamSoA_h