ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
ActsTrk::detail::TrkPrepRawDataCalibrator Class Reference

Class to calibrate the Acts track states with uncalibrated Trk::PrepRaw data objects. More...

#include <TrkPrepRawDataCalibrator.h>

Inheritance diagram for ActsTrk::detail::TrkPrepRawDataCalibrator:
Collaboration diagram for ActsTrk::detail::TrkPrepRawDataCalibrator:

Public Types

using SourceLink_t = const Trk::PrepRawData *
 abrivation of the underlying source link type More...
 
enum  ProjectorType {
  ProjectorType::e1DimNoTime = 0, ProjectorType::e1DimRotNoTime = 1, ProjectorType::e2DimNoTime = 2, ProjectorType::e1DimWithTime = 3,
  ProjectorType::e1DimRotWithTime = 4, ProjectorType::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. More...
 
template<typename trajectory_t >
using ConstTrackState_t = typename Acts::MultiTrajectory< trajectory_t >::ConstTrackStateProxy
 Abbrivation of the const track state proxy type. More...
 

Public Member Functions

 TrkPrepRawDataCalibrator ()=default
 Empty constructor not configuring any tool -> crash if not later overwritten. More...
 
 TrkPrepRawDataCalibrator (const ActsTrk::IActsToTrkConverterTool *convTool, const Trk::IRIO_OnTrackCreator *rotCreator)
 Constructor taking the Acts <-> Trk conversion tool & a preconfigured rot creator to calibrate the measurements. More...
 
template<typename trajectory_t >
void calibrate (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, TrackState_t< trajectory_t > trackState) const
 Calibrator delegate implementation to calibrate the ActsTrk fit from Trk::PrepRawData objects. More...
 
template<typename trackstate_t >
std::unique_ptr< Trk::RIO_OnTrackcreateROT (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sl, const trackstate_t &trackState) const
 Create a Track Raw Input object (ROT) from the source link to the PRD measurement and the predicted track parameters of the track state. More...
 
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. More...
 

Static Public Member Functions

static SourceLink_t unpack (const Acts::SourceLink &sl)
 Unpack the prepraw data measurement from the source link. More...
 
static Acts::SourceLink pack (const SourceLink_t prd)
 Pack the PrepRaw data measurement into a source link. More...
 

Private Attributes

TrkMeasurementCalibrator m_rotCalib {}
 
const ActsTrk::IActsToTrkConverterToolm_convTool {nullptr}
 Pointer to the track conversion tool. More...
 
const Trk::IRIO_OnTrackCreatorm_rotCreator {nullptr}
 ROT creator. More...
 

Static Private Attributes

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

Detailed Description

Class to calibrate the Acts track states with uncalibrated Trk::PrepRaw data objects.

Essentially, this class is reproducing the calibration work flow during the ATLAS fit.

Definition at line 17 of file TrkPrepRawDataCalibrator.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.

◆ SourceLink_t

abrivation of the underlying source link type

Definition at line 53 of file TrkPrepRawDataCalibrator.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.

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,
32  e2DimNoTime = 2,
34  e1DimWithTime = 3,
35  e1DimRotWithTime = 4,
36  e2DimWithTime = 5,
37  };

Constructor & Destructor Documentation

◆ TrkPrepRawDataCalibrator() [1/2]

ActsTrk::detail::TrkPrepRawDataCalibrator::TrkPrepRawDataCalibrator ( )
default

Empty constructor not configuring any tool -> crash if not later overwritten.

◆ TrkPrepRawDataCalibrator() [2/2]

ActsTrk::detail::TrkPrepRawDataCalibrator::TrkPrepRawDataCalibrator ( const ActsTrk::IActsToTrkConverterTool convTool,
const Trk::IRIO_OnTrackCreator rotCreator 
)

Constructor taking the Acts <-> Trk conversion tool & a preconfigured rot creator to calibrate the measurements.

Parameters
convToolPointer to the configured track conversion tool
rotCreatorPointer to the configured ROT creator

Definition at line 7 of file TrkPrepRawDataCalibrator.cxx.

8  :
9  m_convTool{convTool}, m_rotCreator{rotCreator} {}

Member Function Documentation

◆ calibrate()

template<typename trajectory_t >
void ActsTrk::detail::TrkPrepRawDataCalibrator::calibrate ( const Acts::GeometryContext &  gctx,
const Acts::CalibrationContext &  cctx,
const Acts::SourceLink &  sl,
TrackState_t< trajectory_t >  trackState 
) const

Calibrator delegate implementation to calibrate the ActsTrk fit from Trk::PrepRawData objects.

Template Parameters
trajectory_tTepmlate parameter of the underlying MultTrajectory container backend
Parameters
gctxGeometry context to access the alignment of the surface
cctxCalibration context to access the calibration constants from the conditions store
slReference to the packed ATLASSourceLink (a.k.a Trk::MeasurementBase)
trackStateReference to the multi trajectory track state to fill

◆ createROT()

template<typename trackstate_t >
std::unique_ptr<Trk::RIO_OnTrack> ActsTrk::detail::TrkPrepRawDataCalibrator::createROT ( const Acts::GeometryContext &  gctx,
const Acts::CalibrationContext &  cctx,
const Acts::SourceLink &  sl,
const trackstate_t &  trackState 
) const

Create a Track Raw Input object (ROT) from the source link to the PRD measurement and the predicted track parameters of the track state.

Template Parameters
trajectory_tTepmlate parameter of the underlying MultTrajectory container backend
Parameters
gctxGeometry context to access the alignment of the surface
cctxCalibration context to access the calibration constants from the conditions store
slReference to the packed ATLASSourceLink (a.k.a Trk::MeasurementBase)
trackStateReference to the multi trajectory track state to read the predicted parameters from.

◆ pack()

Acts::SourceLink ActsTrk::detail::TrkPrepRawDataCalibrator::pack ( const SourceLink_t  prd)
static

Pack the PrepRaw data measurement into a source link.

Parameters
prdPointer to the prep data measurement to pack

Definition at line 17 of file TrkPrepRawDataCalibrator.cxx.

17  {
18  return Acts::SourceLink{prd};
19  }

◆ 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.

◆ unpack()

TrkPrepRawDataCalibrator::SourceLink_t ActsTrk::detail::TrkPrepRawDataCalibrator::unpack ( const Acts::SourceLink &  sl)
static

Unpack the prepraw data measurement from the source link.

Parameters
slReference to the source link to unpack

Definition at line 12 of file TrkPrepRawDataCalibrator.cxx.

12  {
13  SourceLink_t prd = sl.template get<SourceLink_t>();
14  assert(prd != nullptr);
15  return prd;
16  }

Member Data Documentation

◆ m_convTool

const ActsTrk::IActsToTrkConverterTool* ActsTrk::detail::TrkPrepRawDataCalibrator::m_convTool {nullptr}
private

Pointer to the track conversion tool.

Definition at line 63 of file TrkPrepRawDataCalibrator.h.

◆ m_rotCalib

TrkMeasurementCalibrator ActsTrk::detail::TrkPrepRawDataCalibrator::m_rotCalib {}
private

Definition at line 61 of file TrkPrepRawDataCalibrator.h.

◆ m_rotCreator

const Trk::IRIO_OnTrackCreator* ActsTrk::detail::TrkPrepRawDataCalibrator::m_rotCreator {nullptr}
private

ROT creator.

Definition at line 65 of file TrkPrepRawDataCalibrator.h.

◆ s_boundSpaceIndices

constexpr static 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},
Acts::BoundSubspaceIndices{Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundTime}
}

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.


The documentation for this class was generated from the following files:
ActsTrk::detail::TrkPrepRawDataCalibrator::m_convTool
const ActsTrk::IActsToTrkConverterTool * m_convTool
Pointer to the track conversion tool.
Definition: TrkPrepRawDataCalibrator.h:63
ActsTrk::detail::TrkPrepRawDataCalibrator::m_rotCreator
const Trk::IRIO_OnTrackCreator * m_rotCreator
ROT creator.
Definition: TrkPrepRawDataCalibrator.h:65
ActsTrk::detail::TrkPrepRawDataCalibrator::SourceLink_t
const Trk::PrepRawData * SourceLink_t
abrivation of the underlying source link type
Definition: TrkPrepRawDataCalibrator.h:53