![]() |
ATLAS Offline Software
|
Algorithm for fixing dynamic variable corruption on xAOD containers. More...
#include <DynVarFixerAlg.h>
Public Member Functions | |
| StatusCode | initialize () override |
| Function initialising the algorithm. | |
| StatusCode | execute () override |
| Function executing the algorithm. | |
| AthAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | |
| Inherit the base class's constructor. | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| ::TClass * | getClass (SG::auxid_t auxid) |
| Get the dictionary describing an auxiliary vector variable. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKeyArray< SG::IAuxStoreIO > | m_ioKeys |
Containers to access with the SG::IAuxStoreIO interface. | |
| std::vector< ::TClass * > | m_dicts |
| Cache of the dictionaries used. | |
| std::vector< bool > | m_noDict |
| Flag showing which variables don't have a dictionary for them. | |
| DataObjIDColl | m_extendedExtraObjects |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Algorithm properties | |
| SG::ReadHandleKeyArray< SG::IConstAuxStore > | m_constKeys |
Containers to access with the SG::IConstAuxStore interface. | |
Algorithm for fixing dynamic variable corruption on xAOD containers.
This is a general algorithm for fixing problems where a dynamic auxiliary variable of a container is not the right size. Which can happen when the algorithm creating the container doesn't consistently create dynamic variables for all objects. (Not creating some variables if some selection fails for instance.)
This is a generalisation of algorithms like xAODMaker::TrackLinkFixerAlg and xAODMaker::BTaggingAuxFixerAlg.
Definition at line 41 of file DynVarFixerAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| AthAlgorithm::AthAlgorithm | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Inherit the base class's constructor.
Definition at line 51 of file AthAlgorithm.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
override |
Function executing the algorithm.
Definition at line 47 of file DynVarFixerAlg.cxx.
|
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
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
|
private |
Get the dictionary describing an auxiliary vector variable.
Definition at line 139 of file DynVarFixerAlg.cxx.
|
override |
Function initialising the algorithm.
Definition at line 24 of file DynVarFixerAlg.cxx.
|
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.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
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< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.
Definition at line 66 of file AthAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Containers to access with the SG::IConstAuxStore interface.
Definition at line 60 of file DynVarFixerAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Cache of the dictionaries used.
Definition at line 74 of file DynVarFixerAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
private |
Containers to access with the SG::IAuxStoreIO interface.
Note that this variable is not set up as a property on the algorithm. It is instead filled by the algorithm in its initialize() function. (Based on the content of m_constKeys )
Definition at line 71 of file DynVarFixerAlg.h.
|
private |
Flag showing which variables don't have a dictionary for them.
Definition at line 76 of file DynVarFixerAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.