EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gbl::GblData Class Reference

Data (block) for independent scalar measurement. More...

#include <fun4all_GenFit/blob/master/GBL/include/GblData.h>

+ Collaboration diagram for gbl::GblData:

Public Member Functions

 GblData ()
 
 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 (by GblTrajectory::fit).
 
double setDownWeighting (unsigned int aMethod)
 Outlier down weighting with M-estimators (by GblTrajectory::fit).
 
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 (double &aValue, double &aErr, 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.
 

Detailed Description

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.

Definition at line 55 of file GblData.h.

View newest version in sPHENIX GitHub at line 55 of file GblData.h

Constructor & Destructor Documentation

gbl::GblData::GblData ( )
inline

Definition at line 57 of file GblData.h.

View newest version in sPHENIX GitHub at line 57 of file GblData.h

gbl::GblData::GblData ( unsigned int  aLabel,
double  aValue,
double  aPrec 
)

Create data block.

Parameters
[in]aLabelLabel of corresponding point
[in]aValueValue of (scalar) measurement
[in]aPrecPrecision of (scalar) measurement

Definition at line 41 of file GblData.cc.

View newest version in sPHENIX GitHub at line 41 of file GblData.cc

gbl::GblData::~GblData ( )
virtual

Definition at line 47 of file GblData.cc.

View newest version in sPHENIX GitHub at line 47 of file GblData.cc

Member Function Documentation

void gbl::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.

Parameters
[in]iRowRow index (0-4) in up to 5D measurement
[in]labDerLabels for derivatives
[in]matDerDerivatives (matrix) 'measurement vs track fit parameters'
[in]iOffOffset for row index for additional parameters
[in]derLocalDerivatives (matrix) for additional local parameters
[in]labGlobalLabels for additional global (MP-II) parameters
[in]derGlobalDerivatives (matrix) for additional global (MP-II) parameters
[in]extOffOffset for external parameters
[in]extDerDerivatives for external Parameters

Definition at line 63 of file GblData.cc.

View newest version in sPHENIX GitHub at line 63 of file GblData.cc

References globalDerivatives, globalLabels, theDerivatives, and theParameters.

Referenced by gbl::GblTrajectory::prepare().

+ Here is the caller graph for this function:

void gbl::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.

Parameters
[in]iRowRow index (0-1) in 2D kink
[in]labDerLabels for derivatives
[in]matDerDerivatives (matrix) 'kink vs track fit parameters'
[in]extOffOffset for external parameters
[in]extDerDerivatives for external Parameters

Definition at line 111 of file GblData.cc.

View newest version in sPHENIX GitHub at line 111 of file GblData.cc

References theDerivatives, and theParameters.

void gbl::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.

Parameters
[in]indexLabels for derivatives
[in]derivativesDerivatives (vector)

Definition at line 142 of file GblData.cc.

View newest version in sPHENIX GitHub at line 142 of file GblData.cc

References theDerivatives, and theParameters.

void gbl::GblData::getAllData ( double &  aValue,
double &  aErr,
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.

Parameters
[out]aValueValue
[out]aErrError
[out]indLocalList of labels of local parameters
[out]derLocalList of derivatives for local parameters
[out]labGlobalList of labels of global parameters
[out]derGlobalList of derivatives for global parameters

Definition at line 242 of file GblData.cc.

View newest version in sPHENIX GitHub at line 242 of file GblData.cc

References globalDerivatives, globalLabels, theDerivatives, theParameters, thePrecision, and theValue.

double gbl::GblData::getChi2 ( ) const

Calculate Chi2 contribution.

Returns
(down-weighted) Chi2

Definition at line 195 of file GblData.cc.

View newest version in sPHENIX GitHub at line 195 of file GblData.cc

References theDownWeight, thePrecision, thePrediction, and theValue.

void gbl::GblData::getLocalData ( double &  aValue,
double &  aWeight,
std::vector< unsigned int > *&  indLocal,
std::vector< double > *&  derLocal 
)

Get Data for local fit.

Parameters
[out]aValueValue
[out]aWeightWeight
[out]indLocalList of labels of used (local) fit parameters
[out]derLocalList of derivatives for used (local) fit parameters

Definition at line 224 of file GblData.cc.

View newest version in sPHENIX GitHub at line 224 of file GblData.cc

References theDerivatives, theDownWeight, theParameters, thePrecision, and theValue.

void gbl::GblData::getResidual ( double &  aResidual,
double &  aVariance,
double &  aDownWeight,
std::vector< unsigned int > *&  indLocal,
std::vector< double > *&  derLocal 
)

Get data for residual (and errors).

Parameters
[out]aResidualMeasurement-Prediction
[out]aVarianceVariance (of measurement)
[out]aDownWeightDown-weighting factor
[out]indLocalList of labels of used (local) fit parameters
[out]derLocalList of derivatives for used (local) fit parameters

Definition at line 261 of file GblData.cc.

View newest version in sPHENIX GitHub at line 261 of file GblData.cc

References theDerivatives, theDownWeight, theParameters, thePrecision, thePrediction, and theValue.

void gbl::GblData::printData ( ) const

Print data block.

Definition at line 201 of file GblData.cc.

View newest version in sPHENIX GitHub at line 201 of file GblData.cc

References theDerivatives, theLabel, theParameters, thePrecision, and theValue.

double gbl::GblData::setDownWeighting ( unsigned int  aMethod)

Outlier down weighting with M-estimators (by GblTrajectory::fit).

Parameters
[in]aMethodM-estimator (1: Tukey, 2:Huber, 3:Cauchy)

Definition at line 166 of file GblData.cc.

View newest version in sPHENIX GitHub at line 166 of file GblData.cc

References theDownWeight, thePrecision, thePrediction, and theValue.

void gbl::GblData::setPrediction ( const VVector aVector)

Calculate prediction for data from fit (by GblTrajectory::fit).

Definition at line 154 of file GblData.cc.

View newest version in sPHENIX GitHub at line 154 of file GblData.cc

References theDerivatives, theParameters, and thePrediction.

Member Data Documentation

std::vector<double> gbl::GblData::globalDerivatives
private

Global derivatives.

Definition at line 95 of file GblData.h.

View newest version in sPHENIX GitHub at line 95 of file GblData.h

Referenced by addDerivatives(), and getAllData().

std::vector<int> gbl::GblData::globalLabels
private

Labels for global derivatives.

Definition at line 94 of file GblData.h.

View newest version in sPHENIX GitHub at line 94 of file GblData.h

Referenced by addDerivatives(), and getAllData().

std::vector<double> gbl::GblData::theDerivatives
private

List of derivatives for fit.

Definition at line 93 of file GblData.h.

View newest version in sPHENIX GitHub at line 93 of file GblData.h

Referenced by addDerivatives(), getAllData(), getLocalData(), getResidual(), printData(), and setPrediction().

double gbl::GblData::theDownWeight
private

Down-weighting factor (0-1)

Definition at line 90 of file GblData.h.

View newest version in sPHENIX GitHub at line 90 of file GblData.h

Referenced by getChi2(), getLocalData(), getResidual(), and setDownWeighting().

unsigned int gbl::GblData::theLabel
private

Label (of measurements point)

Definition at line 87 of file GblData.h.

View newest version in sPHENIX GitHub at line 87 of file GblData.h

Referenced by printData().

std::vector<unsigned int> gbl::GblData::theParameters
private

List of fit parameters (with non zero derivatives)

Definition at line 92 of file GblData.h.

View newest version in sPHENIX GitHub at line 92 of file GblData.h

Referenced by addDerivatives(), getAllData(), getLocalData(), getResidual(), printData(), and setPrediction().

double gbl::GblData::thePrecision
private

Precision (1/sigma**2)

Definition at line 89 of file GblData.h.

View newest version in sPHENIX GitHub at line 89 of file GblData.h

Referenced by getAllData(), getChi2(), getLocalData(), getResidual(), printData(), and setDownWeighting().

double gbl::GblData::thePrediction
private

Prediction from fit.

Definition at line 91 of file GblData.h.

View newest version in sPHENIX GitHub at line 91 of file GblData.h

Referenced by getChi2(), getResidual(), setDownWeighting(), and setPrediction().

double gbl::GblData::theValue
private

Value (residual)

Definition at line 88 of file GblData.h.

View newest version in sPHENIX GitHub at line 88 of file GblData.h

Referenced by getAllData(), getChi2(), getLocalData(), getResidual(), printData(), and setDownWeighting().


The documentation for this class was generated from the following files: