|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include <unordered_map>
75 virtual int getET(
int FPGAid,
int eta,
int phi,
int layer,
int cell)
const override;
132 std::vector<int>*
loadBlock(
const std::string&,
int)
const;
137 ToolHandle<IeFEXFPGATowerIdProvider>
m_eFEXFPGATowerIdProviderTool {
this,
"eFEXFPGATowerIdProviderTool",
"LVL1::eFEXFPGATowerIdProvider",
"Tool that provides tower-FPGA mapping"};
146 std::unordered_map<int, std::unordered_map<int, unsigned int>*>
m_alltowers;
149 std::unordered_map<int, std::vector<int>*>
m_dict;
The eTower class is an interface object for eFEX trigger algorithms The purposes are twofold:
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
std::vector< int > * loadBlock(const std::string &, int) const
Load the Et or index in a block.
int getFPGAnumber(int iefex, int ifpga) const
determine the index of an FPGA
Load Et of the test vector.
virtual StatusCode loadnext() override
Load the test vector of the next event.
ToolHandle< IeFEXFPGATowerIdProvider > m_eFEXFPGATowerIdProviderTool
tool needed for tower-FPGA mapping
virtual StatusCode execute() override
replace the Tower Et with the ones stored in the test vector.
StatusCode loaddic(int)
load index of Et
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual int getET(int FPGAid, int eta, int phi, int layer, int cell) const override
obtain the Et of a tower slot
std::string m_inputfile
path to the input directory
std::unordered_map< int, std::vector< int > * > m_dict
map for mapping infomation. m_dict[FPGAid] = [ list of supercell id in order ]
eTowerContainer * m_eTowerContainer
StatusCode changeTowerET(LVL1::eTower *inputtower, int eta, int phi, int FPGAid) const
Replace the Et in a tower by the ones in the test vector.
eFakeTower(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
int m_numberofevents
number of events
virtual StatusCode seteTowers(eTowerContainer *) override
Define the eTowerContainer object for which the Et will be replaced.
Provide tower-FPGA mapping.
std::unordered_map< int, std::unordered_map< int, unsigned int > * > m_alltowers
map of all supercell ETs of FPGAs m_alltowers[FPGAid] = (supercell id,ET) supercell id = eta * 1000 +...
virtual StatusCode init(const std::string &) override
initiate with the path to the test vector directory
StatusCode changeFPGAET(int tmp_eTowersIDs_subset[][6], int FPGAnumber, int eFEXnumber)
Replace the Et in an FOGA by the ones in the test vector.
StatusCode loadFPGA(int)
load the Et in an FPGA