|
CbmRoot
|
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov. More...
#include <CbmRichRingFitterEllipseTau.h>
Public Member Functions | |
| CbmRichRingFitterEllipseTau () | |
| Default constructor. | |
| virtual | ~CbmRichRingFitterEllipseTau () |
| Destructor. | |
| virtual void | DoFit (CbmRichRingLight *ring) |
| Inherited from CbmRichRingFitterBase. | |
Protected Member Functions | |
| 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 | |
| static const int | MAX_NOF_HITS_IN_RING = 400 |
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] |
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
Definition at line 39 of file CbmRichRingFitterEllipseTau.h.
| CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau | ( | ) |
Default constructor.
Definition at line 94 of file CbmRichRingFitterEllipseTau.cxx.
|
virtual |
Destructor.
Definition at line 96 of file CbmRichRingFitterEllipseTau.cxx.
|
private |
Matrices multiplication.
Definition at line 467 of file CbmRichRingFitterEllipseTau.cxx.
Referenced by InitMatrices(), and Taubin().
|
inlineprotectedvirtualinherited |
Calculate chi2 of the ellipse fit.
| [in,out] | ring | Fitted RICH ring with ellipse fitter. |
Reimplemented from CbmRichRingFitterBase.
Definition at line 46 of file CbmRichRingFitterEllipseBase.h.
References CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetXF1(), CbmRichRingLight::GetXF2(), CbmRichRingLight::GetYF1(), CbmRichRingLight::GetYF2(), CbmRichRingLight::SetChi2(), sqrt(), x, and y.
Referenced by CbmRichRingFitterEllipseMinuit::DoFit(), CbmRichRingFitterEllipseTau::DoFit(), and CbmRichRingFitterEllipseTau::TransformEllipse().
|
inlineprotectedvirtualinherited |
Calculate chi2 of the ellipse fitting using parameters of 2D curve.
| [in] | A | A parameter of curve. |
| [in] | B | B parameter of curve. |
| [in] | C | C parameter of curve. |
| [in] | D | D parameter of curve. |
| [in] | E | E parameter of curve. |
| [in] | F | F parameter of curve. |
| [in] | ring | Fitted RICH ring with ellipse fitter. |
Definition at line 92 of file CbmRichRingFitterEllipseBase.h.
References D, E, F, CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::SetChi2(), sqrt(), x, and y.
|
virtual |
Inherited from CbmRichRingFitterBase.
Implements CbmRichRingFitterBase.
Definition at line 98 of file CbmRichRingFitterEllipseTau.cxx.
References CbmRichRingFitterEllipseBase::CalcChi2(), CbmRichRingLight::GetNofHits(), InitMatrices(), CbmRichRingFitterBase::MAX_NOF_HITS_IN_RING, CbmRichRingLight::SetRadius(), CbmRichRingLight::SetXYABP(), Taubin(), and TransformEllipse().
Referenced by CbmRichRingFitterQa::GenerateEllipse().
|
private |
|
private |
Initialize all matrices.
Definition at line 173 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 |
|
private |
|
private |
|
private |
Transform fitted curve to ellipse parameters.
| [in,out] | ring | RICH ring. |
Definition at line 236 of file CbmRichRingFitterEllipseTau.cxx.
References CbmRichRingFitterEllipseBase::CalcChi2(), cos(), fAlgPar, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetPhi(), CbmRichRingLight::SetAaxis(), CbmRichRingLight::SetABCDEF(), CbmRichRingLight::SetBaxis(), CbmRichRingLight::SetPhi(), CbmRichRingLight::SetRadius(), CbmRichRingLight::SetXYABP(), and sin().
Referenced by DoFit().
|
private |
Definition at line 62 of file CbmRichRingFitterEllipseTau.h.
Referenced by Taubin(), and TransformEllipse().
|
private |
Definition at line 57 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 58 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), Inv5x5(), and Taubin().
|
private |
Definition at line 59 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 60 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices().
|
private |
Definition at line 61 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices().
|
staticprotectedinherited |
Definition at line 75 of file CbmRichRingFitterBase.h.
Referenced by CbmRichRingFitterEllipseTau::DoFit(), and CbmRichRingFitterCOP::FitRing().