ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t > Class Template Referenceabstract

the NN clustering calibrator More...

#include <NNClusterCalibratorToolImpl.h>

Inheritance diagram for ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >:
Collaboration diagram for ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >:

Public Types

using BASE
using Options = NNClusterCalibratorOptions<calib_data_t, traj_t>
using OnTrackCalibrator
using TrackStateProxy
using Calibrator
using Pos
using Cov
using ClusterType = cluster_t

Public Member Functions

 NNClusterCalibrator (PixelClusterCalibratorOptionsBase &&base_options, Options &&options)
const NNClusterCalibrator< calib_data_t, traj_t > & derived () const
void calibrate (const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::PixelCluster &, TrackStateProxy &) const
std::tuple< Pos, Cov, unsigned int > calibrate (const Acts::GeometryContext &, const Acts::CalibrationContext &, const Acts::Surface &, const xAOD::PixelCluster &, const Acts::BoundTrackParameters &) const
virtual void connectOnTrackCalibrator (OnTrackCalibrator &calibrator) const override
 connect the calibrator (derived class) to the given OnTrack calaibrator delegate
virtual void connectOnTrackCalibrator (OnTrackCalibrator &calibrator) const=0
virtual void connectCalibrator (Calibrator &calibrator) const override
 connect the calibrator (derived class) to the given OnBoundState calaibrator delegate

Public Attributes

friend BASE

Static Public Attributes

static constexpr std::size_t ClusterDIM = DIM

Protected Member Functions

std::tuple< typename NNClusterCalibrator< calib_data_t, traj_t >::BASE::Pos, typename NNClusterCalibrator< calib_data_t, traj_t >::BASE::Cov, unsigned int > calibrate (const EventContext &ctx, const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const xAOD::PixelCluster &cluster, const InDetDD::SiDetectorElement &detElement, const std::pair< float, float > &angles) const
const InDetDD::SiDetectorElementgetDetectorElement (const Acts::Surface &surface) const
 convenience method to get the detector element for a module
const PixelIDpixelID () const
 get the Pixel ID helper.
double getLorentzShift (const IdentifierHash &elementHash, const EventContext &ctx) const
 @breif get the lorentz shift for the given module.
std::pair< float, float > tanAnglesOfIncidence (const EventContext &ctx, const Acts::GeometryContext &gctx, const Acts::Surface &surface, const InDetDD::SiDetectorElement &element, const Acts::Vector3 &direction) const
 compute tan of Lorentz angle corrected incidence angles in local-x and local-y direction.

Protected Attributes

PixelClusterCalibratorOptionsBase m_baseOptions

Private Member Functions

std::tuple< int, int, int, int > clusterIndexRanges (const xAOD::PixelCluster &cluster) const
 returns spans of the cluster
InDetDD::SiCellId weightedClusterCenter (const xAOD::PixelCluster &cluster, const InDetDD::PixelModuleDesign *design) const
 Calculated charge weighted cluster position.
void fillClusterData (NNinput &nn, const xAOD::PixelCluster &cluster, const InDetDD::SiDetectorElement &detElement) const
 Fills payload for NN from cluster.
std::array< float, 3 > predictNumberOfClusters (NNinput &nn) const
 obtain probabilities of number of particles using numbers NN
PositionNNoutput predictPositions (NNinput &nn, int number) const
 run position inference
Ort::Session & selectPositionNetwork (int number) const
 returns network appropriate for the number of sub-clusters

Private Attributes

NNClusterCalibratorOptions< calib_data_t, traj_t > m_options

Detailed Description

template<typename calib_data_t, typename traj_t>
class ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >

the NN clustering calibrator

Definition at line 39 of file NNClusterCalibratorToolImpl.h.

Member Typedef Documentation

◆ BASE

template<typename calib_data_t, typename traj_t>
using ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::BASE

◆ Calibrator

using ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::Calibrator
inherited

Definition at line 98 of file PixelClusterCalibrationToolBase.h.

◆ ClusterType

template<typename cluster_t, std::size_t DIM>
using ActsTrk::OnBoundStateCalibratorBase< cluster_t, DIM >::ClusterType = cluster_t
inherited

Definition at line 31 of file IOnBoundStateCalibratorTool.h.

◆ Cov

using ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::Cov
inherited

Definition at line 100 of file PixelClusterCalibrationToolBase.h.

◆ OnTrackCalibrator

using ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::OnTrackCalibrator
inherited

Definition at line 96 of file PixelClusterCalibrationToolBase.h.

◆ Options

template<typename calib_data_t, typename traj_t>
using ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::Options = NNClusterCalibratorOptions<calib_data_t, traj_t>

Definition at line 48 of file NNClusterCalibratorToolImpl.h.

◆ Pos

using ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::Pos
inherited

Definition at line 99 of file PixelClusterCalibrationToolBase.h.

◆ TrackStateProxy

using ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::TrackStateProxy
inherited

Definition at line 97 of file PixelClusterCalibrationToolBase.h.

Constructor & Destructor Documentation

◆ NNClusterCalibrator()

template<typename calib_data_t, typename traj_t>
ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::NNClusterCalibrator ( PixelClusterCalibratorOptionsBase && base_options,
Options && options )
inline

Definition at line 50 of file NNClusterCalibratorToolImpl.h.

NNClusterCalibratorOptions< calib_data_t, traj_t > m_options
PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t > BASE

Member Function Documentation

◆ calibrate() [1/3]

template<typename calib_data_t, typename traj_t>
std::tuple< typename NNClusterCalibrator< calib_data_t, traj_t >::BASE::Pos, typename NNClusterCalibrator< calib_data_t, traj_t >::BASE::Cov, unsigned int > ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::calibrate ( const EventContext & ctx,
const Acts::GeometryContext & gctx,
const Acts::CalibrationContext & cctx,
const xAOD::PixelCluster & cluster,
const InDetDD::SiDetectorElement & detElement,
const std::pair< float, float > & angles ) const
protected

◆ calibrate() [2/3]

std::tuple< Pos, Cov, unsigned int > ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::calibrate ( const Acts::GeometryContext & ,
const Acts::CalibrationContext & ,
const Acts::Surface & ,
const xAOD::PixelCluster & ,
const Acts::BoundTrackParameters &  ) const
inherited

◆ calibrate() [3/3]

void ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::calibrate ( const Acts::GeometryContext & ,
const Acts::CalibrationContext & ,
const xAOD::PixelCluster & ,
TrackStateProxy &  ) const
inherited

◆ clusterIndexRanges()

template<typename calib_data_t, typename traj_t>
std::tuple< int, int, int, int > ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::clusterIndexRanges ( const xAOD::PixelCluster & cluster) const
private

returns spans of the cluster

Parameters
clusterpixel
Returns
xmin, xmax, ymin, ymax

◆ connectCalibrator()

virtual void ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::connectCalibrator ( Calibrator & calibrator) const
overridevirtualinherited

connect the calibrator (derived class) to the given OnBoundState calaibrator delegate

Reimplemented from ActsTrk::OnTrackCalibratorBase< xAOD::PixelCluster, 2, traj_t >.

◆ connectOnTrackCalibrator() [1/2]

virtual void ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::connectOnTrackCalibrator ( OnTrackCalibrator & calibrator) const
overridevirtualinherited

connect the calibrator (derived class) to the given OnTrack calaibrator delegate

◆ connectOnTrackCalibrator() [2/2]

virtual void ActsTrk::OnTrackCalibratorBase< xAOD::PixelCluster, DIM, traj_t >::connectOnTrackCalibrator ( OnTrackCalibrator & calibrator) const
pure virtualinherited

◆ derived()

const NNClusterCalibrator< calib_data_t, traj_t > & ActsTrk::detail::PixelClusterCalibratorBase< NNClusterCalibrator< calib_data_t, traj_t >, traj_t >::derived ( ) const
inlineinherited

Definition at line 102 of file PixelClusterCalibrationToolBase.h.

104 {
105 return *static_cast<const derived_t *>(this);
106 }

◆ fillClusterData()

template<typename calib_data_t, typename traj_t>
void ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::fillClusterData ( NNinput & nn,
const xAOD::PixelCluster & cluster,
const InDetDD::SiDetectorElement & detElement ) const
private

Fills payload for NN from cluster.

Parameters
nnthe NN input payload to fill
clusterpixel cluster to process Presumably, this function should also take track state proxy (which may require this to become a template) and InDetDD::SiDetectorElement and overall would presumably fit better another place

◆ getDetectorElement()

template<typename traj_t>
const InDetDD::SiDetectorElement & ActsTrk::detail::PixelClusterCalibratorCommon< traj_t >::getDetectorElement ( const Acts::Surface & surface) const
protectedinherited

convenience method to get the detector element for a module

Parameters
surfacethe surface of a module

◆ getLorentzShift()

template<typename traj_t>
double ActsTrk::detail::PixelClusterCalibratorCommon< traj_t >::getLorentzShift ( const IdentifierHash & elementHash,
const EventContext & ctx ) const
inlineprotectedinherited

@breif get the lorentz shift for the given module.

Definition at line 53 of file PixelClusterCalibrationToolBase.h.

53 {
54 return m_baseOptions.m_lorentzAngleTool->getLorentzShift(elementHash, ctx);
55 }
the common base class of a PixelClusterCalibrator.

◆ pixelID()

template<typename traj_t>
const PixelID & ActsTrk::detail::PixelClusterCalibratorCommon< traj_t >::pixelID ( ) const
inlineprotectedinherited

get the Pixel ID helper.

Definition at line 50 of file PixelClusterCalibrationToolBase.h.

50{ return *m_baseOptions.m_pixelID; }

◆ predictNumberOfClusters()

template<typename calib_data_t, typename traj_t>
std::array< float, 3 > ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::predictNumberOfClusters ( NNinput & nn) const
private

obtain probabilities of number of particles using numbers NN

Parameters
thenetwork input
Returns
vector of size 3 with probabilities

◆ predictPositions()

template<typename calib_data_t, typename traj_t>
PositionNNoutput ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::predictPositions ( NNinput & nn,
int number ) const
private

run position inference

◆ selectPositionNetwork()

template<typename calib_data_t, typename traj_t>
Ort::Session & ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::selectPositionNetwork ( int number) const
private

returns network appropriate for the number of sub-clusters

◆ tanAnglesOfIncidence()

template<typename traj_t>
std::pair< float, float > ActsTrk::detail::PixelClusterCalibratorCommon< traj_t >::tanAnglesOfIncidence ( const EventContext & ctx,
const Acts::GeometryContext & gctx,
const Acts::Surface & surface,
const InDetDD::SiDetectorElement & element,
const Acts::Vector3 & direction ) const
protectedinherited

compute tan of Lorentz angle corrected incidence angles in local-x and local-y direction.

◆ weightedClusterCenter()

template<typename calib_data_t, typename traj_t>
InDetDD::SiCellId ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::weightedClusterCenter ( const xAOD::PixelCluster & cluster,
const InDetDD::PixelModuleDesign * design ) const
private

Calculated charge weighted cluster position.

Parameters
clusterpixel cluster to process
pixelIDdecoder decoder
designis geometry of the module
Returns
call that that is the center of the cluster

Member Data Documentation

◆ BASE

template<typename calib_data_t, typename traj_t>
friend ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::BASE

Definition at line 46 of file NNClusterCalibratorToolImpl.h.

◆ ClusterDIM

template<typename cluster_t, std::size_t DIM>
std::size_t ActsTrk::OnBoundStateCalibratorBase< cluster_t, DIM >::ClusterDIM = DIM
staticconstexprinherited

Definition at line 32 of file IOnBoundStateCalibratorTool.h.

◆ m_baseOptions

Definition at line 87 of file PixelClusterCalibrationToolBase.h.

◆ m_options

template<typename calib_data_t, typename traj_t>
NNClusterCalibratorOptions<calib_data_t, traj_t> ActsTrk::detail::NNClusterCalibrator< calib_data_t, traj_t >::m_options
private

Definition at line 100 of file NNClusterCalibratorToolImpl.h.


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