ATLAS Offline Software
Loading...
Searching...
No Matches
OnTrackCalibrator.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 ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
6#define ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
7
8#include "GaudiKernel/ToolHandle.h"
11#include "Acts/Geometry/TrackingGeometry.hpp"
12
18namespace ActsTrk::detail {
19
21template <typename traj_t>
23public:
24 using TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy;
25
28 using PixelCalibrator = Acts::Delegate<
29 std::pair<PixelPos, PixelCov>(const Acts::GeometryContext&,
30 const Acts::CalibrationContext&,
31 const xAOD::PixelCluster&,
32 const TrackStateProxy&)>;
33
36 using StripCalibrator = Acts::Delegate<
37 std::pair<StripPos, StripCov>(const Acts::GeometryContext&,
38 const Acts::CalibrationContext&,
39 const xAOD::StripCluster&,
40 const TrackStateProxy&)>;
41
44 using HGTDCalibrator = Acts::Delegate<
45 std::pair<HgtdPos, HgtdCov>(const Acts::GeometryContext&,
46 const Acts::CalibrationContext&,
47 const xAOD::HGTDCluster &,
48 const TrackStateProxy&)>;
49
50
60 OnTrackCalibrator() = default;
71 const ToolHandle<IOnTrackCalibratorTool<traj_t>> &pixelTool,
72 const ToolHandle<IOnTrackCalibratorTool<traj_t>> &stripTool,
73 const ToolHandle<IOnTrackCalibratorTool<traj_t>> &hgtdTool);
74
80 void calibrate(const Acts::GeometryContext& geoctx,
81 const Acts::CalibrationContext& cctx,
82 const Acts::SourceLink& link,
83 TrackStateProxy state) const;
84
85private:
88 // Support the no-calibration case
89 template <std::size_t Dim, typename Cluster>
90 std::pair<xAOD::MeasVector<Dim>, xAOD::MeasMatrix<Dim>>
91 passthrough(const Acts::GeometryContext& gctx,
92 const Acts::CalibrationContext& /*cctx*/,
93 const Cluster& cluster,
94 const TrackStateProxy& state) const;
95};
96
97} // namespace ActsTrk
98
100
101#endif
Geometry helper tool extending the Tracking geometry service by the data dependency to fetch the geom...
void calibrate(const Acts::GeometryContext &geoctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &link, TrackStateProxy state) const
Function that's hooked to the calibration delegate of the implemented Acts fitters.
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > passthrough(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &, const Cluster &cluster, const TrackStateProxy &state) const
Acts::Delegate< std::pair< StripPos, StripCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const TrackStateProxy &)> StripCalibrator
static OnTrackCalibrator NoCalibration(const ActsTrk::ITrackingGeometryTool *trackGeoTool)
Constructs a calibrator which copies the local position & covariance of the ITk measurements onto the...
OnTrackCalibrator()=default
Empty default constructor.
typename Acts::MultiTrajectory< traj_t >::TrackStateProxy TrackStateProxy
Acts::Delegate< std::pair< HgtdPos, HgtdCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::HGTDCluster &, const TrackStateProxy &)> HGTDCalibrator
OnTrackCalibrator(const ActsTrk::ITrackingGeometryTool *trackGeoTool, const ToolHandle< IOnTrackCalibratorTool< traj_t > > &pixelTool, const ToolHandle< IOnTrackCalibratorTool< traj_t > > &stripTool, const ToolHandle< IOnTrackCalibratorTool< traj_t > > &hgtdTool)
Standard cosntructor which activates the calibration of the ITk & HGTD measurements based on the best...
Acts::Delegate< std::pair< PixelPos, PixelCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::PixelCluster &, const TrackStateProxy &)> PixelCalibrator
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
Athena definition of the Eigen plugin.
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
Eigen::Matrix< float, N, N > MeasMatrix
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
HGTDCluster_v1 HGTDCluster
Define the version of the pixel cluster class.
Definition HGTDCluster.h:13