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;
34 virtual StatusCode
finalize ()
override;
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;
static const std::vector< std::string > systematics
Define macros for attributes used to control the static checker.
Class to wrap a set of SystematicVariations.
the canonical implementation of ISystematicsSvc
Gaudi::Property< std::string > m_nominalSystematicsName
nominal systematics name
virtual std::vector< CP::SystematicSet > makeSystematicsVector() const override
virtual StatusCode registerCopy(const std::string &fromName, const std::string &toName) const override
Gaudi::Property< std::vector< std::string > > m_systematicsList
the names of the systematics to request
virtual std::string getCopySource(const std::string &toName) const override
virtual StatusCode initialize() override
SystematicSet m_affectingSystematics ATLAS_THREAD_SAFE
the list of affecting systematics
Gaudi::Property< float > m_sigmaRecommended
load all recommended systematics at the given number of sigmas
virtual StatusCode addSystematics(const CP::SystematicSet &recommended, const CP::SystematicSet &affecting) const override
virtual StatusCode finalize() override
virtual StatusCode setDecorSystematics(const std::string &objectName, const std::string &decorName, const CP::SystematicSet &systematics) const override
std::mutex m_systematicsMutex
a mutex for accessing the above mutable members
virtual StatusCode setObjectSystematics(const std::string &name, const CP::SystematicSet &systematics) const override
virtual CP::SystematicSet getObjectSystematics(const std::string &name) const override
Gaudi::Property< std::string > m_systematicsRegex
the regular expression for filterinf systematics
virtual CP::SystematicSet getDecorSystematics(const std::string &objectName, const std::string &decorName) const override
virtual StatusCode makeSystematicsName(std::string &result, const std::string &name, const CP::SystematicSet &sys) const override
Select isolated Photons, Electrons and Muons.