ATLAS Offline Software
Loading...
Searching...
No Matches
SysWriteSelectionHandle.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef SYS_SELECTION_HELPERS_SELECTION_WRITE_HANDLE_H
9#define SYS_SELECTION_HELPERS_SELECTION_WRITE_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
38 public:
39 template<typename T2>
40 SysWriteSelectionHandle (T2 *owner, const std::string& propertyName,
41 const std::string& propertyValue,
42 const std::string& propertyDescription);
43
44
46 public:
47 explicit operator bool () const noexcept;
48
49
51 public:
52 StatusCode initialize (SysListHandle& sysListHandle, ISysObjectHandleBase& objectHandle);
53 StatusCode initialize (SysListHandle& sysListHandle, ISysObjectHandleBase& objectHandle, SG::AllowEmptyEnum);
54
55
57 public:
58 void setBits (const SG::AuxElement& element,
61
63 public:
64 void setBool (const SG::AuxElement& element,
65 bool selection,
67
69 public:
70 std::string getLabel () const;
71
73 public:
74 const std::string& getSelection () const;
75
76
77
80
81 public:
82 virtual bool empty () const noexcept override;
83 virtual CP::SystematicSet
85 virtual StatusCode
87 const CP::SystematicSet& fullAffecting,
88 const std::vector<CP::SystematicSet>& sysList) override;
89
90
91
92 //
93 // private interface
94 //
95
97 private:
99
101 private:
103
105 private:
106 std::unique_ptr<ISelectionWriteAccessor> m_accessor;
107 };
108}
109
111
112#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 write a selection decoration 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
a class managing the property to configure the list of systematics to process
StatusCode initialize(SysListHandle &sysListHandle, ISysObjectHandleBase &objectHandle)
initialize the accessor
std::string getLabel() const
get the name/label of the decoration
const std::string & getSelection() const
get the actual selection string
virtual CP::SystematicSet getInputAffecting(const ISystematicsSvc &svc) const override
get the affecting systematics if this is an input handle
ISysObjectHandleBase * m_objectHandle
the object handle we use
std::string m_selection
the selection we use
std::unique_ptr< ISelectionWriteAccessor > m_accessor
the accessor we use
void setBool(const SG::AuxElement &element, bool selection, const CP::SystematicSet &sys) const
set the selection decoration
virtual bool empty() const noexcept override
SysWriteSelectionHandle(T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription)
standard constructor
virtual StatusCode fillSystematics(const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override
register and cache the systematics
void setBits(const SG::AuxElement &element, SelectionType selection, const CP::SystematicSet &sys) const
set the selection decoration
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.
uint32_t SelectionType
the type for selection decorations that are meant to hold a asg::AcceptData
Forward declaration.
STL namespace.
setBGCode setTAP setLVL2ErrorBits bool
#define private