![]() |
ATLAS Offline Software
|
a data handle for reading systematics varied input data More...
#include <SysWriteDecorHandle.h>
Public Member Functions | |
| template<typename T2> | |
| SysWriteDecorHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysWriteDecorHandle (const std::string &decorName, T2 *owner) | |
| Construct the handle directly without declaring a property. | |
| virtual bool | empty () const noexcept override |
| whether we have a name configured | |
| operator bool () const noexcept | |
| !empty() | |
| const std::string & | getName (const CP::SystematicSet &sys) const |
| get the name we retrieve from the event store | |
| const std::string & | getDecorName () const noexcept |
| get the decoration name we use | |
| void | set (const SG::AuxElement &object, const T &value, const CP::SystematicSet &sys) const |
| set the object decoration for the given systematic | |
| void | lock (const SG::AuxElement &object, const CP::SystematicSet &sys) const |
| lock the object decoration for the given systematic You should call this after all set() calls for a given object. | |
| 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, ISysObjectHandleBase &objectHandle) |
| initialize this handle | |
| StatusCode | initialize (SysListHandle &sysListHandle, ISysObjectHandleBase &objectHandle, SG::AllowEmptyEnum) |
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 | |
| const auto & | getData (const CP::SystematicSet &sys) const |
| get the data for the given systematics | |
Private Attributes | |
| std::string | m_decorName |
| the input name we use | |
| ISysObjectHandleBase * | m_objectHandle {nullptr} |
| the object handle we use | |
| std::unordered_map< CP::SystematicSet, std::tuple< std::string, SG::Decorator< T > > > | m_dataCache |
| the cache of names we use | |
| std::function< MsgStream &()> | m_msg |
| the message stream we use | |
a data handle for reading systematics varied input data
Definition at line 40 of file SysWriteDecorHandle.h.
| CP::SysWriteDecorHandle< T >::SysWriteDecorHandle | ( | 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 decoration to be written should be configurable
| CP::SysWriteDecorHandle< T >::SysWriteDecorHandle | ( | const std::string & | decorName, |
| T2 * | owner ) |
Construct the handle directly without declaring a property.
|
overridevirtualnoexcept |
whether we have a name configured
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
register and cache the systematics
Implements CP::ISysHandleBase.
|
private |
get the data for the given systematics
|
noexcept |
get the decoration name we use
|
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::SysWriteDecorHandle< T >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we retrieve from the event store
| StatusCode CP::SysWriteDecorHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| ISysObjectHandleBase & | objectHandle ) |
initialize this handle
| StatusCode CP::SysWriteDecorHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| ISysObjectHandleBase & | objectHandle, | ||
| SG::AllowEmptyEnum | ) |
| void CP::SysWriteDecorHandle< T >::lock | ( | const SG::AuxElement & | object, |
| const CP::SystematicSet & | sys ) const |
lock the object decoration for the given systematic You should call this after all set() calls for a given object.
|
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()
| void CP::SysWriteDecorHandle< T >::set | ( | const SG::AuxElement & | object, |
| const T & | value, | ||
| const CP::SystematicSet & | sys ) const |
set the object decoration for the given systematic
|
private |
the cache of names we use
Definition at line 136 of file SysWriteDecorHandle.h.
|
private |
the input name we use
Definition at line 128 of file SysWriteDecorHandle.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 |