![]() |
ATLAS Offline Software
|
a data handle for writing systematics varied input data More...
#include <SysWriteHandle.h>
Public Member Functions | |
| template<typename T2> | |
| SysWriteHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysWriteHandle (const std::string &outputName, 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 record to the event store | |
| template<typename X = Aux, typename = std::enable_if_t<std::is_same_v<X,void>>> | |
| ::StatusCode | record (std::unique_ptr< T > object, const CP::SystematicSet &sys) const |
| record the object for the given systematic | |
| template<typename X = Aux, typename = std::enable_if_t<!std::is_same_v<X,void>>> | |
| ::StatusCode | record (std::unique_ptr< T > object, std::unique_ptr< Aux > aux, const CP::SystematicSet &sys) const |
| retrieve the object for the given name | |
| 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 | |
Private Attributes | |
| std::string | m_outputName |
| the output name we use | |
| std::unordered_map< CP::SystematicSet, std::string > | m_outputNameCache |
| 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< MsgStream &()> | m_msg |
| the message stream we use | |
a data handle for writing systematics varied input data
Definition at line 29 of file SysWriteHandle.h.
|
private |
the type of the event store we use
Definition at line 131 of file SysWriteHandle.h.
| CP::SysWriteHandle< T, Aux >::SysWriteHandle | ( | 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 written should be configurable
| CP::SysWriteHandle< T, Aux >::SysWriteHandle | ( | const std::string & | outputName, |
| T2 * | owner ) |
Direct constructor which doesn't declare a property.
|
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::SysWriteHandle< T, Aux >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we record to the event store
|
overridevirtual |
get the name pattern before substitution
Implements CP::ISysHandleBase.
| StatusCode CP::SysWriteHandle< T, Aux >::initialize | ( | SysListHandle & | sysListHandle | ) |
initialize this handle
| StatusCode CP::SysWriteHandle< T, Aux >::initialize | ( | SysListHandle & | sysListHandle, |
| SG::AllowEmptyEnum | ) |
|
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.
|
inherited |
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::SysWriteHandle< T, Aux >::record | ( | std::unique_ptr< T > | object, |
| const CP::SystematicSet & | sys ) const |
record the object for the given systematic
| ::StatusCode CP::SysWriteHandle< T, Aux >::record | ( | std::unique_ptr< T > | object, |
| std::unique_ptr< Aux > | aux, | ||
| const CP::SystematicSet & | sys ) const |
retrieve the object for the given name
|
private |
the event store we use
Definition at line 135 of file SysWriteHandle.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 145 of file SysWriteHandle.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.
|
private |
the output name we use
Definition at line 121 of file SysWriteHandle.h.
|
private |
the cache of names we use
Definition at line 125 of file SysWriteHandle.h.