ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
AsgAnalysisAlgorithms
AsgAnalysisAlgorithms
SystObjectLinkerAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
4
SystObjectLinkerAlg:
5
This alg applies bidirectional decorations to a set of object collections,
6
allowing navigation from the nominal to all systematic variations, and
7
from the variations back to the nominal.
8
*/
9
11
12
13
// Always protect against multiple includes!
14
#ifndef CP_SYSTOBJECTLINKERALG
15
#define CP_SYSTOBJECTLINKERALG
16
17
#include <vector>
18
#include <utility>
19
20
#include <
AnaAlgorithm/AnaReentrantAlgorithm.h
>
21
#include <
SystematicsHandles/SysReadHandle.h
>
22
#include <
SystematicsHandles/SysListHandle.h
>
23
#include <
SystematicsHandles/ISysHandleBase.h
>
24
#include <
SystematicsHandles/SysWriteDecorHandle.h
>
25
26
#include <
xAODBase/IParticleContainer.h
>
27
28
#include <AthLinks/ElementLink.h>
29
30
class
EventContext;
31
32
namespace
CP
33
{
34
35
class
SystObjectLinkerAlg
final :
public
EL::AnaReentrantAlgorithm
36
{
38
public
:
39
SystObjectLinkerAlg
(
const
std::string &
name
, ISvcLocator *pSvcLocator);
40
43
StatusCode
initialize
()
override
;
45
StatusCode
execute
(
const
EventContext& ctx)
const override
;
47
48
private
:
49
50
// Members for configurable properties
51
53
CP::SysListHandle
m_systematicsList
{
this
};
54
56
CP::SysReadHandle<xAOD::IParticleContainer>
57
m_inputHandle
{
this
,
"input"
,
""
,
"Container to read"
};
58
60
CP::SysWriteDecorHandle<ElementLink<xAOD::IParticleContainer>
>
61
m_syst_link_decor
{
"systVarLink_%SYS%"
,
this
};
62
63
};
64
}
65
66
#endif
AnaReentrantAlgorithm.h
ISysHandleBase.h
SysListHandle.h
SysReadHandle.h
SysWriteDecorHandle.h
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition
SysListHandle.h:33
CP::SysReadHandle
a data handle for reading systematics varied input data
Definition
SysReadHandle.h:33
CP::SysWriteDecorHandle
a data handle for reading systematics varied input data
Definition
SysWriteDecorHandle.h:42
CP::SystObjectLinkerAlg::initialize
StatusCode initialize() override
Initialisation method, for setting up tools and other persistent configs.
Definition
SystObjectLinkerAlg.cxx:25
CP::SystObjectLinkerAlg::m_inputHandle
CP::SysReadHandle< xAOD::IParticleContainer > m_inputHandle
Setup syst-aware input container handles.
Definition
SystObjectLinkerAlg.h:57
CP::SystObjectLinkerAlg::m_systematicsList
CP::SysListHandle m_systematicsList
We use default finalize() – this is for cleanup, and we don't do any.
Definition
SystObjectLinkerAlg.h:53
CP::SystObjectLinkerAlg::m_syst_link_decor
CP::SysWriteDecorHandle< ElementLink< xAOD::IParticleContainer > > m_syst_link_decor
Setup sys-aware output decorations.
Definition
SystObjectLinkerAlg.h:61
CP::SystObjectLinkerAlg::execute
StatusCode execute(const EventContext &ctx) const override
Execute method, for actions to be taken in the event loop.
Definition
SystObjectLinkerAlg.cxx:42
CP::SystObjectLinkerAlg::SystObjectLinkerAlg
SystObjectLinkerAlg(const std::string &name, ISvcLocator *pSvcLocator)
The standard constructor.
Definition
SystObjectLinkerAlg.cxx:18
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition
AnaReentrantAlgorithm.h:51
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0