ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXSim.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 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 void reset () override ;
49
50 virtual void execute() override ;
51
52 virtual StatusCode initialize() override ;
53
54 virtual StatusCode executegFEXSim(const gTowersIDs& tmp, gFEXOutputCollection* gFEXOutputs) override;
55
56 virtual std::vector<uint32_t> getgRhoTOBs() const override;
57
58 virtual std::vector<uint32_t> getgBlockTOBs() const override;
59
60 virtual std::vector<uint32_t> getgJetTOBs() const override;
61
62 virtual std::vector<int32_t> getgScalarEJwojTOBs() const override;
63
64 virtual std::vector<uint32_t> getgMETComponentsJwojTOBs() const override;
65
66 virtual std::vector<uint32_t> getgMHTComponentsJwojTOBs() const override;
67
68 virtual std::vector<uint32_t> getgMSTComponentsJwojTOBs() const override;
69
70 virtual std::vector<uint32_t> getgMETComponentsNoiseCutTOBs() const override;
71
72 virtual std::vector<uint32_t> getgMETComponentsRmsTOBs() const override;
73
74 virtual std::vector<uint32_t> getgScalarENoiseCutTOBs() const override;
75
76 virtual std::vector<uint32_t> getgScalarERmsTOBs() const override;
77
78
79
81 private:
82
84
86
87 std::vector<uint32_t> m_gRhoTobWords;
88
89 std::vector<uint32_t> m_gBlockTobWords;
90
91 std::vector<uint32_t> m_gJetTobWords;
92
93 std::vector<int32_t> m_gScalarEJwojTobWords;
94
95 std::vector<uint32_t> m_gMETComponentsJwojTobWords;
96
97 std::vector<uint32_t> m_gMHTComponentsJwojTobWords;
98
99 std::vector<uint32_t> m_gMSTComponentsJwojTobWords;
100
101 std::vector<uint32_t> m_gMETComponentsNoiseCutTobWords;
102
103 std::vector<uint32_t> m_gMETComponentsRmsTobWords;
104
105 std::vector<uint32_t> m_gScalarENoiseCutTobWords;
106
107 std::vector<uint32_t> m_gScalarERmsTobWords;
108
109
110
111 ToolHandle<IgFEXFPGA> m_gFEXFPGA_Tool {this, "gFEXFPGATool", "LVL1::gFEXFPGA", "Tool that simulates the FPGA hardware"};
112
113 ToolHandle<IgFEXJetAlgo> m_gFEXJetAlgoTool {this, "gFEXJetAlgoTool", "LVL1::gFEXJetAlgo", "Tool that runs the gFEX jet algorithm"};
114
115 ToolHandle<IgFEXJwoJAlgo> m_gFEXJwoJAlgoTool {this, "gFEXJwoJAlgoTool", "LVL1::gFEXJwoJAlgo", "Tool that runs the gFEX Jets without Jets algorithm"};
116
117 ToolHandle<IgFEXaltMetAlgo> m_gFEXaltMetAlgoTool {this, "gFEXaltMetAlgoTool", "LVL1::gFEXaltMetAlgo", "Tool that runs the gFEX noise cut and rho+RMS algorithms for MET"};
118
119 SG::ReadHandleKey<TrigConf::L1Menu> m_l1MenuKey{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"};
120
121 SG::WriteHandleKey < xAOD::gFexTowerContainer > m_gTowersWriteKey {this,"gTowersWriteKey" ,"L1_gFexTriggerTowers", "Write gFexEDM Trigger Tower container"};
122 };
123
124} // end of namespace
125
126
127#endif
macros to associate a CLID to a type
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Container class for CaloCell.
virtual std::vector< uint32_t > getgMSTComponentsJwojTOBs() const override
Definition gFEXSim.cxx:374
virtual StatusCode executegFEXSim(const gTowersIDs &tmp, gFEXOutputCollection *gFEXOutputs) override
Definition gFEXSim.cxx:59
ToolHandle< IgFEXFPGA > m_gFEXFPGA_Tool
Definition gFEXSim.h:111
std::vector< uint32_t > m_gMETComponentsJwojTobWords
Definition gFEXSim.h:95
virtual std::vector< uint32_t > getgMHTComponentsJwojTOBs() const override
Definition gFEXSim.cxx:369
gTowersIDs m_gTowersIDs
Internal data.
Definition gFEXSim.h:83
std::vector< int32_t > m_gScalarEJwojTobWords
Definition gFEXSim.h:93
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition gFEXSim.h:119
virtual std::vector< uint32_t > getgScalarENoiseCutTOBs() const override
Definition gFEXSim.cxx:389
ToolHandle< IgFEXJwoJAlgo > m_gFEXJwoJAlgoTool
Definition gFEXSim.h:115
virtual std::vector< uint32_t > getgMETComponentsJwojTOBs() const override
Definition gFEXSim.cxx:364
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersWriteKey
Definition gFEXSim.h:121
std::vector< uint32_t > m_gMHTComponentsJwojTobWords
Definition gFEXSim.h:97
virtual std::vector< uint32_t > getgJetTOBs() const override
Definition gFEXSim.cxx:354
std::vector< uint32_t > m_gMSTComponentsJwojTobWords
Definition gFEXSim.h:99
virtual std::vector< uint32_t > getgScalarERmsTOBs() const override
Definition gFEXSim.cxx:394
virtual void reset() override
Definition gFEXSim.cxx:28
virtual std::vector< uint32_t > getgBlockTOBs() const override
Definition gFEXSim.cxx:349
virtual std::vector< uint32_t > getgMETComponentsRmsTOBs() const override
Definition gFEXSim.cxx:384
std::vector< uint32_t > m_gScalarERmsTobWords
Definition gFEXSim.h:107
std::vector< uint32_t > m_gScalarENoiseCutTobWords
Definition gFEXSim.h:105
CaloCellContainer m_sCellsCollection
Definition gFEXSim.h:85
std::vector< uint32_t > m_gMETComponentsRmsTobWords
Definition gFEXSim.h:103
virtual StatusCode initialize() override
Definition gFEXSim.cxx:45
std::vector< uint32_t > m_gRhoTobWords
Definition gFEXSim.h:87
gFEXSim(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition gFEXSim.cxx:21
virtual void execute() override
Definition gFEXSim.cxx:55
std::vector< uint32_t > m_gJetTobWords
Definition gFEXSim.h:91
virtual std::vector< uint32_t > getgRhoTOBs() const override
Definition gFEXSim.cxx:344
ToolHandle< IgFEXJetAlgo > m_gFEXJetAlgoTool
Definition gFEXSim.h:113
ToolHandle< IgFEXaltMetAlgo > m_gFEXaltMetAlgoTool
Definition gFEXSim.h:117
std::vector< uint32_t > m_gMETComponentsNoiseCutTobWords
Definition gFEXSim.h:101
virtual ~gFEXSim()
Destructor.
Definition gFEXSim.cxx:42
virtual std::vector< int32_t > getgScalarEJwojTOBs() const override
Definition gFEXSim.cxx:359
virtual std::vector< uint32_t > getgMETComponentsNoiseCutTOBs() const override
Definition gFEXSim.cxx:379
std::vector< uint32_t > m_gBlockTobWords
Definition gFEXSim.h:89
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