ATLAS Offline Software
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
15 #include "AthenaKernel/CLASS_DEF.h"
16 #include "L1CaloFEXSim/gTower.h"
17 #include "L1CaloFEXSim/gFEXFPGA.h"
24 #include "TrigConfData/L1Menu.h"
26 
27 
28 
29 namespace LVL1 {
30 
31  //Doxygen class description below:
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<uint32_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<uint32_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
LVL1::gFEXSim::getgScalarENoiseCutTOBs
virtual std::vector< uint32_t > getgScalarENoiseCutTOBs() const override
Definition: gFEXSim.cxx:393
LVL1::gFEXSim::getgMETComponentsNoiseCutTOBs
virtual std::vector< uint32_t > getgMETComponentsNoiseCutTOBs() const override
Definition: gFEXSim.cxx:383
LVL1::gFEXSim::m_gMETComponentsNoiseCutTobWords
std::vector< uint32_t > m_gMETComponentsNoiseCutTobWords
Definition: gFEXSim.h:101
gFEXJetTOB.h
LVL1::IgFEXSim
Definition: IgFEXSim.h:22
gFEXOutputCollection.h
LVL1::gFEXSim::executegFEXSim
virtual StatusCode executegFEXSim(const gTowersIDs &tmp, gFEXOutputCollection *gFEXOutputs) override
Definition: gFEXSim.cxx:59
LVL1::gFEXSim::getgScalarERmsTOBs
virtual std::vector< uint32_t > getgScalarERmsTOBs() const override
Definition: gFEXSim.cxx:398
LVL1::gFEXSim::execute
virtual void execute() override
Definition: gFEXSim.cxx:55
LVL1::gFEXSim
The gFEXSim class defines the structure of the gFEX Its purpose is:
Definition: gFEXSim.h:38
SG::ReadHandleKey< TrigConf::L1Menu >
LVL1::gFEXSim::m_gMSTComponentsJwojTobWords
std::vector< uint32_t > m_gMSTComponentsJwojTobWords
Definition: gFEXSim.h:99
LVL1::gFEXSim::m_gMETComponentsRmsTobWords
std::vector< uint32_t > m_gMETComponentsRmsTobWords
Definition: gFEXSim.h:103
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::gFEXSim::m_gJetTobWords
std::vector< uint32_t > m_gJetTobWords
Definition: gFEXSim.h:91
LVL1::gFEXSim::~gFEXSim
virtual ~gFEXSim()
Destructor.
Definition: gFEXSim.cxx:42
LVL1::gFEXSim::initialize
virtual StatusCode initialize() override
Definition: gFEXSim.cxx:45
LVL1::gFEXSim::m_l1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition: gFEXSim.h:119
LVL1::gFEXSim::getgRhoTOBs
virtual std::vector< uint32_t > getgRhoTOBs() const override
Definition: gFEXSim.cxx:348
LVL1::gFEXSim::m_gScalarERmsTobWords
std::vector< uint32_t > m_gScalarERmsTobWords
Definition: gFEXSim.h:107
LVL1::gFEXSim::reset
virtual void reset() override
Definition: gFEXSim.cxx:28
LVL1::gFEXSim::getgMETComponentsJwojTOBs
virtual std::vector< uint32_t > getgMETComponentsJwojTOBs() const override
Definition: gFEXSim.cxx:368
LVL1::gFEXOutputCollection
Definition: gFEXOutputCollection.h:22
gFEXJwoJTOB.h
LVL1::gFEXSim::getgJetTOBs
virtual std::vector< uint32_t > getgJetTOBs() const override
Definition: gFEXSim.cxx:358
IgFEXSim.h
gFEXJetAlgo.h
LVL1::gFEXSim::getgMETComponentsRmsTOBs
virtual std::vector< uint32_t > getgMETComponentsRmsTOBs() const override
Definition: gFEXSim.cxx:388
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
LVL1::gFEXSim::getgMSTComponentsJwojTOBs
virtual std::vector< uint32_t > getgMSTComponentsJwojTOBs() const override
Definition: gFEXSim.cxx:378
LVL1::gFEXSim::m_gRhoTobWords
std::vector< uint32_t > m_gRhoTobWords
Definition: gFEXSim.h:87
LVL1::gFEXSim::getgMHTComponentsJwojTOBs
virtual std::vector< uint32_t > getgMHTComponentsJwojTOBs() const override
Definition: gFEXSim.cxx:373
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
gFEXFPGA.h
LVL1::gFEXSim::getgBlockTOBs
virtual std::vector< uint32_t > getgBlockTOBs() const override
Definition: gFEXSim.cxx:353
FEXAlgoSpaceDefs.h
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
LVL1::gFEXSim::m_gTowersWriteKey
SG::WriteHandleKey< xAOD::gFexTowerContainer > m_gTowersWriteKey
Definition: gFEXSim.h:121
LVL1::gFEXSim::m_gScalarENoiseCutTobWords
std::vector< uint32_t > m_gScalarENoiseCutTobWords
Definition: gFEXSim.h:105
TrigConf::name
Definition: HLTChainList.h:35
LVL1::gFEXSim::getgScalarEJwojTOBs
virtual std::vector< uint32_t > getgScalarEJwojTOBs() const override
Definition: gFEXSim.cxx:363
LVL1::gFEXSim::m_gMHTComponentsJwojTobWords
std::vector< uint32_t > m_gMHTComponentsJwojTobWords
Definition: gFEXSim.h:97
gFEXaltMetAlgo.h
gFEXJwoJAlgo.h
LVL1::gFEXSim::m_gFEXJwoJAlgoTool
ToolHandle< IgFEXJwoJAlgo > m_gFEXJwoJAlgoTool
Definition: gFEXSim.h:115
LVL1::gFEXSim::m_gTowersIDs
gTowersIDs m_gTowersIDs
Internal data.
Definition: gFEXSim.h:83
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
LVL1::gFEXSim::m_gFEXFPGA_Tool
ToolHandle< IgFEXFPGA > m_gFEXFPGA_Tool
Definition: gFEXSim.h:111
LVL1::gFEXSim::m_gBlockTobWords
std::vector< uint32_t > m_gBlockTobWords
Definition: gFEXSim.h:89
LVL1::gFEXSim::m_gFEXaltMetAlgoTool
ToolHandle< IgFEXaltMetAlgo > m_gFEXaltMetAlgoTool
Definition: gFEXSim.h:117
LVL1::gFEXSim::m_gFEXJetAlgoTool
ToolHandle< IgFEXJetAlgo > m_gFEXJetAlgoTool
Definition: gFEXSim.h:113
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::gTowersIDs
std::array< std::array< int, 40 >, 32 > gTowersIDs
Definition: IgFEXSim.h:20
LVL1::gFEXSim::m_gMETComponentsJwojTobWords
std::vector< uint32_t > m_gMETComponentsJwojTobWords
Definition: gFEXSim.h:95
AthAlgTool
Definition: AthAlgTool.h:26
L1Menu.h
gTower.h
CLASS_DEF.h
macros to associate a CLID to a type
LVL1::gFEXSim::m_sCellsCollection
CaloCellContainer m_sCellsCollection
Definition: gFEXSim.h:85
LVL1::gFEXSim::m_gScalarEJwojTobWords
std::vector< uint32_t > m_gScalarEJwojTobWords
Definition: gFEXSim.h:93
LVL1::gFEXSim::gFEXSim
gFEXSim(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition: gFEXSim.cxx:21