ATLAS Offline Software
Loading...
Searching...
No Matches
InDetToXAODSpacePointConversion.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTOXAOD_SPACEPOINT_CONVERSION_H
6#define INDETTOXAOD_SPACEPOINT_CONVERSION_H
7
9
12
15
18
21
23
27
28#include <unordered_map>
29
30namespace InDet {
31
34 public:
36 InDetToXAODSpacePointConversion(const std::string &name, ISvcLocator *pSvcLocator);
37
38 //@name Usual algorithm methods
40 virtual StatusCode initialize() override;
41 virtual StatusCode execute(const EventContext& ctx) const override;
43
44 private:
45 StatusCode convertPixel(const EventContext& ctx,
46 xAOD::PixelClusterContainer* cluster_xaod_container) const;
47 StatusCode convertStrip(const EventContext& ctx,
48 const Amg::Vector3D& vertex,
49 xAOD::StripClusterContainer* cluster_xaod_container,
50 std::unordered_map<Identifier, std::size_t>& mapClusters) const;
51 StatusCode convertStripOverlap(const EventContext& ctx,
52 const Amg::Vector3D& vertex,
53 xAOD::StripClusterContainer* cluster_xaod_container,
54 std::unordered_map<Identifier, std::size_t>& mapClusters) const;
55
56 private:
57 SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData",
58 "SG key for beam spot" };
59
60 SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsPixel {this, "InputPixelSpacePointsName", "ITkPixelSpacePoints",
61 "Input Pixel space points container"};
62 SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsStrip {this, "InputStripSpacePointsName", "ITkStripSpacePoints",
63 "Input Strip space points container"};
64 SG::ReadHandleKey< ::SpacePointOverlapCollection > m_inSpacepointsOverlap {this, "InputStripOverlapSpacePointsName", "ITkOverlapSpacePoints",
65 "Input Strip overlap space points container"};
66
67 SG::WriteHandleKey< xAOD::PixelClusterContainer > m_outClustersPixel {this, "OutputPixelClustersName", "ITkPixelClusters",
68 "Output Pixel cluster container"};
69 SG::WriteHandleKey< xAOD::StripClusterContainer > m_outClustersStrip {this, "OutputStripClustersName", "ITkStripClusters",
70 "Output Strip cluster container"};
71
72 SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsPixel {this, "OutputPixelSpacePointsName", "ITkPixelSpacePoints",
73 "Output Pixel space points container"};
74 SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsStrip {this, "OutputStripSpacePointsName", "ITkStripSpacePoints",
75 "Output Strip space points container"};
76 SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsOverlap {this, "OutputStripOverlapSpacePointsName", "ITkStripOverlapSpacePoints",
77 "Output Strip Overlap space points container"};
78
79 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "ITkPixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
80 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_stripDetEleCollKey {this, "StripDetEleCollKey", "ITkStripDetectorElementCollection", "Key of SiDetectorElementCollection for Strip"};
81
82 Gaudi::Property<bool> m_convertClusters {this, "ConvertClusters", false};
83 Gaudi::Property<bool> m_processPixel {this, "ProcessPixel", true};
84 Gaudi::Property<bool> m_processStrip {this, "ProcessStrip", true};
85
86 const PixelID* m_pixelID {nullptr};
87 const SCT_ID* m_stripID {nullptr};
88 };
89
90}
91
92#endif
93
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
An algorithm that can be simultaneously executed in multiple threads.
StatusCode convertPixel(const EventContext &ctx, xAOD::PixelClusterContainer *cluster_xaod_container) const
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsPixel
SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsPixel
InDetToXAODSpacePointConversion(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
StatusCode convertStripOverlap(const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_outClustersPixel
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsOverlap
SG::ReadHandleKey< ::SpacePointContainer > m_inSpacepointsStrip
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
SG::ReadHandleKey< ::SpacePointOverlapCollection > m_inSpacepointsOverlap
SG::WriteHandleKey< xAOD::StripClusterContainer > m_outClustersStrip
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
SG::WriteHandleKey< xAOD::SpacePointContainer > m_outSpacepointsStrip
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
StatusCode convertStrip(const EventContext &ctx, const Amg::Vector3D &vertex, xAOD::StripClusterContainer *cluster_xaod_container, std::unordered_map< Identifier, std::size_t > &mapClusters) const
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Eigen::Matrix< double, 3, 1 > Vector3D
Primary Vertex Finder.
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.