![]() |
ATLAS Offline Software
|
a data handle for reading systematics varied input data More...
#include <SysReadHandle.h>
Public Member Functions | |
| template<typename T2> | |
| SysReadHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysReadHandle (const std::string &inputName, T2 *owner) | |
| Direct constructor which doesn't declare a property. | |
| virtual bool | empty () const noexcept override |
| whether we have a name configured | |
| operator bool () const noexcept | |
| !empty() | |
| virtual std::string | getNamePattern () const override |
| get the name pattern before substitution | |
| const std::string & | getName (const CP::SystematicSet &sys) const |
| get the name we retrieve from the event store | |
| ::StatusCode | retrieve (const T *&object, const CP::SystematicSet &sys) const |
| retrieve the object for the given name | |
| bool | isValid (const CP::SystematicSet &sys) const |
| check if the object is available Note that this should only be used in special use cases and may be removed in the future. | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level of the object. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| StatusCode | initialize (SysListHandle &sysListHandle) |
| initialize this handle | |
| StatusCode | initialize (SysListHandle &sysListHandle, SG::AllowEmptyEnum) |
Private Types | |
| typedef std::decay< decltype(*(std::declval< EL::AnaAlgorithm >().evtStore()))>::type | StoreType |
| the type of the event store we use | |
Private Member Functions | |
| virtual CP::SystematicSet | getInputAffecting (const ISystematicsSvc &svc) const override |
| get the affecting systematics if this is an input handle | |
| virtual StatusCode | fillSystematics (const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override |
| register and cache the systematics | |
| virtual StatusCode | addDecorationDependency (const ISystematicsSvc &svc, const std::string &decoName, bool decoWrite) override |
| add dependency information for the given decoration | |
Private Attributes | |
| std::string | m_inputName |
| the input name we use | |
| std::unordered_map< CP::SystematicSet, std::string > | m_inputNameCache |
| the cache of names we use | |
| StoreType * | m_evtStore = nullptr |
| the event store we use | |
| std::function< StoreType *()> | m_evtStoreGetter |
| the function to retrieve the event store | |
| std::function< void(const DataObjID &, Gaudi::DataHandle::Mode)> | m_addAlgDependency |
| a function to add a data dependency to the parent algorithm | |
| std::function< MsgStream &()> | m_msg |
| the message stream we use | |
a data handle for reading systematics varied input data
Definition at line 30 of file SysReadHandle.h.
|
private |
the type of the event store we use
Definition at line 128 of file SysReadHandle.h.
| CP::SysReadHandle< T >::SysReadHandle | ( | T2 * | owner, |
| const std::string & | propertyName, | ||
| const std::string & | propertyValue, | ||
| const std::string & | propertyDescription ) |
Standard constructor.
| T2 | The type of the owner |
| owner | Used to declare the property and for its messaging |
| propertyName | The name of the property to declare |
| propertyValue | The default value for the property |
| propertyDescription | The description of the property |
This version of the constructor declares a property on the parent object and should usually be preferred when the container to be read should be configurable
| CP::SysReadHandle< T >::SysReadHandle | ( | const std::string & | inputName, |
| T2 * | owner ) |
Direct constructor which doesn't declare a property.
|
overrideprivatevirtual |
add dependency information for the given decoration
Implements CP::ISysObjectHandleBase.
|
overridevirtualnoexcept |
whether we have a name configured
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
register and cache the systematics
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
get the affecting systematics if this is an input handle
This returns the empty set if this is either not an input handle, or if the input handle is not affected by systematics.
Implements CP::ISysHandleBase.
| const std::string & CP::SysReadHandle< T >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we retrieve from the event store
|
overridevirtual |
get the name pattern before substitution
Implements CP::ISysObjectHandleBase.
| StatusCode CP::SysReadHandle< T >::initialize | ( | SysListHandle & | sysListHandle | ) |
initialize this handle
| StatusCode CP::SysReadHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| SG::AllowEmptyEnum | ) |
| bool CP::SysReadHandle< T >::isValid | ( | const CP::SystematicSet & | sys | ) | const |
check if the object is available Note that this should only be used in special use cases and may be removed in the future.
|
inherited |
The standard message stream.
Definition at line 24 of file AsgMessagingForward.cxx.
|
inherited |
The standard message stream.
| lvl | The message level to set the stream to |
Definition at line 29 of file AsgMessagingForward.cxx.
Test the output level of the object.
| lvl | The message level to test against |
true If messages at level "lvl" will be printed Definition at line 11 of file AsgMessagingForward.cxx.
|
explicitnoexcept |
!empty()
| ::StatusCode CP::SysReadHandle< T >::retrieve | ( | const T *& | object, |
| const CP::SystematicSet & | sys ) const |
retrieve the object for the given name
|
private |
a function to add a data dependency to the parent algorithm
This wraps the owner's addDependency call and is used by addDecorationDependency to register MT dependencies.
Definition at line 150 of file SysReadHandle.h.
|
private |
the event store we use
Definition at line 132 of file SysReadHandle.h.
|
private |
the function to retrieve the event store
This is an std::function to allow the parent to be either a tool or an algorithm. Though we are not really supporting tools as parents when using SysListHandle, so in principle this could be replaced with a pointer to the algorithm instead.
Definition at line 142 of file SysReadHandle.h.
|
private |
the input name we use
Definition at line 118 of file SysReadHandle.h.
|
private |
the cache of names we use
Definition at line 122 of file SysReadHandle.h.
|
privateinherited |
the message stream we use
This used to be a simple pointer to the MsgStream itself, but in AthenaMT the actual object used is local to the thread. So instead of pointing to it directly we are now using a function to look it up, which will get the thread-local object.
Definition at line 77 of file AsgMessagingForward.h.