Helix fit by three step: -fast pre-fit (see Fast_fit() for further info);
-circle fit of hits projected in the transverse plane by Riemann-Chernov algorithm (see Circle_fit() for further info);
-line fit of hits projected on cylinder surface by orthogonal distance regression (see Line_fit for further info).
Points must be passed ordered (from inner to outer layer).
More...
#include <RiemannFit.h>
Public Member Functions | |
template<typename TAcc > | |
ALPAKA_FN_ACC ALPAKA_FN_INLINE void | operator() (const TAcc &acc, const Matrix3xNd< N > *hits, const Eigen::Matrix< float, 6, N > *hits_ge, const double bField, const bool error, HelixFit *helix) const |
Helix fit by three step: -fast pre-fit (see Fast_fit() for further info);
-circle fit of hits projected in the transverse plane by Riemann-Chernov algorithm (see Circle_fit() for further info);
-line fit of hits projected on cylinder surface by orthogonal distance regression (see Line_fit for further info).
Points must be passed ordered (from inner to outer layer).
hits | Matrix3xNd hits coordinates in this form: |x0|x1|x2|...|xn| |y0|y1|y2|...|yn| |z0|z1|z2|...|zn| |
hits_cov | Matrix3Nd covariance matrix in this form (()->cov()): |(x0,x0)|(x1,x0)|(x2,x0)|.|(y0,x0)|(y1,x0)|(y2,x0)|.|(z0,x0)|(z1,x0)|(z2,x0)| |(x0,x1)|(x1,x1)|(x2,x1)|.|(y0,x1)|(y1,x1)|(y2,x1)|.|(z0,x1)|(z1,x1)|(z2,x1)| |(x0,x2)|(x1,x2)|(x2,x2)|.|(y0,x2)|(y1,x2)|(y2,x2)|.|(z0,x2)|(z1,x2)|(z2,x2)| . . . . . . . . . . . |(x0,y0)|(x1,y0)|(x2,y0)|.|(y0,y0)|(y1,y0)|(y2,x0)|.|(z0,y0)|(z1,y0)|(z2,y0)| |(x0,y1)|(x1,y1)|(x2,y1)|.|(y0,y1)|(y1,y1)|(y2,x1)|.|(z0,y1)|(z1,y1)|(z2,y1)| |(x0,y2)|(x1,y2)|(x2,y2)|.|(y0,y2)|(y1,y2)|(y2,x2)|.|(z0,y2)|(z1,y2)|(z2,y2)| . . . . . . . . . . . |(x0,z0)|(x1,z0)|(x2,z0)|.|(y0,z0)|(y1,z0)|(y2,z0)|.|(z0,z0)|(z1,z0)|(z2,z0)| |(x0,z1)|(x1,z1)|(x2,z1)|.|(y0,z1)|(y1,z1)|(y2,z1)|.|(z0,z1)|(z1,z1)|(z2,z1)| |(x0,z2)|(x1,z2)|(x2,z2)|.|(y0,z2)|(y1,z2)|(y2,z2)|.|(z0,z2)|(z1,z2)|(z2,z2)| |
bField | magnetic field in the center of the detector in Gev/cm/c unit, in order to perform pt calculation. |
error | flag for error computation. |
scattering | flag for multiple scattering treatment. (see Circle_fit() documentation for further info). |
Definition at line 990 of file RiemannFit.h.
|
inline |
Definition at line 993 of file RiemannFit.h.
References Calorimetry_cff::bField, riemannFit::CircleFit::chi2, riemannFit::HelixFit::chi2_circle, riemannFit::HelixFit::chi2_line, ALPAKA_ACCELERATOR_NAMESPACE::riemannFit::circleFit(), ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), riemannFit::CircleFit::cov, riemannFit::HelixFit::cov, relativeConstraints::error, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::fast_fit, ALPAKA_ACCELERATOR_NAMESPACE::riemannFit::fastFit(), hfClusterShapes_cfi::hits, mps_splice::line, ALPAKA_ACCELERATOR_NAMESPACE::riemannFit::lineFit(), ALPAKA_ACCELERATOR_NAMESPACE::riemannFit::loadCovariance2D(), N, dqmiodumpmetadata::n, riemannFit::CircleFit::par, riemannFit::HelixFit::par, ALPAKA_ACCELERATOR_NAMESPACE::riemannFit::par_uvrtopak(), riemannFit::CircleFit::qCharge, riemannFit::HelixFit::qCharge, and parallelization::uint.