ATLAS Offline Software
Loading...
Searching...
No Matches
ActsClusterComparisonAlg.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 EFTRACKING_ACTSCLUSTERCOMPARISONALG_H
6#define EFTRACKING_ACTSCLUSTERCOMPARISONALG_H
7
8// Athena includes
9#include <unordered_map>
10
11#include "Acts/Definitions/Units.hpp"
27
28#include <Gaudi/Accumulators.h>
29
30namespace ActsTrk {
31
52public:
53 using AthReentrantAlgorithm::AthReentrantAlgorithm;
54
56 virtual StatusCode initialize() override;
58 virtual StatusCode execute(const EventContext& ctx) const override;
60 virtual StatusCode finalize() override;
61
62 private:
63 StatusCode validateClusters(const EventContext& eventContext, std::unordered_map<const xAOD::PixelCluster*, const xAOD::PixelCluster*>& pixel_cluster_matches, std::unordered_map<const xAOD::StripCluster*, const xAOD::StripCluster*>& strip_cluster_matches) const;
64 StatusCode validatePixelSpacepoints(const EventContext& eventContext, std::unordered_map<const xAOD::PixelCluster*, const xAOD::PixelCluster*>& pixel_cluster_matches) const;
65
68 Gaudi::Property<bool> m_checkSpacepoints{
69 this, "checkSpacepoints", false,
70 "If you also want to validate spacepounts."};
71
72
76 this, "monitoredSpacepointsKey", "xAODSpacepointsFromTracccCluster",
77 "Input monitored spacepoints"};
78
80 this, "referenceSpacepointsKey", "ITkPixelSpacePoints",
81 "Input reference spacepoints"};
82
84 this, "monitoredPixelClustersKey", "xAODPixelClustersFromTracccCluster",
85 "Input monitored pixel clusters"};
86
88 this, "monitoredStripClustersKey", "xAODStripClustersFromTracccCluster",
89 "Input monitored strip clusters"};
90
92 this, "referencePixelClustersKey", "ITkPixelClusters",
93 "Input reference pixel clusters"};
94
96 this, "referenceStripClustersKey", "ITkStripClusters",
97 "Input reference strip clusters"};
98
99
100
101 // cluster sumamry
102 mutable Gaudi::Accumulators::Counter<> m_pixel_unequal;
103 mutable Gaudi::Accumulators::Counter<> m_strip_unequal;
104 mutable Gaudi::Accumulators::Counter<> m_matched_pixel;
105 mutable Gaudi::Accumulators::Counter<> m_matched_strip;
106 mutable Gaudi::Accumulators::Counter<> m_pixel_pos_diff_1sig;
107 mutable Gaudi::Accumulators::Counter<> m_pixel_pos_diff_0p5sig;
108 mutable Gaudi::Accumulators::Counter<> m_pixel_pos_diff_0p25sig;
109 mutable Gaudi::Accumulators::Counter<> m_strip_pos_diff_1sig;
110 mutable Gaudi::Accumulators::Counter<> m_strip_pos_diff_0p5sig;
111 mutable Gaudi::Accumulators::Counter<> m_strip_pos_diff_0p25sig;
112
113 // spacepoint summary
114 mutable Gaudi::Accumulators::Counter<> m_nMonSp;
115 mutable Gaudi::Accumulators::Counter<> m_nRefSp;
116 mutable Gaudi::Accumulators::Counter<> m_nMatchedSp;
117 mutable Gaudi::Accumulators::Counter<> m_nUnmatchedMonSp;
118 mutable Gaudi::Accumulators::Counter<> m_nUnmatchedRefSp;
119 mutable Gaudi::Accumulators::Counter<> m_nSpPosDiff1mm;
120 mutable Gaudi::Accumulators::Counter<> m_nSpPosDiff5mm;
121 mutable Gaudi::Accumulators::Counter<> m_nSpVarRDiff;
122 mutable Gaudi::Accumulators::Counter<> m_nSpVarZDiff;
123
124 Gaudi::Property<std::string> m_pixelManagerKey{
125 this, "PixelManager", "ITkPixel"};
126 Gaudi::Property<std::string> m_stripManagerKey{
127 this, "StripManager", "ITkStrip"};
130 const SCT_ID* m_stripID {nullptr};
131 ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool{
132 this, "LorentzAngleTool", "SiLorentzAngleTool",
133 "Tool to retrieve Lorentz angle"};
134 ToolHandle<ISiLorentzAngleTool> m_pixelLorentzAngleTool{
135 this, "PixelLorentzAngleTool", "",
136 "Tool to retreive Lorentz angle of Pixel"};
137};
138
139} // end of namespace
140
141#endif
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Accumulators::Counter m_nMatchedSp
StatusCode validateClusters(const EventContext &eventContext, std::unordered_map< const xAOD::PixelCluster *, const xAOD::PixelCluster * > &pixel_cluster_matches, std::unordered_map< const xAOD::StripCluster *, const xAOD::StripCluster * > &strip_cluster_matches) const
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_referencePixelClustersKey
ToolHandle< ISiLorentzAngleTool > m_pixelLorentzAngleTool
Gaudi::Accumulators::Counter m_pixel_unequal
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
SG::ReadHandleKey< xAOD::SpacePointContainer > m_monitoredSpacepointsKey
SG::ReadHandleKey< xAOD::StripClusterContainer > m_referenceStripClustersKey
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_monitoredPixelClustersKey
Gaudi::Accumulators::Counter m_nUnmatchedRefSp
Gaudi::Accumulators::Counter m_strip_unequal
Gaudi::Accumulators::Counter m_pixel_pos_diff_0p25sig
Gaudi::Property< std::string > m_stripManagerKey
Gaudi::Accumulators::Counter m_nSpPosDiff5mm
Gaudi::Accumulators::Counter m_strip_pos_diff_0p5sig
const InDetDD::PixelDetectorManager * m_pixelManager
Gaudi::Accumulators::Counter m_nSpVarRDiff
SG::ReadHandleKey< xAOD::StripClusterContainer > m_monitoredStripClustersKey
Gaudi::Accumulators::Counter m_matched_pixel
Gaudi::Accumulators::Counter m_nSpVarZDiff
virtual StatusCode execute(const EventContext &ctx) const override
Execute the algorithm.
Gaudi::Accumulators::Counter m_nSpPosDiff1mm
Gaudi::Accumulators::Counter m_strip_pos_diff_0p25sig
virtual StatusCode finalize() override
Finalize the algorithm.
Gaudi::Accumulators::Counter m_nUnmatchedMonSp
Gaudi::Accumulators::Counter m_strip_pos_diff_1sig
const InDetDD::SCT_DetectorManager * m_stripManager
Gaudi::Accumulators::Counter m_pixel_pos_diff_1sig
Gaudi::Accumulators::Counter m_matched_strip
SG::ReadHandleKey< xAOD::SpacePointContainer > m_referenceSpacepointsKey
virtual StatusCode initialize() override
Initialize the algorithm.
Gaudi::Property< std::string > m_pixelManagerKey
Gaudi::Accumulators::Counter m_pixel_pos_diff_0p5sig
StatusCode validatePixelSpacepoints(const EventContext &eventContext, std::unordered_map< const xAOD::PixelCluster *, const xAOD::PixelCluster * > &pixel_cluster_matches) const
An algorithm that can be simultaneously executed in multiple threads.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
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.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...