8#ifndef SYSTEMATICS_HANDLES__SYS_READ_DECOR_HANDLE_H
9#define SYSTEMATICS_HANDLES__SYS_READ_DECOR_HANDLE_H
21#include <unordered_map>
54 const std::string& propertyValue,
55 const std::string& propertyDescription);
68 explicit operator
bool ()
const noexcept;
127 std::unordered_map<CP::SystematicSet,SysData>
m_sysData;
135 template <
typename T>
Base class for elements of a container that can have aux data.
a basic interface for all systematics handles
a ISysHandleBase for a handle to a specific object/container
the interface for the central systematics service
Vector-like class for systematic handles which interact with decorations.
a class managing the property to configure the list of systematics to process
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override
register and cache the systematics
const T & get(const SG::AuxElement &object, const CP::SystematicSet &sys) const
retrieve the object decoration for the given systematic
const std::string & getName(const CP::SystematicSet &sys) const
get the name we retrieve from the event store
SysReadDecorHandle(T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription)
Standard constructor.
std::unordered_map< CP::SystematicSet, SysData > m_sysData
virtual bool empty() const noexcept override
whether we have a name configured
SysReadDecorHandle(const std::string &decorName, T2 *owner)
Construct the handle directly without declaring a property.
std::string m_decorName
the input name we use
StatusCode initialize(SysListHandle &sysListHandle, ISysObjectHandleBase &objectHandle)
initialize this handle
virtual CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc) const override
get the affecting systematics if this is an input handle
const auto & getData(const CP::SystematicSet &sys) const
get the data for the given systematics
ISysObjectHandleBase * m_objectHandle
the object handle we use
Class to wrap a set of SystematicVariations.
Helper class to provide constant type-safe access to aux data.
base class to forward messages to another class
Select isolated Photons, Electrons and Muons.
SysHandleArray< SysReadDecorHandle< T > > SysReadDecorHandleArray
::StatusCode StatusCode
StatusCode definition for legacy code.
the data held per-systematic (filled in initialize)
SG::ConstAccessor< T > accessor
the accessor for the decoration
std::string name
the expanded name of the decoration