ATLAS Offline Software
|
a class managing the property to configure the list of systematics to process More...
#include <SysListHandle.h>
Public Member Functions | |
template<typename T > | |
SysListHandle (T *owner, const std::string &propertyName="systematicsService", const std::string &propertyDescription="systematics to evaluate") | |
standard constructor More... | |
StatusCode | addHandle (ISysHandleBase &handle) |
register an input handle we are using More... | |
::StatusCode | initialize () |
intialize this property More... | |
bool | isInitialized () const noexcept |
whether initialize has been called successfully More... | |
const ISystematicsSvc & | service () const |
the service we use More... | |
const std::vector< CP::SystematicSet > & | systematicsVector () const |
the list of systematics to loop over More... | |
bool | msgLvl (const MSG::Level lvl) const |
Test the output level of the object. More... | |
MsgStream & | msg () const |
The standard message stream. More... | |
MsgStream & | msg (const MSG::Level lvl) const |
The standard message stream. More... | |
StatusCode | addSystematics (const CP::SystematicSet &recommended, const CP::SystematicSet &affecting) |
register a set of affecting variables for the current algorithm (usually obtained from an CP::ISystematicsTool) More... | |
StatusCode | addSystematics (const IReentrantSystematicsTool &tool) |
Private Member Functions | |
StatusCode | fillSystematicsVector () |
Private Attributes | |
ServiceHandle< ISystematicsSvc > | m_systematicsService {"SystematicsSvc", ""} |
the handle for the systematics service More... | |
std::string | m_affectingFilter |
an (optional) filter to remove affecting systematics More... | |
std::vector< ISysHandleBase * > | m_sysHandles |
the list of systematics handles we have More... | |
CP::SystematicSet | m_affecting |
this set of affecting systematics More... | |
std::vector< CP::SystematicSet > | m_systematicsVector |
the value of systematicsVector More... | |
bool | m_isInitialized = false |
the value of isInitialized More... | |
std::function< MsgStream &()> | m_msg |
the message stream we use More... | |
a class managing the property to configure the list of systematics to process
Definition at line 32 of file SysListHandle.h.
CP::SysListHandle::SysListHandle | ( | T * | owner, |
const std::string & | propertyName = "systematicsService" , |
||
const std::string & | propertyDescription = "systematics to evaluate" |
||
) |
standard constructor
StatusCode CP::SysListHandle::addHandle | ( | ISysHandleBase & | handle | ) |
register an input handle we are using
This is currently a no-op, but it could be useful for a variety of future directions we could take the systematics handling.
Definition at line 28 of file SysListHandle.cxx.
StatusCode CP::SysListHandle::addSystematics | ( | const CP::SystematicSet & | recommended, |
const CP::SystematicSet & | affecting | ||
) |
register a set of affecting variables for the current algorithm (usually obtained from an CP::ISystematicsTool)
This is currently a no-op, but it could be useful for a variety of future directions we could take the systematics handling (or at least as a cross check of those).
Definition at line 47 of file SysListHandle.cxx.
StatusCode CP::SysListHandle::addSystematics | ( | const IReentrantSystematicsTool & | tool | ) |
Definition at line 59 of file SysListHandle.cxx.
|
private |
Definition at line 104 of file SysListHandle.cxx.
StatusCode CP::SysListHandle::initialize | ( | ) |
intialize this property
This should be called exactly once during initialize of the owning algorithm.
Definition at line 68 of file SysListHandle.cxx.
|
noexcept |
whether initialize has been called successfully
|
inherited |
The standard message stream.
Definition at line 24 of file AsgMessagingForward.cxx.
|
inherited |
|
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.
const ISystematicsSvc& CP::SysListHandle::service | ( | ) | const |
the service we use
const std::vector< CP::SystematicSet > & CP::SysListHandle::systematicsVector | ( | ) | const |
the list of systematics to loop over
The way used should use this is as:
The important part is to use const auto&
instead of const CP::SystematicSet&
here, as in the future this may be updated to be a vector of something other than a CP::SystematicSet
(still convertible to const CP::SystematicSet&
though).
Definition at line 95 of file SysListHandle.cxx.
|
private |
this set of affecting systematics
Definition at line 126 of file SysListHandle.h.
|
private |
an (optional) filter to remove affecting systematics
Definition at line 118 of file SysListHandle.h.
|
private |
the value of isInitialized
Definition at line 134 of file SysListHandle.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 list of systematics handles we have
Definition at line 122 of file SysListHandle.h.
|
private |
the handle for the systematics service
Definition at line 114 of file SysListHandle.h.
|
private |
the value of systematicsVector
Definition at line 130 of file SysListHandle.h.