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::L1EtTools Class Reference

#include <L1EtTools.h>

Inheritance diagram for LVL1::L1EtTools:
Collaboration diagram for LVL1::L1EtTools:

Public Member Functions

 L1EtTools (const std::string &, const std::string &, const IInterface *)
 
virtual ~L1EtTools ()
 default destructor More...
 
virtual StatusCode initialize ()
 standard Athena-Algorithm method More...
 
virtual StatusCode finalize ()
 standard Athena-Algorithm method More...
 
virtual void moduleSums (const xAOD::JetElementContainer *jetelements, DataVector< ModuleEnergy > *modules, int slice=-1) const
 Returns a vector of LVL1::ModuleEnergy objects. More...
 
virtual void moduleSums (const xAOD::JetElementMap_t *jemap, DataVector< ModuleEnergy > *modules, int slice=-1) const
 
virtual void crateSums (const DataVector< ModuleEnergy > *modules, DataVector< CrateEnergy > *crates, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 Returns a vector of LVL1::CrateEnergy objects. More...
 
virtual void crateSums (const DataVector< EnergyCMXData > *modules, DataVector< CrateEnergy > *crates, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 
virtual void crateSums (const xAOD::JetElementContainer *jetelements, DataVector< CrateEnergy > *crates, int slice=-1, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 Directly obtain LVL1::CrateEnergy objects. More...
 
virtual void crateSums (const xAOD::JetElementMap_t *jemap, DataVector< CrateEnergy > *crates, int slice=-1, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 
virtual SystemEnergy systemSums (const DataVector< CrateEnergy > *crates) const
 Returns a LVL1::SystemEnergy object. More...
 
virtual SystemEnergy systemSums (const xAOD::JetElementContainer *jetelements, int slice=-1, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 Directly obtain a LVL1::SystemEnergy object. More...
 
virtual SystemEnergy systemSums (const xAOD::JetElementMap_t *jemap, int slice=-1, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
 
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

void mapJetElements (const xAOD::JetElementContainer *jetelements, xAOD::JetElementMap_t *m_jeContainer) const
 Return a map of JetElements. More...
 
void fillMaskedOutMap ()
 Fill masked out JetElements map. More...
 
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

int m_jetElementThresholdEtSum
 Thresholds to apply to JetElements in EtSum and EtMiss triggers. More...
 
int m_jetElementThresholdEtMiss
 
std::map< int, int > * m_TEMasks
 Map of JetElements masked out of TE trigger. More...
 
SG::ReadHandleKey< TrigConf::L1Menum_L1MenuKey { this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu" }
 
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

This is which allows the user to simulate the ETmiss and ETsum triggers outside the TrigT1Calo package.

Individual stages of the ET trigger chain (module, crate, system) can be run separately and their results analysed. Interfaces for running the later stages without needing to know about the earlier ones are also provided.

Useage:

To look at the intermediate results, run 3 tools in sequence: L1EtTools->moduleSums(DataVector<ModuleEnergy>); L1EtTools->crateSums(DataVector<CrateEnergy>, DataVector<ModuleEnergy>); SystemEnergy L1EtTools->systemSums(DataVector<CrateEnergy>);

Where the ModuleEnergy, CrateEnergy and SystemEnergy objects gives access to the results at each stage (including, for the SystemEnergy, ETmiss/ETsum hits and RoI words).

To just access Crate or System results: L1EtTools->crateSums(DataVector<CrateEnergy>); or SystemEnergy L1EtTools->systemSum();

Note that these still run the earlier stages internally

Author
Alan Watson Alan..nosp@m.Wats.nosp@m.on@ce.nosp@m.rn.c.nosp@m.h

Definition at line 62 of file L1EtTools.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

◆ L1EtTools()

LVL1::L1EtTools::L1EtTools ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 19 of file L1EtTools.cxx.

22  :
23  AthAlgTool(t,n,p),
24  m_TEMasks(0)
25 {
26  declareInterface<IL1EtTools>(this);
27 
28  // Allow user to specify JetElement thresholds
31  declareProperty( "EtSumJEThresh", m_jetElementThresholdEtSum );
32  declareProperty( "EtMissJEThresh", m_jetElementThresholdEtMiss );
33 
34 }

◆ ~L1EtTools()

LVL1::L1EtTools::~L1EtTools ( )
virtual

default destructor

Definition at line 38 of file L1EtTools.cxx.

39 {
40 }

Member Function Documentation

◆ crateSums() [1/4]

void LVL1::L1EtTools::crateSums ( const DataVector< EnergyCMXData > *  modules,
DataVector< CrateEnergy > *  crates,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Implements LVL1::IL1EtTools.

Definition at line 143 of file L1EtTools.cxx.

143  {
144 
145  crates->clear();
146  // Loop over crates and create set of CrateEnergy objects
147  for (int crate = 0; crate < 2; ++crate) {
148  crates->push_back( new CrateEnergy(crate, modules, maskXE, maskTE, restricted) );
149  }
150 
151  return;
152 }

◆ crateSums() [2/4]

void LVL1::L1EtTools::crateSums ( const DataVector< ModuleEnergy > *  modules,
DataVector< CrateEnergy > *  crates,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Returns a vector of LVL1::CrateEnergy objects.

Implements LVL1::IL1EtTools.

Definition at line 130 of file L1EtTools.cxx.

130  {
131 
132  crates->clear();
133  // Loop over crates and create set of CrateEnergy objects
134  for (int crate = 0; crate < 2; ++crate) {
135  crates->push_back( new CrateEnergy(crate, modules, maskXE, maskTE, restricted) );
136  }
137 
138  return;
139 }

◆ crateSums() [3/4]

void LVL1::L1EtTools::crateSums ( const xAOD::JetElementContainer jetelements,
DataVector< CrateEnergy > *  crates,
int  slice = -1,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Directly obtain LVL1::CrateEnergy objects.

Implements LVL1::IL1EtTools.

Definition at line 167 of file L1EtTools.cxx.

168  {
169 
170  crates->clear();
171 
172  // First need to form module sums
174 
175  moduleSums(jetelements, modules, slice);
176 
177  // Loop over crates and create set of CrateEnergy objects
178  for (int crate = 0; crate < 2; ++crate) {
179  crates->push_back( new CrateEnergy(crate, modules, maskXE, maskTE, restricted) );
180  }
181 
182  delete modules;
183 
184  return;
185 }

◆ crateSums() [4/4]

void LVL1::L1EtTools::crateSums ( const xAOD::JetElementMap_t jemap,
DataVector< CrateEnergy > *  crates,
int  slice = -1,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Implements LVL1::IL1EtTools.

Definition at line 189 of file L1EtTools.cxx.

190  {
191 
192  crates->clear();
193 
194  // First need to form module sums
196 
197  moduleSums(jemap, modules, slice);
198 
199  // Loop over crates and create set of CrateEnergy objects
200  for (int crate = 0; crate < 2; ++crate) {
201  crates->push_back( new CrateEnergy(crate, modules, maskXE, maskTE, restricted) );
202  }
203 
204  delete modules;
205 
206  return;
207 }

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

◆ 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

◆ fillMaskedOutMap()

void LVL1::L1EtTools::fillMaskedOutMap ( )
private

Fill masked out JetElements map.

◆ finalize()

StatusCode LVL1::L1EtTools::finalize ( )
virtual

standard Athena-Algorithm method

Definition at line 54 of file L1EtTools.cxx.

55 {
56  delete m_TEMasks;
57  m_TEMasks = 0;
58  return StatusCode::SUCCESS;
59 }

◆ initialize()

StatusCode LVL1::L1EtTools::initialize ( )
virtual

standard Athena-Algorithm method

Definition at line 45 of file L1EtTools.cxx.

46 {
48 
49  return StatusCode::SUCCESS;
50 }

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

Definition at line 54 of file IL1EtTools.h.

55  {
56  return IID_IL1EtTools;
57  }

◆ mapJetElements()

void LVL1::L1EtTools::mapJetElements ( const xAOD::JetElementContainer jetelements,
xAOD::JetElementMap_t m_jeContainer 
) const
private

Return a map of JetElements.

Definition at line 63 of file L1EtTools.cxx.

64  {
65 
66  // Clear map before filling
67  jeContainer->clear();
68 
69  // Step over JEs and put into map
71  JetElementKey testKey(0.0, 0.0);
72 
73  for( it = jetelements->begin(); it < jetelements->end(); ++it ){
74  double jetElementPhi=(*it)->phi();
75  double jetElementEta=(*it)->eta();
76  int key = testKey.jeKey(jetElementPhi,jetElementEta);
77  xAOD::JetElementMap_t::iterator test=jeContainer->find( key );
78  if (test == jeContainer->end()){
79  // add it to the map
80  jeContainer->insert(xAOD::JetElementMap_t::value_type(key,*it)); //and put it in the map.
81  }
82  else{
83  ATH_MSG_ERROR( "JetElement already in map (shouldn't happen!) ");
84  }
85  }//endfor
86 
87 }

◆ moduleSums() [1/2]

void LVL1::L1EtTools::moduleSums ( const xAOD::JetElementContainer jetelements,
DataVector< ModuleEnergy > *  modules,
int  slice = -1 
) const
virtual

Returns a vector of LVL1::ModuleEnergy objects.

Implements LVL1::IL1EtTools.

Definition at line 91 of file L1EtTools.cxx.

92  {
93 
94  modules->clear();
95 
96  // Need map of JetElements as input to ModuleEnergy class creator
98  mapJetElements(jetelements, jeContainer);
99 
100  // Loop over crates, modules and create set of ModuleEnergy objects
101  for (int crate = 0; crate < 2; ++crate) {
102  for (int module = 0; module < 16; ++module) {
103  modules->push_back( new ModuleEnergy(jeContainer, crate, module, m_jetElementThresholdEtSum, m_jetElementThresholdEtMiss, m_TEMasks, slice) );
104  }
105  }
106 
107  // Clean up after ourselves
108  delete jeContainer;
109 
110 }

◆ moduleSums() [2/2]

void LVL1::L1EtTools::moduleSums ( const xAOD::JetElementMap_t jemap,
DataVector< ModuleEnergy > *  modules,
int  slice = -1 
) const
virtual

Implements LVL1::IL1EtTools.

Definition at line 114 of file L1EtTools.cxx.

115  {
116 
117  modules->clear();
118 
119  // Loop over crates, modules and create set of ModuleEnergy objects
120  for (int crate = 0; crate < 2; ++crate) {
121  for (int module = 0; module < 16; ++module) {
122  modules->push_back( new ModuleEnergy(jemap, crate, module, m_jetElementThresholdEtSum, m_jetElementThresholdEtMiss, m_TEMasks, slice) );
123  }
124  }
125 
126 }

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

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

◆ systemSums() [1/3]

SystemEnergy LVL1::L1EtTools::systemSums ( const DataVector< CrateEnergy > *  crates) const
virtual

Returns a LVL1::SystemEnergy object.

Implements LVL1::IL1EtTools.

Definition at line 156 of file L1EtTools.cxx.

156  {
157 
158  // This class will take crate sums and form system sums, apply thresholds, etc
159  auto l1Menu = SG::makeHandle( m_L1MenuKey );
160  SystemEnergy result(crates, &(*l1Menu));
161 
162  return result ;
163 }

◆ systemSums() [2/3]

SystemEnergy LVL1::L1EtTools::systemSums ( const xAOD::JetElementContainer jetelements,
int  slice = -1,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Directly obtain a LVL1::SystemEnergy object.

Implements LVL1::IL1EtTools.

Definition at line 211 of file L1EtTools.cxx.

211  {
212 
213  // First need to form modules and crates
215 
216  crateSums(jetelements, crates, slice, maskXE, maskTE, restricted);
217 
218  // Then do the final summing, thresholding etc
219  auto l1Menu = SG::makeHandle( m_L1MenuKey );
220  SystemEnergy result(crates, &(*l1Menu));
221 
222  delete crates;
223  return result;
224 }

◆ systemSums() [3/3]

SystemEnergy LVL1::L1EtTools::systemSums ( const xAOD::JetElementMap_t jemap,
int  slice = -1,
uint32_t  maskXE = 0xff,
uint32_t  maskTE = 0xff,
bool  restricted = false 
) const
virtual

Implements LVL1::IL1EtTools.

Definition at line 228 of file L1EtTools.cxx.

228  {
229 
230  // First need to form modules and crates
232 
233  crateSums(jemap, crates, slice, maskXE, maskTE, restricted);
234 
235  // Then do the final summing, thresholding etc
236  auto l1Menu = SG::makeHandle( m_L1MenuKey );
237  SystemEnergy result(crates, &(*l1Menu));
238 
239  delete crates;
240  return result;
241 }

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

int LVL1::L1EtTools::m_jetElementThresholdEtMiss
private

Definition at line 106 of file L1EtTools.h.

◆ m_jetElementThresholdEtSum

int LVL1::L1EtTools::m_jetElementThresholdEtSum
private

Thresholds to apply to JetElements in EtSum and EtMiss triggers.

Definition at line 105 of file L1EtTools.h.

◆ m_L1MenuKey

SG::ReadHandleKey<TrigConf::L1Menu> LVL1::L1EtTools::m_L1MenuKey { this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu" }
private

Definition at line 110 of file L1EtTools.h.

◆ m_TEMasks

std::map<int, int>* LVL1::L1EtTools::m_TEMasks
private

Map of JetElements masked out of TE trigger.

Definition at line 109 of file L1EtTools.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:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
skel.it
it
Definition: skel.GENtoEVGEN.py:423
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
LVL1::L1EtTools::m_TEMasks
std::map< int, int > * m_TEMasks
Map of JetElements masked out of TE trigger.
Definition: L1EtTools.h:109
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:144
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LVL1::L1EtTools::m_jetElementThresholdEtSum
int m_jetElementThresholdEtSum
Thresholds to apply to JetElements in EtSum and EtMiss triggers.
Definition: L1EtTools.h:105
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:269
python.PyAthena.module
module
Definition: PyAthena.py:134
LVL1::L1EtTools::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition: L1EtTools.h:110
AthCommonDataStore
Definition: AthCommonDataStore.h:52
xAOD::JetElementMap_t
std::map< int, const JetElement * > JetElementMap_t
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JetElement.h:18
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
LVL1::L1EtTools::m_jetElementThresholdEtMiss
int m_jetElementThresholdEtMiss
Definition: L1EtTools.h:106
beamspotman.n
n
Definition: beamspotman.py:731
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
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
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
DataVector::clear
void clear()
Erase all the elements in the collection.
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
a
TList * a
Definition: liststreamerinfos.cxx:10
h
LVL1::L1EtTools::mapJetElements
void mapJetElements(const xAOD::JetElementContainer *jetelements, xAOD::JetElementMap_t *m_jeContainer) const
Return a map of JetElements.
Definition: L1EtTools.cxx:63
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LVL1::L1EtTools::crateSums
virtual void crateSums(const DataVector< ModuleEnergy > *modules, DataVector< CrateEnergy > *crates, uint32_t maskXE=0xff, uint32_t maskTE=0xff, bool restricted=false) const
Returns a vector of LVL1::CrateEnergy objects.
Definition: L1EtTools.cxx:130
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
LVL1::L1EtTools::moduleSums
virtual void moduleSums(const xAOD::JetElementContainer *jetelements, DataVector< ModuleEnergy > *modules, int slice=-1) const
Returns a vector of LVL1::ModuleEnergy objects.
Definition: L1EtTools.cxx:91
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37