ATLAS Offline Software
|
the canonical implementation of ISystematicsSvc More...
#include <SystematicsSvc.h>
Public Member Functions | |
SystematicsSvc (const std::string &name, ISvcLocator *pSvcLocator) | |
standard constructor More... | |
virtual StatusCode | initialize () override |
set up/tear down functions More... | |
virtual StatusCode | finalize () override |
virtual std::vector< CP::SystematicSet > | makeSystematicsVector () const override |
get the list of systematics More... | |
virtual StatusCode | addSystematics (const CP::SystematicSet &recommended, const CP::SystematicSet &affecting) const override |
register a set of recommended and affecting systematics More... | |
virtual CP::SystematicSet | getObjectSystematics (const std::string &name) const override |
get the systematics for the given object in the event store More... | |
virtual StatusCode | setObjectSystematics (const std::string &name, const CP::SystematicSet &systematics) const override |
set the systematics for the given object in the event store More... | |
virtual CP::SystematicSet | getDecorSystematics (const std::string &objectName, const std::string &decorName) const override |
get the systematics for the given object in the event store More... | |
virtual StatusCode | setDecorSystematics (const std::string &objectName, const std::string &decorName, const CP::SystematicSet &systematics) const override |
set the systematics for the given object in the event store More... | |
virtual StatusCode | registerCopy (const std::string &fromName, const std::string &toName) const override |
register a (shallow) copy from one object to the next More... | |
virtual std::string | getCopySource (const std::string &toName) const override |
get a source object name from which a target object has been copied More... | |
virtual StatusCode | makeSystematicsName (std::string &result, const std::string &name, const CP::SystematicSet &sys) const override |
make the name for the given systematics More... | |
virtual void | print () const |
Print the state of the service. More... | |
template<typename T > | |
void | declareServiceInterface () |
add the given interface to the list of interfaces More... | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvi) |
query interface for gaudi More... | |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
DeclareInterfaceID (CP::ISystematicsSvc, 1, 0) | |
Private Attributes | |
Gaudi::Property< std::vector< std::string > > | m_systematicsList {this, "systematicsList", {}, "the list of systematics to run"} |
the names of the systematics to request More... | |
Gaudi::Property< std::string > | m_systematicsRegex {this, "systematicsRegex", "(.*)", "systematics filter regex"} |
the regular expression for filterinf systematics More... | |
Gaudi::Property< float > | m_sigmaRecommended {this, "sigmaRecommended", 0, "the sigma with which to run recommended systematics"} |
load all recommended systematics at the given number of sigmas More... | |
Gaudi::Property< std::string > | m_nominalSystematicsName {this, "nominalSystematicsName", "NOSYS", "the name to use for the nominal systematic (instead of the empty string)"} |
nominal systematics name More... | |
SystematicSet m_affectingSystematics | ATLAS_THREAD_SAFE |
the list of affecting systematics More... | |
SystematicSet m_recommendedSystematics | ATLAS_THREAD_SAFE |
the list of recommended systematics More... | |
std::unordered_map< std::string, CP::SystematicSet > m_objectSystematics | ATLAS_THREAD_SAFE |
the list of per-object systematics More... | |
std::unordered_map< std::string, CP::SystematicSet > m_decorSystematics | ATLAS_THREAD_SAFE |
the list of per-object-and-decoration systematics More... | |
std::unordered_map< std::string, std::string > m_copies | ATLAS_THREAD_SAFE |
the map of registered copies More... | |
std::mutex | m_systematicsMutex |
a mutex for accessing the above mutable members More... | |
std::vector< std::pair< const InterfaceID &(*)(), void *(*)(AsgService *)> > | m_interfaces |
list of interfaces we have More... | |
the canonical implementation of ISystematicsSvc
Definition at line 23 of file SystematicsSvc.h.
CP::SystematicsSvc::SystematicsSvc | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
standard constructor
Definition at line 28 of file SystematicsSvc.cxx.
|
overridevirtual |
register a set of recommended and affecting systematics
This is usually obtained from an CP::ISystematicsTool and is used for calculating the list of systematics to use on the fly.
Implements CP::ISystematicsSvc.
Definition at line 104 of file SystematicsSvc.cxx.
|
inherited |
|
inherited |
add the given interface to the list of interfaces
Definition at line 76 of file AsgService.h.
|
overridevirtual |
|
overridevirtual |
get a source object name from which a target object has been copied
Implements CP::ISystematicsSvc.
Definition at line 218 of file SystematicsSvc.cxx.
|
overridevirtual |
get the systematics for the given object in the event store
Implements CP::ISystematicsSvc.
Definition at line 159 of file SystematicsSvc.cxx.
|
overridevirtual |
get the systematics for the given object in the event store
Implements CP::ISystematicsSvc.
Definition at line 126 of file SystematicsSvc.cxx.
|
overridevirtual |
set up/tear down functions
Reimplemented from asg::AsgService.
Definition at line 38 of file SystematicsSvc.cxx.
|
overridevirtual |
make the name for the given systematics
Implements CP::ISystematicsSvc.
Definition at line 231 of file SystematicsSvc.cxx.
|
overridevirtual |
get the list of systematics
Implements CP::ISystematicsSvc.
Definition at line 61 of file SystematicsSvc.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
virtualinherited |
Print the state of the service.
Implements asg::IAsgService.
Definition at line 48 of file AsgService.cxx.
|
virtualinherited |
|
overridevirtual |
register a (shallow) copy from one object to the next
Implements CP::ISystematicsSvc.
Definition at line 202 of file SystematicsSvc.cxx.
|
overridevirtual |
set the systematics for the given object in the event store
Implements CP::ISystematicsSvc.
Definition at line 180 of file SystematicsSvc.cxx.
|
overridevirtual |
set the systematics for the given object in the event store
Implements CP::ISystematicsSvc.
Definition at line 139 of file SystematicsSvc.cxx.
|
mutableprivate |
the list of affecting systematics
Definition at line 104 of file SystematicsSvc.h.
|
mutableprivate |
the list of recommended systematics
Definition at line 108 of file SystematicsSvc.h.
|
mutableprivate |
the list of per-object systematics
Definition at line 112 of file SystematicsSvc.h.
|
mutableprivate |
the list of per-object-and-decoration systematics
Definition at line 116 of file SystematicsSvc.h.
|
mutableprivate |
the map of registered copies
Definition at line 120 of file SystematicsSvc.h.
|
privateinherited |
list of interfaces we have
Definition at line 68 of file AsgService.h.
|
private |
nominal systematics name
Definition at line 99 of file SystematicsSvc.h.
|
private |
load all recommended systematics at the given number of sigmas
The idea here is that this allows to run a simple analysis by itself without having to generate the list of systematics manually.
Definition at line 95 of file SystematicsSvc.h.
|
private |
the names of the systematics to request
Definition at line 82 of file SystematicsSvc.h.
|
mutableprivate |
a mutex for accessing the above mutable members
Definition at line 124 of file SystematicsSvc.h.
|
private |
the regular expression for filterinf systematics
Definition at line 86 of file SystematicsSvc.h.