ATLAS Offline Software
HGTDTruthTrackDecorationAlg.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 HGTDTRACKEXTENSIONALG_TRUTHDECORATION_H
6 #define HGTDTRACKEXTENSIONALG_TRUTHDECORATION_H
7 
8 // Base Class
12 
13 namespace ActsTrk {
14 
16  : public AthReentrantAlgorithm {
17 
18  public:
19  using AthReentrantAlgorithm::AthReentrantAlgorithm;
20  virtual ~HGTDTruthTrackDecorationAlg() = default;
21 
22  virtual StatusCode initialize() override;
23  virtual StatusCode execute(const EventContext&) const override;
24 
25  private:
26  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trackParticleContainerName {this, "TrackParticleContainerName", "", "Name of the TrackParticle container"};
27 
28  // Truth decorations
29  SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterTruthClassKey { this, "HGTD_cluster_truth_class", m_trackParticleContainerName, "HGTD_cluster_truth_class", "Decoration for cluster truth classification" };
30  SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterShadowedKey { this, "HGTD_cluster_shadowed", m_trackParticleContainerName, "HGTD_cluster_shadowed", "Decoration for shadowed cluster" };
31  SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterMergedKey { this, "HGTD_cluster_merged", m_trackParticleContainerName, "HGTD_cluster_merged", "Decoration for merged cluster" };
32  SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerPrimaryExpectedKey { this, "HGTD_primary_expected", m_trackParticleContainerName, "HGTD_primary_expected", "Decoration for primary expected cluster" };
33 
37  std::vector<int> truthClassVec = {-1, -1, -1, -1};
38  std::vector<bool> isShadowedVec = {false, false, false, false};
39  std::vector<bool> isMergedVec = {false, false, false, false};
40  std::vector<bool> primaryExistsVec = {false, false, false, false};
41  };
42 
43  };
44 
45 } // namespace ActsTrk
46 
47 #endif
48 
49 
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer >
ActsTrk::HGTDTruthTrackDecorationAlg::TruthTrackExtensionData
Data structure to hold HGTD track extension results Contains information about hits,...
Definition: HGTDTruthTrackDecorationAlg.h:36
ActsTrk::HGTDTruthTrackDecorationAlg::m_layerClusterMergedKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterMergedKey
Definition: HGTDTruthTrackDecorationAlg.h:31
ActsTrk::HGTDTruthTrackDecorationAlg::TruthTrackExtensionData::primaryExistsVec
std::vector< bool > primaryExistsVec
Whether primary is expected per layer.
Definition: HGTDTruthTrackDecorationAlg.h:40
ActsTrk::HGTDTruthTrackDecorationAlg::initialize
virtual StatusCode initialize() override
Definition: HGTDTruthTrackDecorationAlg.cxx:10
ActsTrk::HGTDTruthTrackDecorationAlg::m_layerClusterTruthClassKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTruthClassKey
Definition: HGTDTruthTrackDecorationAlg.h:29
SG::ReadHandleKey< xAOD::TrackParticleContainer >
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
ActsTrk::HGTDTruthTrackDecorationAlg::TruthTrackExtensionData::isShadowedVec
std::vector< bool > isShadowedVec
Whether cluster is shadowed per layer.
Definition: HGTDTruthTrackDecorationAlg.h:38
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::HGTDTruthTrackDecorationAlg::TruthTrackExtensionData::truthClassVec
std::vector< int > truthClassVec
Truth classification per HGTD layer.
Definition: HGTDTruthTrackDecorationAlg.h:37
ActsTrk::HGTDTruthTrackDecorationAlg::TruthTrackExtensionData::isMergedVec
std::vector< bool > isMergedVec
Whether cluster is merged per layer.
Definition: HGTDTruthTrackDecorationAlg.h:39
ActsTrk::HGTDTruthTrackDecorationAlg::execute
virtual StatusCode execute(const EventContext &) const override
Definition: HGTDTruthTrackDecorationAlg.cxx:24
AthReentrantAlgorithm.h
ActsTrk::HGTDTruthTrackDecorationAlg::m_trackParticleContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerName
Definition: HGTDTruthTrackDecorationAlg.h:26
ActsTrk::HGTDTruthTrackDecorationAlg
Definition: HGTDTruthTrackDecorationAlg.h:16
ActsTrk::HGTDTruthTrackDecorationAlg::~HGTDTruthTrackDecorationAlg
virtual ~HGTDTruthTrackDecorationAlg()=default
ActsTrk::HGTDTruthTrackDecorationAlg::m_layerPrimaryExpectedKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerPrimaryExpectedKey
Definition: HGTDTruthTrackDecorationAlg.h:32
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:24
ActsTrk::HGTDTruthTrackDecorationAlg::m_layerClusterShadowedKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterShadowedKey
Definition: HGTDTruthTrackDecorationAlg.h:30
TrackParticleContainer.h