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
12
15
16namespace FlavorTagInference {
17 template <typename CONTAINER, typename DECORATOR, typename CONSTITUENTS>
19 {
20 public:
21 using AthReentrantAlgorithm::AthReentrantAlgorithm;
22 using ExtraDependencies = std::set<std::string>;
23 virtual StatusCode initialize() override;
24 virtual StatusCode initializeInternal(ExtraDependencies = {});
25 virtual StatusCode execute(const EventContext& cxt) const override;
26 virtual StatusCode finalize() override;
27 protected:
29 this, "container", "", "Key for the input collection"};
31 this, "constituentContainer", "",
32 "Key for track inputs container"};
34 this, "electronContainer",
35 "", "key for input electron container"
36 };
38 this, "muonContainer",
39 "", "key for input muon container"
40 };
41 Gaudi::Property<std::vector<std::string>> m_undeclaredReadDecorKeys {
42 this, "undeclaredReadDecorKeys", {},
43 "List of read handles that we don't read, e.g. static variables" };
44
45 ToolHandle<DECORATOR> m_decorator{
46 this, "decorator", "", "Decorator tool"};
47
48 // Keys to keep track of the inputs / outputs
49 std::vector<SG::ReadDecorHandleKey<CONTAINER>> m_aux;
50 std::vector<SG::ReadDecorHandleKey<CONSTITUENTS>> m_constituentAux;
51 std::vector<SG::ReadDecorHandleKey<xAOD::ElectronContainer>> m_electronAux;
52 std::vector<SG::ReadDecorHandleKey<xAOD::MuonContainer>> m_muonAux;
53 std::vector<SG::WriteDecorHandleKey<CONTAINER>> m_decor;
54
55 // aux ids (to lock)
56 std::vector<SG::auxid_t> m_auxids;
57 };
58}
59
60#include "DecoratorAlg.icc"
61
62#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.