ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
SystematicsHandles
SystematicsHandles
SysListHandle.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 SYSTEMATICS_HANDLES__SYS_LIST_HANDLE_H
9
#define SYSTEMATICS_HANDLES__SYS_LIST_HANDLE_H
10
11
#include <
AsgMessaging/AsgMessagingForward.h
>
12
#include <
AsgServices/ServiceHandle.h
>
13
#include <
AsgTools/PropertyWrapper.h
>
14
#include <
PATInterfaces/SystematicSet.h
>
15
#include <
SystematicsHandles/ISystematicsSvc.h
>
16
#include <
SystematicsHandles/SysListType.h
>
17
#include <functional>
18
#include <string>
19
#include <vector>
20
21
class
StatusCode
;
22
23
namespace
CP
24
{
25
class
IReentrantSystematicsTool
;
26
class
ISysHandleBase
;
27
class
SystematicSet
;
28
31
32
class
SysListHandle
:
public
asg::AsgMessagingForward
33
{
34
//
35
// public interface
36
//
37
39
public
:
40
template
<
typename
T>
41
SysListHandle
(T *owner,
const
std::string& propertyName =
"systematicsService"
,
42
const
std::string& propertyDescription =
"systematics to evaluate"
);
43
44
52
public
:
53
StatusCode
addHandle
(
ISysHandleBase
& handle);
54
55
65
public
:
66
StatusCode
addSystematics
(
const
CP::SystematicSet
& recommended,
67
const
CP::SystematicSet
& affecting);
68
StatusCode
addSystematics
(
const
IReentrantSystematicsTool
& tool);
70
71
76
public
:
77
::StatusCode
initialize
();
78
79
81
public
:
82
bool
isInitialized
()
const
noexcept;
83
84
86
public:
87
const
ISystematicsSvc
&
service
()
const
;
88
89
104
public:
105
const
std
::
vector
<
CP
::
SystematicSet
>&
systematicsVector
()
const
;
106
107
108
//
109
// private interface
110
//
111
113
private
:
114
ServiceHandle
<
ISystematicsSvc
>
m_systematicsService
{
"SystematicsSvc"
,
""
};
115
117
private
:
118
std::string
m_affectingFilter
;
119
121
private
:
122
std::vector<ISysHandleBase*>
m_sysHandles
;
123
125
private
:
126
CP::SystematicSet
m_affecting
;
127
129
private
:
130
std::vector<CP::SystematicSet>
m_systematicsVector
;
131
133
private
:
134
bool
m_isInitialized
=
false
;
135
136
private
:
137
StatusCode
fillSystematicsVector
();
138
};
139
}
140
141
#include "
SysListHandle.icc
"
142
143
#endif
AsgMessagingForward.h
ISystematicsSvc.h
PropertyWrapper.h
ServiceHandle.h
SysListHandle.icc
SysListType.h
SystematicSet.h
CP::IReentrantSystematicsTool
interface for all CP tools supporting systematic variations within a reentrant algorithm
Definition
IReentrantSystematicsTool.h:58
CP::ISysHandleBase
a basic interface for all systematics handles
Definition
ISysHandleBase.h:28
CP::ISystematicsSvc
the interface for the central systematics service
Definition
ISystematicsSvc.h:26
CP::SysListHandle::addSystematics
StatusCode addSystematics(const CP::SystematicSet &recommended, const CP::SystematicSet &affecting)
register a set of affecting variables for the current algorithm (usually obtained from an CP::ISystem...
Definition
SysListHandle.cxx:48
CP::SysListHandle::fillSystematicsVector
StatusCode fillSystematicsVector()
Definition
SysListHandle.cxx:105
CP::SysListHandle::m_affecting
CP::SystematicSet m_affecting
this set of affecting systematics
Definition
SysListHandle.h:126
CP::SysListHandle::SysListHandle
SysListHandle(T *owner, const std::string &propertyName="systematicsService", const std::string &propertyDescription="systematics to evaluate")
standard constructor
CP::SysListHandle::m_sysHandles
std::vector< ISysHandleBase * > m_sysHandles
the list of systematics handles we have
Definition
SysListHandle.h:122
CP::SysListHandle::m_systematicsVector
std::vector< CP::SystematicSet > m_systematicsVector
the value of systematicsVector
Definition
SysListHandle.h:130
CP::SysListHandle::isInitialized
bool isInitialized() const noexcept
whether initialize has been called successfully
CP::SysListHandle::service
const ISystematicsSvc & service() const
the service we use
CP::SysListHandle::m_isInitialized
bool m_isInitialized
the value of isInitialized
Definition
SysListHandle.h:134
CP::SysListHandle::addHandle
StatusCode addHandle(ISysHandleBase &handle)
register an input handle we are using
Definition
SysListHandle.cxx:29
CP::SysListHandle::systematicsVector
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
Definition
SysListHandle.cxx:96
CP::SysListHandle::initialize
::StatusCode initialize()
intialize this property
Definition
SysListHandle.cxx:69
CP::SysListHandle::m_systematicsService
ServiceHandle< ISystematicsSvc > m_systematicsService
the handle for the systematics service
Definition
SysListHandle.h:114
CP::SysListHandle::m_affectingFilter
std::string m_affectingFilter
an (optional) filter to remove affecting systematics
Definition
SysListHandle.h:118
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition
SystematicSet.h:31
ServiceHandle
Definition
ClusterMakerTool.h:36
asg::AsgMessagingForward
base class to forward messages to another class
Definition
AsgMessagingForward.h:29
vector
Definition
MultiHisto.h:13
const
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
std
STL namespace.
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0