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, const ISysHandleBase& objectHandle);
53 StatusCode initialize (SysListHandle& sysListHandle, const ISysHandleBase& 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 std::string getNamePattern () const override;
84 virtual CP::SystematicSet
86 virtual StatusCode
88 const CP::SystematicSet& fullAffecting,
89 const std::vector<CP::SystematicSet>& sysList) override;
90
91
92
93 //
94 // private interface
95 //
96
98 private:
100
102 private:
104
106 private:
107 std::unique_ptr<ISelectionWriteAccessor> m_accessor;
108 };
109}
110
112
113#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
the interface for the central systematics service
a class managing the property to configure the list of systematics to process
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
const ISysHandleBase * 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
StatusCode initialize(SysListHandle &sysListHandle, const ISysHandleBase &objectHandle)
initialize the accessor
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
virtual std::string getNamePattern() const override
get the name pattern before substitution
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