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. More... | |
virtual | ~CbmRichRingFitterEllipseTau () |
Destructor. More... | |
virtual void | DoFit (CbmRichRingLight *ring) |
Inherited from CbmRichRingFitterBase. More... | |
Protected Member Functions | |
virtual void | CalcChi2 (CbmRichRingLight *ring) |
Calculate chi2 of the ellipse fit. More... | |
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. More... | |
Static Protected Attributes | |
static const int | MAX_NOF_HITS_IN_RING |
Private Member Functions | |
void | TransformEllipse (CbmRichRingLight *ring) |
Transform fitted curve to ellipse parameters. More... | |
void | InitMatrices (CbmRichRingLight *ring) |
Initialize all matrices. More... | |
void | Taubin () |
Perform Taubin method. More... | |
void | Inv5x5 () |
Invert 5x5 matrix. More... | |
void | AMultB (const double *const ap, int na, int ncolsa, const double *const bp, int nb, int ncolsb, double *cp) |
Matrices multiplication. More... | |
void | Jacobi (double a[5][5], double d[5], double v[5][5]) |
Jacobi method. More... | |
void | Eigsrt (double d[5], double v[5][5]) |
Find eigenvalues. More... | |
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 35 of file CbmRichRingFitterEllipseTau.h.
CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau | ( | ) |
Default constructor.
Definition at line 90 of file CbmRichRingFitterEllipseTau.cxx.
|
virtual |
Destructor.
Definition at line 92 of file CbmRichRingFitterEllipseTau.cxx.
|
private |
Matrices multiplication.
Definition at line 525 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 42 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 DoFit(), CbmRichRingFitterEllipseMinuit::DoFit(), and 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 87 of file CbmRichRingFitterEllipseBase.h.
References fabs(), CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::SetChi2(), sqrt(), x, and y.
|
virtual |
Inherited from CbmRichRingFitterBase.
Implements CbmRichRingFitterBase.
Definition at line 94 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 CbmLitMCTrackCreator::AddRingParameters(), CbmKresConversionKF::CheckIfElectron(), CbmKresEta::CheckIfElectron(), CbmKresConversionManualmbias4::CheckIfElectron(), CbmKresConversionManualmbias1::CheckIfElectron(), CbmKresConversionManualmbias2::CheckIfElectron(), CbmKresConversionManualmbias3::CheckIfElectron(), CbmKresConversionManual::CheckIfElectron(), CbmKresConversionPhotons::CheckIfElectron(), CbmKresConversionCorrectedPhotons::CheckIfElectron(), CbmKresConversionGeneral::FitAndFillHistEllipse(), CbmRichGeoTest::FitAndFillHistEllipse(), CbmRichRingFitterQa::GenerateEllipse(), CbmRichPMTMapping::MatchFinder(), CbmRichCorrectionVector::MatchFinder(), CbmRichPMTMapping::ProjectionProducer(), and CbmRichPMTMapping::ProjectionProducer2().
|
private |
Find eigenvalues.
Definition at line 639 of file CbmRichRingFitterEllipseTau.cxx.
|
private |
Initialize all matrices.
Definition at line 169 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, i, x, and y.
Referenced by DoFit().
|
private |
|
private |
Jacobi method.
Definition at line 560 of file CbmRichRingFitterEllipseTau.cxx.
|
private |
|
private |
Transform fitted curve to ellipse parameters.
[in,out] | ring | RICH ring. |
Definition at line 231 of file CbmRichRingFitterEllipseTau.cxx.
References CbmRichRingFitterEllipseBase::CalcChi2(), cos(), fabs(), 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 58 of file CbmRichRingFitterEllipseTau.h.
Referenced by Taubin(), and TransformEllipse().
|
private |
Definition at line 53 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 54 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), Inv5x5(), and Taubin().
|
private |
Definition at line 55 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
|
private |
Definition at line 56 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices().
|
private |
Definition at line 57 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices().
|
staticprotectedinherited |