ATLAS Offline Software
Loading...
Searching...
No Matches
DecoratorAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef DECORATOR_ALG_H
6#define DECORATOR_ALG_H
7
9
11
14
15namespace FlavorTagInference {
16 template <typename CONTAINER, typename DECORATOR, typename CONSTITUENTS>
18 {
19 public:
20 using AthReentrantAlgorithm::AthReentrantAlgorithm;
21 using ExtraDependencies = std::set<std::string>;
22 virtual StatusCode initialize() override;
23 virtual StatusCode initializeInternal(ExtraDependencies = {});
24 virtual StatusCode execute(const EventContext& cxt) const override;
25 virtual StatusCode finalize() override;
26 protected:
28 this, "container", "", "Key for the input collection"};
30 this, "constituentContainer", "",
31 "Key for track inputs container"};
33 this, "electronContainer",
34 "", "key for input electron container"
35 };
36 Gaudi::Property<std::vector<std::string>> m_undeclaredReadDecorKeys {
37 this, "undeclaredReadDecorKeys", {},
38 "List of read handles that we don't read, e.g. static variables" };
39
40 ToolHandle<DECORATOR> m_decorator{
41 this, "decorator", "", "Decorator tool"};
42
43 // Keys to keep track of the inputs / outputs
44 std::vector<SG::ReadDecorHandleKey<CONTAINER>> m_aux;
45 std::vector<SG::ReadDecorHandleKey<CONSTITUENTS>> m_constituentAux;
46 std::vector<SG::ReadDecorHandleKey<xAOD::ElectronContainer>> m_electronAux;
47 std::vector<SG::WriteDecorHandleKey<CONTAINER>> m_decor;
48
49 // aux ids (to lock)
50 std::vector<SG::auxid_t> m_auxids;
51 };
52}
53
54#include "DecoratorAlg.icc"
55
56#endif
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode finalize() override
virtual StatusCode initialize() override
std::set< std::string > ExtraDependencies
virtual StatusCode initializeInternal(ExtraDependencies={})
virtual StatusCode execute(const EventContext &cxt) const override
Property holding a SG store/key/clid from which a ReadHandle is made.
This file contains "getter" functions used for accessing tagger inputs from the EDM.