ATLAS Offline Software
Loading...
Searching...
No Matches
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
25
27
28#include <AthLinks/ElementLink.h>
29
30class EventContext;
31
32namespace CP
33{
34
36 {
38public:
39 SystObjectLinkerAlg(const std::string &name, ISvcLocator *pSvcLocator);
40
43 StatusCode initialize() override;
45 StatusCode execute(const EventContext& ctx) const override;
47
48private:
49
50 // Members for configurable properties
51
54
57 m_inputHandle{ this, "input", "", "Container to read" };
58
61 m_syst_link_decor {"systVarLink_%SYS%", this};
62
63 };
64}
65
66#endif
a class managing the property to configure the list of systematics to process
a data handle for reading systematics varied input data
a data handle for reading systematics varied input data
StatusCode initialize() override
Initialisation method, for setting up tools and other persistent configs.
CP::SysReadHandle< xAOD::IParticleContainer > m_inputHandle
Setup syst-aware input container handles.
CP::SysListHandle m_systematicsList
We use default finalize() – this is for cleanup, and we don't do any.
CP::SysWriteDecorHandle< ElementLink< xAOD::IParticleContainer > > m_syst_link_decor
Setup sys-aware output decorations.
StatusCode execute(const EventContext &ctx) const override
Execute method, for actions to be taken in the event loop.
SystObjectLinkerAlg(const std::string &name, ISvcLocator *pSvcLocator)
The standard constructor.
the base class for EventLoop reentrant algorithms
Select isolated Photons, Electrons and Muons.