ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
L1CaloFEXSim
eFEXCompression.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
/***************************************************************************
5
eFEXCompression.h - description
6
-------------------
7
begin : 07-02-2019
8
email : Alan.Watson@cern.ch antonio.jacques.costa@cern.ch
9
***************************************************************************/
10
11
12
#ifndef eFEXCompression_H
13
#define eFEXCompression_H
14
15
#include <array>
16
#include <atomic>
17
18
namespace
LVL1
{
19
35
class
eFEXCompression
{
36
37
public
:
39
static
unsigned
int
compress
(
int
Et);
41
static
int
expand
(
unsigned
int
code);
43
static
unsigned
int
threshold
(
unsigned
int
code,
int
threshold
= -800);
45
static
bool
noiseCut
(
unsigned
int
code,
int
layer,
bool
ignoreDisable =
false
);
47
static
int
decode
(
int
EtVal,
int
layer,
bool
ignoreDisable =
false
);
48
49
static
std::atomic<bool>
s_disableNoiseCuts
;
50
51
private
:
53
static
const
int
s_maxET
= 144800;
55
static
const
unsigned
int
s_nRanges
= 4;
57
static
const
int
s_steps
[
s_nRanges
];
59
static
const
int
s_minET
[
s_nRanges
];
61
static
const
int
s_minCode
[
s_nRanges
];
63
static
const
int
s_NoData
= 0;
65
static
const
unsigned
int
s_LArUnderflow
= 1;
67
static
const
unsigned
int
s_LArOverflow
= 1020;
69
static
const
unsigned
int
s_LArReserved
= 1021;
71
static
const
unsigned
int
s_LArInvalid
= 1022;
73
static
const
unsigned
int
s_LArSaturated
= 1023;
75
static
const
unsigned
int
s_LArMaxCode
= 1023;
77
static
const
unsigned
int
s_eFEXstep
= 25;
79
static
const
unsigned
int
s_eFEXOverflow
= 0xffff;
81
static
const
int
s_error
= -999;
83
static
const
unsigned
int
m_noisecutPS
= 64;
// corresponds to 800 MeV
84
static
const
unsigned
int
m_noisecutL1
= 48;
// 400 MeV
85
static
const
unsigned
int
m_noisecutL2
= 48;
86
static
const
unsigned
int
m_noisecutL3
= 48;
87
static
const
unsigned
int
m_noisecutHad
= 48;
// should only be applied for HEC
88
};
89
90
91
}
//end of ns
92
93
#endif
LVL1::eFEXCompression
LAr supercell data are received by the eFEX in a 10-bit multi-linear encoded form.
Definition
eFEXCompression.h:35
LVL1::eFEXCompression::m_noisecutPS
static const unsigned int m_noisecutPS
Noise Cuts per layer.
Definition
eFEXCompression.h:83
LVL1::eFEXCompression::s_LArMaxCode
static const unsigned int s_LArMaxCode
Maximum code value.
Definition
eFEXCompression.h:75
LVL1::eFEXCompression::s_steps
static const int s_steps[s_nRanges]
Step sizes in each range, MeV.
Definition
eFEXCompression.h:57
LVL1::eFEXCompression::s_nRanges
static const unsigned int s_nRanges
Number of ranges.
Definition
eFEXCompression.h:55
LVL1::eFEXCompression::s_LArReserved
static const unsigned int s_LArReserved
Reserved code value.
Definition
eFEXCompression.h:69
LVL1::eFEXCompression::s_maxET
static const int s_maxET
Maximum ET value that can be encoded.
Definition
eFEXCompression.h:53
LVL1::eFEXCompression::m_noisecutL2
static const unsigned int m_noisecutL2
Definition
eFEXCompression.h:85
LVL1::eFEXCompression::s_LArSaturated
static const unsigned int s_LArSaturated
LAr saturated code.
Definition
eFEXCompression.h:73
LVL1::eFEXCompression::s_eFEXOverflow
static const unsigned int s_eFEXOverflow
L1Calo saturated/overflow.
Definition
eFEXCompression.h:79
LVL1::eFEXCompression::s_LArUnderflow
static const unsigned int s_LArUnderflow
LAr underflow code.
Definition
eFEXCompression.h:65
LVL1::eFEXCompression::s_minCode
static const int s_minCode[s_nRanges]
Minimum code value in each range.
Definition
eFEXCompression.h:61
LVL1::eFEXCompression::s_NoData
static const int s_NoData
Indicates no data present.
Definition
eFEXCompression.h:63
LVL1::eFEXCompression::threshold
static unsigned int threshold(unsigned int code, int threshold=-800)
Apply threshold to compressed data.
Definition
eFEXCompression.cxx:102
LVL1::eFEXCompression::s_LArOverflow
static const unsigned int s_LArOverflow
LAr overflow code.
Definition
eFEXCompression.h:67
LVL1::eFEXCompression::s_minET
static const int s_minET[s_nRanges]
Minimum ET values in each range, MeV.
Definition
eFEXCompression.h:59
LVL1::eFEXCompression::m_noisecutL1
static const unsigned int m_noisecutL1
Definition
eFEXCompression.h:84
LVL1::eFEXCompression::s_disableNoiseCuts
static std::atomic< bool > s_disableNoiseCuts
Definition
eFEXCompression.h:49
LVL1::eFEXCompression::noiseCut
static bool noiseCut(unsigned int code, int layer, bool ignoreDisable=false)
Apply supercell noise cut.
Definition
eFEXCompression.cxx:71
LVL1::eFEXCompression::decode
static int decode(int EtVal, int layer, bool ignoreDisable=false)
Full sequence.
Definition
eFEXCompression.cxx:113
LVL1::eFEXCompression::expand
static int expand(unsigned int code)
Uncompress data.
Definition
eFEXCompression.cxx:50
LVL1::eFEXCompression::s_LArInvalid
static const unsigned int s_LArInvalid
Invalid code value.
Definition
eFEXCompression.h:71
LVL1::eFEXCompression::m_noisecutHad
static const unsigned int m_noisecutHad
Definition
eFEXCompression.h:87
LVL1::eFEXCompression::s_error
static const int s_error
Error return value.
Definition
eFEXCompression.h:81
LVL1::eFEXCompression::m_noisecutL3
static const unsigned int m_noisecutL3
Definition
eFEXCompression.h:86
LVL1::eFEXCompression::s_eFEXstep
static const unsigned int s_eFEXstep
L1Calo ET digit step.
Definition
eFEXCompression.h:77
LVL1::eFEXCompression::compress
static unsigned int compress(int Et)
Compress data.
Definition
eFEXCompression.cxx:20
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
Generated on
for ATLAS Offline Software by
1.17.0