|
ATLAS Offline Software
|
Go to the documentation of this file.
8 #ifndef SYSTEMATICS_HANDLES__SYSTEMATICS_SVC_H
9 #define SYSTEMATICS_HANDLES__SYSTEMATICS_SVC_H
17 #include <unordered_map>
23 class SystematicsSvc final :
public extends<asg::AsgService, ISystematicsSvc>
31 using extends::extends;
35 virtual std::vector<CP::SystematicSet>
46 const std::string& decorName)
const override;
49 const std::string& decorName,
53 const std::string& toName)
const override;
58 const std::string&
name,
69 Gaudi::Property<std::vector<std::string>>
m_systematicsList {
this,
"systematicsList", {},
"the list of systematics to run"};
73 Gaudi::Property<std::string>
m_systematicsRegex {
this,
"systematicsRegex",
"(.*)",
"systematics filter regex"};
82 Gaudi::Property<float>
m_sigmaRecommended {
this,
"sigmaRecommended", 0,
"the sigma with which to run recommended systematics"};
86 Gaudi::Property<std::string>
m_nominalSystematicsName {
this,
"nominalSystematicsName",
"NOSYS",
"the name to use for the nominal systematic (instead of the empty string)"};
99 mutable std::unordered_map<std::string,CP::SystematicSet> m_objectSystematics
ATLAS_THREAD_SAFE;
virtual StatusCode makeSystematicsName(std::string &result, const std::string &name, const CP::SystematicSet &sys) const override
virtual StatusCode finalize() override
std::unordered_map< std::string, CP::SystematicSet > m_objectSystematics ATLAS_THREAD_SAFE
the list of per-object systematics
virtual CP::SystematicSet getDecorSystematics(const std::string &objectName, const std::string &decorName) const override
std::mutex m_systematicsMutex
a mutex for accessing the above mutable members
Class to wrap a set of SystematicVariations.
std::unordered_map< std::string, CP::SystematicSet > m_decorSystematics ATLAS_THREAD_SAFE
the list of per-object-and-decoration systematics
virtual StatusCode setObjectSystematics(const std::string &name, const CP::SystematicSet &systematics) const override
SystematicSet m_recommendedSystematics ATLAS_THREAD_SAFE
the list of recommended systematics
Gaudi::Property< std::vector< std::string > > m_systematicsList
the names of the systematics to request
Select isolated Photons, Electrons and Muons.
virtual StatusCode initialize() override
virtual StatusCode addSystematics(const CP::SystematicSet &recommended, const CP::SystematicSet &affecting) const override
virtual CP::SystematicSet getObjectSystematics(const std::string &name) const override
virtual StatusCode registerCopy(const std::string &fromName, const std::string &toName) const override
Gaudi::Property< float > m_sigmaRecommended
load all recommended systematics at the given number of sigmas
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual std::vector< CP::SystematicSet > makeSystematicsVector() const override
virtual std::string getCopySource(const std::string &toName) const override
std::unordered_map< std::string, std::string > m_copies ATLAS_THREAD_SAFE
the map of registered copies
SystematicSet m_affectingSystematics ATLAS_THREAD_SAFE
the list of affecting systematics
Gaudi::Property< std::string > m_nominalSystematicsName
nominal systematics name
the canonical implementation of ISystematicsSvc
virtual StatusCode setDecorSystematics(const std::string &objectName, const std::string &decorName, const CP::SystematicSet &systematics) const override
Define macros for attributes used to control the static checker.
Gaudi::Property< std::string > m_systematicsRegex
the regular expression for filterinf systematics