25 int Et = std::round(floatEt);
32 for (
unsigned int i = 0; i <
s_nRanges; i++) {
38 unsigned int code = 0;
47 code =
static_cast<int>(
s_minCode[range] + steps);
64 for (
unsigned int i = 0; i <
s_nRanges-1; ++i) {
65 if (code < (
unsigned int)
s_minCode[i+1])
break;
83 if (code < cut) code = 0;
static const Attributes_t empty
static const int s_minET[s_nRanges]
Minimum ET values in each range, MeV.
static const int s_NoData
Indicates no data present.
static const int s_maxET
Maximum ET value that can be encoded.
static int Expand(unsigned int code)
Uncompress data.
static unsigned int Linearize(unsigned int code, int threshold=0)
Linearize LAr code to jFEX internal format.
static const int s_error
Error return value.
static const unsigned int s_nRanges
Number of ranges.
static unsigned int Threshold(unsigned int code, int threshold=-800)
Apply threshold to compressed data.
static const unsigned int s_LArInvalid
Invalid code value.
static const unsigned int s_LArUnderflow
LAr underflow code.
static const int s_minCode[s_nRanges]
Minimum code value in each range.
static const int s_steps[s_nRanges]
Step sizes in each range, MeV.
static const unsigned int s_jFEXstep
L1Calo ET digit step.
static const unsigned int s_jFEXOverflow
L1Calo saturated/overflow.
static const unsigned int s_LArOverflow
LAr overflow code.
static unsigned int Compress(float floatEt, bool empty=false)
Compress data.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...