Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-10 00:36:54

0001 #ifndef DataFormats_HGCalDigi_HGCalRawDataDefinitions_h
0002 #define DataFormats_HGCalDigi_HGCalRawDataDefinitions_h
0003 
0004 #include <cstdint>  // for uint8_t
0005 
0006 namespace hgcal {
0007   namespace econd {
0008     namespace ToTStatus {
0009       constexpr uint8_t ZeroSuppressed = 0x0, noZeroSuppressed_TOASuppressed = 0x1, invalid = 0x2, AutomaticFull = 0x3;
0010     }  // namespace ToTStatus
0011   }  // namespace econd
0012 
0013   namespace backend {
0014     namespace ECONDPacketStatus {
0015       constexpr uint8_t Normal = 0x0, PayloadTooLarge = 0x1, PayloadCRCError = 0x2, EventIDMismatch = 0x3,
0016                         EBTimeout = 0x4, BCIDOrbitIDMismatch = 0x5, MainBufferOverflow = 0x6, InactiveECOND = 0x7,
0017                         OfflinePayloadCRCError = 0x8;
0018     }  // namespace ECONDPacketStatus
0019   }  // namespace backend
0020 
0021   namespace ECOND_FRAME {
0022     constexpr uint32_t HEADER_POS = 23, HEADER_MASK = 0x1ff, PAYLOAD_POS = 14, PAYLOAD_MASK = 0x1ff, BITP_POS = 13,
0023                        BITE_POS = 12, HT_MASK = 0x3, HT_POS = 10, EBO_MASK = 0x3, EBO_POS = 8, BITM_POS = 7,
0024                        BITT_POS = 6, EHHAM_MASK = 0x3f, EHHAM_POS = 0, BX_POS = 20, BX_MASK = 0xfff, L1A_POS = 14,
0025                        L1A_MASK = 0x3f, ORBIT_POS = 11, ORBIT_MASK = 0x7, BITS_POS = 10, RR_MASK = 0x3, RR_POS = 8,
0026                        EHCRC_MASK = 0xff, EHCRC_POS = 0, ERXSTAT_POS = 29, ERXSTAT_MASK = 0x7, ERXHAM_POS = 26,
0027                        ERXHAM_MASK = 0x7, ERXFORMAT_POS = 25, ERXFORMAT_MASK = 0x1, COMMONMODE0_POS = 15,
0028                        COMMONMODE0_MASK = 0x3ff, COMMONMODE1_POS = 5, COMMONMODE1_MASK = 0x3ff, CHMAP32_POS = 0,
0029                        CHMAP32_MASK = 0x1f, CHMAP0_POS = 0, CHMAP0_MASK = 0xffffffff, ERX_E_POS = 4, ERX_E_MASK = 1,
0030                        CRC_POL = 0x4c11db7, CRC_INITREM = 0x0, CRC_FINALXOR = 0x0;
0031   }  // namespace ECOND_FRAME
0032 
0033   namespace BACKEND_FRAME {
0034     constexpr uint32_t CAPTUREBLOCK_RESERVED_MASK = 0x7f, CAPTUREBLOCK_RESERVED_POS = 25, CAPTUREBLOCK_BC_MASK = 0xfff,
0035                        CAPTUREBLOCK_BC_POS = 13, CAPTUREBLOCK_EC_MASK = 0x7f, CAPTUREBLOCK_EC_POS = 7,
0036                        CAPTUREBLOCK_OC_MASK = 0x7, CAPTUREBLOCK_OC_POS = 4, SLINK_BOE_MASK = 0xff, SLINK_BOE_POS = 24,
0037                        SLINK_V_MASK = 0xf, SLINK_V_POS = 19, SLINK_R8_MASK = 0xff, SLINK_R8_POS = 11,
0038                        SLINK_GLOBAL_EVENTID_MSB_MASK = 0xfff, SLINK_GLOBAL_EVENTID_MSB_POS = 0,
0039                        SLINK_GLOBAL_EVENTID_LSB_MASK = 0xffffffff, SLINK_GLOBAL_EVENTID_LSB_POS = 0,
0040                        SLINK_R6_MASK = 0x3f, SLINK_R6_POS = 25, SLINK_CONTENTID_MASK = 0x3FFFFFF,
0041                        SLINK_CONTENTID_POS = 0, SLINK_SOURCEID_MASK = 0xffffffff, SLINK_SOURCEID_POS = 0,
0042                        SLINK_EOE_MASK = 0xff, SLINK_EOE_POS = 23, SLINK_DAQCRC_MASK = 0xffff, SLINK_DAQCRC_POS = 7,
0043                        SLINK_TRAILERR_MASK = 0xff, SLINK_TRAILERR_POS = 0, SLINK_EVLENGTH_MASK = 0xfffff,
0044                        SLINK_EVLENGTH_POS = 11, SLINK_BXID_MASK = 0xfff, SLINK_BXID_POS = 0,
0045                        SLINK_ORBID_MASK = 0xffffffff, SLINK_ORBID_POS = 0, SLINK_CRC_MASK = 0xffff, SLINK_CRC_POS = 15,
0046                        SLINK_STATUS_MASK = 0xffff, SLINK_STATUS_POS = 0;
0047   }  // namespace BACKEND_FRAME
0048 
0049   namespace DIGI_FLAG {
0050     constexpr uint16_t
0051         // flags for normal ECON-D
0052         FULL_READOUT = 0x0000,
0053         ZS_ADCm1 = 0x0001, ZS_ToA = 0x0002, ZS_ToA_ADCm1 = 0x0003, Invalid = 0x0004,
0054         // flags for passthrough ECON-D
0055         Normal = 0x8000, Characterization = 0x8001,
0056         // flag for digi not in raw data
0057         NotAvailable = 0xFFFF;
0058   }  // namespace DIGI_FLAG
0059 
0060 }  // namespace hgcal
0061 
0062 #endif