ATLAS Offline Software
Loading...
Searching...
No Matches
TrackTimeExtensionAlg.h
Go to the documentation of this file.
1
19
20#ifndef HGTD_RECALGS_TRACKTIMEEXTENSIONALG_H
21#define HGTD_RECALGS_TRACKTIMEEXTENSIONALG_H
22
24
25#include "GaudiKernel/ToolHandle.h"
36
37#include <string>
38
39namespace HGTD {
40
42
43public:
44 TrackTimeExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator);
46 virtual StatusCode initialize() override final;
47 virtual StatusCode execute(const EventContext& ctx) const override final;
48
64 friend struct DecorHandles;
65
67 const xAOD::TrackParticle* track_ptkl,
68 const HGTD::ExtensionObject& extension,
69 const InDetSimDataCollection* sdo_collection,
70 const HepMC::GenEvent* hs_event,
71 bool skip_deco = false) const;
72
73 ToolHandle<IHGTD_TrackTimeExtensionTool> m_extension_tool{this, "TimeExtensionTool", "HGTD_IterativeExtensionTool/HGTD_IterativeExtensionTool", "Tool for extending ID tracks into the HGTD"};
74
75 SG::ReadHandleKey<HGTD_ClusterContainer> m_clustercont_rh_key{this, "HGTDClusterContainerName", "HGTD_Cluster", "Name of the HGTD_Cluster container"};
76 SG::ReadHandleKey<InDetSimDataCollection> m_sdo_coll_rh_key{this, "HGTD_SDOCollectionName", "HGTD_SDO_Map", "Name of the SDO container"};
77 SG::ReadHandleKey<McEventCollection> m_mc_coll_rh_key{this, "MC_CollectionName", "TruthEvent", "Name of the McEventCollection containing the truth information"};
78 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trk_ptkl_rh_key{this, "TrackParticleContainerName", "InDetTrackParticles", "Name of the TrackParticle container"};
79
80 StringProperty m_deco_prefix{this, "DecorationPrefix", "HGTD", "Prefix to better identify decorations"};
81
82 FloatProperty m_eta_cut{this, "MinEtaAcceptance", 2.38, "Minimum eta to consider a track for extension"};
83
84 ToolHandle<IHGTD_ClusterTruthTool> m_truth_tool{this, "TruthTool", "ClusterTruthTool/ClusterTruthTool", "Tool for classifying HGTD clusters with truth information"};
85
86 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerHasExtensionKey{this, "HGTD_has_extension", m_trk_ptkl_rh_key, "HGTD_has_extension", "deco with a handle for an extension"};
87 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerExtensionChi2Key{this, "HGTD_extension_chi2", m_trk_ptkl_rh_key, "HGTD_extension_chi2", "deco with a handle for a ch2 of extension"};
88 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterRawTimeKey{this, "HGTD_cluster_raw_time", m_trk_ptkl_rh_key, "HGTD_cluster_raw_time", "deco with a handle for layer cluster raw time"};
89 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterTimeKey{this, "HGTD_cluster_time", m_trk_ptkl_rh_key, "HGTD_cluster_time", "deco with a handle for cluster time"};
90 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterTruthClassKey{this, "HGTD_cluster_truth_class", m_trk_ptkl_rh_key, "HGTD_cluster_truth_class", "deco with a handle for a truth time"};
91 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterShadowedKey{this, "HGTD_cluster_shadowed", m_trk_ptkl_rh_key, "HGTD_cluster_shadowed", "deco with a handle for a shadowed cluster"};
92 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerClusterMergedKey{this, "HGTD_cluster_merged", m_trk_ptkl_rh_key, "HGTD_cluster_merged", "deco with a handle for a merged cluster"};
93 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_layerPrimaryExpectedKey{this, "HGTD_primary_expected", m_trk_ptkl_rh_key, "HGTD_primary_expected", "deco with a handle for an expected primary"};
94 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_extrapXKey{this, "HGTD_extrap_x", m_trk_ptkl_rh_key, "HGTD_extrap_x", "deco with a handle for an x of extrap"};
95 SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_extrapYKey{this, "HGTD_extrap_y", m_trk_ptkl_rh_key, "HGTD_extrap_y", "deco with a handle for an y of extrap"};
96
97};
98
99} // namespace HGTD
100
101#endif // HGTD_RECALGS_TRACKTIMEEXTENSIONALG_H
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration.
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTruthClassKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerExtensionChi2Key
ToolHandle< IHGTD_TrackTimeExtensionTool > m_extension_tool
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_extrapXKey
ToolHandle< IHGTD_ClusterTruthTool > m_truth_tool
virtual StatusCode initialize() override final
TrackTimeExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trk_ptkl_rh_key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterRawTimeKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerHasExtensionKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTimeKey
SG::ReadHandleKey< InDetSimDataCollection > m_sdo_coll_rh_key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterShadowedKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_extrapYKey
SG::ReadHandleKey< McEventCollection > m_mc_coll_rh_key
SG::ReadHandleKey< HGTD_ClusterContainer > m_clustercont_rh_key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerPrimaryExpectedKey
StatusCode decorateTrackParticle(DecorHandles &dh, const xAOD::TrackParticle *track_ptkl, const HGTD::ExtensionObject &extension, const InDetSimDataCollection *sdo_collection, const HepMC::GenEvent *hs_event, bool skip_deco=false) const
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterMergedKey
virtual StatusCode execute(const EventContext &ctx) const override final
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< bool > > layerPrimaryExpectedHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< bool > > layerClusterMergedHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< bool > > layerClusterShadowedHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > extrapXHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< float > > layerClusterTimeHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< float > > layerClusterRawTimeHandle
DecorHandles(const TrackTimeExtensionAlg &tool, const EventContext &ctx)
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< int > > layerClusterTruthClassHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< bool > > layerHasExtensionHandle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, std::vector< float > > layerExtensionChi2Handle
SG::WriteDecorHandle< xAOD::TrackParticleContainer, float > extrapYHandle
#define private