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, ISysObjectHandleBase& objectHandle);
68 StatusCode initialize (SysListHandle& sysListHandle, ISysObjectHandleBase& 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 CP::SystematicSet
87 virtual StatusCode
89 const CP::SystematicSet& fullAffecting,
90 const std::vector<CP::SystematicSet>& sysList) override;
91
92
93
94 //
95 // private interface
96 //
97
99 private:
101
103 private:
105
107 private:
108 std::unique_ptr<ISelectionReadAccessor> m_accessor;
109 };
110
112}
113
115
116#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
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 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
std::string m_selection
the selection we use
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.
StatusCode initialize(SysListHandle &sysListHandle, ISysObjectHandleBase &objectHandle)
initialize the accessor
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.
ISysObjectHandleBase * m_objectHandle
the object handle we use
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
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