ATLAS Offline Software
Loading...
Searching...
No Matches
jFEXCompression.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4/***************************************************************************
5 jFEXCompression.h - description
6 -------------------
7 begin : 07-02-2019
8 email : Alan.Watson@cern.ch antonio.jacques.costa@cern.ch
9 ***************************************************************************/
10
11
12 #ifndef jFEXCompression_H
13 #define jFEXCompression_H
14
15#include <array>
16
17namespace LVL1 {
18
31
32public:
34 static unsigned int Compress(float floatEt, bool empty = false);
36 static int Expand(unsigned int code);
38 static unsigned int Threshold(unsigned int code, int threshold = -800);
40 static unsigned int Linearize(unsigned int code, int threshold = 0);
41
42private:
44 static const int s_maxET = 800000;
46 static const unsigned int s_nRanges = 5;
48 static const int s_steps[s_nRanges];
50 static const int s_minET[s_nRanges];
52 static const int s_minCode[s_nRanges];
54 static const int s_NoData = 0;
56 static const unsigned int s_LArUnderflow = 1;
58 static const unsigned int s_LArOverflow = 4048;
60 static const unsigned int s_LArMaxCode = 4095;
62 static const unsigned int s_LArInvalid = 4095;
64 static const unsigned int s_jFEXstep = 25;
66 static const unsigned int s_jFEXOverflow = 0xffff;
68 static const int s_error = -99999;
69};
70
71
72}//end of ns
73
74#endif
Threshold
static const Attributes_t empty
LAr supercell data are received by the jFEX in a 10-bit multi-linear encoded form.
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 const unsigned int s_LArMaxCode
Maximum code value, values 4049 to 4094 reserved.
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...