ATLAS Offline Software
Loading...
Searching...
No Matches
LVL1::gFEXSysSim Class Reference

The gFEXSysSim class defines the structure of the gFEX system Its purpose is: More...

#include <gFEXSysSim.h>

Inheritance diagram for LVL1::gFEXSysSim:

Public Member Functions

 gFEXSysSim (const std::string &type, const std::string &name, const IInterface *parent)
 Constructors.
gFEXSysSim && operator= (const gFEXSysSim &)=delete
 Destructor.
virtual StatusCode initialize () override
 standard Athena-Algorithm method
virtual StatusCode execute (gFEXOutputCollection *gFEXOutputs) override
virtual void cleanup () override
virtual int calcTowerID (int eta, int phi, int nphi, int mod) const override
virtual StatusCode fillgRhoEDM (uint32_t tobWord, int scale) override
 Create and fill a new gFexJetRoI object, and return a pointer to it.
virtual StatusCode fillgBlockEDM (uint32_t tobWord, int scale) override
virtual StatusCode fillgJetEDM (uint32_t tobWord, int scale) override
virtual StatusCode fillgScalarEJwojEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgMETComponentsJwojEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgMHTComponentsJwojEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgMSTComponentsJwojEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgMETComponentsNoiseCutEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgMETComponentsRmsEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgScalarENoiseCutEDM (uint32_t tobWord, int scale1, int scale2) override
virtual StatusCode fillgScalarERmsEDM (uint32_t tobWord, int scale1, int scale2) override
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::unique_ptr< xAOD::gFexJetRoIContainerm_gRhoContainer
 Internal data.
std::unique_ptr< xAOD::gFexJetRoIAuxContainerm_gRhoAuxContainer
std::unique_ptr< xAOD::gFexJetRoIContainerm_gBlockContainer
std::unique_ptr< xAOD::gFexJetRoIAuxContainerm_gBlockAuxContainer
std::unique_ptr< xAOD::gFexJetRoIContainerm_gJetContainer
std::unique_ptr< xAOD::gFexJetRoIAuxContainerm_gJetAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gScalarEJwojContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gScalarEJwojAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gMETComponentsJwojContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gMETComponentsJwojAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gMHTComponentsJwojContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gMHTComponentsJwojAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gMSTComponentsJwojContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gMSTComponentsJwojAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gMETComponentsNoiseCutContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gMETComponentsNoiseCutAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gMETComponentsRmsContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gMETComponentsRmsAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gScalarENoiseCutContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gScalarENoiseCutAuxContainer
std::unique_ptr< xAOD::gFexGlobalRoIContainerm_gScalarERmsContainer
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainerm_gScalarERmsAuxContainer
std::vector< gFEXSim * > m_gFEXCollection
ToolHandle< IgFEXSimm_gFEXSimTool {this, "gFEXSimTool", "LVL1::gFEXSim", "Tool that creates the gFEX Simulation"}
SG::ReadHandleKey< LVL1::gTowerContainerm_gTowerContainerSGKey {this, "MyGTowers", "gTowerContainer", "Input container for gTowers"}
SG::WriteHandleKey< xAOD::gFexJetRoIContainerm_gFexRhoOutKey {this,"Key_gFexRhoOutputContainer","L1_gFexRhoRoI","Output gFexRho (energy density) container"}
SG::WriteHandleKey< xAOD::gFexJetRoIContainerm_gFexBlockOutKey {this,"Key_gFexSRJetOutputContainer","L1_gFexSRJetRoI","Output gFexBlock (small-R jet) container"}
SG::WriteHandleKey< xAOD::gFexJetRoIContainerm_gFexJetOutKey {this,"Key_gFexLRJetOutputContainer","L1_gFexLRJetRoI","Output gFexJet (large-R jet) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gScalarEJwojOutKey {this,"Key_gScalarEJwojOutputContainer","L1_gScalarEJwoj","Output Scalar MET and SumET (from Jets without Jets algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gMETComponentsJwojOutKey {this,"Key_gMETComponentsJwojOutputContainer","L1_gMETComponentsJwoj","Output total MET components (from Jets without Jets algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gMHTComponentsJwojOutKey {this,"Key_gMHTComponentsJwojOutputContainer","L1_gMHTComponentsJwoj","Output hard MET components (from Jets without Jets algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gMSTComponentsJwojOutKey {this,"Key_gMSTComponentsJwojOutputContainer","L1_gMSTComponentsJwoj","Output soft MET components (from Jets without Jets algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gMETComponentsNoiseCutOutKey {this,"Key_gMETComponentsNoiseCutOutputContainer","L1_gMETComponentsNoiseCut","Output total MET components (from Noise Cut algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gMETComponentsRmsOutKey {this,"Key_gMETComponentsRmsOutputContainer","L1_gMETComponentsRms","Output total MET components (from RMS algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gScalarENoiseCutOutKey {this,"Key_gScalarENoiseCutOutputContainer","L1_gScalarENoiseCut","Output Scalar MET and SumET (from Noise Cut algo) container"}
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainerm_gScalarERmsOutKey {this,"Key_gScalarERmsOutputContainer","L1_gScalarERms","Output Scalar MET and SumET (from RMS algo) container"}
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey {this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"}
std::vector< uint32_t > m_allgRhoTobs
std::vector< uint32_t > m_allgBlockTobs
std::vector< uint32_t > m_allgJetTobs
std::vector< int32_t > m_allgScalarEJwojTobs
std::vector< uint32_t > m_allgMETComponentsJwojTobs
std::vector< uint32_t > m_allgMHTComponentsJwojTobs
std::vector< uint32_t > m_allgMSTComponentsJwojTobs
std::vector< uint32_t > m_allgMETComponentsNoiseCutTobs
std::vector< uint32_t > m_allgMETComponentsRmsTobs
std::vector< uint32_t > m_allgScalarENoiseCutTobs
std::vector< uint32_t > m_allgScalarERmsTobs
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

The gFEXSysSim class defines the structure of the gFEX system Its purpose is:

  • to follow the structure of the gFEX and its FPGAs in as much detail as necessary to simulate the output of the system It will need to interact with gTowers and produce the gTOBs

Definition at line 39 of file gFEXSysSim.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ gFEXSysSim()

LVL1::gFEXSysSim::gFEXSysSim ( const std::string & type,
const std::string & name,
const IInterface * parent )

Constructors.

Definition at line 25 of file gFEXSysSim.cxx.

25 :
26 AthAlgTool(type,name,parent)
27 {
28 declareInterface<IgFEXSysSim>(this);
29
30 }
AthAlgTool()
Default constructor:

Member Function Documentation

◆ calcTowerID()

int LVL1::gFEXSysSim::calcTowerID ( int eta,
int phi,
int nphi,
int mod ) const
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 80 of file gFEXSysSim.cxx.

80 {
81
82 return ((nphi*eta) + phi + mod);
83 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ cleanup()

void LVL1::gFEXSysSim::cleanup ( )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 73 of file gFEXSysSim.cxx.

73 {
74
75 m_gFEXCollection.clear();
76
77 }
std::vector< gFEXSim * > m_gFEXCollection
Definition gFEXSysSim.h:118

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode LVL1::gFEXSysSim::execute ( gFEXOutputCollection * gFEXOutputs)
overridevirtual

300224

Implements LVL1::IgFEXSysSim.

Definition at line 86 of file gFEXSysSim.cxx.

86 {
87
88 const EventContext& ctx = Gaudi::Hive::currentContext();
89
90 SG::ReadHandle<LVL1::gTowerContainer> this_gTowerContainer(m_gTowerContainerSGKey,ctx);
91 if(!this_gTowerContainer.isValid()){
92 ATH_MSG_FATAL("Could not retrieve gTowerContainer " << m_gTowerContainerSGKey.key());
93 return StatusCode::FAILURE;
94 }
95
96 // remove TOBs of the previous events from the array
97 m_allgRhoTobs.clear();
98 m_allgBlockTobs.clear();
99 m_allgJetTobs.clear();
100 m_allgScalarEJwojTobs.clear();
104
105
106 // int centralNphi = 32;
107 // int forwardNphi = 16;
108
109 int fcalEta = 19; int fcalPhi = 0; int fcalMod = 900000;
110 int initialFCAL = calcTowerID(fcalEta,fcalPhi,FEXAlgoSpaceDefs::forwardNphi,fcalMod);//900304
111 int transfcalEta = 15; int transfcalPhi = 0; int transfcalMod = 700000;
112 int initialTRANSFCAL = calcTowerID(transfcalEta,transfcalPhi,FEXAlgoSpaceDefs::centralNphi,transfcalMod);//700480
113 int emecEta = 11; int emecPhi = 0; int emecMod = 500000;
114 int initialEMEC = calcTowerID(emecEta,emecPhi,FEXAlgoSpaceDefs::centralNphi,emecMod);//500384
115 int transembEta = 7; int transembPhi = 0; int transembMod = 300000;
116 int initialTRANSEMB = calcTowerID(transembEta,transembPhi,FEXAlgoSpaceDefs::centralNphi,transembMod);
117 int embEta = 6; int embPhi = 0; int embMod = 100000;
118 int initialEMB = calcTowerID(embEta,embPhi,FEXAlgoSpaceDefs::centralNphi,embMod);//100192
119
120
121 int embposEta = 0; int embposPhi = 0; int embposMod = 200000;
122 int initialposEMB = calcTowerID(embposEta,embposPhi,FEXAlgoSpaceDefs::centralNphi,embposMod);//200000
123 int transembposEta = 7; int transembposPhi = 0; int transembposMod = 400000;
124 int initialposTRANSEMB = calcTowerID(transembposEta,transembposPhi,FEXAlgoSpaceDefs::centralNphi,transembposMod);//400224
125 int emecposEta = 8; int emecposPhi = 0; int emecposMod = 600000;
126 int initialposEMEC = calcTowerID(emecposEta,emecposPhi,FEXAlgoSpaceDefs::centralNphi,emecposMod);//600256
127 int transfcalposEta = 12; int transfcalposPhi = 0; int transfcalposMod = 800000;
128 int initialposTRANSFCAL = calcTowerID(transfcalposEta,transfcalposPhi,FEXAlgoSpaceDefs::centralNphi,transfcalposMod);//800416
129 int fcalposEta = 16; int fcalposPhi = 0; int fcalposMod = 1000000;
130 int initialposFCAL = calcTowerID(fcalposEta,fcalposPhi,FEXAlgoSpaceDefs::forwardNphi,fcalposMod);//1000240
131
132
133 // Since gFEX consists of a single module, here we are just (re)assigning the gTowerID
134
135 // Defining a matrix 32x40 corresponding to the gFEX structure (32 phi x 40 eta in the most general case - forward region has 16 phi bins)
136 typedef std::array<std::array<int, FEXAlgoSpaceDefs::totalNeta>, FEXAlgoSpaceDefs::centralNphi> gTowersIDs;
137 gTowersIDs tmp_gTowersIDs_subset;
138
139 int rows = tmp_gTowersIDs_subset.size();
140 int cols = tmp_gTowersIDs_subset[0].size();
141
142 // set the FCAL negative part
143 for(int thisCol=0; thisCol<4; thisCol++){
144 for(int thisRow=0; thisRow<rows/2; thisRow++){
145 int towerid = initialFCAL - ((thisCol) * (FEXAlgoSpaceDefs::forwardNphi)) + thisRow;
146 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
147 }
148 }
149
150 // set the TRANSFCAL negative part (FCAL-EMEC overlap)
151 for(int thisCol=4; thisCol<8; thisCol++){
152 for(int thisRow=0; thisRow<rows; thisRow++){
153 int towerid = initialTRANSFCAL - ((thisCol-4) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
154 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
155 }
156 }
157
158 // set the EMEC negative part
159 for(int thisCol=8; thisCol<12; thisCol++){
160 for(int thisRow=0; thisRow<rows; thisRow++){
161 int towerid = initialEMEC - ((thisCol-8) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
162 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
163 }
164 }
165
166 // set the TRANSEMB (EMB-EMEC overlap) negative part
167 for(int thisRow = 0; thisRow < rows; thisRow++){
168 int thisCol = 12;
169 int towerid = initialTRANSEMB + thisRow;
170 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
171 }
172
173 // set the EMB negative part
174 for(int thisCol = 13; thisCol < 20; thisCol++){
175 for(int thisRow=0; thisRow<rows; thisRow++){
176 int towerid = initialEMB - ( (thisCol-13) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
177 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
178 }
179 }
180
181 // set the EMB positive part
182 for(int thisCol = 20; thisCol < 27; thisCol++){
183 for(int thisRow=0; thisRow<rows; thisRow++){
184 int towerid = initialposEMB + ( (thisCol-20) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
185 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
186 }
187 }
188
189 // set the TRANSEMB (EMB-EMEC overlap) positive part
190 for(int thisRow = 0; thisRow < rows; thisRow++){
191 int thisCol = 27;
192 int towerid = initialposTRANSEMB + thisRow;
193 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
194 }
195 // set the EMEC positive part
196 for(int thisCol=28; thisCol<32; thisCol++){
197 for(int thisRow=0; thisRow<rows; thisRow++){
198 int towerid = initialposEMEC + ((thisCol-28) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
199 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
200 }
201 }
202
203 // set the TRANSFCAL positive part (EMEC-FCAL overlap)
204 for(int thisCol=32; thisCol<36; thisCol++){
205 for(int thisRow=0; thisRow<rows; thisRow++){
206 int towerid = initialposTRANSFCAL + ((thisCol-32) * (FEXAlgoSpaceDefs::centralNphi)) + thisRow;
207 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
208 }
209 }
210
211 // set the FCAL positive part
212 for(int thisCol=36; thisCol<cols; thisCol++){
213 for(int thisRow=0; thisRow<rows/2; thisRow++){
214 int towerid = initialposFCAL + ((thisCol-36) * (FEXAlgoSpaceDefs::forwardNphi)) + thisRow;
215 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
216 }
217 }
218
219 if(false){
220 ATH_MSG_DEBUG("CONTENTS OF gFEX : ");
221 for (int thisRow=rows-1; thisRow>=0; thisRow--){
222 for (int thisCol=0; thisCol<cols; thisCol++){
223 int tmptowerid = tmp_gTowersIDs_subset[thisRow][thisCol];
224 const float tmptowereta = this_gTowerContainer->findTower(tmptowerid)->eta();
225 const float tmptowerphi = this_gTowerContainer->findTower(tmptowerid)->phi();
226 if(thisCol != cols-1){ ATH_MSG_DEBUG("| " << tmptowerid << "([" << tmptowerphi << "][" << tmptowereta << "]) "); }
227 else { ATH_MSG_DEBUG("| " << tmptowerid << "([" << tmptowereta << "][" << tmptowerphi << "]) |"); }
228 }
229 }
230 }
231
232 ATH_CHECK(m_gFEXSimTool->executegFEXSim(tmp_gTowersIDs_subset, gFEXOutputs));
233
234 m_allgRhoTobs = m_gFEXSimTool->getgRhoTOBs();
235 m_allgBlockTobs = m_gFEXSimTool->getgBlockTOBs();
236 m_allgJetTobs = m_gFEXSimTool->getgJetTOBs();
237
238 m_allgScalarEJwojTobs = m_gFEXSimTool->getgScalarEJwojTOBs();
239 m_allgMETComponentsJwojTobs = m_gFEXSimTool->getgMETComponentsJwojTOBs();
240 m_allgMHTComponentsJwojTobs = m_gFEXSimTool->getgMHTComponentsJwojTOBs();
241 m_allgMSTComponentsJwojTobs = m_gFEXSimTool->getgMSTComponentsJwojTOBs();
242
243 m_allgMETComponentsNoiseCutTobs = m_gFEXSimTool->getgMETComponentsNoiseCutTOBs();
244 m_allgMETComponentsRmsTobs = m_gFEXSimTool->getgMETComponentsRmsTOBs();
245 m_allgScalarENoiseCutTobs = m_gFEXSimTool->getgScalarENoiseCutTOBs();
246 m_allgScalarERmsTobs = m_gFEXSimTool->getgScalarERmsTOBs();
247
248 m_gFEXSimTool->reset();
249
250 //Makes containers for different gFEX Jet objects
251 m_gRhoContainer = std::make_unique<xAOD::gFexJetRoIContainer> ();
252 m_gRhoAuxContainer = std::make_unique<xAOD::gFexJetRoIAuxContainer> ();
253 m_gRhoContainer->setStore(m_gRhoAuxContainer.get());
254
255 m_gBlockContainer = std::make_unique<xAOD::gFexJetRoIContainer> ();
256 m_gBlockAuxContainer = std::make_unique<xAOD::gFexJetRoIAuxContainer> ();
258
259 m_gJetContainer = std::make_unique<xAOD::gFexJetRoIContainer> ();
260 m_gJetAuxContainer = std::make_unique<xAOD::gFexJetRoIAuxContainer> ();
261 m_gJetContainer->setStore(m_gJetAuxContainer.get());
262
263 //Makes containers for different gFEX Global objects (for JwoJ algorithm quantities)
264 m_gScalarEJwojContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
265 m_gScalarEJwojAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
267
268 m_gMETComponentsJwojContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
269 m_gMETComponentsJwojAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
271
272 m_gMHTComponentsJwojContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
273 m_gMHTComponentsJwojAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
275
276 m_gMSTComponentsJwojContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
277 m_gMSTComponentsJwojAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
279
280 //Makes containers for different gFEX Global objects (for Noise Cut and RMS algorithms quantities)
281 m_gMETComponentsNoiseCutContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
282 m_gMETComponentsNoiseCutAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
284
285 m_gMETComponentsRmsContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
286 m_gMETComponentsRmsAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
288
289 m_gScalarENoiseCutContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
290 m_gScalarENoiseCutAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
292
293 m_gScalarERmsContainer = std::make_unique<xAOD::gFexGlobalRoIContainer> ();
294 m_gScalarERmsAuxContainer = std::make_unique<xAOD::gFexGlobalRoIAuxContainer> ();
296
297
298 // Retrieve the L1 menu configuration
299 SG::ReadHandle<TrigConf::L1Menu> l1Menu (m_l1MenuKey,ctx);
300 ATH_CHECK(l1Menu.isValid());
301
302 auto & thr_gJ = l1Menu->thrExtraInfo().gJ();
303 auto & thr_gLJ = l1Menu->thrExtraInfo().gLJ();
304 auto & thr_gXE = l1Menu->thrExtraInfo().gXE();
305 auto & thr_gTE = l1Menu->thrExtraInfo().gTE();
306
307 int gJ_scale = thr_gJ.resolutionMeV();
308 int gLJ_scale = thr_gLJ.resolutionMeV();
309 int gXE_scale = thr_gXE.resolutionMeV();
310 int gTE_scale = thr_gTE.resolutionMeV();
311
312
313 //iterate over all gRho Tobs and fill EDM with them
314 for(auto &tob : m_allgRhoTobs){
315 ATH_CHECK(fillgRhoEDM(tob, gJ_scale));
316 }
317 //iterate over all gBlock Tobs and fill EDM with them
318 for(auto &tob : m_allgBlockTobs){
319 ATH_CHECK(fillgBlockEDM(tob, gJ_scale));
320 }
321
322 //iterate over all gJet Tobs and fill EDM with them
323 for(auto &tob : m_allgJetTobs){
324 ATH_CHECK(fillgJetEDM(tob, gLJ_scale));
325 }
326
327 //iterate over all JwoJ scalar energy Tobs and fill EDM with them (should be only one)
328 for(auto &tob : m_allgScalarEJwojTobs){
329 ATH_CHECK(fillgScalarEJwojEDM(tob, gXE_scale, gTE_scale));
330 }
331 //iterate over all JwoJ METcomponents Tobs and fill EDM with them (should be only one)
332 for(auto &tob : m_allgMETComponentsJwojTobs){
333 ATH_CHECK(fillgMETComponentsJwojEDM(tob, gXE_scale, gXE_scale));
334 }
335 //iterate over all JwoJ MHTcomponents Tobs and fill EDM with them (should be only one)
336 for(auto &tob : m_allgMHTComponentsJwojTobs){
337 ATH_CHECK(fillgMHTComponentsJwojEDM(tob, gXE_scale, gXE_scale));
338 }
339 //iterate over all JwoJ MSTcomponents Tobs and fill EDM with them (should be only one)
340 for(auto &tob : m_allgMSTComponentsJwojTobs){
341 ATH_CHECK(fillgMSTComponentsJwojEDM(tob, gXE_scale, gXE_scale));
342 }
343
344
345 //iterate over all NoiseCut METcomponents Tobs and fill EDM with them (should be only one)
346 for(auto &tob : m_allgMETComponentsNoiseCutTobs){
347 ATH_CHECK(fillgMETComponentsNoiseCutEDM(tob, gXE_scale, gXE_scale));
348 }
349 //iterate over all RMS METcomponents Tobs and fill EDM with them (should be only one)
350 for(auto &tob : m_allgMETComponentsRmsTobs){
351 ATH_CHECK(fillgMETComponentsRmsEDM(tob, gXE_scale, gXE_scale));
352 }
353 //iterate over all NoiseCut scalar energy Tobs and fill EDM with them (should be only one)
354 for(auto &tob : m_allgScalarENoiseCutTobs){
355 ATH_CHECK(fillgScalarENoiseCutEDM(tob, gXE_scale, gTE_scale));
356 }
357 //iterate over all RMS scalar energy Tobs and fill EDM with them (should be only one)
358 for(auto &tob : m_allgScalarERmsTobs){
359 ATH_CHECK(fillgScalarERmsEDM(tob, gXE_scale, gTE_scale));
360 }
361
362
363 SG::WriteHandle<xAOD::gFexJetRoIContainer> outputgFexRhoHandle(m_gFexRhoOutKey,ctx);
364 ATH_MSG_DEBUG(" write: " << outputgFexRhoHandle.key() << " = " << "..." );
365 ATH_CHECK(outputgFexRhoHandle.record(std::move(m_gRhoContainer),std::move(m_gRhoAuxContainer)));
366
367 SG::WriteHandle<xAOD::gFexJetRoIContainer> outputgFexBlockHandle(m_gFexBlockOutKey,ctx);
368 ATH_MSG_DEBUG(" write: " << outputgFexBlockHandle.key() << " = " << "..." );
369 ATH_CHECK(outputgFexBlockHandle.record(std::move(m_gBlockContainer),std::move(m_gBlockAuxContainer)));
370
371 SG::WriteHandle<xAOD::gFexJetRoIContainer> outputgFexJetHandle(m_gFexJetOutKey,ctx);
372 ATH_MSG_DEBUG(" write: " << outputgFexJetHandle.key() << " = " << "..." );
373 ATH_CHECK(outputgFexJetHandle.record(std::move(m_gJetContainer),std::move(m_gJetAuxContainer)));
374
375
376 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgScalarEJwojHandle(m_gScalarEJwojOutKey,ctx);
377 ATH_MSG_DEBUG(" write: " << outputgScalarEJwojHandle.key() << " = " << "..." );
378 ATH_CHECK(outputgScalarEJwojHandle.record(std::move(m_gScalarEJwojContainer),std::move(m_gScalarEJwojAuxContainer)));
379
380 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgMETComponentsJwojHandle(m_gMETComponentsJwojOutKey,ctx);
381 ATH_MSG_DEBUG(" write: " << outputgMETComponentsJwojHandle.key() << " = " << "..." );
382 ATH_CHECK(outputgMETComponentsJwojHandle.record(std::move(m_gMETComponentsJwojContainer),std::move(m_gMETComponentsJwojAuxContainer)));
383
384 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgMHTComponentsJwojHandle(m_gMHTComponentsJwojOutKey,ctx);
385 ATH_MSG_DEBUG(" write: " << outputgMHTComponentsJwojHandle.key() << " = " << "..." );
386 ATH_CHECK(outputgMHTComponentsJwojHandle.record(std::move(m_gMHTComponentsJwojContainer),std::move(m_gMHTComponentsJwojAuxContainer)));
387
388 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgMSTComponentsJwojHandle(m_gMSTComponentsJwojOutKey,ctx);
389 ATH_MSG_DEBUG(" write: " << outputgMSTComponentsJwojHandle.key() << " = " << "..." );
390 ATH_CHECK(outputgMSTComponentsJwojHandle.record(std::move(m_gMSTComponentsJwojContainer),std::move(m_gMSTComponentsJwojAuxContainer)));
391
392
393 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgMETComponentsNoiseCutHandle(m_gMETComponentsNoiseCutOutKey,ctx);
394 ATH_MSG_DEBUG(" write: " << outputgMETComponentsNoiseCutHandle.key() << " = " << "..." );
395 ATH_CHECK(outputgMETComponentsNoiseCutHandle.record(std::move(m_gMETComponentsNoiseCutContainer),std::move(m_gMETComponentsNoiseCutAuxContainer)));
396
397 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgMETComponentsRmsHandle(m_gMETComponentsRmsOutKey,ctx);
398 ATH_MSG_DEBUG(" write: " << outputgMETComponentsRmsHandle.key() << " = " << "..." );
399 ATH_CHECK(outputgMETComponentsRmsHandle.record(std::move(m_gMETComponentsRmsContainer),std::move(m_gMETComponentsRmsAuxContainer)));
400
401 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgScalarENoiseCutHandle(m_gScalarENoiseCutOutKey,ctx);
402 ATH_MSG_DEBUG(" write: " << outputgScalarENoiseCutHandle.key() << " = " << "..." );
403 ATH_CHECK(outputgScalarENoiseCutHandle.record(std::move(m_gScalarENoiseCutContainer),std::move(m_gScalarENoiseCutAuxContainer)));
404
405 SG::WriteHandle<xAOD::gFexGlobalRoIContainer> outputgScalarERmsHandle(m_gScalarERmsOutKey,ctx);
406 ATH_MSG_DEBUG(" write: " << outputgScalarERmsHandle.key() << " = " << "..." );
407 ATH_CHECK(outputgScalarERmsHandle.record(std::move(m_gScalarERmsContainer),std::move(m_gScalarERmsAuxContainer)));
408
409
410 return StatusCode::SUCCESS;
411 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
#define ATH_MSG_DEBUG(x)
static constexpr int centralNphi
static constexpr int forwardNphi
std::vector< uint32_t > m_allgRhoTobs
Definition gFEXSysSim.h:140
virtual StatusCode fillgMETComponentsRmsEDM(uint32_t tobWord, int scale1, int scale2) override
std::vector< uint32_t > m_allgMETComponentsNoiseCutTobs
Definition gFEXSysSim.h:149
std::vector< uint32_t > m_allgMSTComponentsJwojTobs
Definition gFEXSysSim.h:147
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutContainer
Definition gFEXSysSim.h:105
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition gFEXSysSim.h:138
SG::ReadHandleKey< LVL1::gTowerContainer > m_gTowerContainerSGKey
Definition gFEXSysSim.h:122
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexJetOutKey
Definition gFEXSysSim.h:126
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojOutKey
Definition gFEXSysSim.h:129
std::vector< uint32_t > m_allgScalarENoiseCutTobs
Definition gFEXSysSim.h:151
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsNoiseCutOutKey
Definition gFEXSysSim.h:133
virtual StatusCode fillgMHTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsJwojAuxContainer
Definition gFEXSysSim.h:97
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gJetAuxContainer
Definition gFEXSysSim.h:91
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexRhoOutKey
Definition gFEXSysSim.h:124
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gRhoAuxContainer
Definition gFEXSysSim.h:85
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojOutKey
Definition gFEXSysSim.h:130
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutContainer
Definition gFEXSysSim.h:111
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsContainer
Definition gFEXSysSim.h:108
std::vector< uint32_t > m_allgMHTComponentsJwojTobs
Definition gFEXSysSim.h:146
std::vector< uint32_t > m_allgMETComponentsRmsTobs
Definition gFEXSysSim.h:150
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojContainer
Definition gFEXSysSim.h:102
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:141
std::vector< uint32_t > m_allgMETComponentsJwojTobs
Definition gFEXSysSim.h:145
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojOutKey
Definition gFEXSysSim.h:128
virtual StatusCode fillgScalarEJwojEDM(uint32_t tobWord, int scale1, int scale2) override
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarERmsOutKey
Definition gFEXSysSim.h:136
virtual StatusCode fillgScalarERmsEDM(uint32_t tobWord, int scale1, int scale2) override
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMETComponentsRmsOutKey
Definition gFEXSysSim.h:134
std::vector< uint32_t > m_allgJetTobs
Definition gFEXSysSim.h:142
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gScalarENoiseCutOutKey
Definition gFEXSysSim.h:135
virtual StatusCode fillgScalarENoiseCutEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gJetContainer
Definition gFEXSysSim.h:90
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarEJwojContainer
Definition gFEXSysSim.h:93
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarEJwojAuxContainer
Definition gFEXSysSim.h:94
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMHTComponentsJwojContainer
Definition gFEXSysSim.h:99
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gBlockContainer
Definition gFEXSysSim.h:87
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:109
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarENoiseCutAuxContainer
Definition gFEXSysSim.h:112
std::vector< uint32_t > m_allgScalarERmsTobs
Definition gFEXSysSim.h:152
std::vector< int32_t > m_allgScalarEJwojTobs
Definition gFEXSysSim.h:144
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gScalarERmsAuxContainer
Definition gFEXSysSim.h:115
virtual StatusCode fillgBlockEDM(uint32_t tobWord, int scale) override
std::unique_ptr< xAOD::gFexJetRoIAuxContainer > m_gBlockAuxContainer
Definition gFEXSysSim.h:88
SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > m_gMSTComponentsJwojOutKey
Definition gFEXSysSim.h:131
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMETComponentsNoiseCutAuxContainer
Definition gFEXSysSim.h:106
virtual StatusCode fillgMETComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
SG::WriteHandleKey< xAOD::gFexJetRoIContainer > m_gFexBlockOutKey
Definition gFEXSysSim.h:125
virtual StatusCode fillgMSTComponentsJwojEDM(uint32_t tobWord, int scale1, int scale2) override
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gMETComponentsJwojContainer
Definition gFEXSysSim.h:96
std::unique_ptr< xAOD::gFexGlobalRoIContainer > m_gScalarERmsContainer
Definition gFEXSysSim.h:114
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMHTComponentsJwojAuxContainer
Definition gFEXSysSim.h:100
virtual int calcTowerID(int eta, int phi, int nphi, int mod) const override
std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > m_gMSTComponentsJwojAuxContainer
Definition gFEXSysSim.h:103
ToolHandle< IgFEXSim > m_gFEXSimTool
Definition gFEXSysSim.h:120
std::unique_ptr< xAOD::gFexJetRoIContainer > m_gRhoContainer
Internal data.
Definition gFEXSysSim.h:84
std::array< std::array< int, 40 >, 32 > gTowersIDs
Definition IgFEXSim.h:20

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillgBlockEDM()

StatusCode LVL1::gFEXSysSim::fillgBlockEDM ( uint32_t tobWord,
int scale )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 422 of file gFEXSysSim.cxx.

422 {
423
424 std::unique_ptr<xAOD::gFexJetRoI> myEDM (new xAOD::gFexJetRoI());
425 m_gBlockContainer->push_back(std::move(myEDM));
426 m_gBlockContainer->back()->initialize(tobWord, gJ_scale);
427
428 return StatusCode::SUCCESS;
429 }
gFexJetRoI_v1 gFexJetRoI
Define the latest version of the gFexJetRoI class.
Definition gFexJetRoI.h:16

◆ fillgJetEDM()

StatusCode LVL1::gFEXSysSim::fillgJetEDM ( uint32_t tobWord,
int scale )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 431 of file gFEXSysSim.cxx.

431 {
432
433 std::unique_ptr<xAOD::gFexJetRoI> myEDM (new xAOD::gFexJetRoI());
434 m_gJetContainer->push_back(std::move(myEDM));
435 m_gJetContainer->back()->initialize(tobWord, gLJ_scale);
436
437 return StatusCode::SUCCESS;
438 }

◆ fillgMETComponentsJwojEDM()

StatusCode LVL1::gFEXSysSim::fillgMETComponentsJwojEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 440 of file gFEXSysSim.cxx.

440 {
441
442 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
443 m_gMETComponentsJwojContainer->push_back(std::move(myEDM));
444 m_gMETComponentsJwojContainer->back()->initialize(tobWord, scale1, scale2);
445
446 return StatusCode::SUCCESS;
447 }
#define scale2
#define scale1
gFexGlobalRoI_v1 gFexGlobalRoI
Define the latest version of the eFexEMRoI class.

◆ fillgMETComponentsNoiseCutEDM()

StatusCode LVL1::gFEXSysSim::fillgMETComponentsNoiseCutEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 476 of file gFEXSysSim.cxx.

476 {
477
478 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
479 m_gMETComponentsNoiseCutContainer->push_back(std::move(myEDM));
480 m_gMETComponentsNoiseCutContainer->back()->initialize(tobWord, scale1, scale2);
481
482 return StatusCode::SUCCESS;
483 }

◆ fillgMETComponentsRmsEDM()

StatusCode LVL1::gFEXSysSim::fillgMETComponentsRmsEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 485 of file gFEXSysSim.cxx.

485 {
486
487 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
488 m_gMETComponentsRmsContainer->push_back(std::move(myEDM));
489 m_gMETComponentsRmsContainer->back()->initialize(tobWord, scale1, scale2);
490
491 return StatusCode::SUCCESS;
492 }

◆ fillgMHTComponentsJwojEDM()

StatusCode LVL1::gFEXSysSim::fillgMHTComponentsJwojEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 449 of file gFEXSysSim.cxx.

449 {
450
451 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
452 m_gMHTComponentsJwojContainer->push_back(std::move(myEDM));
453 m_gMHTComponentsJwojContainer->back()->initialize(tobWord, scale1, scale2);
454
455 return StatusCode::SUCCESS;
456 }

◆ fillgMSTComponentsJwojEDM()

StatusCode LVL1::gFEXSysSim::fillgMSTComponentsJwojEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 458 of file gFEXSysSim.cxx.

458 {
459
460 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
461 m_gMSTComponentsJwojContainer->push_back(std::move(myEDM));
462 m_gMSTComponentsJwojContainer->back()->initialize(tobWord, scale1, scale2);
463
464 return StatusCode::SUCCESS;
465 }

◆ fillgRhoEDM()

StatusCode LVL1::gFEXSysSim::fillgRhoEDM ( uint32_t tobWord,
int scale )
overridevirtual

Create and fill a new gFexJetRoI object, and return a pointer to it.

Implements LVL1::IgFEXSysSim.

Definition at line 413 of file gFEXSysSim.cxx.

413 {
414
415 std::unique_ptr<xAOD::gFexJetRoI> myEDM (new xAOD::gFexJetRoI());
416 m_gRhoContainer->push_back(std::move(myEDM));
417 m_gRhoContainer->back()->initialize(tobWord, gJ_scale);
418
419 return StatusCode::SUCCESS;
420 }

◆ fillgScalarEJwojEDM()

StatusCode LVL1::gFEXSysSim::fillgScalarEJwojEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 467 of file gFEXSysSim.cxx.

467 {
468
469 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
470 m_gScalarEJwojContainer->push_back(std::move(myEDM));
471 m_gScalarEJwojContainer->back()->initialize(tobWord, scale1, scale2);
472
473 return StatusCode::SUCCESS;
474 }

◆ fillgScalarENoiseCutEDM()

StatusCode LVL1::gFEXSysSim::fillgScalarENoiseCutEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 494 of file gFEXSysSim.cxx.

494 {
495
496 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
497 m_gScalarENoiseCutContainer->push_back(std::move(myEDM));
498 m_gScalarENoiseCutContainer->back()->initialize(tobWord, scale1, scale2);
499
500 return StatusCode::SUCCESS;
501 }

◆ fillgScalarERmsEDM()

StatusCode LVL1::gFEXSysSim::fillgScalarERmsEDM ( uint32_t tobWord,
int scale1,
int scale2 )
overridevirtual

Implements LVL1::IgFEXSysSim.

Definition at line 503 of file gFEXSysSim.cxx.

503 {
504
505 std::unique_ptr<xAOD::gFexGlobalRoI> myEDM (new xAOD::gFexGlobalRoI());
506 m_gScalarERmsContainer->push_back(std::move(myEDM));
507 m_gScalarERmsContainer->back()->initialize(tobWord, scale1, scale2);
508
509 return StatusCode::SUCCESS;
510 }

◆ initialize()

StatusCode LVL1::gFEXSysSim::initialize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 35 of file gFEXSysSim.cxx.

36 {
37
39
40 ATH_CHECK(m_gFEXSimTool.retrieve());
41
42 ATH_CHECK(m_gFexRhoOutKey.initialize());
43
44 ATH_CHECK(m_gFexBlockOutKey.initialize());
45
46 ATH_CHECK(m_gFexJetOutKey.initialize());
47
48 ATH_CHECK(m_gScalarEJwojOutKey.initialize());
49
51
53
55
57
59
61
62 ATH_CHECK(m_gScalarERmsOutKey.initialize());
63
64 ATH_CHECK(m_l1MenuKey.initialize());
65
66
67
68 return StatusCode::SUCCESS;
69 }

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & LVL1::IgFEXSysSim::interfaceID ( )
inlinestaticinherited

Definition at line 58 of file IgFEXSysSim.h.

59 {
60 return IID_IgFEXSysSim;
61 }
static const InterfaceID IID_IgFEXSysSim("LVL1::IgFEXSysSim", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ operator=()

gFEXSysSim && LVL1::gFEXSysSim::operator= ( const gFEXSysSim & )
delete

Destructor.

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_allgBlockTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgBlockTobs
private

Definition at line 141 of file gFEXSysSim.h.

◆ m_allgJetTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgJetTobs
private

Definition at line 142 of file gFEXSysSim.h.

◆ m_allgMETComponentsJwojTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgMETComponentsJwojTobs
private

Definition at line 145 of file gFEXSysSim.h.

◆ m_allgMETComponentsNoiseCutTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgMETComponentsNoiseCutTobs
private

Definition at line 149 of file gFEXSysSim.h.

◆ m_allgMETComponentsRmsTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgMETComponentsRmsTobs
private

Definition at line 150 of file gFEXSysSim.h.

◆ m_allgMHTComponentsJwojTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgMHTComponentsJwojTobs
private

Definition at line 146 of file gFEXSysSim.h.

◆ m_allgMSTComponentsJwojTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgMSTComponentsJwojTobs
private

Definition at line 147 of file gFEXSysSim.h.

◆ m_allgRhoTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgRhoTobs
private

Definition at line 140 of file gFEXSysSim.h.

◆ m_allgScalarEJwojTobs

std::vector<int32_t> LVL1::gFEXSysSim::m_allgScalarEJwojTobs
private

Definition at line 144 of file gFEXSysSim.h.

◆ m_allgScalarENoiseCutTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgScalarENoiseCutTobs
private

Definition at line 151 of file gFEXSysSim.h.

◆ m_allgScalarERmsTobs

std::vector<uint32_t> LVL1::gFEXSysSim::m_allgScalarERmsTobs
private

Definition at line 152 of file gFEXSysSim.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_gBlockAuxContainer

std::unique_ptr< xAOD::gFexJetRoIAuxContainer > LVL1::gFEXSysSim::m_gBlockAuxContainer
private

Definition at line 88 of file gFEXSysSim.h.

◆ m_gBlockContainer

std::unique_ptr< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gBlockContainer
private

Definition at line 87 of file gFEXSysSim.h.

◆ m_gFexBlockOutKey

SG::WriteHandleKey< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gFexBlockOutKey {this,"Key_gFexSRJetOutputContainer","L1_gFexSRJetRoI","Output gFexBlock (small-R jet) container"}
private

Definition at line 125 of file gFEXSysSim.h.

125{this,"Key_gFexSRJetOutputContainer","L1_gFexSRJetRoI","Output gFexBlock (small-R jet) container"};

◆ m_gFEXCollection

std::vector<gFEXSim*> LVL1::gFEXSysSim::m_gFEXCollection
private

Definition at line 118 of file gFEXSysSim.h.

◆ m_gFexJetOutKey

SG::WriteHandleKey< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gFexJetOutKey {this,"Key_gFexLRJetOutputContainer","L1_gFexLRJetRoI","Output gFexJet (large-R jet) container"}
private

Definition at line 126 of file gFEXSysSim.h.

126{this,"Key_gFexLRJetOutputContainer","L1_gFexLRJetRoI","Output gFexJet (large-R jet) container"};

◆ m_gFexRhoOutKey

SG::WriteHandleKey< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gFexRhoOutKey {this,"Key_gFexRhoOutputContainer","L1_gFexRhoRoI","Output gFexRho (energy density) container"}
private

Definition at line 124 of file gFEXSysSim.h.

124{this,"Key_gFexRhoOutputContainer","L1_gFexRhoRoI","Output gFexRho (energy density) container"};

◆ m_gFEXSimTool

ToolHandle<IgFEXSim> LVL1::gFEXSysSim::m_gFEXSimTool {this, "gFEXSimTool", "LVL1::gFEXSim", "Tool that creates the gFEX Simulation"}
private

Definition at line 120 of file gFEXSysSim.h.

120{this, "gFEXSimTool", "LVL1::gFEXSim", "Tool that creates the gFEX Simulation"};

◆ m_gJetAuxContainer

std::unique_ptr< xAOD::gFexJetRoIAuxContainer > LVL1::gFEXSysSim::m_gJetAuxContainer
private

Definition at line 91 of file gFEXSysSim.h.

◆ m_gJetContainer

std::unique_ptr< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gJetContainer
private

Definition at line 90 of file gFEXSysSim.h.

◆ m_gMETComponentsJwojAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gMETComponentsJwojAuxContainer
private

Definition at line 97 of file gFEXSysSim.h.

◆ m_gMETComponentsJwojContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsJwojContainer
private

Definition at line 96 of file gFEXSysSim.h.

◆ m_gMETComponentsJwojOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsJwojOutKey {this,"Key_gMETComponentsJwojOutputContainer","L1_gMETComponentsJwoj","Output total MET components (from Jets without Jets algo) container"}
private

Definition at line 129 of file gFEXSysSim.h.

129{this,"Key_gMETComponentsJwojOutputContainer","L1_gMETComponentsJwoj","Output total MET components (from Jets without Jets algo) container"};

◆ m_gMETComponentsNoiseCutAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gMETComponentsNoiseCutAuxContainer
private

Definition at line 106 of file gFEXSysSim.h.

◆ m_gMETComponentsNoiseCutContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsNoiseCutContainer
private

Definition at line 105 of file gFEXSysSim.h.

◆ m_gMETComponentsNoiseCutOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsNoiseCutOutKey {this,"Key_gMETComponentsNoiseCutOutputContainer","L1_gMETComponentsNoiseCut","Output total MET components (from Noise Cut algo) container"}
private

Definition at line 133 of file gFEXSysSim.h.

133{this,"Key_gMETComponentsNoiseCutOutputContainer","L1_gMETComponentsNoiseCut","Output total MET components (from Noise Cut algo) container"};

◆ m_gMETComponentsRmsAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gMETComponentsRmsAuxContainer
private

Definition at line 109 of file gFEXSysSim.h.

◆ m_gMETComponentsRmsContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsRmsContainer
private

Definition at line 108 of file gFEXSysSim.h.

◆ m_gMETComponentsRmsOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMETComponentsRmsOutKey {this,"Key_gMETComponentsRmsOutputContainer","L1_gMETComponentsRms","Output total MET components (from RMS algo) container"}
private

Definition at line 134 of file gFEXSysSim.h.

134{this,"Key_gMETComponentsRmsOutputContainer","L1_gMETComponentsRms","Output total MET components (from RMS algo) container"};

◆ m_gMHTComponentsJwojAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gMHTComponentsJwojAuxContainer
private

Definition at line 100 of file gFEXSysSim.h.

◆ m_gMHTComponentsJwojContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMHTComponentsJwojContainer
private

Definition at line 99 of file gFEXSysSim.h.

◆ m_gMHTComponentsJwojOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMHTComponentsJwojOutKey {this,"Key_gMHTComponentsJwojOutputContainer","L1_gMHTComponentsJwoj","Output hard MET components (from Jets without Jets algo) container"}
private

Definition at line 130 of file gFEXSysSim.h.

130{this,"Key_gMHTComponentsJwojOutputContainer","L1_gMHTComponentsJwoj","Output hard MET components (from Jets without Jets algo) container"};

◆ m_gMSTComponentsJwojAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gMSTComponentsJwojAuxContainer
private

Definition at line 103 of file gFEXSysSim.h.

◆ m_gMSTComponentsJwojContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMSTComponentsJwojContainer
private

Definition at line 102 of file gFEXSysSim.h.

◆ m_gMSTComponentsJwojOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gMSTComponentsJwojOutKey {this,"Key_gMSTComponentsJwojOutputContainer","L1_gMSTComponentsJwoj","Output soft MET components (from Jets without Jets algo) container"}
private

Definition at line 131 of file gFEXSysSim.h.

131{this,"Key_gMSTComponentsJwojOutputContainer","L1_gMSTComponentsJwoj","Output soft MET components (from Jets without Jets algo) container"};

◆ m_gRhoAuxContainer

std::unique_ptr< xAOD::gFexJetRoIAuxContainer > LVL1::gFEXSysSim::m_gRhoAuxContainer
private

Definition at line 85 of file gFEXSysSim.h.

◆ m_gRhoContainer

std::unique_ptr< xAOD::gFexJetRoIContainer > LVL1::gFEXSysSim::m_gRhoContainer
private

Internal data.

Definition at line 84 of file gFEXSysSim.h.

◆ m_gScalarEJwojAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gScalarEJwojAuxContainer
private

Definition at line 94 of file gFEXSysSim.h.

◆ m_gScalarEJwojContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarEJwojContainer
private

Definition at line 93 of file gFEXSysSim.h.

◆ m_gScalarEJwojOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarEJwojOutKey {this,"Key_gScalarEJwojOutputContainer","L1_gScalarEJwoj","Output Scalar MET and SumET (from Jets without Jets algo) container"}
private

Definition at line 128 of file gFEXSysSim.h.

128{this,"Key_gScalarEJwojOutputContainer","L1_gScalarEJwoj","Output Scalar MET and SumET (from Jets without Jets algo) container"};

◆ m_gScalarENoiseCutAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gScalarENoiseCutAuxContainer
private

Definition at line 112 of file gFEXSysSim.h.

◆ m_gScalarENoiseCutContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarENoiseCutContainer
private

Definition at line 111 of file gFEXSysSim.h.

◆ m_gScalarENoiseCutOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarENoiseCutOutKey {this,"Key_gScalarENoiseCutOutputContainer","L1_gScalarENoiseCut","Output Scalar MET and SumET (from Noise Cut algo) container"}
private

Definition at line 135 of file gFEXSysSim.h.

135{this,"Key_gScalarENoiseCutOutputContainer","L1_gScalarENoiseCut","Output Scalar MET and SumET (from Noise Cut algo) container"};

◆ m_gScalarERmsAuxContainer

std::unique_ptr< xAOD::gFexGlobalRoIAuxContainer > LVL1::gFEXSysSim::m_gScalarERmsAuxContainer
private

Definition at line 115 of file gFEXSysSim.h.

◆ m_gScalarERmsContainer

std::unique_ptr< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarERmsContainer
private

Definition at line 114 of file gFEXSysSim.h.

◆ m_gScalarERmsOutKey

SG::WriteHandleKey< xAOD::gFexGlobalRoIContainer > LVL1::gFEXSysSim::m_gScalarERmsOutKey {this,"Key_gScalarERmsOutputContainer","L1_gScalarERms","Output Scalar MET and SumET (from RMS algo) container"}
private

Definition at line 136 of file gFEXSysSim.h.

136{this,"Key_gScalarERmsOutputContainer","L1_gScalarERms","Output Scalar MET and SumET (from RMS algo) container"};

◆ m_gTowerContainerSGKey

SG::ReadHandleKey<LVL1::gTowerContainer> LVL1::gFEXSysSim::m_gTowerContainerSGKey {this, "MyGTowers", "gTowerContainer", "Input container for gTowers"}
private

Definition at line 122 of file gFEXSysSim.h.

122{this, "MyGTowers", "gTowerContainer", "Input container for gTowers"};

◆ m_l1MenuKey

SG::ReadHandleKey<TrigConf::L1Menu> LVL1::gFEXSysSim::m_l1MenuKey {this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"}
private

Definition at line 138 of file gFEXSysSim.h.

138{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: