ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
L1CaloFEXSim
eFEXSuperCellTowerIdProvider.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
15
16
#ifndef EFEXSUPERCELLTOWERIDPROVIDER
17
#define EFEXSUPERCELLTOWERIDPROVIDER
18
#include "
AthenaBaseComps/AthAlgorithm.h
"
19
#include "
AthenaBaseComps/AthAlgTool.h
"
20
#include <string>
21
#include <unordered_map>
22
23
namespace
LVL1
{
30
static
const
InterfaceID
IID_IIeFEXSuperCellTowerIdProvider
(
"LVL1::eFEXSuperCellTowerIdProvider"
, 1 , 0);
31
32
class
eFEXSuperCellTowerIdProvider
:
public
AthAlgTool
{
33
37
struct
towerinfo
{
38
int
eTowerID
;
39
int
slot
;
40
bool
isSplit
;
41
};
42
43
public
:
44
static
const
InterfaceID&
interfaceID
() {
return
IID_IIeFEXSuperCellTowerIdProvider
; };
46
eFEXSuperCellTowerIdProvider
(
const
std::string&
type
,
const
std::string&
name
,
const
IInterface* parent);
47
49
~eFEXSuperCellTowerIdProvider
();
50
52
virtual
StatusCode
initialize
()
override
;
53
55
StatusCode
setAddress
(
const
std::string&);
56
68
StatusCode
geteTowerIDandslot
(uint64_t scid,
int
&eTowerID,
int
&slot,
bool
&issplit)
const
;
69
71
bool
ifhaveinputfile
()
const
;
72
73
private
:
74
bool
m_hascsvfile
{
false
};
75
76
std::string
m_csvaddress
;
77
79
bool
hasSuperCell
(uint64_t)
const
;
80
82
StatusCode
loadcsv
();
83
85
std::unordered_map<uint64_t, towerinfo>
m_SuperCelltoTowerIdmap
;
86
};
87
}
88
#endif
AthAlgTool.h
AthAlgorithm.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
LVL1::eFEXSuperCellTowerIdProvider::eFEXSuperCellTowerIdProvider
eFEXSuperCellTowerIdProvider(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition
eFEXSuperCellTowerIdProvider.cxx:11
LVL1::eFEXSuperCellTowerIdProvider::m_SuperCelltoTowerIdmap
std::unordered_map< uint64_t, towerinfo > m_SuperCelltoTowerIdmap
map to store information about SuperCells with SuperCell ID as the key.
Definition
eFEXSuperCellTowerIdProvider.h:85
LVL1::eFEXSuperCellTowerIdProvider::loadcsv
StatusCode loadcsv()
load the csv file
Definition
eFEXSuperCellTowerIdProvider.cxx:80
LVL1::eFEXSuperCellTowerIdProvider::hasSuperCell
bool hasSuperCell(uint64_t) const
Check if the SuperCell id exists in the csv file.
Definition
eFEXSuperCellTowerIdProvider.cxx:67
LVL1::eFEXSuperCellTowerIdProvider::setAddress
StatusCode setAddress(const std::string &)
set the address to the csv file and load
Definition
eFEXSuperCellTowerIdProvider.cxx:31
LVL1::eFEXSuperCellTowerIdProvider::initialize
virtual StatusCode initialize() override
initialize the tool
Definition
eFEXSuperCellTowerIdProvider.cxx:21
LVL1::eFEXSuperCellTowerIdProvider::m_hascsvfile
bool m_hascsvfile
if the csv file is valid
Definition
eFEXSuperCellTowerIdProvider.h:74
LVL1::eFEXSuperCellTowerIdProvider::ifhaveinputfile
bool ifhaveinputfile() const
Check if the csv file is valid.
Definition
eFEXSuperCellTowerIdProvider.cxx:76
LVL1::eFEXSuperCellTowerIdProvider::geteTowerIDandslot
StatusCode geteTowerIDandslot(uint64_t scid, int &eTowerID, int &slot, bool &issplit) const
obtain ordered tower IDs in an eFEX
Definition
eFEXSuperCellTowerIdProvider.cxx:47
LVL1::eFEXSuperCellTowerIdProvider::interfaceID
static const InterfaceID & interfaceID()
Definition
eFEXSuperCellTowerIdProvider.h:44
LVL1::eFEXSuperCellTowerIdProvider::m_csvaddress
std::string m_csvaddress
path to the csv file
Definition
eFEXSuperCellTowerIdProvider.h:76
LVL1::eFEXSuperCellTowerIdProvider::~eFEXSuperCellTowerIdProvider
~eFEXSuperCellTowerIdProvider()
Destructor.
Definition
eFEXSuperCellTowerIdProvider.cxx:17
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
LVL1::IID_IIeFEXSuperCellTowerIdProvider
static const InterfaceID IID_IIeFEXSuperCellTowerIdProvider("LVL1::eFEXSuperCellTowerIdProvider", 1, 0)
type
LVL1::eFEXSuperCellTowerIdProvider::towerinfo
Sturcture stores mapping information of a SuperCell.
Definition
eFEXSuperCellTowerIdProvider.h:37
LVL1::eFEXSuperCellTowerIdProvider::towerinfo::eTowerID
int eTowerID
tower ID
Definition
eFEXSuperCellTowerIdProvider.h:38
LVL1::eFEXSuperCellTowerIdProvider::towerinfo::isSplit
bool isSplit
if the SuperCell Et needs to be splited
Definition
eFEXSuperCellTowerIdProvider.h:40
LVL1::eFEXSuperCellTowerIdProvider::towerinfo::slot
int slot
slot of the tower in which the SuperCell belongs to
Definition
eFEXSuperCellTowerIdProvider.h:39
TrigConf::name
Definition
HLTChainList.h:35
Generated on
for ATLAS Offline Software by
1.17.0