5#ifndef ELECTRON_TRUTH_DECORATOR_ALG_HH
6#define ELECTRON_TRUTH_DECORATOR_ALG_HH
9#include "GaudiKernel/ToolHandle.h"
14#include "AthLinks/ElementLink.h"
27 ISvcLocator* pSvcLocator );
30 virtual StatusCode
execute(
const EventContext& )
const override;
35 this,
"electronContainer",
"Electrons",
36 "Key for the input electron collection"};
41 this,
"acc_ftagTruthOriginLabel",
"ftagTruthOriginLabel",
42 "Accessor for the truth origin label of the truth particle"};
44 this,
"acc_ftagTruthTypeLabel",
"ftagTruthTypeLabel",
45 "Accessor for the truth type label of the truth particle"};
47 this,
"acc_ftagTruthSourceLabel",
"ftagTruthSourceLabel",
48 "Accessor for the truth source label of the truth particle"};
50 this,
"acc_ftagTruthVertexIndex",
"ftagTruthVertexIndex",
51 "Accessor for the truth vertex index of the truth particle"};
53 this,
"acc_ftagTruthParentBarcode",
"ftagTruthParentBarcode",
54 "Accessor for the truth parent uniqueID of the truth particle"};
59 this,
"dec_ftagTruthOriginLabel",
"ftagTruthOriginLabel",
60 "Exclusive origin label of the electron"};
62 this,
"dec_ftagTruthTypeLabel",
"ftagTruthTypeLabel",
63 "Exclusive truth type label of the electron"};
65 this,
"dec_ftagTruthSourceLabel",
"ftagTruthSourceLabel",
66 "Exclusive truth label for the immedate parent of the truth particle"};
68 this,
"dec_ftagTruthVertexIndex",
"ftagTruthVertexIndex",
69 "Truth vertex index of the electron"};
71 this,
"dec_ftagTruthBarcode",
"ftagTruthBarcode",
72 "UniqueID of linked truth particle"};
74 this,
"dec_ftagTruthParentBarcode",
"ftagTruthParentBarcode",
75 "UniqueID of parent of linked truth particle"};
79 this,
"trackTruthOriginTool",
"InDet::InDetTrackTruthOriginTool",
80 "track truth origin tool"};
88 this,
"useBarcode",
false,
"use barcode rather than UID"
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.
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > RDHK
const std::set< int > m_valid_types
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
Gaudi::Property< bool > m_use_barcode
virtual StatusCode execute(const EventContext &) const override
RDHK m_acc_parent_uniqueID
ToolHandle< InDet::InDetTrackTruthOriginTool > m_trackTruthOriginTool
Acc< ElementLink< xAOD::TruthParticleContainer > > m_truthParticleLink
SG::WriteDecorHandleKey< xAOD::ElectronContainer > WDHK
SoftElectronTruthDecoratorAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::AuxElement::ConstAccessor< T > Acc
virtual StatusCode initialize() override
Acc< unsigned int > m_classifierParticleType
WDHK m_dec_parent_uniqueID
SG::ConstAccessor< T, ALLOC > ConstAccessor
Property holding a SG store/key/clid from which a ReadHandle is made.