ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXSysSim.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// gFEXSysSim - Overall gFEX simulation
6// -------------------
7// begin : 01 04 2021
8// email : cecilia.tosciri@cern.ch
9//***************************************************************************
10
11#ifndef gFEXSysSim_H
12#define gFEXSysSim_H
16#include "gFEXSim.h"
17#include "L1CaloFEXSim/gTower.h"
18
22
27#include "TrigConfData/L1Menu.h"
28
29namespace LVL1 {
30
31 //Doxygen class description below:
38
39 class gFEXSysSim : public extends<AthAlgTool, IgFEXSysSim> {
40
41 public:
43 using base_class::base_class;
44
46 virtual StatusCode initialize() override;
47
48 virtual StatusCode execute(const EventContext& ctx, gFEXOutputCollection* gFEXOutputs) override ;
49
50 virtual void cleanup() override;
51
52 virtual int calcTowerID(int eta, int phi, int nphi, int mod) const override ;
53
55 virtual StatusCode fillgRhoEDM(uint32_t tobWord, int scale) override ;
56
57 virtual StatusCode fillgBlockEDM(uint32_t tobWord, int scale) override ;
58
59 virtual StatusCode fillgJetEDM(uint32_t tobWord, int scale) override ;
60
61 virtual StatusCode fillgScalarEJwojEDM(uint32_t tobWord, int scale1, int scale2) override ;
62
63 virtual StatusCode fillgMETComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override ;
64
65 virtual StatusCode fillgMHTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override ;
66
67 virtual StatusCode fillgMSTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override ;
68
69 virtual StatusCode fillgMETComponentsNoiseCutEDM(uint32_t tobWord, int scale1, int scale2) override ;
70
71 virtual StatusCode fillgMETComponentsRmsEDM(uint32_t tobWord, int scale1, int scale2) override ;
72
73 virtual StatusCode fillgScalarENoiseCutEDM(uint32_t tobWord, int scale1, int scale2) override ;
74
75 virtual StatusCode fillgScalarERmsEDM(uint32_t tobWord, int scale1, int scale2) override ;
76
77
79 private:
80 std::unique_ptr< xAOD::gFexJetRoIContainer > m_gRhoContainer;
81 std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gRhoAuxContainer;
82
83 std::unique_ptr< xAOD::gFexJetRoIContainer > m_gBlockContainer;
84 std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gBlockAuxContainer;
85
86 std::unique_ptr< xAOD::gFexJetRoIContainer > m_gJetContainer;
87 std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gJetAuxContainer;
88
89 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojContainer;
90 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarEJwojAuxContainer;
91
92 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojContainer;
93 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsJwojAuxContainer;
94
95 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojContainer;
96 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMHTComponentsJwojAuxContainer;
97
98 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojContainer;
99 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMSTComponentsJwojAuxContainer;
100
101 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutContainer;
102 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsNoiseCutAuxContainer;
103
104 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsContainer;
105 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsRmsAuxContainer;
106
107 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutContainer;
108 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarENoiseCutAuxContainer;
109
110 std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarERmsContainer;
111 std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarERmsAuxContainer;
112
113
114 std::vector<gFEXSim*> m_gFEXCollection;
115
116 ToolHandle<IgFEXSim> m_gFEXSimTool {this, "gFEXSimTool", "LVL1::gFEXSim", "Tool that creates the gFEX Simulation"};
117
118 SG::ReadHandleKey<LVL1::gTowerContainer> m_gTowerContainerSGKey {this, "MyGTowers", "gTowerContainer", "Input container for gTowers"};
119
120 SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexRhoOutKey {this,"Key_gFexRhoOutputContainer","L1_gFexRhoRoI","Output gFexRho (energy density) container"};
121 SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexBlockOutKey {this,"Key_gFexSRJetOutputContainer","L1_gFexSRJetRoI","Output gFexBlock (small-R jet) container"};
122 SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexJetOutKey {this,"Key_gFexLRJetOutputContainer","L1_gFexLRJetRoI","Output gFexJet (large-R jet) container"};
123
124 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojOutKey {this,"Key_gScalarEJwojOutputContainer","L1_gScalarEJwoj","Output Scalar MET and SumET (from Jets without Jets algo) container"};
125 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojOutKey {this,"Key_gMETComponentsJwojOutputContainer","L1_gMETComponentsJwoj","Output total MET components (from Jets without Jets algo) container"};
126 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojOutKey {this,"Key_gMHTComponentsJwojOutputContainer","L1_gMHTComponentsJwoj","Output hard MET components (from Jets without Jets algo) container"};
127 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojOutKey {this,"Key_gMSTComponentsJwojOutputContainer","L1_gMSTComponentsJwoj","Output soft MET components (from Jets without Jets algo) container"};
128
129 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutOutKey {this,"Key_gMETComponentsNoiseCutOutputContainer","L1_gMETComponentsNoiseCut","Output total MET components (from Noise Cut algo) container"};
130 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsOutKey {this,"Key_gMETComponentsRmsOutputContainer","L1_gMETComponentsRms","Output total MET components (from RMS algo) container"};
131 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutOutKey {this,"Key_gScalarENoiseCutOutputContainer","L1_gScalarENoiseCut","Output Scalar MET and SumET (from Noise Cut algo) container"};
132 SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarERmsOutKey {this,"Key_gScalarERmsOutputContainer","L1_gScalarERms","Output Scalar MET and SumET (from RMS algo) container"};
133
134 SG::ReadHandleKey<TrigConf::L1Menu> m_l1MenuKey{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"};
135
136 std::vector<uint32_t> m_allgRhoTobs;
137 std::vector<uint32_t> m_allgBlockTobs;
138 std::vector<uint32_t> m_allgJetTobs;
139
140 std::vector<int32_t> m_allgScalarEJwojTobs;
141 std::vector<uint32_t> m_allgMETComponentsJwojTobs;
142 std::vector<uint32_t> m_allgMHTComponentsJwojTobs;
143 std::vector<uint32_t> m_allgMSTComponentsJwojTobs;
144
145 std::vector<uint32_t> m_allgMETComponentsNoiseCutTobs;
146 std::vector<uint32_t> m_allgMETComponentsRmsTobs;
147 std::vector<uint32_t> m_allgScalarENoiseCutTobs;
148 std::vector<uint32_t> m_allgScalarERmsTobs;
149
150
151 };
152
153} // end of namespace
154
155
156#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
macros to associate a CLID to a type
#define scale2
#define scale1
The gFEXSysSim class defines the structure of the gFEX system Its purpose is:
Definition gFEXSysSim.h:39
std::vector< uint32_t > m_allgRhoTobs
Definition gFEXSysSim.h:136
virtual StatusCode fillgMETComponentsRmsEDM(uint32_t tobWord, int scale1, int scale2) override
std::vector< uint32_t > m_allgMETComponentsNoiseCutTobs
Definition gFEXSysSim.h:145
std::vector< uint32_t > m_allgMSTComponentsJwojTobs
Definition gFEXSysSim.h:143
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutContainer
Definition gFEXSysSim.h:101
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition gFEXSysSim.h:134
SG::ReadHandleKey< LVL1::gTowerContainer > m_gTowerContainerSGKey
Definition gFEXSysSim.h:118
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexJetOutKey
Definition gFEXSysSim.h:122
virtual StatusCode initialize() override
standard Athena-Algorithm method
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojOutKey
Definition gFEXSysSim.h:125
std::vector< uint32_t > m_allgScalarENoiseCutTobs
Definition gFEXSysSim.h:147
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutOutKey
Definition gFEXSysSim.h:129
virtual StatusCode fillgMHTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsJwojAuxContainer
Definition gFEXSysSim.h:93
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gJetAuxContainer
Definition gFEXSysSim.h:87
virtual void cleanup() override
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexRhoOutKey
Definition gFEXSysSim.h:120
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gRhoAuxContainer
Definition gFEXSysSim.h:81
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojOutKey
Definition gFEXSysSim.h:126
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutContainer
Definition gFEXSysSim.h:107
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsContainer
Definition gFEXSysSim.h:104
virtual StatusCode execute(const EventContext &ctx, gFEXOutputCollection *gFEXOutputs) override
std::vector< uint32_t > m_allgMHTComponentsJwojTobs
Definition gFEXSysSim.h:142
std::vector< uint32_t > m_allgMETComponentsRmsTobs
Definition gFEXSysSim.h:146
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojContainer
Definition gFEXSysSim.h:98
virtual StatusCode fillgRhoEDM(uint32_t tobWord, int scale) override
Create and fill a new gFexJetRoI object, and return a pointer to it.
std::vector< uint32_t > m_allgBlockTobs
Definition gFEXSysSim.h:137
std::vector< uint32_t > m_allgMETComponentsJwojTobs
Definition gFEXSysSim.h:141
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojOutKey
Definition gFEXSysSim.h:124
virtual StatusCode fillgScalarEJwojEDM(uint32_t tobWord, int scale1, int scale2) override
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarERmsOutKey
Definition gFEXSysSim.h:132
virtual StatusCode fillgScalarERmsEDM(uint32_t tobWord, int scale1, int scale2) override
std::vector< gFEXSim * > m_gFEXCollection
Definition gFEXSysSim.h:114
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsOutKey
Definition gFEXSysSim.h:130
std::vector< uint32_t > m_allgJetTobs
Definition gFEXSysSim.h:138
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutOutKey
Definition gFEXSysSim.h:131
virtual StatusCode fillgScalarENoiseCutEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gJetContainer
Definition gFEXSysSim.h:86
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojContainer
Definition gFEXSysSim.h:89
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarEJwojAuxContainer
Definition gFEXSysSim.h:90
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojContainer
Definition gFEXSysSim.h:95
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gBlockContainer
Definition gFEXSysSim.h:83
virtual StatusCode fillgJetEDM(uint32_t tobWord, int scale) override
virtual StatusCode fillgMETComponentsNoiseCutEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsRmsAuxContainer
Definition gFEXSysSim.h:105
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarENoiseCutAuxContainer
Definition gFEXSysSim.h:108
std::vector< uint32_t > m_allgScalarERmsTobs
Definition gFEXSysSim.h:148
std::vector< int32_t > m_allgScalarEJwojTobs
Definition gFEXSysSim.h:140
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarERmsAuxContainer
Definition gFEXSysSim.h:111
virtual StatusCode fillgBlockEDM(uint32_t tobWord, int scale) override
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gBlockAuxContainer
Definition gFEXSysSim.h:84
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojOutKey
Definition gFEXSysSim.h:127
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsNoiseCutAuxContainer
Definition gFEXSysSim.h:102
virtual StatusCode fillgMETComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexBlockOutKey
Definition gFEXSysSim.h:121
virtual StatusCode fillgMSTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojContainer
Definition gFEXSysSim.h:92
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarERmsContainer
Definition gFEXSysSim.h:110
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMHTComponentsJwojAuxContainer
Definition gFEXSysSim.h:96
virtual int calcTowerID(int eta, int phi, int nphi, int mod) const override
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMSTComponentsJwojAuxContainer
Definition gFEXSysSim.h:99
ToolHandle< IgFEXSim > m_gFEXSimTool
Definition gFEXSysSim.h:116
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gRhoContainer
Internal data.
Definition gFEXSysSim.h:80
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...