16#ifndef EFEXSUPERCELLTOWERIDPROVIDER
17#define EFEXSUPERCELLTOWERIDPROVIDER
21#include <unordered_map>
68 StatusCode
geteTowerIDandslot(uint64_t scid,
int &eTowerID,
int &slot,
bool &issplit)
const;
eFEXSuperCellTowerIdProvider(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
std::unordered_map< uint64_t, towerinfo > m_SuperCelltoTowerIdmap
map to store information about SuperCells with SuperCell ID as the key.
StatusCode loadcsv()
load the csv file
bool hasSuperCell(uint64_t) const
Check if the SuperCell id exists in the csv file.
StatusCode setAddress(const std::string &)
set the address to the csv file and load
virtual StatusCode initialize() override
initialize the tool
bool m_hascsvfile
if the csv file is valid
bool ifhaveinputfile() const
Check if the csv file is valid.
StatusCode geteTowerIDandslot(uint64_t scid, int &eTowerID, int &slot, bool &issplit) const
obtain ordered tower IDs in an eFEX
static const InterfaceID & interfaceID()
std::string m_csvaddress
path to the csv file
~eFEXSuperCellTowerIdProvider()
Destructor.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IIeFEXSuperCellTowerIdProvider("LVL1::eFEXSuperCellTowerIdProvider", 1, 0)
Sturcture stores mapping information of a SuperCell.
bool isSplit
if the SuperCell Et needs to be splited
int slot
slot of the tower in which the SuperCell belongs to