|
ATLAS Offline Software
|
Go to the documentation of this file.
37 #include <unordered_map>
39 class jFEXOutputCollection;
66 virtual void reset()
override ;
68 virtual int ID()
override {
return m_id;}
78 virtual std::vector <std::vector <uint32_t>>
getFwdElTOBs()
override;
81 virtual std::vector<std::unique_ptr<jFEXTOB>>
getTauTOBs()
override;
84 virtual std::vector<std::unique_ptr<jFEXTOB>>
getSumEtTOBs()
override;
87 virtual std::vector<std::unique_ptr<jFEXTOB>>
getMetTOBs()
override;
97 template <
class TOBObjectClass>
static bool TOBetSort(
const TOBObjectClass&
i,
const TOBObjectClass& j ,
uint bits,
uint mask) {
98 return (((
i->getWord() >> bits ) &
mask)>((j->getWord() >> bits ) &
mask));
102 const std::vector<uint32_t>& j)
135 ToolHandle<IjFEXSmallRJetAlgo>
m_jFEXSmallRJetAlgoTool {
this,
"jFEXSmallRJetAlgoTool",
"LVL1::jFEXSmallRJetAlgo",
"Tool that runs the jFEX Small R Jet algorithm"};
136 ToolHandle<IjFEXLargeRJetAlgo>
m_jFEXLargeRJetAlgoTool {
this,
"jFEXLargeRJetAlgoTool",
"LVL1::jFEXLargeRJetAlgo",
"Tool that runs the jFEX Large R Jet algorithm"};
137 ToolHandle<IjFEXtauAlgo>
m_jFEXtauAlgoTool {
this,
"jFEXtauAlgoTool" ,
"LVL1::jFEXtauAlgo" ,
"Tool that runs the jFEX tau algorithm"};
138 ToolHandle<IjFEXsumETAlgo>
m_jFEXsumETAlgoTool {
this,
"jFEXsumETAlgoTool" ,
"LVL1::jFEXsumETAlgo" ,
"Tool that runs the jFEX sumET algorithm"};
139 ToolHandle<IjFEXmetAlgo>
m_jFEXmetAlgoTool {
this,
"jFEXmetAlgoTool" ,
"LVL1::jFEXmetAlgo" ,
"Tool that runs the jFEX met algorithm"};
140 ToolHandle<IjFEXForwardJetsAlgo>
m_jFEXForwardJetsAlgoTool {
this,
"jFEXForwardJetsAlgoTool" ,
"LVL1::jFEXForwardJetsAlgo" ,
"Tool that runs the jFEX FCAL Jets algorithm"};
141 ToolHandle<IjFEXForwardElecAlgo>
m_jFEXForwardElecAlgoTool {
this,
"jFEXForwardElecAlgoTool" ,
"LVL1::jFEXForwardElecAlgo" ,
"Tool that runs the jFEX FCAL Electrons algorithm"};
142 ToolHandle<IjFEXPileupAndNoise>
m_jFEXPileupAndNoiseTool {
this,
"jFEXPileupAndNoiseTool",
"LVL1::jFEXPileupAndNoise",
"Tool that applies Pileup and Noise"};
143 ToolHandle<IjFEXFormTOBs>
m_IjFEXFormTOBsTool {
this,
"IjFEXFormTOBsTool",
"LVL1::jFEXFormTOBs",
"Tool that forms TOB words"};
virtual std::vector< std::unique_ptr< jFEXTOB > > getMetTOBs() override
Form a tob word out of the potential candidate MET tob.
std::vector< std::vector< uint32_t > > m_FwdEl_tobwords
jFEXFPGA(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
virtual void reset() override
constexpr static int jFEX_thin_algoSpace_width
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
ToolHandle< IjFEXtauAlgo > m_jFEXtauAlgoTool
std::string m_jfex_string[6]
ToolHandle< IjFEXSmallRJetAlgo > m_jFEXSmallRJetAlgoTool
int getTTowerET(unsigned int TTID) override
std::vector< std::unique_ptr< jFEXTOB > > m_Met_tobwords
std::vector< std::unique_ptr< jFEXTOB > > m_sumET_tobwords
constexpr static int jFEX_algoSpace_height
int getTTowerET_HAD(unsigned int TTID) override
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
virtual StatusCode initialize() override
standard Athena-Algorithm method
virtual std::vector< std::unique_ptr< jFEXTOB > > getTauTOBs() override
ToolHandle< IjFEXForwardJetsAlgo > m_jFEXForwardJetsAlgoTool
std::vector< std::unique_ptr< jFEXTOB > > m_SRJet_tobwords
int getTTowerET_forMET(unsigned int TTID) override
std::vector< std::unique_ptr< jFEXTOB > > m_tau_tobwords
int m_jTowersIDs_Wide[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width]
ToolHandle< IjFEXsumETAlgo > m_jFEXsumETAlgoTool
virtual StatusCode init(int id, int efexid) override
std::unordered_map< uint, jFEXForwardElecInfo > m_ForwardElecs
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual int ID() override
constexpr static int jFEX_wide_algoSpace_width
virtual std::vector< std::unique_ptr< jFEXTOB > > getLargeRJetTOBs() override
std::unordered_map< int, jFEXForwardJetsInfo > m_FCALJets
static bool TOBetSort(const TOBObjectClass &i, const TOBObjectClass &j, uint bits, uint mask)
Internal data.
std::unordered_map< int, std::vector< int > > m_map_Etvalues_FPGA
virtual std::vector< std::unique_ptr< jFEXTOB > > getSmallRJetTOBs() override
Form a tob word out of the potential candidate SmallRJet tob.
CaloCellContainer m_sCellsCollection
ToolHandle< IjFEXFormTOBs > m_IjFEXFormTOBsTool
virtual void SetTowersAndCells_SG(int[][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width]) override
std::vector< std::unique_ptr< jFEXTOB > > m_LRJet_tobwords
virtual std::vector< std::vector< uint32_t > > getFwdElTOBs() override
sorted Electron tobs
static bool etFwdElSort(const std::vector< uint32_t > &i, const std::vector< uint32_t > &j)
ToolHandle< IjFEXForwardElecAlgo > m_jFEXForwardElecAlgoTool
Container class for CaloCell.
ToolHandle< IjFEXmetAlgo > m_jFEXmetAlgoTool
virtual StatusCode execute(jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters) override
virtual std::vector< std::unique_ptr< jFEXTOB > > getSumEtTOBs() override
Form a tob word out of the potential candidate SumET tob.
std::unordered_map< int, jTower > m_jTowersColl
std::unordered_map< int, std::vector< int > > m_map_EM_Etvalues_FPGA
std::unordered_map< int, std::vector< int > > m_map_HAD_Etvalues_FPGA
virtual ~jFEXFPGA()
Destructor.
int getTTowerET_EM(unsigned int TTID) override
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Handle class for reading from StoreGate.
constexpr static int jEM_etBit
int getTTowerET_SG(unsigned int TTID)
macros to associate a CLID to a type
The jFEXFPGA class defines the structure of a single jFEX FPGA Its purpose is:
ToolHandle< IjFEXLargeRJetAlgo > m_jFEXLargeRJetAlgoTool
ToolHandle< IjFEXPileupAndNoise > m_jFEXPileupAndNoiseTool
int m_jTowersIDs_Thin[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width]