ATLAS Offline Software
Loading...
Searching...
No Matches
SysReadSelectionHandle.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef SYS_SELECTION_HELPERS_SELECTION_READ_HANDLE_H
9#define SYS_SELECTION_HELPERS_SELECTION_READ_HANDLE_H
10
16#include <memory>
17
18class StatusCode;
19
20namespace CP
21{
23 class SysListHandle;
24 class SystematicSet;
25
26
29
32 {
33 //
34 // public interface
35 //
36
49 public:
50 template<typename T2>
51 SysReadSelectionHandle (T2 *owner, const std::string& propertyName,
52 const std::string& propertyValue,
53 const std::string& propertyDescription);
54
56 template<typename T2>
57 SysReadSelectionHandle (const std::string& selection, T2 *owner);
58
59
61 public:
62 explicit operator bool () const noexcept;
63
64
66 public:
67 StatusCode initialize (SysListHandle& sysListHandle, const ISysHandleBase& objectHandle);
68 StatusCode initialize (SysListHandle& sysListHandle, const ISysHandleBase& objectHandle, SG::AllowEmptyEnum);
69
70
72 public:
73 bool getBool (const SG::AuxElement& element,
75
77 public:
79
82
83 public:
84 virtual bool empty () const noexcept override;
85 virtual std::string getNamePattern () const override;
86 virtual CP::SystematicSet
88 virtual StatusCode
90 const CP::SystematicSet& fullAffecting,
91 const std::vector<CP::SystematicSet>& sysList) override;
92
93
94
95 //
96 // private interface
97 //
98
100 private:
102
104 private:
106
108 private:
109 std::unique_ptr<ISelectionReadAccessor> m_accessor;
110 };
111
113}
114
116
117#endif
A property holding a SG store/key/clid from which a VarHandle is made.
Base class for elements of a container that can have aux data.
a specialized accessor to read a selection decoration from/to an xAOD object
a basic interface for all systematics handles
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 CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc) const override
get the affecting systematics if this is an input handle
std::unique_ptr< ISelectionReadAccessor > m_accessor
the accessor we use
const ISysHandleBase * m_objectHandle
the object handle we use
std::string m_selection
the selection we use
virtual std::string getNamePattern() const override
get the name pattern before substitution
bool getBool(const SG::AuxElement &element, const CP::SystematicSet &sys) const
get the selection as a bool
SysReadSelectionHandle(T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription)
Standard constructor.
const std::string & getSelectionName() const
get the name of the selection
SysReadSelectionHandle(const std::string &selection, T2 *owner)
Construct the handle directly without declaring a property.
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override
register and cache the systematics
virtual bool empty() const noexcept override
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor
Class to wrap a set of SystematicVariations.
base class to forward messages to another class
const std::string selection
Select isolated Photons, Electrons and Muons.
SysHandleArray< SysReadSelectionHandle > SysReadSelectionHandleArray
Forward declaration.
STL namespace.
setBGCode setTAP setLVL2ErrorBits bool
#define private