![]() |
ATLAS Offline Software
|
Inner detector / ITk calibrator implementation used in the KalmanFilterTool. More...
#include <OnTrackCalibrator.h>
Public Types | |
| using | TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy |
| using | PixelPos = xAOD::MeasVector<2> |
| using | PixelCov = xAOD::MeasMatrix<2> |
| using | StripPos = xAOD::MeasVector<1> |
| using | StripCov = xAOD::MeasMatrix<1> |
| using | HgtdPos = xAOD::MeasVector<3> |
| using | HgtdCov = xAOD::MeasMatrix<3> |
| template<typename T_Cluster, std::size_t NDIM> | |
| using | OnTrackCalibratorDelegate |
| using | PixelCalibrator = OnTrackCalibratorDelegate<const xAOD::PixelCluster,2> |
| using | StripCalibrator = OnTrackCalibratorDelegate<const xAOD::StripCluster,1> |
| using | HGTDCalibrator = OnTrackCalibratorDelegate<const xAOD::HGTDCluster,3> |
Public Member Functions | |
| OnTrackCalibrator ()=default | |
| Empty default constructor. | |
| 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 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 |
Protected Member Functions | |
| OnTrackCalibrator (const ActsTrk::ITrackingGeometryTool *trackGeoTool) | |
| create a "NoCalibration" on track calibrator for all measurement types. | |
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... | |
| using | SourceLink_t |
| Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena. | |
Private Member Functions | |
| template<std::size_t Dim, typename Cluster> | |
| void | passthrough (const Acts::GeometryContext &gctx, const Acts::CalibrationContext &, const Cluster &cluster, TrackStateProxy &state) const |
| template<typename T_CalibratorToolHandle, typename T_Delegate> | |
| void | connectPassThrough (T_Delegate &delegate) |
| template<typename T_CalibratorToolHandle, typename T_Delegate> | |
| void | connect (const EventContext &ctx, const T_CalibratorToolHandle &calibrator_tool, T_Delegate &delegate) |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t, typename pos_t, typename cov_t> | |
| void | setState (const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, proxy_t &trackState) const |
| Copy the local position & covariance into the Acts track state proxy. | |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t> | |
| void | prepareCalibratedState (const ProjectorType projector, Acts::SourceLink link, proxy_t &trackState) const |
| Queries the track proxy to allocate memory for the incoming calibration object. | |
Static Private Member Functions | |
| static SourceLinkType | getType (const Acts::SourceLink &sl) |
| Returns the enumeration corresponding to the object type cached within the Acts::SourceLink. | |
| static SourceLink_t | unpackBase (const Acts::SourceLink &sl) |
| Unpack the SourceLink_t from the passed Acts source link. | |
| template<Acts::PointerConcept Ptr_t> | |
| static Acts::SourceLink | pack (const Ptr_t &measurement) |
| Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t. | |
| template<Acts::PointerConcept Ptr_t> | |
| static void | pack (const std::vector< Ptr_t > &measList, std::vector< Acts::SourceLink > &targetSL) |
| Converts a vector measurement pointers to Acts::SourceLinks. | |
Private Attributes | |
| xAODUncalibMeasSurfAcc | m_surfAcc {} |
| Helper class to access the Acts surfaces. | |
| boost::container::static_vector< std::unique_ptr< ClusterCalibratorBase >, 3 > | m_calibrators |
| all the calibrator objects used and owned by this on track calibrator. | |
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. | |
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.
Definition at line 27 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::HGTDCalibrator = OnTrackCalibratorDelegate<const xAOD::HGTDCluster,3> |
Definition at line 48 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::HgtdCov = xAOD::MeasMatrix<3> |
Definition at line 38 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::HgtdPos = xAOD::MeasVector<3> |
Definition at line 37 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::OnTrackCalibratorDelegate |
Definition at line 41 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelCalibrator = OnTrackCalibratorDelegate<const xAOD::PixelCluster,2> |
Definition at line 46 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelCov = xAOD::MeasMatrix<2> |
Definition at line 32 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::PixelPos = xAOD::MeasVector<2> |
Definition at line 31 of file OnTrackCalibrator.h.
|
inherited |
Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena.
The std::monostate is used to encode nullptrs or not yet supported types
Definition at line 53 of file MeasurementCalibratorBase.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripCalibrator = OnTrackCalibratorDelegate<const xAOD::StripCluster,1> |
Definition at line 47 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripCov = xAOD::MeasMatrix<1> |
Definition at line 35 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::StripPos = xAOD::MeasVector<1> |
Definition at line 34 of file OnTrackCalibrator.h.
| using ActsTrk::detail::OnTrackCalibrator< traj_t >::TrackStateProxy = typename Acts::MultiTrajectory<traj_t>::TrackStateProxy |
Definition at line 29 of file OnTrackCalibrator.h.
|
stronginherited |
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 41 of file MeasurementCalibratorBase.h.
|
default |
Empty default constructor.
Surface look will fail.
|
protected |
create a "NoCalibration" on track calibrator for all measurement types.
| ActsTrk::detail::OnTrackCalibrator< traj_t >::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 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. *
| trackGeoTool | Pointer to the tracking geometry tool to access the needed surfaces during the calibration |
| pixelTool | Reference to a (configured) calibration tool responsible for the PixelCluster measurements |
| stripTool | Reference to a (configured) calibration tool responsible for the ITk strip measurements |
| hdtdTool | Reference to a (configured) calibration tool responsible for the HGTD strip measurements |
| 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.
| geoctx | The geometry context to fetch the local -> global transformations for the surfaces |
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| link | Sourcelink to the actual measurement to calibrate |
| state | Proxy to the track state onto which the calibrated information is copied. |
|
private |
|
private |
|
staticinherited |
Returns the enumeration corresponding to the object type cached within the Acts::SourceLink.
The SourceLink must have been created by a MeasurementCalibrator to ensure that the underlying variant is cached. If the variant is a monostate, nTypes is returned
| sl | Reference to the source link to unpack. |
|
inlinestatic |
Constructs a calibrator which copies the local position & covariance of the ITk measurements onto the track state.
| trackGeoTool | Pointer to a valid tracking geometry tool to associate the surfaces to the measurements |
Definition at line 57 of file OnTrackCalibrator.h.
|
staticinherited |
Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t.
Nullptrs are converted to a std::monostate.
| measurement | Pointer to the measurement to transform into a SourceLInk |
|
staticinherited |
Converts a vector measurement pointers to Acts::SourceLinks.
| measList | The list of measurement pointers for conversion |
| targetSL | The allocated SourceLink vectors to which the Acts::SourceLink objects are appended. |
|
private |
|
protectedinherited |
Queries the track proxy to allocate memory for the incoming calibration object.
Defines the projector indices and allocates the source link to the state
| projector | Projector configuration of the measurement |
| link | Source link to associate with the state |
| trackState | Refrence to the track state proxy to write. |
|
inherited |
Copy the local position & covariance into the Acts track state proxy.
| Dim | Dimension of the measurement |
| trajectory_t | Data type of the track state proxy backend |
| pos_t | Data type of the [Dim x 1] position vector |
| cov_t | Data type of the [Dim x Dim] covariance matrix |
| projector | Projector configuration of the measurement |
| locpos | Calibrated local postion |
| cov | Calibrated local covariance |
| link | Source link to associate with the state |
| trackState | Refrence to the track state proxy to write. |
|
staticinherited |
Unpack the SourceLink_t from the passed Acts source link.
| sl | Reference to the source link to unpack. |
| HGTDCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::hgtdCalibrator |
Definition at line 52 of file OnTrackCalibrator.h.
|
private |
all the calibrator objects used and owned by this on track calibrator.
Definition at line 98 of file OnTrackCalibrator.h.
|
private |
| PixelCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::pixelCalibrator |
Definition at line 50 of file OnTrackCalibrator.h.
|
staticconstexprprivateinherited |
Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements.
Definition at line 115 of file MeasurementCalibratorBase.h.
| StripCalibrator ActsTrk::detail::OnTrackCalibrator< traj_t >::stripCalibrator |
Definition at line 51 of file OnTrackCalibrator.h.