5#ifndef ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
6#define ACTSTRACKRECONSTRUCTION_ONTRACKCALIBRATOR_H
8#include "GaudiKernel/ToolHandle.h"
13#include "Acts/Geometry/TrackingGeometry.hpp"
20#include "boost/container/static_vector.hpp"
26template <
typename traj_t>
40 template <
typename T_Cluster, std::
size_t NDIM>
42 void(
const Acts::GeometryContext&,
43 const Acts::CalibrationContext&,
88 const Acts::CalibrationContext& cctx,
89 const Acts::SourceLink& link,
98 boost::container::static_vector<std::unique_ptr<ClusterCalibratorBase >, 3>
m_calibrators;
101 template <std::
size_t Dim,
typename Cluster>
103 const Acts::CalibrationContext& ,
104 const Cluster& cluster,
108 template <
typename T_CalibratorToolHandle,
typename T_Delegate>
113 template<
typename T_CalibratorToolHandle,
typename T_Delegate>
115 const T_CalibratorToolHandle &calibrator_tool,
116 T_Delegate &delegate);
MeasurementCalibratorBase()=default
HGTDCalibrator hgtdCalibrator
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.
OnTrackCalibratorDelegate< const xAOD::StripCluster, 1 > StripCalibrator
OnTrackCalibrator(const EventContext &ctx, const ActsTrk::ITrackingGeometryTool *trackGeoTool, const ToolHandle< IPixelOnTrackCalibratorTool< traj_t > > &pixelTool, const ToolHandle< IStripOnTrackCalibratorTool< traj_t > > &stripTool, const ToolHandle< IHGTDOnTrackCalibratorTool< traj_t > > &hgtdTool)
Standard cosntructor which activates the calibration of the ITk & HGTD measurements based on the best...
void passthrough(const Acts::GeometryContext &gctx, const Acts::CalibrationContext &, const Cluster &cluster, TrackStateProxy &state) const
xAODUncalibMeasSurfAcc m_surfAcc
xAOD::MeasVector< 1 > StripPos
xAOD::MeasMatrix< 3 > HgtdCov
xAOD::MeasVector< 2 > PixelPos
OnTrackCalibrator(const ActsTrk::ITrackingGeometryTool *trackGeoTool)
create a "NoCalibration" on track calibrator for all measurement types.
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
xAOD::MeasMatrix< 1 > StripCov
void connectPassThrough(T_Delegate &delegate)
boost::container::static_vector< std::unique_ptr< ClusterCalibratorBase >, 3 > m_calibrators
xAOD::MeasVector< 3 > HgtdPos
OnTrackCalibratorDelegate< const xAOD::PixelCluster, 2 > PixelCalibrator
Acts::Delegate< void(const Acts::GeometryContext &, const Acts::CalibrationContext &, const T_Cluster &, TrackStateProxy &)> OnTrackCalibratorDelegate
OnTrackCalibratorDelegate< const xAOD::HGTDCluster, 3 > HGTDCalibrator
void connect(const EventContext &ctx, const T_CalibratorToolHandle &calibrator_tool, T_Delegate &delegate)
StripCalibrator stripCalibrator
xAOD::MeasMatrix< 2 > PixelCov
PixelCalibrator pixelCalibrator
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
Hash functions to pack the source link into unordered_maps / unordered_sets.
Eigen::Matrix< float, N, N > MeasMatrix
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.