ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
EFTrackingDataStreamLoaderAlgorithm Class Reference

#include <EFTrackingDataStreamLoaderAlgorithm.h>

Inheritance diagram for EFTrackingDataStreamLoaderAlgorithm:
Collaboration diagram for EFTrackingDataStreamLoaderAlgorithm:

Public Member Functions

 EFTrackingDataStreamLoaderAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual StatusCode initialize () override final
 
virtual StatusCode execute (const EventContext &ctx) const override final
 
virtual StatusCode finalize () override final
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual bool isClonable () const override
 Specify if the algorithm is clonable. More...
 
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
 
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
virtual bool filterPassed (const EventContext &ctx) const
 
virtual void setFilterPassed (bool state, const EventContext &ctx) 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 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, V, H > &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
 

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

StatusCode readFile (const std::string &path, const auto &fileReadFunction, const auto &endOfBlockCondition, const int32_t hitCountDown, std::vector< std::vector< uint64_t >> &events)
 
StatusCode writeFile (const std::string &path, const auto &fileWriteFunction, const auto &endOfBlockCondition, const int32_t hitCountDown, const std::vector< std::vector< uint64_t >> &events)
 
DataFormatAction dataFormatStateMachine (const uint64_t word, const auto &endOfBlockCondition, const int32_t hitCountDown, FileState &fileState)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

Gaudi::Property< std::size_t > m_bufferSize
 
Gaudi::Property< std::vector< std::string > > m_GHITZTxtInputPaths
 
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_GHITZTxtInputKeys
 
Gaudi::Property< std::vector< std::string > > m_GHITZTxtOutputPaths
 
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_GHITZTxtOutputKeys
 
Gaudi::Property< std::vector< std::string > > m_GHITZBinInputPaths
 
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_GHITZBinInputKeys
 
Gaudi::Property< std::vector< std::string > > m_GHITZBinOutputPaths
 
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_GHITZBinOutputKeys
 
Gaudi::Property< std::vector< std::string > > m_CLUSTERTxtInputPaths
 
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_CLUSTERTxtInputKeys
 
Gaudi::Property< std::vector< std::string > > m_CLUSTERTxtOutputPaths
 
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_CLUSTERTxtOutputKeys
 
Gaudi::Property< std::vector< std::string > > m_CLUSTERBinInputPaths
 
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_CLUSTERBinInputKeys
 
Gaudi::Property< std::vector< std::string > > m_CLUSTERBinOutputPaths
 
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_CLUSTERBinOutputKeys
 
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZTxtInputEvents {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZTxtOutputEvents ATLAS_THREAD_SAFE {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZBinInputEvents {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZBinOutputEvents ATLAS_THREAD_SAFE {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERTxtInputEvents {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERTxtOutputEvents ATLAS_THREAD_SAFE {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERBinInputEvents {}
 
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERBinOutputEvents ATLAS_THREAD_SAFE {}
 
std::mutex m_mutex ATLAS_THREAD_SAFE
 
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
 
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

Definition at line 32 of file EFTrackingDataStreamLoaderAlgorithm.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ EFTrackingDataStreamLoaderAlgorithm()

EFTrackingDataStreamLoaderAlgorithm::EFTrackingDataStreamLoaderAlgorithm ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 13 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

16  : AthReentrantAlgorithm(name, pSvcLocator)
17 {}

Member Function Documentation

◆ cardinality()

unsigned int AthCommonReentrantAlgorithm< Gaudi::Algorithm >::cardinality
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Override this to return 0 for reentrant algorithms.

Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.

64 {
65  return 0;
66 }

◆ dataFormatStateMachine()

DataFormatAction EFTrackingDataStreamLoaderAlgorithm::dataFormatStateMachine ( const uint64_t  word,
const auto &  endOfBlockCondition,
const int32_t  hitCountDown,
FileState &  fileState 
)
private

Definition at line 406 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

411  {
413  "\ndataFormatStateMachine:\n" <<
414  "\tword: " << std::hex << word << std::dec << "\n" <<
415  "\tfileState.countDown: " << fileState.countDown << "\n" <<
416  "\tfileState.dataFormatState: " << static_cast<int>(fileState.dataFormatState)
417  );
418 
419  if (fileState.countDown != 0) {
420  fileState = {
421  .countDown = fileState.countDown - 1,
422  .dataFormatState = fileState.dataFormatState,
423  };
424 
425  return DataFormatAction::KEEP;
426  }
427  else if (
428  fileState.dataFormatState == FileState::DataFormatState::FOOTER &&
429  fileState.countDown == 0 &&
431  ) {
432  fileState = {
433  .countDown = 2,
434  .dataFormatState = FileState::DataFormatState::HEADER,
435  };
436 
437  return DataFormatAction::NEW_EVENT;
438  }
439  else if (
440  fileState.dataFormatState == FileState::DataFormatState::FOOTER &&
441  fileState.countDown == 0
442  ) {
443  fileState = {
444  .countDown = 0,
445  .dataFormatState = FileState::DataFormatState::FOOTER,
446  };
447 
448  return DataFormatAction::DISCARD;
449  }
450  else if (
451  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
452  fileState.countDown == 0 &&
454  ) {
455  fileState = {
456  .countDown = 2,
457  .dataFormatState = FileState::DataFormatState::FOOTER,
458  };
459 
460  return DataFormatAction::KEEP;
461  }
462  else if (
463  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
464  fileState.countDown == 0 &&
466  ) {
467  fileState = {
468  .countDown = 0,
469  .dataFormatState = FileState::DataFormatState::HEADER,
470  };
471 
472  return DataFormatAction::KEEP;
473  }
474  else if (
475  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
476  fileState.countDown == 0 &&
478  ) {
479  fileState = {
480  .countDown = 0,
481  .dataFormatState = FileState::DataFormatState::HITS,
482  };
483 
484  return DataFormatAction::KEEP;
485  }
486  else if (
487  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
488  fileState.countDown == 0 &&
490  ) {
491  fileState = {
492  .countDown = 2,
493  .dataFormatState = FileState::DataFormatState::HITS,
494  };
495 
496  return DataFormatAction::KEEP;
497  }
498  else if (
499  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
500  fileState.countDown == 0 &&
502  ) {
503  fileState = {
504  .countDown = 1,
505  .dataFormatState = FileState::DataFormatState::HITS,
506  };
507 
508  return DataFormatAction::KEEP;
509  }
510  else if (
511  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
512  fileState.countDown == 0 &&
514  ) {
515  fileState = {
516  .countDown = 8,
517  .dataFormatState = FileState::DataFormatState::HITS,
518  };
519 
520  return DataFormatAction::KEEP;
521  }
522  else if (
523  fileState.dataFormatState == FileState::DataFormatState::HEADER &&
524  fileState.countDown == 0 &&
526  ) {
527  fileState = {
528  .countDown = 9,
529  .dataFormatState = FileState::DataFormatState::HITS,
530  };
531 
532  return DataFormatAction::KEEP;
533  }
534  else if (
535  fileState.dataFormatState == FileState::DataFormatState::HITS &&
536  fileState.countDown == 0 &&
537  endOfBlockCondition(word)
538  ) {
539  fileState = {
540  .countDown = hitCountDown,
541  .dataFormatState = FileState::DataFormatState::HEADER,
542  };
543 
544  return DataFormatAction::KEEP;
545  }
546  else if (
547  fileState.dataFormatState == FileState::DataFormatState::HITS &&
548  fileState.countDown == 0
549  ) {
550  fileState = {
551  .countDown = hitCountDown,
552  .dataFormatState = FileState::DataFormatState::HITS,
553  };
554 
555  return DataFormatAction::KEEP;
556  }
557 
559 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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< Gaudi::Algorithm > >::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  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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()

StatusCode EFTrackingDataStreamLoaderAlgorithm::execute ( const EventContext &  ctx) const
finaloverridevirtual

Definition at line 115 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

115  {
117  for (std::size_t index = 0; index < m_GHITZTxtInputKeys.size(); index++) {
118  ATH_CHECK(ctx.evt() < m_GHITZTxtInputEvents.at(index).size());
120  ATH_CHECK(GHITZTxtInputHandle.record(std::make_unique<std::vector<uint64_t>>(
121  m_GHITZTxtInputEvents.at(index).at(ctx.evt())
122  )));
123  }
124 
126  for (std::size_t index = 0; index < m_GHITZBinInputKeys.size(); index++) {
127  ATH_CHECK(ctx.evt() < m_GHITZBinInputEvents.at(index).size());
129  ATH_CHECK(GHITZBinInputHandle.record(std::make_unique<std::vector<uint64_t>>(
130  m_GHITZBinInputEvents.at(index).at(ctx.evt())
131  )));
132  }
133 
135  for (std::size_t index = 0; index < m_CLUSTERTxtInputKeys.size(); index++) {
136  ATH_CHECK(ctx.evt() < m_CLUSTERTxtInputEvents.at(index).size());
138  ATH_CHECK(CLUSTERTxtInputHandle.record(std::make_unique<std::vector<uint64_t>>(
139  m_CLUSTERTxtInputEvents.at(index).at(ctx.evt())
140  )));
141  }
142 
144  for (std::size_t index = 0; index < m_CLUSTERBinInputKeys.size(); index++) {
145  ATH_CHECK(ctx.evt() < m_CLUSTERBinInputEvents.at(index).size());
147  ATH_CHECK(CLUSTERBinInputHandle.record(std::make_unique<std::vector<uint64_t>>(
148  m_CLUSTERBinInputEvents.at(index).at(ctx.evt())
149  )));
150  }
151 
152  {
153  std::lock_guard lock(m_mutex);
154  for (std::size_t index = 0; index < m_GHITZTxtOutputKeys.size(); index++) {
155  if (m_GHITZTxtOutputEvents.at(index).size() < (ctx.evt() + 1)) {
156  m_GHITZTxtOutputEvents.at(index).resize(ctx.evt() + 1);
157  }
158 
159  ATH_CHECK(ctx.evt() < m_GHITZTxtOutputEvents.at(index).size());
161  m_GHITZTxtOutputEvents.at(index).at(ctx.evt()) = *GHITZTxtOutputHandle;
162  }
163 
164  for (std::size_t index = 0; index < m_GHITZBinOutputKeys.size(); index++) {
165  if (m_GHITZBinOutputEvents.at(index).size() < (ctx.evt() + 1)) {
166  m_GHITZBinOutputEvents.at(index).resize(ctx.evt() + 1);
167  }
168 
169  ATH_CHECK(ctx.evt() < m_GHITZBinOutputEvents.at(index).size());
171  m_GHITZBinOutputEvents.at(index).at(ctx.evt()) = *GHITZBinOutputHandle;
172  }
173 
174  for (std::size_t index = 0; index < m_CLUSTERTxtOutputKeys.size(); index++) {
175  if (m_CLUSTERTxtOutputEvents.at(index).size() < (ctx.evt() + 1)) {
176  m_CLUSTERTxtOutputEvents.at(index).resize(ctx.evt() + 1);
177  }
178 
179  ATH_CHECK(ctx.evt() < m_CLUSTERTxtOutputEvents.at(index).size());
181  m_CLUSTERTxtOutputEvents.at(index).at(ctx.evt()) = *CLUSTERTxtOutputHandle;
182  }
183 
184  for (std::size_t index = 0; index < m_CLUSTERBinOutputKeys.size(); index++) {
185  if (m_CLUSTERBinOutputEvents.at(index).size() < (ctx.evt() + 1)) {
186  m_CLUSTERBinOutputEvents.at(index).resize(ctx.evt() + 1);
187  }
188 
189  ATH_CHECK(ctx.evt() < m_CLUSTERBinOutputEvents.at(index).size());
191  m_CLUSTERBinOutputEvents.at(index).at(ctx.evt()) = *CLUSTERBinOutputHandle;
192  }
193  }
194 
195  return StatusCode::SUCCESS;
196 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthCommonReentrantAlgorithm< Gaudi::Algorithm >::extraOutputDeps
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.

90 {
91  // If we didn't find any symlinks to add, just return the collection
92  // from the base class. Otherwise, return the extended collection.
93  if (!m_extendedExtraObjects.empty()) {
95  }
96  return BaseAlg::extraOutputDeps();
97 }

◆ filterPassed()

virtual bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext &  ctx) const
inlinevirtualinherited

Definition at line 96 of file AthCommonReentrantAlgorithm.h.

96  {
97  return execState( ctx ).filterPassed();
98  }

◆ finalize()

StatusCode EFTrackingDataStreamLoaderAlgorithm::finalize ( )
finaloverridevirtual

Definition at line 198 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

198  {
200 
201  for (std::size_t index = 0; index < m_GHITZTxtOutputKeys.size(); index++) {
203  m_GHITZTxtOutputPaths.value().at(index),
204  [](
205  std::ofstream& fileStream,
206  const uint64_t word
207  ) {
208  fileStream << std::format("{:016x}\n", word);
209  },
210  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
211  1,
212  m_GHITZTxtOutputEvents.at(index)
213  ));
214  }
215 
217 
218  for (std::size_t index = 0; index < m_GHITZBinOutputKeys.size(); index++) {
219  //coverity[ARRAY_VS_SINGLETON]
221  m_GHITZBinOutputPaths.value().at(index),
222  [](
223  std::ofstream& fileStream,
224  const uint64_t word
225  ) {
226  fileStream.write(std::bit_cast<char*>(&word), 8);
227  },
228  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
229  1,
230  m_GHITZBinOutputEvents.at(index)
231  ));
232  }
233 
235 
236  for (std::size_t index = 0; index < m_GHITZTxtOutputKeys.size(); index++) {
238  m_GHITZTxtOutputPaths.value().at(index),
239  [](
240  std::ofstream& fileStream,
241  const uint64_t word
242  ) {
243  fileStream << std::format("{:016x}\n", word);
244  },
245  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
246  1,
247  m_GHITZTxtOutputEvents.at(index)
248  ));
249  }
250 
252 
253  for (std::size_t index = 0; index < m_GHITZBinOutputKeys.size(); index++) {
254  //coverity[ARRAY_VS_SINGLETON]
256  m_GHITZBinOutputPaths.value().at(index),
257  [](
258  std::ofstream& fileStream,
259  const uint64_t word
260  ) {
261  fileStream.write(std::bit_cast<char*>(&word), 8);
262  },
263  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
264  1,
265  m_GHITZBinOutputEvents.at(index)
266  ));
267  }
268 
270 
271  for (std::size_t index = 0; index < m_CLUSTERTxtOutputKeys.size(); index++) {
273  m_CLUSTERTxtOutputPaths.value().at(index),
274  [](
275  std::ofstream& fileStream,
276  const uint64_t word
277  ) {
278  fileStream << std::format("{:016x}\n", word);
279  },
280  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_STRIP_CLUSTER(word).last; },
281  0,
282  m_CLUSTERTxtOutputEvents.at(index)
283  ));
284  }
285 
287 
288  for (std::size_t index = 0; index < m_CLUSTERBinOutputKeys.size(); index++) {
289  //coverity[ARRAY_VS_SINGLETON]
291  m_CLUSTERBinOutputPaths.value().at(index),
292  [](
293  std::ofstream& fileStream,
294  const uint64_t word
295  ) {
296  fileStream.write(std::bit_cast<char*>(&word), 8);
297  },
298  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_STRIP_CLUSTER(word).last; },
299  0,
300  m_CLUSTERBinOutputEvents.at(index)
301  ));
302  }
303 
304  return StatusCode::SUCCESS;
305 }

◆ initialize()

StatusCode EFTrackingDataStreamLoaderAlgorithm::initialize ( )
finaloverridevirtual

Definition at line 19 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

19  {
20  ATH_CHECK(m_GHITZTxtInputKeys.initialize());
21  ATH_CHECK(m_GHITZTxtOutputKeys.initialize());
23 
24  for (std::size_t index = 0; index < m_GHITZTxtInputKeys.size(); index++) {
25  m_GHITZTxtInputEvents.push_back({});
27  m_GHITZTxtInputPaths.value().at(index),
28  [](std::ifstream& fileStream) {
29  std::string line{};
30  std::getline(fileStream, line);
31  return std::stoul(line, nullptr, 16);
32  },
33  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
34  1,
36  ));
37  }
38 
39  for (std::size_t index = 0; index < m_GHITZTxtOutputKeys.size(); index++) {
40  m_GHITZTxtOutputEvents.push_back({});
41  }
42 
43  ATH_CHECK(m_GHITZBinInputKeys.initialize());
44  ATH_CHECK(m_GHITZBinOutputKeys.initialize());
46 
47  for (std::size_t index = 0; index < m_GHITZBinInputKeys.size(); index++) {
48  m_GHITZBinInputEvents.push_back({});
50  m_GHITZBinInputPaths.value().at(index),
51  [](std::ifstream& fileStream) {
52  std::array<char, 8> line;
53  fileStream.read(line.data(), 8);
54  return *std::bit_cast<uint64_t*>(line.data());
55  },
56  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_GHITZ_w1(word).last; },
57  1,
59  ));
60  }
61 
62  for (std::size_t index = 0; index < m_GHITZBinOutputKeys.size(); index++) {
63  m_GHITZBinOutputEvents.push_back({});
64  }
65 
66  ATH_CHECK(m_CLUSTERTxtInputKeys.initialize());
67  ATH_CHECK(m_CLUSTERTxtOutputKeys.initialize());
69 
70  for (std::size_t index = 0; index < m_CLUSTERTxtInputKeys.size(); index++) {
71  m_CLUSTERTxtInputEvents.push_back({});
73  m_CLUSTERTxtInputPaths.value().at(index),
74  [](std::ifstream& fileStream) {
75  std::string line{};
76  std::getline(fileStream, line);
77  return std::stoul(line, nullptr, 16);
78  },
80  0,
82  ));
83  }
84 
85  for (std::size_t index = 0; index < m_CLUSTERTxtOutputKeys.size(); index++) {
86  m_CLUSTERTxtOutputEvents.push_back({});
87  }
88 
89  ATH_CHECK(m_CLUSTERBinInputKeys.initialize());
90  ATH_CHECK(m_CLUSTERBinOutputKeys.initialize());
92 
93  for (std::size_t index = 0; index < m_CLUSTERBinInputKeys.size(); index++) {
94  m_CLUSTERBinInputEvents.push_back({});
96  m_CLUSTERBinInputPaths.value().at(index),
97  [](std::ifstream& fileStream) {
98  std::array<char, 8> line;
99  fileStream.read(line.data(), 8);
100  return *std::bit_cast<uint64_t*>(line.data());
101  },
102  [](const uint64_t word) { return FPGADataFormatUtilities::get_bitfields_STRIP_CLUSTER(word).last; },
103  0,
105  ));
106  }
107 
108  for (std::size_t index = 0; index < m_CLUSTERBinOutputKeys.size(); index++) {
109  m_CLUSTERBinOutputEvents.push_back({});
110  }
111 
112  return StatusCode::SUCCESS;
113 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ isClonable()

bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::isClonable
overridevirtualinherited

Specify if the algorithm is clonable.

Reentrant algorithms are clonable.

Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.

52 {
53  // Reentrant algorithms are clonable.
54  return true;
55 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::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< Gaudi::Algorithm >::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< Gaudi::Algorithm > >::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.

◆ readFile()

StatusCode EFTrackingDataStreamLoaderAlgorithm::readFile ( const std::string &  path,
const auto &  fileReadFunction,
const auto &  endOfBlockCondition,
const int32_t  hitCountDown,
std::vector< std::vector< uint64_t >> &  events 
)
private

Definition at line 307 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

313  {
315  "\nreadFile:\n" <<
316  "\tpath: " << path << "\n"
317  );
318 
319  std::ifstream fileStream(path, std::ios::binary);
320  ATH_CHECK(fileStream.is_open());
321 
322  FileState fileState{};
323 
324  while (fileStream.peek() != EOF) {
325  const uint64_t word = fileReadFunction(fileStream);
326  DataFormatAction action = dataFormatStateMachine(
327  word,
328  endOfBlockCondition,
329  hitCountDown,
330  fileState
331  );
332 
333  if (action == DataFormatAction::KEEP) {
334  events.back().push_back(word);
335  }
336  else if (action == DataFormatAction::NEW_EVENT) {
337  events.push_back({word});
338  }
339  else {
341  ATH_CHECK(action == DataFormatAction::DISCARD);
342  }
343  }
344 
345  ATH_CHECK(fileState.dataFormatState == FileState::DataFormatState::FOOTER);
346  ATH_CHECK(fileState.countDown == 0);
347 
348  return StatusCode::SUCCESS;
349 }

◆ 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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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  }

◆ setFilterPassed()

virtual void AthCommonReentrantAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool  state,
const EventContext &  ctx 
) const
inlinevirtualinherited

Definition at line 100 of file AthCommonReentrantAlgorithm.h.

100  {
101  execState( ctx ).setFilterPassed( state );
102  }

◆ sysExecute()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext &  ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.

77 {
78  return BaseAlg::sysExecute (ctx);
79 }

◆ sysInitialize()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysInitialize
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in InputMakerBase, and HypoBase.

Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.

107  {
109 
110  if (sc.isFailure()) {
111  return sc;
112  }
113 
114  ServiceHandle<ICondSvc> cs("CondSvc",name());
115  for (auto h : outputHandles()) {
116  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
117  // do this inside the loop so we don't create the CondSvc until needed
118  if ( cs.retrieve().isFailure() ) {
119  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
120  return StatusCode::SUCCESS;
121  }
122  if (cs->regHandle(this,*h).isFailure()) {
123  sc = StatusCode::FAILURE;
124  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
125  << " with CondSvc");
126  }
127  }
128  }
129  return sc;
130 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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  }

◆ writeFile()

StatusCode EFTrackingDataStreamLoaderAlgorithm::writeFile ( const std::string &  path,
const auto &  fileWriteFunction,
const auto &  endOfBlockCondition,
const int32_t  hitCountDown,
const std::vector< std::vector< uint64_t >> &  events 
)
private

Definition at line 351 of file EFTrackingDataStreamLoaderAlgorithm.cxx.

357  {
359  "\nwriteFile:\n" <<
360  "\tpath: " << path << "\n"
361  );
362 
363  std::ofstream fileStream(path, std::ios::binary);
364  ATH_CHECK(fileStream.is_open());
365  FileState fileState{};
366 
367  for (const auto& event : events) {
368  bool firstWord = true;
369 
370  for (const auto& word : event) {
371  DataFormatAction action = dataFormatStateMachine(
372  word,
373  endOfBlockCondition,
374  hitCountDown,
375  fileState
376  );
377 
378  if (
379  action == DataFormatAction::NEW_EVENT &&
380  !firstWord
381  ) {
382  fileWriteFunction(fileStream, word);
383  break;
384  }
385  else if (
386  action == DataFormatAction::NEW_EVENT ||
387  action == DataFormatAction::KEEP
388  ) {
389  fileWriteFunction(fileStream, word);
390  }
391  else {
393  ATH_CHECK(action == DataFormatAction::DISCARD);
394  }
395 
396  firstWord = false;
397  }
398  }
399 
400  ATH_CHECK(fileState.dataFormatState == FileState::DataFormatState::FOOTER);
401  ATH_CHECK(fileState.countDown == 0);
402 
403  return StatusCode::SUCCESS;
404 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/5]

std::vector<std::vector<std::vector<uint64_t> > > m_GHITZTxtOutputEvents EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE {}
mutableprivate

Definition at line 137 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ ATLAS_THREAD_SAFE [2/5]

std::vector<std::vector<std::vector<uint64_t> > > m_GHITZBinOutputEvents EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE {}
mutableprivate

Definition at line 140 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ ATLAS_THREAD_SAFE [3/5]

std::vector<std::vector<std::vector<uint64_t> > > m_CLUSTERTxtOutputEvents EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE {}
mutableprivate

Definition at line 143 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ ATLAS_THREAD_SAFE [4/5]

std::vector<std::vector<std::vector<uint64_t> > > m_CLUSTERBinOutputEvents EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE {}
mutableprivate

Definition at line 146 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ ATLAS_THREAD_SAFE [5/5]

std::mutex m_mutex EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 148 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_bufferSize

Gaudi::Property<std::size_t> EFTrackingDataStreamLoaderAlgorithm::m_bufferSize
private
Initial value:
{
this,
"bufferSize",
8192,
}

Definition at line 34 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERBinInputEvents

std::vector<std::vector<std::vector<uint64_t> > > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputEvents {}
private

Definition at line 145 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERBinInputKeys

SG::WriteHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputKeys
private
Initial value:
{
this,
"CLUSTERBinInputKeys",
{},
}

Definition at line 118 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERBinInputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputPaths
private
Initial value:
{
this,
"CLUSTERBinInputPaths",
{},
}

Definition at line 112 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERBinOutputKeys

SG::ReadHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinOutputKeys
private
Initial value:
{
this,
"CLUSTERBinOutputKeys",
{},
}

Definition at line 130 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERBinOutputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinOutputPaths
private
Initial value:
{
this,
"CLUSTERBinOutputPaths",
{},
}

Definition at line 124 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERTxtInputEvents

std::vector<std::vector<std::vector<uint64_t> > > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputEvents {}
private

Definition at line 142 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERTxtInputKeys

SG::WriteHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputKeys
private
Initial value:
{
this,
"CLUSTERTxtInputKeys",
{},
}

Definition at line 94 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERTxtInputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputPaths
private
Initial value:
{
this,
"CLUSTERTxtInputPaths",
{},
}

Definition at line 88 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERTxtOutputKeys

SG::ReadHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtOutputKeys
private
Initial value:
{
this,
"CLUSTERTxtOutputKeys",
{},
}

Definition at line 106 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_CLUSTERTxtOutputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtOutputPaths
private
Initial value:
{
this,
"CLUSTERTxtOutputPaths",
{},
}

Definition at line 100 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 114 of file AthCommonReentrantAlgorithm.h.

◆ m_GHITZBinInputEvents

std::vector<std::vector<std::vector<uint64_t> > > EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputEvents {}
private

Definition at line 139 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZBinInputKeys

SG::WriteHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputKeys
private
Initial value:
{
this,
"GHITZBinInputKeys",
{},
}

Definition at line 70 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZBinInputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputPaths
private
Initial value:
{
this,
"GHITZBinInputPaths",
{},
}

Definition at line 64 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZBinOutputKeys

SG::ReadHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinOutputKeys
private
Initial value:
{
this,
"GHITZBinOutputKeys",
{},
}

Definition at line 82 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZBinOutputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinOutputPaths
private
Initial value:
{
this,
"GHITZBinOutputPaths",
{},
}

Definition at line 76 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZTxtInputEvents

std::vector<std::vector<std::vector<uint64_t> > > EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputEvents {}
private

Definition at line 136 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZTxtInputKeys

SG::WriteHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputKeys
private
Initial value:
{
this,
"GHITZTxtInputKeys",
{},
}

Definition at line 46 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZTxtInputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputPaths
private
Initial value:
{
this,
"GHITZTxtInputPaths",
{},
}

Definition at line 40 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZTxtOutputKeys

SG::ReadHandleKeyArray<std::vector<uint64_t> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtOutputKeys
private
Initial value:
{
this,
"GHITZTxtOutputKeys",
{},
}

Definition at line 58 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_GHITZTxtOutputPaths

Gaudi::Property<std::vector<std::string> > EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtOutputPaths
private
Initial value:
{
this,
"GHITZTxtOutputPaths",
{},
}

Definition at line 52 of file EFTrackingDataStreamLoaderAlgorithm.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinOutputPaths
Gaudi::Property< std::vector< std::string > > m_CLUSTERBinOutputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:124
FPGADataFormatUtilities::SLICE_HDR_FLAG
const int SLICE_HDR_FLAG
Definition: FPGADataFormatUtilities.h:378
FPGADataFormatUtilities::EDM_PIXELCLUSTER_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:1785
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtOutputKeys
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_CLUSTERTxtOutputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:106
FPGADataFormatUtilities::get_bitfields_EDM_STRIPCLUSTER_w1
EDM_STRIPCLUSTER_w1 get_bitfields_EDM_STRIPCLUSTER_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:1400
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
index
Definition: index.py:1
FPGADataFormatUtilities::EVT_HDR_FLAG
const int EVT_HDR_FLAG
Definition: FPGADataFormatUtilities.h:20
TRT::Track::event
@ event
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:74
EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinOutputPaths
Gaudi::Property< std::vector< std::string > > m_GHITZBinOutputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:76
AthCommonDataStore::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 > renounce(T &h)
Definition: AthCommonDataStore.h:380
FPGADataFormatUtilities::get_bitfields_STRIP_CLUSTER
STRIP_CLUSTER get_bitfields_STRIP_CLUSTER(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:1028
EFTrackingDataStreamLoaderAlgorithm::dataFormatStateMachine
DataFormatAction dataFormatStateMachine(const uint64_t word, const auto &endOfBlockCondition, const int32_t hitCountDown, FileState &fileState)
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:406
FPGADataFormatUtilities::get_bitfields_RD_HDR_w1
RD_HDR_w1 get_bitfields_RD_HDR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:535
python.Constants.ERROR
int ERROR
Definition: Control/AthenaCommon/python/Constants.py:17
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputEvents
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZBinInputEvents
Definition: EFTrackingDataStreamLoaderAlgorithm.h:139
FPGADataFormatUtilities::GHITZ_w1::last
uint64_t last
Definition: FPGADataFormatUtilities.h:1138
python.RatesEmulationExample.lock
lock
Definition: RatesEmulationExample.py:148
FPGADataFormatUtilities::GTRACK_HDR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:727
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
FPGADataFormatUtilities::get_bitfields_EVT_FTR_w1
EVT_FTR_w1 get_bitfields_EVT_FTR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:220
FPGADataFormatUtilities::STRIP_CLUSTER::last
uint64_t last
Definition: FPGADataFormatUtilities.h:1021
python.DataFormatRates.events
events
Definition: DataFormatRates.py:105
dq_defect_bulk_create_defects.line
line
Definition: dq_defect_bulk_create_defects.py:27
FPGADataFormatUtilities::RD_HDR_FLAG
const int RD_HDR_FLAG
Definition: FPGADataFormatUtilities.h:460
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
FPGADataFormatUtilities::EDM_STRIPCLUSTER_FLAG
const int EDM_STRIPCLUSTER_FLAG
Definition: FPGADataFormatUtilities.h:1262
EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputPaths
Gaudi::Property< std::vector< std::string > > m_GHITZTxtInputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:40
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
FPGADataFormatUtilities::RD_HDR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:517
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputPaths
Gaudi::Property< std::vector< std::string > > m_GHITZBinInputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:64
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
FPGADataFormatUtilities::M_HDR_FLAG
const int M_HDR_FLAG
Definition: FPGADataFormatUtilities.h:308
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputEvents
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERBinInputEvents
Definition: EFTrackingDataStreamLoaderAlgorithm.h:145
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
AthCommonReentrantAlgorithm::extraOutputDeps
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
Definition: AthCommonReentrantAlgorithm.cxx:89
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
FPGADataFormatUtilities::EVT_FTR_FLAG
const int EVT_FTR_FLAG
Definition: FPGADataFormatUtilities.h:176
FPGADataFormatUtilities::get_bitfields_EDM_PIXELCLUSTER_w1
EDM_PIXELCLUSTER_w1 get_bitfields_EDM_PIXELCLUSTER_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:1838
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
AthCommonReentrantAlgorithm::sysExecute
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
Definition: AthCommonReentrantAlgorithm.cxx:76
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputKeys
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_CLUSTERBinInputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:118
EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputKeys
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_GHITZTxtInputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:46
FPGADataFormatUtilities::get_bitfields_GHITZ_w1
GHITZ_w1 get_bitfields_GHITZ_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:1154
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGADataFormatUtilities::EVT_HDR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:58
FPGADataFormatUtilities::get_bitfields_SLICE_HDR_w1
SLICE_HDR_w1 get_bitfields_SLICE_HDR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:409
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputPaths
Gaudi::Property< std::vector< std::string > > m_CLUSTERTxtInputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:88
FPGADataFormatUtilities::EVT_FTR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:206
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:240
FPGADataFormatUtilities::get_bitfields_EVT_HDR_w1
EVT_HDR_w1 get_bitfields_EVT_HDR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:74
FPGADataFormatUtilities::EDM_PIXELCLUSTER_FLAG
const int EDM_PIXELCLUSTER_FLAG
Definition: FPGADataFormatUtilities.h:1676
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputKeys
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_CLUSTERTxtInputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:94
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtInputEvents
std::vector< std::vector< std::vector< uint64_t > > > m_CLUSTERTxtInputEvents
Definition: EFTrackingDataStreamLoaderAlgorithm.h:142
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinInputPaths
Gaudi::Property< std::vector< std::string > > m_CLUSTERBinInputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:112
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERTxtOutputPaths
Gaudi::Property< std::vector< std::string > > m_CLUSTERTxtOutputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:100
FPGADataFormatUtilities::SLICE_HDR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:402
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthCommonReentrantAlgorithm.cxx:107
EFTrackingDataStreamLoaderAlgorithm::writeFile
StatusCode writeFile(const std::string &path, const auto &fileWriteFunction, const auto &endOfBlockCondition, const int32_t hitCountDown, const std::vector< std::vector< uint64_t >> &events)
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:351
FPGADataFormatUtilities::get_bitfields_GTRACK_HDR_w1
GTRACK_HDR_w1 get_bitfields_GTRACK_HDR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:751
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtInputEvents
std::vector< std::vector< std::vector< uint64_t > > > m_GHITZTxtInputEvents
Definition: EFTrackingDataStreamLoaderAlgorithm.h:136
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtOutputPaths
Gaudi::Property< std::vector< std::string > > m_GHITZTxtOutputPaths
Definition: EFTrackingDataStreamLoaderAlgorithm.h:52
FPGADataFormatUtilities::EDM_STRIPCLUSTER_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:1354
AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthCommonReentrantAlgorithm.h:114
EFTrackingDataStreamLoaderAlgorithm::m_GHITZTxtOutputKeys
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_GHITZTxtOutputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:58
FPGADataFormatUtilities::GTRACK_HDR_FLAG
const int GTRACK_HDR_FLAG
Definition: FPGADataFormatUtilities.h:657
EFTrackingDataStreamLoaderAlgorithm::readFile
StatusCode readFile(const std::string &path, const auto &fileReadFunction, const auto &endOfBlockCondition, const int32_t hitCountDown, std::vector< std::vector< uint64_t >> &events)
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:307
EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinOutputKeys
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_GHITZBinOutputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:82
fitman.k
k
Definition: fitman.py:528
python.CaloComputeNoiseConfig.action
action
Definition: CaloComputeNoiseConfig.py:140
EFTrackingDataStreamLoaderAlgorithm::m_CLUSTERBinOutputKeys
SG::ReadHandleKeyArray< std::vector< uint64_t > > m_CLUSTERBinOutputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:130
ServiceHandle< ICondSvc >
EFTrackingDataStreamLoaderAlgorithm::m_GHITZBinInputKeys
SG::WriteHandleKeyArray< std::vector< uint64_t > > m_GHITZBinInputKeys
Definition: EFTrackingDataStreamLoaderAlgorithm.h:70
FPGADataFormatUtilities::M_HDR_w1::flag
uint64_t flag
Definition: FPGADataFormatUtilities.h:328
FPGADataFormatUtilities::get_bitfields_M_HDR_w1
M_HDR_w1 get_bitfields_M_HDR_w1(const uint64_t &in)
Definition: FPGADataFormatUtilities.h:334