8#ifndef SYSTEMATICS_HANDLES__SYS_COPY_HANDLE_H
9#define SYSTEMATICS_HANDLES__SYS_COPY_HANDLE_H
20#include <unordered_map>
84 const std::string& propertyValue,
85 const std::string& propertyDescription);
96 SysCopyHandle (
const std::string &inputName,
const std::string &outputName, T2 *owner);
105 explicit operator
bool ()
const noexcept;
159 typedef
std::decay<decltype(
178#include "SysCopyHandle.icc"
a basic interface for all systematics handles
the interface for the central systematics service
::StatusCode getCopy(T *&object, const CP::SystematicSet &sys) const
retrieve the object for the given name
virtual bool empty() const noexcept override
whether we have a name configured
SysCopyHandle(T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription)
Standard constructor.
virtual std::string getNamePattern() const override
get the name pattern before substitution
StatusCode initialize(SysListHandle &sysListHandle)
initialize this handle
SysCopyHandle(const std::string &inputName, const std::string &outputName, T2 *owner)
Construct directly without declaring properties.
std::string m_outputName
the (optional) name of the copy we create
StoreType * m_evtStore
the event store we use
std::function< StoreType *()> m_evtStoreGetter
the function to retrieve the event store
std::unordered_map< CP::SystematicSet, std::tuple< std::string, std::string, std::string > > m_nameCache
the cache of names we use
virtual CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc) const override
get the affecting systematics if this is an input handle
std::decay< decltype(*(std::declval< EL::AnaAlgorithm >().evtStore()))>::type StoreType
the type of the event store we use
std::string m_inputName
the input name we use
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override
register and cache the systematics
a class managing the property to configure the list of systematics to process
Class to wrap a set of SystematicVariations.
base class to forward messages to another class
Select isolated Photons, Electrons and Muons.
This module defines the arguments passed from the BATCH driver to the BATCH worker.