ATLAS Offline Software
Loading...
Searching...
No Matches
TruthParticleDecoratorAlg.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 TRUTH_PARTICLE_DECORATOR_ALG_HH
6#define TRUTH_PARTICLE_DECORATOR_ALG_HH
7
9#include "GaudiKernel/ToolHandle.h"
13
17
18
19namespace FlavorTagDiscriminants {
20
22 public:
23 TruthParticleDecoratorAlg(const std::string& name,
24 ISvcLocator* pSvcLocator );
25
26 virtual StatusCode initialize() override;
27 virtual StatusCode execute(const EventContext& ) const override;
28
29 private:
30
31 // Input Containers
33 this, "truthContainer", "TruthParticles",
34 "Key for the input truth particle collection"};
36 this, "TruthPrimaryVertices", "TruthPrimaryVertices",
37 "Key for the input truth PV collection"};
38
39 // Decorators for truth particles
41 this, "ftagTruthOriginLabel", "ftagTruthOriginLabel",
42 "Exclusive origin label of the truth particle"};
44 this, "ftagTruthTypeLabel", "ftagTruthTypeLabel",
45 "Exclusive truth type label of the truth particle"};
47 this, "ftagTruthSourceLabel", "ftagTruthSourceLabel",
48 "Exclusive truth label for the source of secondary particles"};
50 this, "ftagTruthVertexIndex", "ftagTruthVertexIndex",
51 "ftagTruth vertex index of the truth particle"};
53 this, "ftagTruthParentBarcode", "ftagTruthParentBarcode",
54 "UniqueID of parent of linked truth particle"};
55
56 // truth origin tool
57 ToolHandle<InDet::InDetTrackTruthOriginTool> m_truthOriginTool {
58 this, "trackTruthOriginTool", "InDet::InDetTrackTruthOriginTool",
59 "track truth origin tool"};
60
61 Gaudi::Property<float> m_truthVertexMergeDistance {
62 this, "truthVertexMergeDistance", 0.1,
63 "Merge any truth vertices within this distance [mm]"};
64
65 // ATLASRECTS-8290: this is for backward compatability, remove eventually
66 Gaudi::Property<bool> m_use_barcode {
67 this, "useBarcode", false, "use barcode rather than UID"
68 };
70
71 };
72}
73
74#endif
Base class for elements of a container that can have aux data.
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.
ToolHandle< InDet::InDetTrackTruthOriginTool > m_truthOriginTool
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_dec_origin_label
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_TruthPVsKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_dec_parent_uniqueID
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_dec_type_label
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_TruthContainerKey
virtual StatusCode execute(const EventContext &) const override
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_dec_source_label
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_dec_vertex_index
TruthParticleDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
Helper class to provide constant type-safe access to aux data.