ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXSim.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4//***************************************************************************
5// gFEXSim - Simulation of the gFEX module
6// -------------------
7// begin : 01 04 2021
8// email : cecilia.tosciri@cern.ch
9//***************************************************************************
10
11#ifndef gFEXSim_H
12#define gFEXSim_H
16#include "L1CaloFEXSim/gTower.h"
17#include "gFEXFPGA.h"
18#include "gFEXJetAlgo.h"
20#include "gFEXJwoJAlgo.h"
22#include "gFEXaltMetAlgo.h"
24#include "TrigConfData/L1Menu.h"
26
27
28
29namespace LVL1 {
30
31 //Doxygen class description below:
37
38 class gFEXSim : public AthAlgTool, virtual public IgFEXSim {
39
40 public:
41
43 gFEXSim(const std::string& type,const std::string& name,const IInterface* parent);
44
46 virtual ~gFEXSim();
47
48 virtual StatusCode initialize() override ;
49
50 virtual StatusCode execute(const EventContext& ctx,
51 const gTowersIDs& tmp_gTowersIDs_subset,
52 gFEXOutputCollection* gFEXOutputs,
53 std::vector<uint32_t>& gRhoTobWords,
54 std::vector<uint32_t>& gBlockTobWords,
55 std::vector<uint32_t>& gJetTobWords,
56 std::vector<int32_t>& gScalarEJwojTobWords,
57 std::vector<uint32_t>& gMETComponentsJwojTobWords,
58 std::vector<uint32_t>& gMHTComponentsJwojTobWords,
59 std::vector<uint32_t>& gMSTComponentsJwojTobWords,
60 std::vector<uint32_t>& gMETComponentsNoiseCutTobWords,
61 std::vector<uint32_t>& gMETComponentsRmsTobWords,
62 std::vector<uint32_t>& gScalarENoiseCutTobWords,
63 std::vector<uint32_t>& gScalarERmsTobWords) const override;
64
65
67 private:
68
69 ToolHandle<IgFEXFPGA> m_gFEXFPGA_Tool {this, "gFEXFPGATool", "LVL1::gFEXFPGA", "Tool that simulates the FPGA hardware"};
70
71 ToolHandle<IgFEXJetAlgo> m_gFEXJetAlgoTool {this, "gFEXJetAlgoTool", "LVL1::gFEXJetAlgo", "Tool that runs the gFEX jet algorithm"};
72
73 ToolHandle<IgFEXJwoJAlgo> m_gFEXJwoJAlgoTool {this, "gFEXJwoJAlgoTool", "LVL1::gFEXJwoJAlgo", "Tool that runs the gFEX Jets without Jets algorithm"};
74
75 ToolHandle<IgFEXaltMetAlgo> m_gFEXaltMetAlgoTool {this, "gFEXaltMetAlgoTool", "LVL1::gFEXaltMetAlgo", "Tool that runs the gFEX noise cut and rho+RMS algorithms for MET"};
76
77 SG::ReadHandleKey<TrigConf::L1Menu> m_l1MenuKey{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"};
78
79 SG::WriteHandleKey < xAOD::gFexTowerContainer > m_gTowersWriteKey {this,"gTowersWriteKey" ,"L1_gFexTriggerTowers", "Write gFexEDM Trigger Tower container"};
80 };
81
82} // end of namespace
83
84
85#endif
macros to associate a CLID to a type
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
ToolHandle< IgFEXFPGA > m_gFEXFPGA_Tool
Internal data.
Definition gFEXSim.h:69
virtual StatusCode execute(const EventContext &ctx, const gTowersIDs &tmp_gTowersIDs_subset, gFEXOutputCollection *gFEXOutputs, std::vector< uint32_t > &gRhoTobWords, std::vector< uint32_t > &gBlockTobWords, std::vector< uint32_t > &gJetTobWords, std::vector< int32_t > &gScalarEJwojTobWords, std::vector< uint32_t > &gMETComponentsJwojTobWords, std::vector< uint32_t > &gMHTComponentsJwojTobWords, std::vector< uint32_t > &gMSTComponentsJwojTobWords, std::vector< uint32_t > &gMETComponentsNoiseCutTobWords, std::vector< uint32_t > &gMETComponentsRmsTobWords, std::vector< uint32_t > &gScalarENoiseCutTobWords, std::vector< uint32_t > &gScalarERmsTobWords) const override
Definition gFEXSim.cxx:44
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition gFEXSim.h:77
ToolHandle< IgFEXJwoJAlgo > m_gFEXJwoJAlgoTool
Definition gFEXSim.h:73
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersWriteKey
Definition gFEXSim.h:79
virtual StatusCode initialize() override
Definition gFEXSim.cxx:32
gFEXSim(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition gFEXSim.cxx:21
ToolHandle< IgFEXJetAlgo > m_gFEXJetAlgoTool
Definition gFEXSim.h:71
ToolHandle< IgFEXaltMetAlgo > m_gFEXaltMetAlgoTool
Definition gFEXSim.h:75
virtual ~gFEXSim()
Destructor.
Definition gFEXSim.cxx:29
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
std::array< std::array< int, 40 >, 32 > gTowersIDs
Definition IgFEXSim.h:20