ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::detail::OnTrackCalibrator< traj_t > Class Template Reference

Inner detector / ITk calibrator implementation used in the KalmanFilterTool. More...

#include <OnTrackCalibrator.h>

Inheritance diagram for ActsTrk::detail::OnTrackCalibrator< traj_t >:
Collaboration diagram for ActsTrk::detail::OnTrackCalibrator< traj_t >:

Public Types

using TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy
using PixelPos = xAOD::MeasVector<2>
using PixelCov = xAOD::MeasMatrix<2>
using PixelCalibrator
using StripPos = xAOD::MeasVector<1>
using StripCov = xAOD::MeasMatrix<1>
using StripCalibrator
using HgtdPos = xAOD::MeasVector<3>
using HgtdCov = xAOD::MeasMatrix<3>
using HGTDCalibrator

Public Member Functions

 OnTrackCalibrator ()=default
 Empty default constructor.
 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 track predicition.
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.

Static Public Member Functions

static OnTrackCalibrator NoCalibration (const ActsTrk::ITrackingGeometryTool *trackGeoTool)
 Constructs a calibrator which copies the local position & covariance of the ITk measurements onto the track state.

Public Attributes

PixelCalibrator pixelCalibrator
StripCalibrator stripCalibrator
HGTDCalibrator hgtdCalibrator

Private Types

enum class  ProjectorType {
  e1DimNoTime = 0 , e1DimRotNoTime = 1 , e2DimNoTime = 2 , e1DimWithTime = 3 ,
  e1DimRotWithTime = 4 , e2DimWithTime = 5
}
 Enum encoding the possible projectors used in ATLAS. More...
template<typename trajectory_t>
using TrackState_t = typename Acts::MultiTrajectory<trajectory_t>::TrackStateProxy
 Abbrivation of the track state proxy type.
template<typename trajectory_t>
using ConstTrackState_t = typename Acts::MultiTrajectory<trajectory_t>::ConstTrackStateProxy
 Abbrivation of the const track state proxy type.

Private Member Functions

template<std::size_t Dim, typename Cluster>
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > passthrough (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &, const Cluster &cluster, const TrackStateProxy &state) const
template<std::size_t Dim, typename trajectory_t, typename pos_t, typename cov_t>
void setState (const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, TrackState_t< trajectory_t > &trackState) const
 Copy the local position & covariance into the Acts track state proxy.

Private Attributes

xAODUncalibMeasSurfAcc m_surfAcc {}
 Helper class to access the Acts surfaces.

Static Private Attributes

static constexpr std::array< Acts::BoundSubspaceIndices, 6 > s_boundSpaceIndices
 Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements.

Detailed Description

template<typename traj_t>
class ActsTrk::detail::OnTrackCalibrator< traj_t >

Inner detector / ITk calibrator implementation used in the KalmanFilterTool.

Definition at line 22 of file OnTrackCalibrator.h.

Member Typedef Documentation

◆ ConstTrackState_t

template<typename trajectory_t>
using ActsTrk::detail::MeasurementCalibratorBase::ConstTrackState_t = typename Acts::MultiTrajectory<trajectory_t>::ConstTrackStateProxy
inherited

Abbrivation of the const track state proxy type.

Definition at line 44 of file MeasurementCalibratorBase.h.

◆ HGTDCalibrator

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::HGTDCalibrator
Initial value:
Acts::Delegate<
std::pair<HgtdPos, HgtdCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const TrackStateProxy&)>
typename Acts::MultiTrajectory< traj_t >::TrackStateProxy TrackStateProxy
HGTDCluster_v1 HGTDCluster
Define the version of the pixel cluster class.
Definition HGTDCluster.h:13

Definition at line 44 of file OnTrackCalibrator.h.

◆ HgtdCov

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::HgtdCov = xAOD::MeasMatrix<3>

Definition at line 43 of file OnTrackCalibrator.h.

◆ HgtdPos

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::HgtdPos = xAOD::MeasVector<3>

Definition at line 42 of file OnTrackCalibrator.h.

◆ PixelCalibrator

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelCalibrator
Initial value:
Acts::Delegate<
std::pair<PixelPos, PixelCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const TrackStateProxy&)>
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.

Definition at line 28 of file OnTrackCalibrator.h.

◆ PixelCov

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelCov = xAOD::MeasMatrix<2>

Definition at line 27 of file OnTrackCalibrator.h.

◆ PixelPos

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelPos = xAOD::MeasVector<2>

Definition at line 26 of file OnTrackCalibrator.h.

◆ StripCalibrator

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripCalibrator
Initial value:
Acts::Delegate<
std::pair<StripPos, StripCov>(const Acts::GeometryContext&,
const Acts::CalibrationContext&,
const TrackStateProxy&)>
StripCluster_v1 StripCluster
Define the version of the strip cluster class.

Definition at line 36 of file OnTrackCalibrator.h.

◆ StripCov

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripCov = xAOD::MeasMatrix<1>

Definition at line 35 of file OnTrackCalibrator.h.

◆ StripPos

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripPos = xAOD::MeasVector<1>

Definition at line 34 of file OnTrackCalibrator.h.

◆ TrackState_t

template<typename trajectory_t>
using ActsTrk::detail::MeasurementCalibratorBase::TrackState_t = typename Acts::MultiTrajectory<trajectory_t>::TrackStateProxy
inherited

Abbrivation of the track state proxy type.

Definition at line 41 of file MeasurementCalibratorBase.h.

◆ TrackStateProxy

template<typename traj_t>
using ActsTrk::detail::OnTrackCalibrator< traj_t >::TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy

Definition at line 24 of file OnTrackCalibrator.h.

Member Enumeration Documentation

◆ ProjectorType

Enum encoding the possible projectors used in ATLAS.

Their integer representations correspond to the element index in the s_boundSpaceIndices member

Enumerator
e1DimNoTime 
e1DimRotNoTime 

Project out solely the locX (Applies to Itk strips, Rpc, Tgc, sTgc, Mm)

e2DimNoTime 

Project out solely the locY - Complementary projector if the strip plane is rotated (Applies to Itk endcap strips, Rpc, Tgc, sTgc)

e1DimWithTime 

Project out the two spatial coordinates - (Applies to ITk pixel, BI-Rpc, sTgc pad)

e1DimRotWithTime 

Project out the locX & time coordinate - (Applies to Rpc, Tgc, Mm, sTgc)

e2DimWithTime 

Project out the locY & time coordinate - (Applies to Rpc, Tgc, sTgc)

Definition at line 29 of file MeasurementCalibratorBase.h.

29 {
30 e1DimNoTime = 0,
31 e1DimRotNoTime = 1,
33 e2DimNoTime = 2,
34 e1DimWithTime = 3,
35 e1DimRotWithTime = 4,
36 e2DimWithTime = 5,
37 };

Constructor & Destructor Documentation

◆ OnTrackCalibrator() [1/2]

template<typename traj_t>
ActsTrk::detail::OnTrackCalibrator< traj_t >::OnTrackCalibrator ( )
default

Empty default constructor.

Surface look will fail.

◆ OnTrackCalibrator() [2/2]

template<typename traj_t>
ActsTrk::detail::OnTrackCalibrator< traj_t >::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 track predicition.

It takes the configured instance to the TrackingGeometryTool and then for each silicon measurement type a calibration tool handle. There's also the possibility to pass an empty tool, then the information from the measurement is directly copied onto the track state. *

Parameters
trackGeoToolPointer to the tracking geometry tool to access the needed surfaces during the calibration
pixelToolReference to a (configured) calibration tool responsible for the PixelCluster measurements
stripToolReference to a (configured) calibration tool responsible for the ITk strip measurements
hdtdToolReference to a (configured) calibration tool responsible for the HGTD strip measurements

Member Function Documentation

◆ calibrate()

template<typename traj_t>
void ActsTrk::detail::OnTrackCalibrator< traj_t >::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.

Parameters
geoctxThe geometry context to fetch the local -> global transformations for the surfaces
cctxCalibration context which is a packed pointer to the current ATLAS EventContext
linkSourcelink to the actual measurement to calibrate
stateProxy to the track state onto which the calibrated information is copied.

◆ NoCalibration()

template<typename traj_t>
OnTrackCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::NoCalibration ( const ActsTrk::ITrackingGeometryTool * trackGeoTool)
static

Constructs a calibrator which copies the local position & covariance of the ITk measurements onto the track state.

Parameters
trackGeoToolPointer to a valid tracking geometry tool to associate the surfaces to the measurements

◆ passthrough()

template<typename traj_t>
template<std::size_t Dim, typename Cluster>
std::pair< xAOD::MeasVector< Dim >, xAOD::MeasMatrix< Dim > > ActsTrk::detail::OnTrackCalibrator< traj_t >::passthrough ( const Acts::GeometryContext & gctx,
const Acts::CalibrationContext & ,
const Cluster & cluster,
const TrackStateProxy & state ) const
private

◆ setState()

template<std::size_t Dim, typename trajectory_t, typename pos_t, typename cov_t>
void ActsTrk::detail::MeasurementCalibratorBase::setState ( const ProjectorType projector,
const pos_t & locpos,
const cov_t & cov,
Acts::SourceLink link,
TrackState_t< trajectory_t > & trackState ) const
inherited

Copy the local position & covariance into the Acts track state proxy.

Template Parameters
DimDimension of the measurement
trajectory_tData type of the track state proxy backend
pos_tData type of the [Dim x 1] position vector
cov_tData type of the [Dim x Dim] covariance matrix
Parameters
projectorProjector configuration of the measurement
locposCalibrated local postion
covCalibrated local covariance
linkSource link to associate with the state
trackStateRefrence to the track state proxy to write.

Member Data Documentation

◆ hgtdCalibrator

template<typename traj_t>
HGTDCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::hgtdCalibrator

Definition at line 53 of file OnTrackCalibrator.h.

◆ m_surfAcc

template<typename traj_t>
xAODUncalibMeasSurfAcc ActsTrk::detail::OnTrackCalibrator< traj_t >::m_surfAcc {}
private

Helper class to access the Acts surfaces.

Definition at line 87 of file OnTrackCalibrator.h.

87{};

◆ pixelCalibrator

template<typename traj_t>
PixelCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::pixelCalibrator

Definition at line 51 of file OnTrackCalibrator.h.

◆ s_boundSpaceIndices

std::array<Acts::BoundSubspaceIndices, 6> ActsTrk::detail::MeasurementCalibratorBase::s_boundSpaceIndices
staticconstexprprivateinherited
Initial value:
{
Acts::BoundSubspaceIndices{Acts::eBoundLoc0},
Acts::BoundSubspaceIndices{Acts::eBoundLoc1},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundTime},
Acts::BoundSubspaceIndices{Acts::eBoundLoc1, Acts::eBoundTime},
}
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.

Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements.

Definition at line 66 of file MeasurementCalibratorBase.h.

66 {
67 Acts::BoundSubspaceIndices{Acts::eBoundLoc0}, // One dimenion without time
68 Acts::BoundSubspaceIndices{Acts::eBoundLoc1}, // Complementary one dimension without time
69 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1},
70 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundTime}, // One dimension with time
71 Acts::BoundSubspaceIndices{Acts::eBoundLoc1, Acts::eBoundTime}, // Complementary one dimension with time
72 Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundTime}
73 };

◆ stripCalibrator

template<typename traj_t>
StripCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::stripCalibrator

Definition at line 52 of file OnTrackCalibrator.h.


The documentation for this class was generated from the following files: