ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LVL1::gFEXSim Class Reference

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

#include <gFEXSim.h>

Inheritance diagram for LVL1::gFEXSim:
Collaboration diagram for LVL1::gFEXSim:

Public Member Functions

 gFEXSim (const std::string &type, const std::string &name, const IInterface *parent)
 Constructors. More...
 
virtual ~gFEXSim ()
 Destructor. More...
 
virtual void reset () override
 
virtual void execute () override
 
virtual StatusCode initialize () override
 
virtual StatusCode executegFEXSim (const gTowersIDs &tmp, gFEXOutputCollection *gFEXOutputs) override
 
virtual std::vector< uint32_t > getgRhoTOBs () const override
 
virtual std::vector< uint32_t > getgBlockTOBs () const override
 
virtual std::vector< uint32_t > getgJetTOBs () const override
 
virtual std::vector< uint32_t > getgScalarEJwojTOBs () const override
 
virtual std::vector< uint32_t > getgMETComponentsJwojTOBs () const override
 
virtual std::vector< uint32_t > getgMHTComponentsJwojTOBs () const override
 
virtual std::vector< uint32_t > getgMSTComponentsJwojTOBs () const override
 
virtual std::vector< uint32_t > getgMETComponentsNoiseCutTOBs () const override
 
virtual std::vector< uint32_t > getgMETComponentsRmsTOBs () const override
 
virtual std::vector< uint32_t > getgScalarENoiseCutTOBs () const override
 
virtual std::vector< uint32_t > getgScalarERmsTOBs () const override
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) 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 More...
 
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. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

gTowersIDs m_gTowersIDs
 Internal data. More...
 
CaloCellContainer m_sCellsCollection
 
std::vector< uint32_t > m_gRhoTobWords
 
std::vector< uint32_t > m_gBlockTobWords
 
std::vector< uint32_t > m_gJetTobWords
 
std::vector< uint32_t > m_gScalarEJwojTobWords
 
std::vector< uint32_t > m_gMETComponentsJwojTobWords
 
std::vector< uint32_t > m_gMHTComponentsJwojTobWords
 
std::vector< uint32_t > m_gMSTComponentsJwojTobWords
 
std::vector< uint32_t > m_gMETComponentsNoiseCutTobWords
 
std::vector< uint32_t > m_gMETComponentsRmsTobWords
 
std::vector< uint32_t > m_gScalarENoiseCutTobWords
 
std::vector< uint32_t > m_gScalarERmsTobWords
 
ToolHandle< IgFEXFPGAm_gFEXFPGA_Tool {this, "gFEXFPGATool", "LVL1::gFEXFPGA", "Tool that simulates the FPGA hardware"}
 
ToolHandle< IgFEXJetAlgom_gFEXJetAlgoTool {this, "gFEXJetAlgoTool", "LVL1::gFEXJetAlgo", "Tool that runs the gFEX jet algorithm"}
 
ToolHandle< IgFEXJwoJAlgom_gFEXJwoJAlgoTool {this, "gFEXJwoJAlgoTool", "LVL1::gFEXJwoJAlgo", "Tool that runs the gFEX Jets without Jets algorithm"}
 
ToolHandle< IgFEXaltMetAlgom_gFEXaltMetAlgoTool {this, "gFEXaltMetAlgoTool", "LVL1::gFEXaltMetAlgo", "Tool that runs the gFEX noise cut and rho+RMS algorithms for MET"}
 
SG::ReadHandleKey< TrigConf::L1Menum_l1MenuKey {this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu","Name of the L1Menu object to read configuration from"}
 
SG::WriteHandleKey< xAOD::gFexTowerContainerm_gTowersWriteKey {this,"gTowersWriteKey" ,"L1_gFexTriggerTowers", "Write gFexEDM Trigger Tower container"}
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

The gFEXSim class defines the structure of the gFEX Its purpose is:

Definition at line 38 of file gFEXSim.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

◆ gFEXSim()

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

Constructors.

Definition at line 21 of file gFEXSim.cxx.

21  :
23  {
24  declareInterface<IgFEXSim>(this);
25  }

◆ ~gFEXSim()

LVL1::gFEXSim::~gFEXSim ( )
virtual

Destructor.

Definition at line 42 of file gFEXSim.cxx.

42  {
43  }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

void LVL1::gFEXSim::execute ( )
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 55 of file gFEXSim.cxx.

55  {
56 
57  }

◆ executegFEXSim()

StatusCode LVL1::gFEXSim::executegFEXSim ( const gTowersIDs tmp,
gFEXOutputCollection gFEXOutputs 
)
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 59 of file gFEXSim.cxx.

59  {
60 
61  // Container to save gTowers
63  ATH_CHECK(gTowersContainer.record(std::make_unique<xAOD::gFexTowerContainer>(), std::make_unique<xAOD::gFexTowerAuxContainer>()));
64  ATH_MSG_DEBUG("Recorded gFexTriggerTower container with key " << gTowersContainer.key());
65 
66  int rows = tmp_gTowersIDs_subset.size();
67  int cols = tmp_gTowersIDs_subset[0].size();
68 
69  std::copy(&tmp_gTowersIDs_subset[0][0], &tmp_gTowersIDs_subset[0][0]+(rows*cols),&m_gTowersIDs[0][0]);
70 
71  gTowersType Atwr = {{{0}}};
72  gTowersType Btwr = {{{0}}};
73  gTowersType Ctwr = {{{0}}};
74 
75  gTowersType Atwr50 = {{{0}}};
76  gTowersType Btwr50 = {{{0}}};
77  gTowersType Ctwr50 = {{{0}}};
78 
79  gTowersType Asat = {{{0}}};
80  gTowersType Bsat = {{{0}}};
81  gTowersType Csat = {{{0}}};
82 
83 
84  //FPGA A----------------------------------------------------------------------------------------------------------------------------------------------
85  gTowersCentral tmp_gTowersIDs_subset_centralFPGA;
86  memset(&tmp_gTowersIDs_subset_centralFPGA, 0, sizeof tmp_gTowersIDs_subset_centralFPGA);
87  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::centralNphi; myrow++){
88  for (int mycol = 0; mycol<12; mycol++){
89  tmp_gTowersIDs_subset_centralFPGA[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol+8];
90  }
91  }
92  ATH_CHECK(m_gFEXFPGA_Tool->init(0));
93  m_gFEXFPGA_Tool->FillgTowerEDMCentral(gTowersContainer, tmp_gTowersIDs_subset_centralFPGA, Atwr, Atwr50, Asat);
94  m_gFEXFPGA_Tool->reset();
95 
96  //FPGA A----------------------------------------------------------------------------------------------------------------------------------------------
97 
98  //FPGA B----------------------------------------------------------------------------------------------------------------------------------------------
99  gTowersCentral tmp_gTowersIDs_subset_centralFPGA_B;
100  memset(&tmp_gTowersIDs_subset_centralFPGA_B, 0, sizeof tmp_gTowersIDs_subset_centralFPGA_B);
101  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::centralNphi; myrow++){
102  for (int mycol = 0; mycol<12; mycol++){
103  tmp_gTowersIDs_subset_centralFPGA_B[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol+20];
104  }
105  }
106  ATH_CHECK(m_gFEXFPGA_Tool->init(1));
107  m_gFEXFPGA_Tool->FillgTowerEDMCentral(gTowersContainer, tmp_gTowersIDs_subset_centralFPGA_B, Btwr, Btwr50, Bsat);
108  m_gFEXFPGA_Tool->reset();
109 
110  //FPGA B----------------------------------------------------------------------------------------------------------------------------------------------
111 
112 
113  //FPGA C ----------------------------------------------------------------------------------------------------------------------------------------------
114 
115  // C-N
116  //Use a matrix with 32 rows, even if FPGA-N (negative) also deals with regions of 16 bins in phi (those connected to FCAL).
117  //We have 4 columns with 32 rows and 4 columns with 16 rows for each FPGA-C.
118  //So we use a matrix 32x8 but we fill only half of it in the region 3.3<|eta|<4.8.
119  gTowersForward tmp_gTowersIDs_subset_forwardFPGA_N;
120  memset(&tmp_gTowersIDs_subset_forwardFPGA_N, 0, sizeof tmp_gTowersIDs_subset_forwardFPGA_N);
121  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::forwardNphi; myrow++){
122  for (int mycol = 0; mycol<4; mycol++){
123  tmp_gTowersIDs_subset_forwardFPGA_N[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol];
124  }
125  }
126  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::centralNphi; myrow++){
127  for (int mycol = 4; mycol<8; mycol++){
128  tmp_gTowersIDs_subset_forwardFPGA_N[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol];
129  }
130  }
131 
132  // C-P
133  //Use a matrix with 32 rows, even if FPGA-C (positive) also deals with regions of 16 bins in phi (those connected to FCAL).
134  //We have 4 columns with 32 rows and 4 columns with 16 rows for each FPGA-C.
135  //So we use a matrix 32x8 but we fill only half of it in the region 3.3<|eta|<4.8.
136  gTowersForward tmp_gTowersIDs_subset_forwardFPGA_P;
137  memset(&tmp_gTowersIDs_subset_forwardFPGA_P, 0, sizeof tmp_gTowersIDs_subset_forwardFPGA_P);
138  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::centralNphi; myrow++){
139  for (int mycol = 0; mycol<4; mycol++){
140  tmp_gTowersIDs_subset_forwardFPGA_P[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol+32];
141  }
142  }
143  for (int myrow = 0; myrow<FEXAlgoSpaceDefs::forwardNphi; myrow++){
144  for (int mycol = 4; mycol<8; mycol++){
145  tmp_gTowersIDs_subset_forwardFPGA_P[myrow][mycol] = tmp_gTowersIDs_subset[myrow][mycol+32];
146  }
147  }
148 
149  ATH_CHECK(m_gFEXFPGA_Tool->init(2));
150  m_gFEXFPGA_Tool->FillgTowerEDMForward(gTowersContainer, tmp_gTowersIDs_subset_forwardFPGA_N, tmp_gTowersIDs_subset_forwardFPGA_P, Ctwr, Ctwr50, Csat);
151  m_gFEXFPGA_Tool->reset();
152 
153  for(int irow=0; irow<32;irow++){
154  if(Ctwr[irow][0] < 0x0B0 ) Ctwr[irow][0] = 0;
155  if(Ctwr[irow][11] < 0x0B0 ) Ctwr[irow][11] = 0;
156  }
157 
158  //FPGA C----------------------------------------------------------------------------------------------------------------------------------------------
159 
160  // Retrieve the L1 menu configuration
162  ATH_CHECK(l1Menu.isValid());
163 
164  //Parameters related to gLJ (large-R jet objects - gJet)
165  auto & thr_gLJ = l1Menu->thrExtraInfo().gLJ();
166  int gLJ_seedThrA = 0;
167  int gLJ_seedThrB = 0;
168  int gLJ_seedThrC = 0;
169  gLJ_seedThrA = thr_gLJ.seedThrCounts('A'); //defined in GeV by default
170  gLJ_seedThrB = thr_gLJ.seedThrCounts('B'); //defined in GeV by default
171  gLJ_seedThrC = thr_gLJ.seedThrCounts('C'); //defined in GeV by default
172 
173  int gLJ_ptMinToTopoCounts1 = 0;
174  int gLJ_ptMinToTopoCounts2 = 0;
175  gLJ_ptMinToTopoCounts1 = thr_gLJ.ptMinToTopoCounts(1);
176  gLJ_ptMinToTopoCounts2 = thr_gLJ.ptMinToTopoCounts(2);
177  float gLJ_rhoMaxA = 0;
178  float gLJ_rhoMaxB = 0;
179  float gLJ_rhoMaxC = 0;
180 
181  gLJ_rhoMaxA = (thr_gLJ.rhoTowerMax('A')*1000)/50;//Values are given in GeV, need to be converted with 50MeV scale to be used in PU calculation
182  gLJ_rhoMaxB = (thr_gLJ.rhoTowerMax('B')*1000)/50;//Values are given in GeV, need to be converted with 50MeV scale to be used in PU calculation
183  gLJ_rhoMaxC = (thr_gLJ.rhoTowerMax('C')*1000)/50;//Values are given in GeV, need to be converted with 50MeV scale to be used in PU calculation
184 
185 
186  //Parameters related to gJ (small-R jet objects - gBlock)
187  auto & thr_gJ = l1Menu->thrExtraInfo().gJ();
188  int gJ_ptMinToTopoCounts1 = 0;
189  int gJ_ptMinToTopoCounts2 = 0;
190  gJ_ptMinToTopoCounts1 = thr_gJ.ptMinToTopoCounts(1);
191  gJ_ptMinToTopoCounts2 = thr_gJ.ptMinToTopoCounts(2);
192 
193 
194  int pucA = 0;
195  int pucB = 0;
196  int pucC = 0;
197  //note that jetThreshold is not a configurable parameter in firmware, it is used to check that jet values are positive
198  int jetThreshold = FEXAlgoSpaceDefs::jetThr; //this threshold is set by the online software
199 
200  if (FEXAlgoSpaceDefs::ENABLE_PUC == true){
201  m_gFEXJetAlgoTool->pileUpCalculation(Atwr50, gLJ_rhoMaxA, 1, pucA);
202  m_gFEXJetAlgoTool->pileUpCalculation(Btwr50, gLJ_rhoMaxB, 1, pucB);
203  m_gFEXJetAlgoTool->pileUpCalculation(Ctwr50, gLJ_rhoMaxC, 1, pucC);
204  }
205 
206 
207 
208  // The output TOBs, to be filled by the gFEXJetAlgoTool
209  std::array<uint32_t, 7> ATOB1_dat = {0};
210  std::array<uint32_t, 7> ATOB2_dat = {0};
211  std::array<uint32_t, 7> BTOB1_dat = {0};
212  std::array<uint32_t, 7> BTOB2_dat = {0};
213  std::array<uint32_t, 7> CTOB1_dat = {0};
214  std::array<uint32_t, 7> CTOB2_dat = {0};
215 
216 
217  // Pass the energy matrices to the algo tool, and run the algorithms
218  auto tobs_v = m_gFEXJetAlgoTool->largeRfinder(Atwr, Btwr, Ctwr, Asat, Bsat, Csat, pucA, pucB, pucC,
219  gLJ_seedThrA, gLJ_seedThrB, gLJ_seedThrC, gJ_ptMinToTopoCounts1, gJ_ptMinToTopoCounts2,
220  jetThreshold, gLJ_ptMinToTopoCounts1, gLJ_ptMinToTopoCounts2,
221  ATOB1_dat, ATOB2_dat,
222  BTOB1_dat, BTOB2_dat,
223  CTOB1_dat, CTOB2_dat);
224 
225  m_gRhoTobWords.resize(3);
226  m_gBlockTobWords.resize(12);
227  m_gJetTobWords.resize(6);
228 
229  m_gRhoTobWords[0] = ATOB2_dat[0];//Pile up correction A
230  m_gRhoTobWords[1] = BTOB2_dat[0];//Pile up correction B
231  m_gRhoTobWords[2] = CTOB2_dat[0];//Pile up correction C
232 
233  //Placing the gBlock TOBs into a dedicated array
234  m_gBlockTobWords[0] = ATOB1_dat[1];//leading gBlock in FPGA A, eta bins (0--5)
235  m_gBlockTobWords[1] = ATOB2_dat[1];//leading gBlock in FPGA A, eta bins (6--11)
236  m_gBlockTobWords[2] = BTOB1_dat[1];//leading gBlock in FPGA B, eta bins (0--5)
237  m_gBlockTobWords[3] = BTOB2_dat[1];//leading gBlock in FPGA B, eta bins (6--11)
238 
239  m_gBlockTobWords[4] = ATOB1_dat[2];//subleading gBlock in FPGA A, eta bins (0--5)
240  m_gBlockTobWords[5] = ATOB2_dat[2];//subleading gBlock in FPGA A, eta bins (6--11)
241  m_gBlockTobWords[6] = BTOB1_dat[2];//subleading gBlock in FPGA B, eta bins (0--5)
242  m_gBlockTobWords[7] = BTOB2_dat[2];//subleading gBlock in FPGA B, eta bins (6--11)
243 
244  m_gBlockTobWords[8] = CTOB1_dat[1];//leading gBlock in FPGA C, eta negative
245  m_gBlockTobWords[9] = CTOB2_dat[1];//leading gBlock in FPGA C, eta positive
246  m_gBlockTobWords[10] = CTOB1_dat[2];//sub-leading gBlock in FPGA C, eta negative
247  m_gBlockTobWords[11] = CTOB2_dat[2];//sub-leading gBlock in FPGA C, eta positive
248 
249  //Placing the gJet TOBs into a dedicated array
250  m_gJetTobWords[0] = ATOB1_dat[3];//leading gJet in FPGA A, eta bins (0--5)
251  m_gJetTobWords[1] = ATOB2_dat[3];//leading gJet in FPGA A, eta bins (6--11)
252  m_gJetTobWords[2] = BTOB1_dat[3];//leading gJet in FPGA B, eta bins (0--5)
253  m_gJetTobWords[3] = BTOB2_dat[3];//leading gJet in FPGA B, eta bins (6--11)
254  m_gJetTobWords[4] = CTOB1_dat[3];//leading gJet in FPGA C negative
255  m_gJetTobWords[5] = CTOB2_dat[3];//leading gJet in FPGA C positive
256 
257 
258  // Use the gFEXJetAlgoTool
259  std::array<uint32_t, 4> outJwojTOB = {0};
260  std::array<uint32_t, 4> outAltMetTOB = {0};
261 
262  //Parameters related to gXE (MET objects, both JwoJ and alternative MET calculation)
263  auto & thr_gXE = l1Menu->thrExtraInfo().gXE();
264  int gXE_seedThrA = 0;
265  int gXE_seedThrB = 0;
266  int gXE_seedThrC = 0;
267  gXE_seedThrA = thr_gXE.seedThr('A')/0.800; //defined in GeV by default, with value 24
268  gXE_seedThrB = thr_gXE.seedThr('B')/0.800; //defined in GeV by default, with value 24
269  gXE_seedThrC = thr_gXE.seedThr('C')/0.800; //defined in GeV by default, with value 24
270 
271 
272  int aFPGA_A = thr_gXE.JWOJ_param('A','a');// 1003
273  int bFPGA_A = thr_gXE.JWOJ_param('A','b');// 409
274  int aFPGA_B = thr_gXE.JWOJ_param('B','a');// 1003
275  int bFPGA_B = thr_gXE.JWOJ_param('B','b');// 409
276  int aFPGA_C = thr_gXE.JWOJ_param('C','a');// 1003
277  int bFPGA_C = thr_gXE.JWOJ_param('C','b');// 409
278 
279  //Set constants for JwoJ and run the algorithm
280  m_gFEXJwoJAlgoTool->setAlgoConstant(aFPGA_A, bFPGA_A,
281  aFPGA_B, bFPGA_B,
282  aFPGA_C, bFPGA_C,
283  gXE_seedThrA, gXE_seedThrB, gXE_seedThrC);
284 
285  auto global_tobs = m_gFEXJwoJAlgoTool->jwojAlgo(Atwr, Btwr, Ctwr, outJwojTOB);
286 
287  m_gScalarEJwojTobWords.resize(1);
291 
292 
293  //Placing the global TOBs into a dedicated array
294  m_gScalarEJwojTobWords[0] = outJwojTOB[0];//
295  m_gMETComponentsJwojTobWords[0] = outJwojTOB[1];//
296  m_gMHTComponentsJwojTobWords[0] = outJwojTOB[2];//
297  m_gMSTComponentsJwojTobWords[0] = outJwojTOB[3];//
298 
299 
300  //Set constants for noise cut and rho+RMS and run the algorithms
301  std::vector<int> thr_A (12, 0);//To be retrieved from COOL database in the future
302  std::vector<int> thr_B (12, 0);//To be retrieved from COOL database in the future
303 
304  m_gFEXaltMetAlgoTool->setAlgoConstant(std::move(thr_A) , std::move(thr_B), 10000/200);
305 
306  m_gFEXaltMetAlgoTool->altMetAlgo(Atwr, Btwr, outAltMetTOB);
307 
309  m_gMETComponentsRmsTobWords.resize(1);
310  m_gScalarENoiseCutTobWords.resize(1);
311  m_gScalarERmsTobWords.resize(1);
312 
313 
314  //Placing the global TOBs into a dedicated array
315  m_gMETComponentsNoiseCutTobWords[0] = outAltMetTOB[0];//
316  m_gMETComponentsRmsTobWords[0] = outAltMetTOB[1];//
317  m_gScalarENoiseCutTobWords[0] = outAltMetTOB[2];//
318  m_gScalarERmsTobWords[0] = outAltMetTOB[3];//
319 
320  for (int i = 0; i <14; i++){
321  gFEXOutputs->addJetTob(tobs_v[i]->getWord());
322  gFEXOutputs->addValueJet("EtaJet", tobs_v[i]->getEta());
323  gFEXOutputs->addValueJet("PhiJet", tobs_v[i]->getPhi());
324  gFEXOutputs->addValueJet("ETJet", tobs_v[i]->getET());
325  gFEXOutputs->addValueJet("StatusJet", tobs_v[i]->getStatus());
326  gFEXOutputs->addValueJet("TobIDJet", tobs_v[i]->getTobID());
327  gFEXOutputs->fillJet();
328 
329  }
330 
331  for (int i = 0; i <4; i++){
332  gFEXOutputs->addGlobalTob(global_tobs[i]->getWord());
333  gFEXOutputs->addValueGlobal("GlobalQuantity1", global_tobs[i]->getQuantity1());
334  gFEXOutputs->addValueGlobal("GlobalQuantity2", global_tobs[i]->getQuantity2());
335  gFEXOutputs->addValueGlobal("SaturationGlobal", global_tobs[i]->getSaturation());
336  gFEXOutputs->addValueGlobal("TobIDGlobal", global_tobs[i]->getTobID());
337  gFEXOutputs->addValueGlobal("GlobalStatus1", global_tobs[i]->getStatus1());
338  gFEXOutputs->addValueGlobal("GlobalStatus2", global_tobs[i]->getStatus2());
339  gFEXOutputs->fillGlobal();
340 
341  }
342 
343  return StatusCode::SUCCESS;
344 
345 }

◆ 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

◆ getgBlockTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgBlockTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 353 of file gFEXSim.cxx.

354 {
355  return m_gBlockTobWords;
356 }

◆ getgJetTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgJetTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 358 of file gFEXSim.cxx.

359 {
360  return m_gJetTobWords;
361 }

◆ getgMETComponentsJwojTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgMETComponentsJwojTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 368 of file gFEXSim.cxx.

369 {
371 }

◆ getgMETComponentsNoiseCutTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgMETComponentsNoiseCutTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 383 of file gFEXSim.cxx.

384 {
386 }

◆ getgMETComponentsRmsTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgMETComponentsRmsTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 388 of file gFEXSim.cxx.

389 {
391 }

◆ getgMHTComponentsJwojTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgMHTComponentsJwojTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 373 of file gFEXSim.cxx.

374 {
376 }

◆ getgMSTComponentsJwojTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgMSTComponentsJwojTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 378 of file gFEXSim.cxx.

379 {
381 }

◆ getgRhoTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgRhoTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 348 of file gFEXSim.cxx.

349 {
350  return m_gRhoTobWords;
351 }

◆ getgScalarEJwojTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgScalarEJwojTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 363 of file gFEXSim.cxx.

364 {
365  return m_gScalarEJwojTobWords;
366 }

◆ getgScalarENoiseCutTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgScalarENoiseCutTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 393 of file gFEXSim.cxx.

394 {
396 }

◆ getgScalarERmsTOBs()

std::vector< uint32_t > LVL1::gFEXSim::getgScalarERmsTOBs ( ) const
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 398 of file gFEXSim.cxx.

399 {
400  return m_gScalarERmsTobWords;
401 }

◆ initialize()

StatusCode LVL1::gFEXSim::initialize ( )
overridevirtual

Definition at line 45 of file gFEXSim.cxx.

45  {
46  ATH_CHECK( m_gFEXFPGA_Tool.retrieve() );
47  ATH_CHECK( m_gFEXJetAlgoTool.retrieve() );
48  ATH_CHECK( m_gFEXJwoJAlgoTool.retrieve() );
49  ATH_CHECK( m_gFEXaltMetAlgoTool.retrieve() );
51  ATH_CHECK(m_gTowersWriteKey.initialize());
52  return StatusCode::SUCCESS;
53  }

◆ 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::IgFEXSim::interfaceID ( )
inlinestaticinherited

Definition at line 59 of file IgFEXSim.h.

60  {
61  return IID_IgFEXSim;
62  }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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  }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
366  }

◆ reset()

void LVL1::gFEXSim::reset ( )
overridevirtual

Implements LVL1::IgFEXSim.

Definition at line 28 of file gFEXSim.cxx.

29  {
30  int rows = m_gTowersIDs.size();
31  int cols = m_gTowersIDs[0].size();
32 
33  for (int i=0; i<rows; i++){
34  for (int j=0; j<cols; j++){
35  m_gTowersIDs[i][j] = 0;
36  }
37  }
38 
39  }

◆ 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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ 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_gBlockTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gBlockTobWords
private

Definition at line 89 of file gFEXSim.h.

◆ m_gFEXaltMetAlgoTool

ToolHandle<IgFEXaltMetAlgo> LVL1::gFEXSim::m_gFEXaltMetAlgoTool {this, "gFEXaltMetAlgoTool", "LVL1::gFEXaltMetAlgo", "Tool that runs the gFEX noise cut and rho+RMS algorithms for MET"}
private

Definition at line 117 of file gFEXSim.h.

◆ m_gFEXFPGA_Tool

ToolHandle<IgFEXFPGA> LVL1::gFEXSim::m_gFEXFPGA_Tool {this, "gFEXFPGATool", "LVL1::gFEXFPGA", "Tool that simulates the FPGA hardware"}
private

Definition at line 111 of file gFEXSim.h.

◆ m_gFEXJetAlgoTool

ToolHandle<IgFEXJetAlgo> LVL1::gFEXSim::m_gFEXJetAlgoTool {this, "gFEXJetAlgoTool", "LVL1::gFEXJetAlgo", "Tool that runs the gFEX jet algorithm"}
private

Definition at line 113 of file gFEXSim.h.

◆ m_gFEXJwoJAlgoTool

ToolHandle<IgFEXJwoJAlgo> LVL1::gFEXSim::m_gFEXJwoJAlgoTool {this, "gFEXJwoJAlgoTool", "LVL1::gFEXJwoJAlgo", "Tool that runs the gFEX Jets without Jets algorithm"}
private

Definition at line 115 of file gFEXSim.h.

◆ m_gJetTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gJetTobWords
private

Definition at line 91 of file gFEXSim.h.

◆ m_gMETComponentsJwojTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gMETComponentsJwojTobWords
private

Definition at line 95 of file gFEXSim.h.

◆ m_gMETComponentsNoiseCutTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gMETComponentsNoiseCutTobWords
private

Definition at line 101 of file gFEXSim.h.

◆ m_gMETComponentsRmsTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gMETComponentsRmsTobWords
private

Definition at line 103 of file gFEXSim.h.

◆ m_gMHTComponentsJwojTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gMHTComponentsJwojTobWords
private

Definition at line 97 of file gFEXSim.h.

◆ m_gMSTComponentsJwojTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gMSTComponentsJwojTobWords
private

Definition at line 99 of file gFEXSim.h.

◆ m_gRhoTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gRhoTobWords
private

Definition at line 87 of file gFEXSim.h.

◆ m_gScalarEJwojTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gScalarEJwojTobWords
private

Definition at line 93 of file gFEXSim.h.

◆ m_gScalarENoiseCutTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gScalarENoiseCutTobWords
private

Definition at line 105 of file gFEXSim.h.

◆ m_gScalarERmsTobWords

std::vector<uint32_t> LVL1::gFEXSim::m_gScalarERmsTobWords
private

Definition at line 107 of file gFEXSim.h.

◆ m_gTowersIDs

gTowersIDs LVL1::gFEXSim::m_gTowersIDs
private

Internal data.

Definition at line 83 of file gFEXSim.h.

◆ m_gTowersWriteKey

SG::WriteHandleKey< xAOD::gFexTowerContainer > LVL1::gFEXSim::m_gTowersWriteKey {this,"gTowersWriteKey" ,"L1_gFexTriggerTowers", "Write gFexEDM Trigger Tower container"}
private

Definition at line 121 of file gFEXSim.h.

◆ m_l1MenuKey

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

Definition at line 119 of file gFEXSim.h.

◆ m_sCellsCollection

CaloCellContainer LVL1::gFEXSim::m_sCellsCollection
private

Definition at line 85 of file gFEXSim.h.

◆ 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:
LVL1::FEXAlgoSpaceDefs::forwardNphi
constexpr static int forwardNphi
Definition: FEXAlgoSpaceDefs.h:149
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LVL1::FEXAlgoSpaceDefs::centralNphi
constexpr static int centralNphi
Definition: FEXAlgoSpaceDefs.h:148
LVL1::gFEXSim::m_gMETComponentsNoiseCutTobWords
std::vector< uint32_t > m_gMETComponentsNoiseCutTobWords
Definition: gFEXSim.h:101
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
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::gFEXSim::m_gJetTobWords
std::vector< uint32_t > m_gJetTobWords
Definition: gFEXSim.h:91
LVL1::gFEXSim::m_l1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition: gFEXSim.h:119
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
LVL1::gFEXSim::m_gScalarERmsTobWords
std::vector< uint32_t > m_gScalarERmsTobWords
Definition: gFEXSim.h:107
beamspotnt.cols
list cols
Definition: bin/beamspotnt.py:1114
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
LVL1::gFEXSim::m_gRhoTobWords
std::vector< uint32_t > m_gRhoTobWords
Definition: gFEXSim.h:87
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
LVL1::FEXAlgoSpaceDefs::jetThr
constexpr static int jetThr
Definition: FEXAlgoSpaceDefs.h:160
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::FEXAlgoSpaceDefs::ENABLE_PUC
constexpr static bool ENABLE_PUC
Definition: FEXAlgoSpaceDefs.h:167
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
beamspotnt.rows
list rows
Definition: bin/beamspotnt.py:1112
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
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
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
LVL1::gFEXSim::m_gMHTComponentsJwojTobWords
std::vector< uint32_t > m_gMHTComponentsJwojTobWords
Definition: gFEXSim.h:97
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
LVL1::gTowersCentral
std::array< std::array< int, 12 >, 32 > gTowersCentral
Definition: IgFEXaltMetAlgo.h:19
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
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
LVL1::gFEXSim::m_gFEXFPGA_Tool
ToolHandle< IgFEXFPGA > m_gFEXFPGA_Tool
Definition: gFEXSim.h:111
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
LVL1::gFEXSim::m_gBlockTobWords
std::vector< uint32_t > m_gBlockTobWords
Definition: gFEXSim.h:89
a
TList * a
Definition: liststreamerinfos.cxx:10
h
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
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
LVL1::gTowersForward
std::array< std::array< int, 8 >, 32 > gTowersForward
Definition: IgFEXaltMetAlgo.h:20
LVL1::gFEXSim::m_gMETComponentsJwojTobWords
std::vector< uint32_t > m_gMETComponentsJwojTobWords
Definition: gFEXSim.h:95
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LVL1::gTowersType
std::array< std::array< int, 12 >, 32 > gTowersType
Definition: IgFEXFPGA.h:25
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
calibdata.copy
bool copy
Definition: calibdata.py:27
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
LVL1::gFEXSim::m_gScalarEJwojTobWords
std::vector< uint32_t > m_gScalarEJwojTobWords
Definition: gFEXSim.h:93