Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OnTrackCalibrator.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 ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
6 #define ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
7 
8 #include "GaudiKernel/ToolHandle.h"
12 #include "Acts/Geometry/TrackingGeometry.hpp"
13 
17 namespace ActsTrk::detail {
18 
19 template <typename traj_t>
20 class OnTrackCalibrator : MeasurementCalibratorBase {
21 public:
22  using TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy;
23 
26  using PixelCalibrator = Acts::Delegate<
27  std::pair<PixelPos, PixelCov>(const Acts::GeometryContext&,
28  const Acts::CalibrationContext&,
29  const xAOD::PixelCluster&,
30  const TrackStateProxy&)>;
31 
34  using StripCalibrator = Acts::Delegate<
35  std::pair<StripPos, StripCov>(const Acts::GeometryContext&,
36  const Acts::CalibrationContext&,
37  const xAOD::StripCluster&,
38  const TrackStateProxy&)>;
39 
42  using HGTDCalibrator = Acts::Delegate<
43  std::pair<HgtdPos, HgtdCov>(const Acts::GeometryContext&,
44  const Acts::CalibrationContext&,
45  const xAOD::HGTDCluster &,
46  const TrackStateProxy&)>;
47 
48 
52 
53  static OnTrackCalibrator
54  NoCalibration(const Acts::TrackingGeometry &trackingGeometry,
55  const ActsTrk::DetectorElementToActsGeometryIdMap &detectorElementToGeoId);
56 
57  OnTrackCalibrator(const Acts::TrackingGeometry &trackingGeometry,
58  const ActsTrk::DetectorElementToActsGeometryIdMap &detectorElementToGeoId,
59  const ToolHandle<IOnTrackCalibratorTool<traj_t>> &pixelTool,
60  const ToolHandle<IOnTrackCalibratorTool<traj_t>> &stripTool,
61  const ToolHandle<IOnTrackCalibratorTool<traj_t>> &hgtdTool);
62 
63  void calibrate(const Acts::GeometryContext& geoctx,
64  const Acts::CalibrationContext& cctx,
65  const Acts::SourceLink& link,
66  TrackStateProxy state) const;
67 
68 private:
69 
70  // Support the no-calibration case
71  template <std::size_t Dim, typename Cluster>
72  std::pair<xAOD::MeasVector<Dim>, xAOD::MeasMatrix<Dim>>
73  passthrough(const Acts::GeometryContext& gctx,
74  const Acts::CalibrationContext& /*cctx*/,
75  const Cluster& cluster,
76  const TrackStateProxy& state) const;
77 
78  // Helper to locate surfaces
79  const Acts::TrackingGeometry *m_trackingGeometry {nullptr};
81 };
82 
83 } // namespace ActsTrk
84 
86 
87 #endif
ActsTrk::detail::OnTrackCalibrator::passthrough
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > passthrough(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &, const Cluster &cluster, const TrackStateProxy &state) const
StripCluster.h
ActsTrk::detail::OnTrackCalibrator::pixelCalibrator
PixelCalibrator pixelCalibrator
Definition: OnTrackCalibrator.h:49
ActsTrk::detail::OnTrackCalibrator::m_trackingGeometry
const Acts::TrackingGeometry * m_trackingGeometry
Definition: OnTrackCalibrator.h:79
ActsTrk::DetectorElementToActsGeometryIdMap
Definition: DetectorElementToActsGeometryIdMap.h:31
HGTDCluster.h
IOnTrackCalibratorTool.h
ActsTrk::detail::OnTrackCalibrator::HGTDCalibrator
Acts::Delegate< std::pair< HgtdPos, HgtdCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::HGTDCluster &, const TrackStateProxy &)> HGTDCalibrator
Definition: OnTrackCalibrator.h:46
ActsTrk::detail::OnTrackCalibrator::StripCalibrator
Acts::Delegate< std::pair< StripPos, StripCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const TrackStateProxy &)> StripCalibrator
Definition: OnTrackCalibrator.h:38
xAOD::HGTDCluster_v1
Definition: HGTDCluster_v1.h:23
ActsTrk::detail::OnTrackCalibrator::stripCalibrator
StripCalibrator stripCalibrator
Definition: OnTrackCalibrator.h:50
OnTrackCalibrator.icc
ActsTrk::detail::OnTrackCalibrator::PixelCalibrator
Acts::Delegate< std::pair< PixelPos, PixelCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::PixelCluster &, const TrackStateProxy &)> PixelCalibrator
Definition: OnTrackCalibrator.h:30
ActsTrk::detail::OnTrackCalibrator::calibrate
void calibrate(const Acts::GeometryContext &geoctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &link, TrackStateProxy state) const
PixelCluster.h
ActsTrk::IOnTrackCalibratorTool
Definition: IOnTrackCalibratorTool.h:18
MeasurementCalibratorBase.h
xAOD::StripCluster_v1
Definition: StripCluster_v1.h:17
ActsTrk::detail::OnTrackCalibrator::TrackStateProxy
typename Acts::MultiTrajectory< traj_t >::TrackStateProxy TrackStateProxy
Definition: OnTrackCalibrator.h:22
ActsTrk::detail::OnTrackCalibrator::HgtdCov
xAOD::MeasMatrix< 3 > HgtdCov
Definition: OnTrackCalibrator.h:41
ActsTrk::detail::OnTrackCalibrator::StripCov
xAOD::MeasMatrix< 1 > StripCov
Definition: OnTrackCalibrator.h:33
xAOD::MeasVector
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
Definition: MeasurementDefs.h:53
ActsTrk::detail::OnTrackCalibrator::m_detectorElementToGeoId
const ActsTrk::DetectorElementToActsGeometryIdMap * m_detectorElementToGeoId
Definition: OnTrackCalibrator.h:80
ActsTrk::detail::OnTrackCalibrator::HgtdPos
xAOD::MeasVector< 3 > HgtdPos
Definition: OnTrackCalibrator.h:40
ActsTrk::detail::OnTrackCalibrator::PixelCov
xAOD::MeasMatrix< 2 > PixelCov
Definition: OnTrackCalibrator.h:25
xAOD::PixelCluster_v1
Definition: PixelCluster_v1.h:17
xAOD::MeasMatrix
Eigen::Matrix< float, N, N > MeasMatrix
Definition: MeasurementDefs.h:55
ActsTrk::detail::OnTrackCalibrator
Definition: IOnTrackCalibratorTool.h:14
ActsTrk::detail::OnTrackCalibrator::StripPos
xAOD::MeasVector< 1 > StripPos
Definition: OnTrackCalibrator.h:32
ActsTrk::detail
Definition: Decoration.h:15
ActsTrk::detail::OnTrackCalibrator::OnTrackCalibrator
OnTrackCalibrator(const Acts::TrackingGeometry &trackingGeometry, const ActsTrk::DetectorElementToActsGeometryIdMap &detectorElementToGeoId, const ToolHandle< IOnTrackCalibratorTool< traj_t >> &pixelTool, const ToolHandle< IOnTrackCalibratorTool< traj_t >> &stripTool, const ToolHandle< IOnTrackCalibratorTool< traj_t >> &hgtdTool)
ActsTrk::detail::OnTrackCalibrator::PixelPos
xAOD::MeasVector< 2 > PixelPos
Definition: OnTrackCalibrator.h:24
ActsTrk::detail::OnTrackCalibrator::NoCalibration
static OnTrackCalibrator NoCalibration(const Acts::TrackingGeometry &trackingGeometry, const ActsTrk::DetectorElementToActsGeometryIdMap &detectorElementToGeoId)
DetectorElementToActsGeometryIdMap.h
ActsTrk::detail::OnTrackCalibrator::hgtdCalibrator
HGTDCalibrator hgtdCalibrator
Definition: OnTrackCalibrator.h:51