Data (block) for independent scalar measurement. More...
#include <GblData.h>
Public Member Functions | |
GblData (unsigned int aLabel, double aMeas, double aPrec) | |
Create data block. | |
virtual | ~GblData () |
void | addDerivatives (unsigned int iRow, const std::vector< unsigned int > &labDer, const SMatrix55 &matDer, unsigned int iOff, const TMatrixD &derLocal, const std::vector< int > &labGlobal, const TMatrixD &derGlobal, unsigned int nLocal, const TMatrixD &derTrans) |
Add derivatives from measurement. | |
void | addDerivatives (unsigned int iRow, const std::vector< unsigned int > &labDer, const SMatrix27 &matDer, unsigned int nLocal, const TMatrixD &derTrans) |
Add derivatives from kink. | |
void | addDerivatives (const std::vector< unsigned int > &index, const std::vector< double > &derivatives) |
Add derivatives from external seed. | |
void | setPrediction (const VVector &aVector) |
Calculate prediction for data from fit. | |
double | setDownWeighting (unsigned int aMethod) |
Outlier down weighting with M-estimators. | |
double | getChi2 () const |
Calculate Chi2 contribution. | |
void | printData () const |
Print data block. | |
void | getLocalData (double &aValue, double &aWeight, std::vector< unsigned int > *&indLocal, std::vector< double > *&derLocal) |
Get Data for local fit. | |
void | getAllData (float &fValue, float &fErr, std::vector< unsigned int > *&indLocal, std::vector< double > *&derLocal, std::vector< int > *&labGlobal, std::vector< double > *&derGlobal) |
Get all Data for MP-II binary record. | |
void | getResidual (double &aResidual, double &aVariance, double &aDownWeight, std::vector< unsigned int > *&indLocal, std::vector< double > *&derLocal) |
Get data for residual (and errors). |
Private Attributes | |
unsigned int | theLabel |
Label (of measurements point) | |
double | theValue |
Value (residual) | |
double | thePrecision |
Precision (1/sigma**2) | |
double | theDownWeight |
Down-weighting factor (0-1) | |
double | thePrediction |
Prediction from fit. | |
std::vector< unsigned int > | theParameters |
List of fit parameters (with non zero derivatives) | |
std::vector< double > | theDerivatives |
List of derivatives for fit. | |
std::vector< int > | globalLabels |
Labels for global derivatives. | |
std::vector< double > | globalDerivatives |
Global derivatives. |
Data (block) for independent scalar measurement.
Data (block) containing value, precision and derivatives for measurements and kinks. Created from attributes of GblPoints, used to construct linear equation system for track fit.
GblData::GblData | ( | unsigned int | aLabel, |
double | aValue, | ||
double | aPrec | ||
) |
Create data block.
[in] | aLabel | Label of corresponding point |
[in] | aValue | Value of (scalar) measurement |
[in] | aPrec | Precision of (scalar) measurement |
Definition at line 16 of file GblData.cpp.
|
virtual |
Definition at line 22 of file GblData.cpp.
void GblData::addDerivatives | ( | unsigned int | iRow, |
const std::vector< unsigned int > & | labDer, | ||
const SMatrix55 & | matDer, | ||
unsigned int | iOff, | ||
const TMatrixD & | derLocal, | ||
const std::vector< int > & | labGlobal, | ||
const TMatrixD & | derGlobal, | ||
unsigned int | extOff, | ||
const TMatrixD & | extDer | ||
) |
Add derivatives from measurement.
Add (non-zero) derivatives to data block. Fill list of labels of used fit parameters.
[in] | iRow | Row index (0-4) in up to 5D measurement |
[in] | labDer | Labels for derivatives |
[in] | matDer | Derivatives (matrix) 'measurement vs track fit parameters' |
[in] | iOff | Offset for row index for additional parameters |
[in] | derLocal | Derivatives (matrix) for additional local parameters |
[in] | labGlobal | Labels for additional global (MP-II) parameters |
[in] | derGlobal | Derivatives (matrix) for additional global (MP-II) parameters |
[in] | extOff | Offset for external parameters |
[in] | extDer | Derivatives for external Parameters |
Definition at line 38 of file GblData.cpp.
References globalDerivatives, globalLabels, theDerivatives, and theParameters.
Referenced by GblTrajectory::prepare().
void GblData::addDerivatives | ( | unsigned int | iRow, |
const std::vector< unsigned int > & | labDer, | ||
const SMatrix27 & | matDer, | ||
unsigned int | extOff, | ||
const TMatrixD & | extDer | ||
) |
Add derivatives from kink.
Add (non-zero) derivatives to data block. Fill list of labels of used fit parameters.
[in] | iRow | Row index (0-1) in 2D kink |
[in] | labDer | Labels for derivatives |
[in] | matDer | Derivatives (matrix) 'kink vs track fit parameters' |
[in] | extOff | Offset for external parameters |
[in] | extDer | Derivatives for external Parameters |
Definition at line 86 of file GblData.cpp.
References theDerivatives, and theParameters.
void GblData::addDerivatives | ( | const std::vector< unsigned int > & | index, |
const std::vector< double > & | derivatives | ||
) |
Add derivatives from external seed.
Add (non-zero) derivatives to data block. Fill list of labels of used fit parameters.
[in] | index | Labels for derivatives |
[in] | derivatives | Derivatives (vector) |
Definition at line 117 of file GblData.cpp.
References theDerivatives, and theParameters.
void GblData::getAllData | ( | float & | fValue, |
float & | fErr, | ||
std::vector< unsigned int > *& | indLocal, | ||
std::vector< double > *& | derLocal, | ||
std::vector< int > *& | labGlobal, | ||
std::vector< double > *& | derGlobal | ||
) |
Get all Data for MP-II binary record.
[out] | fValue | Value |
[out] | fErr | Error |
[out] | indLocal | List of labels of local parameters |
[out] | derLocal | List of derivatives for local parameters |
[out] | labGlobal | List of labels of global parameters |
[out] | derGlobal | List of derivatives for global parameters |
Definition at line 217 of file GblData.cpp.
References globalDerivatives, globalLabels, theDerivatives, theParameters, thePrecision, and theValue.
double GblData::getChi2 | ( | ) | const |
Calculate Chi2 contribution.
Definition at line 170 of file GblData.cpp.
References theDownWeight, thePrecision, thePrediction, and theValue.
void GblData::getLocalData | ( | double & | aValue, |
double & | aWeight, | ||
std::vector< unsigned int > *& | indLocal, | ||
std::vector< double > *& | derLocal | ||
) |
Get Data for local fit.
[out] | aValue | Value |
[out] | aWeight | Weight |
[out] | indLocal | List of labels of used (local) fit parameters |
[out] | derLocal | List of derivatives for used (local) fit parameters |
Definition at line 199 of file GblData.cpp.
References theDerivatives, theDownWeight, theParameters, thePrecision, and theValue.
void GblData::getResidual | ( | double & | aResidual, |
double & | aVariance, | ||
double & | aDownWeight, | ||
std::vector< unsigned int > *& | indLocal, | ||
std::vector< double > *& | derLocal | ||
) |
Get data for residual (and errors).
[out] | aResidual | Measurement-Prediction |
[out] | aVariance | Variance (of measurement) |
[out] | aDownWeight | Down-weighting factor |
[out] | indLocal | List of labels of used (local) fit parameters |
[out] | derLocal | List of derivatives for used (local) fit parameters |
Definition at line 236 of file GblData.cpp.
References theDerivatives, theDownWeight, theParameters, thePrecision, thePrediction, and theValue.
void GblData::printData | ( | ) | const |
Print data block.
Definition at line 176 of file GblData.cpp.
References theDerivatives, theLabel, theParameters, thePrecision, and theValue.
double GblData::setDownWeighting | ( | unsigned int | aMethod | ) |
Outlier down weighting with M-estimators.
[in] | aMethod | M-estimator (1: Tukey, 2:Huber, 3:Cauchy) |
Definition at line 141 of file GblData.cpp.
References theDownWeight, thePrecision, thePrediction, and theValue.
void GblData::setPrediction | ( | const VVector & | aVector | ) |
Calculate prediction for data from fit.
Definition at line 129 of file GblData.cpp.
References theDerivatives, theParameters, and thePrediction.
|
private |
Global derivatives.
Definition at line 69 of file GblData.h.
Referenced by addDerivatives(), and getAllData().
|
private |
Labels for global derivatives.
Definition at line 68 of file GblData.h.
Referenced by addDerivatives(), and getAllData().
|
private |
List of derivatives for fit.
Definition at line 67 of file GblData.h.
Referenced by addDerivatives(), getAllData(), getLocalData(), getResidual(), printData(), and setPrediction().
|
private |
Down-weighting factor (0-1)
Definition at line 64 of file GblData.h.
Referenced by getChi2(), getLocalData(), getResidual(), and setDownWeighting().
|
private |
|
private |
List of fit parameters (with non zero derivatives)
Definition at line 66 of file GblData.h.
Referenced by addDerivatives(), getAllData(), getLocalData(), getResidual(), printData(), and setPrediction().
|
private |
Precision (1/sigma**2)
Definition at line 63 of file GblData.h.
Referenced by getAllData(), getChi2(), getLocalData(), getResidual(), printData(), and setDownWeighting().
|
private |
Prediction from fit.
Definition at line 65 of file GblData.h.
Referenced by getChi2(), getResidual(), setDownWeighting(), and setPrediction().
|
private |
Value (residual)
Definition at line 62 of file GblData.h.
Referenced by getAllData(), getChi2(), getLocalData(), getResidual(), printData(), and setDownWeighting().