EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov. More...
#include <EicRoot/blob/master/rich/fitter/CbmRichRingFitterEllipseTau.h>
Public Member Functions | |
CbmRichRingFitterEllipseTau () | |
Default constructor. | |
virtual | ~CbmRichRingFitterEllipseTau () |
Destructor. | |
virtual void | DoFit (CbmRichRingLight *ring) |
Inherited from CbmRichRingFitterBase. | |
Public Member Functions inherited from CbmRichRingFitterEllipseBase | |
CbmRichRingFitterEllipseBase () | |
Default constructor. | |
virtual | ~CbmRichRingFitterEllipseBase () |
Destructor. | |
Public Member Functions inherited from CbmRichRingFitterBase | |
CbmRichRingFitterBase () | |
Default constructor. | |
virtual | ~CbmRichRingFitterBase () |
Destructor. | |
Private Member Functions | |
void | TransformEllipse (CbmRichRingLight *ring) |
Transform fitted curve to ellipse parameters. | |
void | InitMatrices (CbmRichRingLight *ring) |
Initialize all matrices. | |
void | Taubin () |
Perform Taubin method. | |
void | Inv5x5 () |
Invert 5x5 matrix. | |
void | AMultB (const double *const ap, int na, int ncolsa, const double *const bp, int nb, int ncolsb, double *cp) |
Matrices multiplication. | |
void | Jacobi (double a[5][5], double d[5], double v[5][5]) |
Jacobi method. | |
void | Eigsrt (double d[5], double v[5][5]) |
Find eigenvalues. | |
Private Attributes | |
double | fM [36] |
double | fP [25] |
double | fQ [25] |
double | fZ [MAX_NOF_HITS_IN_RING *6] |
double | fZT [MAX_NOF_HITS_IN_RING *6] |
double | fAlgPar [6] |
Additional Inherited Members | |
Protected Member Functions inherited from CbmRichRingFitterEllipseBase | |
virtual void | CalcChi2 (CbmRichRingLight *ring) |
Calculate chi2 of the ellipse fit. | |
virtual void | CalcChi2 (double A, double B, double C, double D, double E, double F, CbmRichRingLight *ring) |
Calculate chi2 of the ellipse fitting using parameters of 2D curve. | |
Static Protected Attributes inherited from CbmRichRingFitterBase | |
static const int | MAX_NOF_HITS_IN_RING = 400 |
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
Definition at line 35 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 35 of file CbmRichRingFitterEllipseTau.h
CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau | ( | ) |
Default constructor.
Definition at line 91 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 91 of file CbmRichRingFitterEllipseTau.cxx
|
virtual |
Destructor.
Definition at line 96 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 96 of file CbmRichRingFitterEllipseTau.cxx
|
private |
Matrices multiplication.
Definition at line 503 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 503 of file CbmRichRingFitterEllipseTau.cxx
Referenced by InitMatrices(), and Taubin().
|
virtual |
Inherited from CbmRichRingFitterBase.
Implements CbmRichRingFitterBase.
Definition at line 101 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 101 of file CbmRichRingFitterEllipseTau.cxx
References CbmRichRingFitterEllipseBase::CalcChi2(), CbmRichRingLight::GetNofHits(), InitMatrices(), CbmRichRingLight::SetRadius(), CbmRichRingLight::SetXYABP(), Taubin(), and TransformEllipse().
Referenced by CbmRichGeoTest::FitAndFillHistEllipse(), and CbmRichRingFitterQa::GenerateEllipse().
|
private |
Find eigenvalues.
Definition at line 616 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 616 of file CbmRichRingFitterEllipseTau.cxx
|
private |
Initialize all matrices.
Definition at line 170 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 170 of file CbmRichRingFitterEllipseTau.cxx
References AMultB(), fM, fP, fQ, CbmRichHitLight::fX, CbmRichHitLight::fY, fZ, fZT, GA00, GA01, GA02, GA03, GA04, GA05, GA11, GA12, GA13, GA14, GA15, GA22, GA23, GA24, GA25, GA33, GA34, GA35, GA44, GA45, GA50, GA51, GA52, GA53, GA54, CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), GM00, GM01, GM02, GM03, GM04, GM10, GM11, GM12, GM13, GM14, GM20, GM21, GM22, GM23, GM24, GM30, GM31, GM32, GM33, GM34, GM40, GM41, GM42, GM43, GM44, x, and y.
Referenced by DoFit().
|
private |
Invert 5x5 matrix.
Definition at line 290 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 290 of file CbmRichRingFitterEllipseTau.cxx
References fP, GM00, GM01, GM02, GM03, GM04, GM10, GM11, GM12, GM13, GM14, GM20, GM21, GM22, GM23, GM24, GM30, GM31, GM32, GM33, GM34, GM40, GM41, GM42, GM43, and GM44.
Referenced by Taubin().
|
private |
Jacobi method.
Definition at line 532 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 532 of file CbmRichRingFitterEllipseTau.cxx
References c, g(), Acts::UnitConstants::h, ip(), MAXSWEEP, ROTATE, Acts::UnitConstants::s, t, theta(), and z.
|
private |
Perform Taubin method.
Definition at line 124 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 124 of file CbmRichRingFitterEllipseTau.cxx
References AMultB(), fAlgPar, fM, fP, fQ, GA05, GA15, GA25, GA35, GA45, and Inv5x5().
Referenced by DoFit().
|
private |
Transform fitted curve to ellipse parameters.
[in,out] | ring | RICH ring. |
Definition at line 231 of file CbmRichRingFitterEllipseTau.cxx.
View newest version in sPHENIX GitHub at line 231 of file CbmRichRingFitterEllipseTau.cxx
References starlightConstants::alpha, CbmRichRingFitterEllipseBase::CalcChi2(), cos(), Acts::UnitConstants::e, fAlgPar, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetPhi(), CbmRichRingLight::SetAaxis(), CbmRichRingLight::SetABCDEF(), CbmRichRingLight::SetBaxis(), CbmRichRingLight::SetPhi(), CbmRichRingLight::SetRadius(), and CbmRichRingLight::SetXYABP().
Referenced by DoFit().
|
private |
Definition at line 62 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 62 of file CbmRichRingFitterEllipseTau.h
Referenced by Taubin(), and TransformEllipse().
|
private |
Definition at line 57 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 57 of file CbmRichRingFitterEllipseTau.h
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 58 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 58 of file CbmRichRingFitterEllipseTau.h
Referenced by InitMatrices(), Inv5x5(), and Taubin().
|
private |
Definition at line 59 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 59 of file CbmRichRingFitterEllipseTau.h
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 60 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 60 of file CbmRichRingFitterEllipseTau.h
Referenced by InitMatrices().
|
private |
Definition at line 61 of file CbmRichRingFitterEllipseTau.h.
View newest version in sPHENIX GitHub at line 61 of file CbmRichRingFitterEllipseTau.h
Referenced by InitMatrices().