ATLAS Offline Software
Loading...
Searching...
No Matches
AsgShallowCopyAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef ASG_ANALYSIS_ALGORITHMS__ASG_SHALLOW_COPY_ALG_H
9#define ASG_ANALYSIS_ALGORITHMS__ASG_SHALLOW_COPY_ALG_H
10
16
17
18namespace CP
19{
26
28 {
30 public:
32
33
34 public:
35 StatusCode initialize () override;
36
37 public:
38 StatusCode execute (const EventContext& ctx) override;
39
40
42 private:
44
46 private:
48 this, "input", "", "the input collection to run on"};
49
51 private:
53 this, "output", "", "the output view container to produce"};
54
56 private:
57 Gaudi::Property<std::vector<std::string>> m_declareDecorations {
58 this, "declareDecorations", {}, "the list of decorations to declare (only needed in AthenaMT)"};
59
61 private:
62 template<typename Type> StatusCode
63 executeTemplate (const EventContext& ctx, const CP::SystematicSet& sys);
64
66 private:
67 StatusCode executeFindType (const EventContext& ctx, const CP::SystematicSet& sys);
68
69 private:
70 StatusCode (AsgShallowCopyAlg::* m_function) (const EventContext& ctx, const CP::SystematicSet& sys) {&AsgShallowCopyAlg::executeFindType};
71 };
72}
73
74#endif
create a shallow copy of an input contsainer
StatusCode(AsgShallowCopyAlg::* m_function)(const EventContext &ctx, const CP::SystematicSet &sys)
StatusCode executeTemplate(const EventContext &ctx, const CP::SystematicSet &sys)
the templated version of execute for a single systematic
StatusCode initialize() override
SysWriteHandle< xAOD::IParticleContainer > m_outputHandle
the output view container we produce
StatusCode executeFindType(const EventContext &ctx, const CP::SystematicSet &sys)
the version of execute to find the type
Gaudi::Property< std::vector< std::string > > m_declareDecorations
an (optional) list of decorations to copy
SysListHandle m_systematicsList
the systematics list we run
SysReadHandle< xAOD::IParticleContainer > m_inputHandle
the input collection we run on
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 writing systematics varied input data
Class to wrap a set of SystematicVariations.
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
virtual::StatusCode execute()
execute this algorithm
Select isolated Photons, Electrons and Muons.