#include <alpaka/alpaka.hpp>
#include <Eigen/Core>
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
#include "RecoTracker/PixelTrackFitting/interface/alpaka/FitUtils.h"
Go to the source code of this file.
Classes | |
class | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::helixFit< n > |
Helix fit by three step: -fast pre-fit (see Fast_fit() for further info); -circle fit of the hits projected in the transverse plane by Broken Line algorithm (see BL_Circle_fit() for further info); -line fit of the hits projected on the (pre-fitted) cilinder surface by Broken Line algorithm (see BL_Line_fit() for further info); Points must be passed ordered (from inner to outer layer). More... | |
struct | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::PreparedBrokenLineData< n > |
data needed for the Broken Line fit procedure. More... | |
Namespaces | |
ALPAKA_ACCELERATOR_NAMESPACE::brokenline | |
Typedefs | |
using | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::karimaki_circle_fit = riemannFit::CircleFit |
< Karimäki's parameters: (phi, d, k=1/R) More... | |
Functions | |
template<typename TAcc , typename M3xN , typename V4 , int n> | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::__attribute__ ((always_inline)) prepareBrokenLineData(const TAcc &acc |
Computes the data needed for the Broken Line fit procedure that are mainly common for the circle and the line fit. More... | |
template<typename TAcc , typename M3xN , typename M6xN , typename V4 , int n> | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::circleFit (const TAcc &acc, const M3xN &hits, const M6xN &hits_ge, const V4 &fast_fit, const double bField, PreparedBrokenLineData< n > &data, karimaki_circle_fit &circle_results) |
Performs the Broken Line fit in the curved track case (that is, the fit parameters are the interceptions u and the curvature correction ). More... | |
if | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr (n > 3) |
template<typename TAcc , typename M3xN , typename V4 > | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::fastFit (const TAcc &acc, const M3xN &hits, V4 &result) |
A very fast helix fit. More... | |
ALPAKA_ACCELERATOR_NAMESPACE::brokenline::for (u_int i=0;i< n;i++) | |
template<typename TAcc , typename V4 , typename M6xN , int n> | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::lineFit (const TAcc &acc, const M6xN &hits_ge, const V4 &fast_fit, const double bField, const PreparedBrokenLineData< n > &data, riemannFit::LineFit &line_results) |
Performs the Broken Line fit in the straight track case (that is, the fit parameters are only the interceptions u). More... | |
template<typename TAcc , int n> | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE riemannFit::MatrixNd< n > | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::matrixC_u (const TAcc &acc, const riemannFit::VectorNd< n > &weights, const riemannFit::VectorNd< n > &sTotal, const riemannFit::VectorNd< n > &varBeta) |
Computes the n-by-n band matrix obtained minimizing the Broken Line's cost function w.r.t u. This is the whole matrix in the case of the line fit and the main n-by-n block in the case of the circle fit. More... | |
template<typename TAcc > | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE double | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::multScatt (const TAcc &acc, const double &length, const double bField, const double radius, int layer, double slope) |
Computes the Coulomb multiple scattering variance of the planar angle. More... | |
template<typename TAcc > | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE riemannFit::Matrix2d | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::rotationMatrix (const TAcc &acc, double slope) |
Computes the 2D rotation matrix that transforms the line y=slope*x into the line y=0. More... | |
template<typename TAcc > | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::translateKarimaki (const TAcc &acc, karimaki_circle_fit &circle, double x0, double y0, riemannFit::Matrix3d &jacobian) |
Changes the Karimäki parameters (and consequently their covariance matrix) under a translation of the coordinate system, such that the old origin has coordinates (x0,y0) in the new coordinate system. The formulas are taken from Karimäki V., 1990, Effective circle fitting for particle trajectories, Nucl. Instr. and Meth. A305 (1991) 187. More... | |
results | ALPAKA_ACCELERATOR_NAMESPACE::brokenline::varBeta (0) |