ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::HoughVertexFinder< spacepoint_t > Class Template Reference

Implements the vertex finder based on the spacepoints using Hough transform For more information, see arXiv:2410.14494 0. More...

#include <Acts/Vertexing/HoughVertexFinder.hpp>

Classes

struct  Config
 Configuration struct. More...

Public Types

using HoughAxis = Axis<AxisType::Equidistant, AxisBoundaryType::Open>
 Type alias for equidistant axis used in Hough transform.
using HoughCount_t = std::uint16_t
 Type alias for count values in Hough histogram bins.
using HoughHist = Grid<HoughCount_t, HoughAxis, HoughAxis>
 Type alias for 2D histogram used in Hough transform.

Public Member Functions

 HoughVertexFinder (Config cfg, std::unique_ptr< const Logger > lgr=getDefaultLogger("HoughVertexFinder", Logging::INFO))
 Constructor.
const Configconfig () const
 Const access to the config.
Acts::Result< Acts::Vector3find (const std::vector< spacepoint_t > &spacepoints) const
 Finds the vertex based on the provided spacepoints.

Detailed Description

template<typename spacepoint_t>
class Acts::HoughVertexFinder< spacepoint_t >

Implements the vertex finder based on the spacepoints using Hough transform For more information, see arXiv:2410.14494 0.

Assumes there is only 1 vertex and that it has a high multiplicity

  1. Estimates what eta range is really necessary
  2. Creates Hough space (z_vtx - cot(theta)) from spacepoints within that eta range
  3. Subtracts the coincidentally crossed lines in the Hough space
  4. Makes a projection to the Z axis and finds a peak - that is the vertex position
  5. Repeats 2-4 if necessary

Member Typedef Documentation

◆ HoughAxis

template<typename spacepoint_t>
using Acts::HoughVertexFinder< spacepoint_t >::HoughAxis = Axis<AxisType::Equidistant, AxisBoundaryType::Open>

Type alias for equidistant axis used in Hough transform.

◆ HoughCount_t

template<typename spacepoint_t>
using Acts::HoughVertexFinder< spacepoint_t >::HoughCount_t = std::uint16_t

Type alias for count values in Hough histogram bins.

◆ HoughHist

template<typename spacepoint_t>
using Acts::HoughVertexFinder< spacepoint_t >::HoughHist = Grid<HoughCount_t, HoughAxis, HoughAxis>

Type alias for 2D histogram used in Hough transform.

Constructor & Destructor Documentation

◆ HoughVertexFinder()

template<typename spacepoint_t>
Acts::HoughVertexFinder< spacepoint_t >::HoughVertexFinder ( Config cfg,
std::unique_ptr< const Logger > lgr = getDefaultLogger("HoughVertexFinder< spacepoint_t >", Logging::INFO) )
explicit

Constructor.

Parameters
cfgConfiguration object
lgrLogging instance

Member Function Documentation

◆ config()

template<typename spacepoint_t>
const Config & Acts::HoughVertexFinder< spacepoint_t >::config ( ) const

Const access to the config.

Returns
Const reference to the configuration object

◆ find()

template<typename spacepoint_t>
Acts::Result< Acts::Vector3 > Acts::HoughVertexFinder< spacepoint_t >::find ( const std::vector< spacepoint_t > & spacepoints) const

Finds the vertex based on the provided spacepoints.

Parameters
spacepointsVector of the input spacepoints; they do not need to be sorted anyhow
Returns
Position of the vertex