ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
src
jFEXmetAlgo.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
// jFEXmetAlgo - Algorithm for MET Algorithm in jFEX
6
// -------------------
7
// begin : 14 05 2021
8
// email : Sergi.Rodriguez@cern.ch
9
//***************************************************************************
10
11
#ifndef jFEXmetAlgo_H
12
#define jFEXmetAlgo_H
13
14
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
L1CaloFEXToolInterfaces/IjFEXmetAlgo.h
"
17
#include "
L1CaloFEXSim/jTowerContainer.h
"
18
#include "
L1CaloFEXSim/FEXAlgoSpaceDefs.h
"
19
20
#include <vector>
21
22
namespace
LVL1
{
23
24
class
jFEXmetAlgo
:
public
AthAlgTool
,
virtual
public
IjFEXmetAlgo
{
25
26
public
:
28
jFEXmetAlgo
(
const
std::string&
type
,
const
std::string&
name
,
const
IInterface* parent);
29
31
virtual
StatusCode
initialize
()
override
;
32
virtual
StatusCode
reset
()
override
;
33
35
virtual
~jFEXmetAlgo
() =
default
;
36
37
virtual
StatusCode
safetyTest
()
override
;
38
virtual
void
setup
(
int
FPGA[
FEXAlgoSpaceDefs::jFEX_algoSpace_height
][
FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
],
int
hemisphere)
override
;
39
virtual
void
setup
(
int
FPGA[
FEXAlgoSpaceDefs::jFEX_algoSpace_height
][
FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
],
int
hemisphere)
override
;
40
41
virtual
void
buildBarrelmet
()
override
;
42
virtual
void
buildFWDmet
()
override
;
43
virtual
int
GetMetXComponent
()
const override
;
44
virtual
int
GetMetYComponent
()
const override
;
45
virtual
int
getTTowerET
(
unsigned
int
TTID )
override
;
46
virtual
bool
getjXESat
()
const override
;
47
virtual
void
setFPGAEnergy
(std::unordered_map<
int
,std::vector<int> > et_map)
override
;
48
49
protected
:
50
51
private
:
52
SG::ReadHandleKey<LVL1::jTowerContainer>
m_jTowerContainerKey
{
this
,
"MyjTowers"
,
"jTowerContainer"
,
"Input container for jTowers"
};
53
SG::ReadHandle<jTowerContainer>
m_jTowerContainer
;
54
55
std::vector<std::vector<int>>
m_FPGA
;
56
std::vector<std::vector<int>>
m_FPGA_phi02
;
57
std::vector<std::vector<int>>
m_FPGA_fcal
;
58
std::vector<long long>
m_met
;
59
std::vector<float>
m_met_angle
;
60
std::vector<long long>
m_met_Xcoord
;
61
std::vector<long long>
m_met_Ycoord
;
62
long
long
m_Totalmet_Xcoord
= 0;
63
long
long
m_Totalmet_Ycoord
= 0;
64
65
bool
getTTowerSat
(
unsigned
int
TTID );
66
bool
m_saturation
=
false
;
67
68
virtual
void
buildMetXComponent
();
69
virtual
void
buildMetYComponent
();
70
71
// To avoid using floats in the firmware.
72
static
constexpr
unsigned
int
m_firmware_scale
= (1 << 9);
73
static
constexpr
unsigned
int
m_firmware_bit_offset
= 9;
74
75
std::unordered_map<int,std::vector<int> >
m_map_Etvalues
;
76
77
int
m_hemisphere
;
78
};
79
80
81
82
}
//end of namespace
83
84
85
//CLASS_DEF( LVL1::jFEXmetAlgo , 121222945 , 1 )
86
87
#endif
AthAlgTool.h
FEXAlgoSpaceDefs.h
IjFEXmetAlgo.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
LVL1::FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
static constexpr int jFEX_wide_algoSpace_width
Definition
FEXAlgoSpaceDefs.h:27
LVL1::FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width
static constexpr int jFEX_thin_algoSpace_width
Definition
FEXAlgoSpaceDefs.h:28
LVL1::FEXAlgoSpaceDefs::jFEX_algoSpace_height
static constexpr int jFEX_algoSpace_height
Definition
FEXAlgoSpaceDefs.h:29
LVL1::IjFEXmetAlgo
Definition
IjFEXmetAlgo.h:22
LVL1::jFEXmetAlgo::getTTowerET
virtual int getTTowerET(unsigned int TTID) override
Definition
jFEXmetAlgo.cxx:223
LVL1::jFEXmetAlgo::m_FPGA
std::vector< std::vector< int > > m_FPGA
Definition
jFEXmetAlgo.h:55
LVL1::jFEXmetAlgo::reset
virtual StatusCode reset() override
Definition
jFEXmetAlgo.cxx:36
LVL1::jFEXmetAlgo::m_firmware_bit_offset
static constexpr unsigned int m_firmware_bit_offset
Definition
jFEXmetAlgo.h:73
LVL1::jFEXmetAlgo::GetMetYComponent
virtual int GetMetYComponent() const override
Definition
jFEXmetAlgo.cxx:217
LVL1::jFEXmetAlgo::m_FPGA_fcal
std::vector< std::vector< int > > m_FPGA_fcal
Definition
jFEXmetAlgo.h:57
LVL1::jFEXmetAlgo::m_saturation
bool m_saturation
Definition
jFEXmetAlgo.h:66
LVL1::jFEXmetAlgo::buildMetYComponent
virtual void buildMetYComponent()
Definition
jFEXmetAlgo.cxx:199
LVL1::jFEXmetAlgo::m_hemisphere
int m_hemisphere
Definition
jFEXmetAlgo.h:77
LVL1::jFEXmetAlgo::m_jTowerContainerKey
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Definition
jFEXmetAlgo.h:52
LVL1::jFEXmetAlgo::m_map_Etvalues
std::unordered_map< int, std::vector< int > > m_map_Etvalues
Definition
jFEXmetAlgo.h:75
LVL1::jFEXmetAlgo::buildFWDmet
virtual void buildFWDmet() override
Definition
jFEXmetAlgo.cxx:116
LVL1::jFEXmetAlgo::buildBarrelmet
virtual void buildBarrelmet() override
Definition
jFEXmetAlgo.cxx:93
LVL1::jFEXmetAlgo::~jFEXmetAlgo
virtual ~jFEXmetAlgo()=default
Destructor.
LVL1::jFEXmetAlgo::buildMetXComponent
virtual void buildMetXComponent()
Definition
jFEXmetAlgo.cxx:174
LVL1::jFEXmetAlgo::getjXESat
virtual bool getjXESat() const override
Definition
jFEXmetAlgo.cxx:237
LVL1::jFEXmetAlgo::m_met
std::vector< long long > m_met
Definition
jFEXmetAlgo.h:58
LVL1::jFEXmetAlgo::m_Totalmet_Xcoord
long long m_Totalmet_Xcoord
Definition
jFEXmetAlgo.h:62
LVL1::jFEXmetAlgo::m_Totalmet_Ycoord
long long m_Totalmet_Ycoord
Definition
jFEXmetAlgo.h:63
LVL1::jFEXmetAlgo::m_met_Ycoord
std::vector< long long > m_met_Ycoord
Definition
jFEXmetAlgo.h:61
LVL1::jFEXmetAlgo::m_jTowerContainer
SG::ReadHandle< jTowerContainer > m_jTowerContainer
Definition
jFEXmetAlgo.h:53
LVL1::jFEXmetAlgo::GetMetXComponent
virtual int GetMetXComponent() const override
Definition
jFEXmetAlgo.cxx:193
LVL1::jFEXmetAlgo::getTTowerSat
bool getTTowerSat(unsigned int TTID)
Definition
jFEXmetAlgo.cxx:242
LVL1::jFEXmetAlgo::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition
jFEXmetAlgo.cxx:20
LVL1::jFEXmetAlgo::m_firmware_scale
static constexpr unsigned int m_firmware_scale
Definition
jFEXmetAlgo.h:72
LVL1::jFEXmetAlgo::m_met_Xcoord
std::vector< long long > m_met_Xcoord
Definition
jFEXmetAlgo.h:60
LVL1::jFEXmetAlgo::m_FPGA_phi02
std::vector< std::vector< int > > m_FPGA_phi02
Definition
jFEXmetAlgo.h:56
LVL1::jFEXmetAlgo::setup
virtual void setup(int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width], int hemisphere) override
Definition
jFEXmetAlgo.cxx:44
LVL1::jFEXmetAlgo::m_met_angle
std::vector< float > m_met_angle
Definition
jFEXmetAlgo.h:59
LVL1::jFEXmetAlgo::safetyTest
virtual StatusCode safetyTest() override
Definition
jFEXmetAlgo.cxx:26
LVL1::jFEXmetAlgo::setFPGAEnergy
virtual void setFPGAEnergy(std::unordered_map< int, std::vector< int > > et_map) override
Definition
jFEXmetAlgo.cxx:252
LVL1::jFEXmetAlgo::jFEXmetAlgo
jFEXmetAlgo(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition
jFEXmetAlgo.cxx:16
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
jTowerContainer.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
type
TrigConf::name
Definition
HLTChainList.h:35
Generated on
for ATLAS Offline Software by
1.17.0