English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Calibration: URANIE::Calibration::TLinearBayesian Class Reference
Uranie / Calibration v4.9.0
/* @license-end */
URANIE::Calibration::TLinearBayesian Class Reference

Description of the class TLinearBayesian. More...

#include <TLinearBayesian.h>

Inheritance diagram for URANIE::Calibration::TLinearBayesian:
Collaboration diagram for URANIE::Calibration::TLinearBayesian:

Public Member Functions

Constructor and Destructor
 TLinearBayesian (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t ns=1, Option_t *option="")
 Default constructor with TRun arg.
 
 TLinearBayesian (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, int ns=1, Option_t *option="")
 Default Calibration constructor with the function argument: it contains the assessor to be used.
 
 TLinearBayesian (URANIE::DataServer::TDataServer *tds, const char *fcn, const char *varexpinput, const char *varexpoutput, int ns=1, Option_t *option="")
 Default Calibration constructor with the function argument: it contains the assessor to be used.
 
 TLinearBayesian (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, int ns=1, const char *option="")
 Default Calibration constructor with the code argument: it contains the assessor to be used.
 
virtual ~TLinearBayesian ()
 Default destructor.
 
Predictions methods
void computePredictionVariance (URANIE::DataServer::TDataServer *tds_new, string outname)
 Set parameter transformation function Sometimes the calibration is performed on transformed variables (for linear problem for instance) This method allows to provide a custom function to trasform the estimated parameters to the original one. the first argument of the fonction must an array of double of size _nPar and the second argument is also an array of double of size _nPar.
 
Setting and Getting attributs
void setParameterTransformationFunction (void(*fTransfoParam)(double *, double *))
 Set parameter transformation function Sometimes the calibration is performed on transformed variables (for linear problem for instance) This method allows to provide a custom function to trasform the estimated parameters to the original one. the first argument of the fonction must an array of double of size _nPar and the second argument is also an array of double of size _nPar.
 
void setRegressorName (const char *regName)
 Set the regressor matrix by providing the variables to be extracted from tdsObs.
 
void setDistanceAndReference (const char *funcName, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *output, const char *weight="")
 Set the distance function and some needed informations.
 
void setDistanceAndReference (URANIE::Calibration::TDistanceFunction *distFunc, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *output, const char *weight="")
 Set the distance function and some needed informations.
 
TMatrixD getParameterValueMatrix ()
 get the matrix of parameter values
 
TMatrixD getTransfParameterValueMatrix ()
 get the matrix of parameter values
 
TMatrixD getParameterCovarianceMatrix ()
 get the matrix of parameter covariances
 
- Public Member Functions inherited from URANIE::Calibration::TCalibration
 TCalibration (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, int ns=1, Option_t *option="")
 Default constructor with the runner argument: it contains the assessor to be used.
 
 TCalibration (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, int ns=1, Option_t *option="")
 Default Calibration constructor with the function argument: it contains the assessor to be used.
 
 TCalibration (URANIE::DataServer::TDataServer *tds, const char *fcn, const char *varexpinput, const char *varexpoutput, int ns=1, Option_t *option="")
 Default Calibration constructor with the function argument: it contains the assessor to be used.
 
 TCalibration (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, int ns=1, const char *option="")
 Default Calibration constructor with the code argument: it contains the assessor to be used.
 
virtual ~TCalibration ()
 Default destructor.
 
void estimateParameters (Option_t *option="")
 
void estimateCustomResidues (string resName, int n_theta, double *theta)
 
void checkReference (URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *output, const char *weight)
 Check the consistency of the formation provided.
 
void drawResidues (TString sTitre, const char *variable="*", const char *select="1>0", Option_t *option="")
 
void setLog ()
 
void unsetLog ()
 
void changeLog ()
 
Bool_t getLog ()
 
Int_t getID ()
 
void setSeed (UInt_t nval)
 Set the seed of the random generator if one is used.
 
UInt_t getSeed ()
 Get the seed of the random generator if one is used.
 
const char * getMethodName ()
 Get the method name.
 
void setObservationCovarianceMatrix (TMatrixD &mat)
 Set the observatiton covariance matrix.
 
URANIE::Calibration::TDistanceFunctiongetDistanceFunction ()
 Return the distance function.
 
Int_t getNPar ()
 Get the number of parameters to be calibrated.
 
URANIE::DataServer::TDataServer * getEvaluationTDS ()
 Get the tds in which evaluation will be performed.
 

Protected Attributes

void(* _fTransfoParam )(double *, double *)
 Parameter transformation function.
 
vector< double > _aPrioriMode
 A priori modes of the laws.
 
TMatrixD _mParCovariance
 Parameters covariance matrix.
 
TMatrixD _mParValues
 Parametres matrix.
 
TMatrixD _mTransfoParValues
 Parametres matrix.
 
TMatrixD _mH
 Regressor matrix.
 
vector< string > _vRegName
 Regressor names.
 
string _regname
 regressor name
 
- Protected Attributes inherited from URANIE::Calibration::TCalibration
URANIE::Calibration::TDistanceFunction_dFunc
 Pointer to chosen distance function.
 
URANIE::DataServer::TDSNtupleD * _evTuple
 Pointer to the eval ntuple.
 
TList * _listOfParameters
 List of the parameters to be calibrated.
 
TCanvas * _canvas
 Canvas object to deal with.
 
TObjArray * _drawingGarbageCollector
 Garbage collector for prints.
 
int _nSam
 The number of sample in a posteriori distributions.
 
int _nObs
 The number of observations in the reference database.
 
int _nIterMax
 The maximum number of iteration allowed (meaning total number of code estimation is _nIterMax * _nObs)
 
int _nPar
 Dimension of the parameters.
 
int _nVar
 Dimension of the output and references to be compared with.
 
int _nSeed
 The seed of the random generator.
 
TString _sMethodName
 The method name.
 
TString _referenceName
 The reference name.
 
TString _outputName
 The output name.
 
vector< string > _vrefName
 The reference names.
 
vector< string > _voutName
 The output names.
 
TString _weightName
 The weight name.
 
TMatrixD _mObsCovMat
 Observation Covariance matrix.
 
bool _buseMatrix
 Use matrix instead of vectors in the Distance Function.
 
bool _bsaveAll
 Whether all evaluations should be saved, not only a priori and a posteriori.
 
bool _bdontKeepAgreement
 Remove the agreement attribute from the tdsPar object.
 
bool _buseMode
 Use Mode instead of Mean.
 
Bool_t _blog
 Boolean for edit the log.
 

Visualisation methods

void drawParameters (TString sTitre, const char *variable="*", const char *select="1>0", Option_t *option="")
 
void printLog (Option_t *option="")
 dump content
 
void computeParameters (Option_t *option="")
 internal method in which the estimation is performed for all inheriting classes
 
void checktdsParContent ()
 

Additional Inherited Members

- Public Types inherited from URANIE::Calibration::TCalibration
enum  ELauncher { kCode , kFunction , kRun , kUnknown }
 
- Public Attributes inherited from URANIE::Calibration::TCalibration
URANIE::DataServer::TDataServer * _tdsPar
 TDS containing parameters properties (parameters that should be calibrated)
 
URANIE::DataServer::TDataServer * _tdsObs
 TDS containing observations used for calibration.
 
URANIE::DataServer::TDataServer * _tdsEval
 TDS containing a priori / a posteriori evaluations.
 
ELauncher _nLauncher
 The type of launcher.
 
TString _sFunctionName
 The Name of the evaluatuor.
 
TString _sEI
 The Name of input.
 
TString _sEO
 The Name of output.
 
URANIE::Launcher::TCode * _code
 The tcode.
 
URANIE::Relauncher::TRun * _run
 Pointer to the runner to be used.
 
void(* _pFunction )(double *, double *)
 Function pointer.
 
vector< URANIE::DataServer::TStochasticAttribute * > _vatt
 internal vector of stochastic attribute for some methods
 
- Protected Member Functions inherited from URANIE::Calibration::TCalibration
void checkCanvasCreation (bool newcan)
 Create a canvas if needed.
 
void initInputs ()
 Initialise some common inputs.
 
void initResults (vector< string > *ParsedLines)
 Initialise some common inputs.
 
void computeAPosterioriForDistribution ()
 Compute the a posteriori residual for many-solutions method.
 
virtual void parseOption (Option_t *option="")
 Read the possible options.
 
void setMethodName (const char *str)
 Set the Method name.
 

Detailed Description

Description of the class TLinearBayesian.

Constructor & Destructor Documentation

◆ TLinearBayesian() [1/4]

URANIE::Calibration::TLinearBayesian::TLinearBayesian ( URANIE::DataServer::TDataServer *  tds,
URANIE::Relauncher::TRun *  run,
Int_t  ns = 1,
Option_t *  option = "" 
)

Default constructor with TRun arg.

Default constructor with the runner argument: it contains the assessor to be used

Parameters
tds: the dataserver that contains no data but only one attribute per parameter to be calibrated
run: the runner that contains the assessor to be used on the reference data
ns: number of sample to be generated (depending on the method)
option: see parseOption below

Referenced by ClassImp().

◆ TLinearBayesian() [2/4]

URANIE::Calibration::TLinearBayesian::TLinearBayesian ( URANIE::DataServer::TDataServer *  tds,
void(*)(Double_t *, Double_t *)  fcn,
const char *  varexpinput,
const char *  varexpoutput,
int  ns = 1,
Option_t *  option = "" 
)

Default Calibration constructor with the function argument: it contains the assessor to be used.

Parameters
tds: the dataserver that contains no data but only one attribute per parameter to be calibrated
fcn: the pointer to a function
ns: number of sample to be generated (depending on the method)
varexpinput: the input variable for the function in the correct order (both input and parameters)
varexpoutput: the output of the function in the correct order

◆ TLinearBayesian() [3/4]

URANIE::Calibration::TLinearBayesian::TLinearBayesian ( URANIE::DataServer::TDataServer *  tds,
const char *  fcn,
const char *  varexpinput,
const char *  varexpoutput,
int  ns = 1,
Option_t *  option = "" 
)

Default Calibration constructor with the function argument: it contains the assessor to be used.

Parameters
tds: the dataserver that contains no data but only one attribute per parameter to be calibrated
fcn: the name of the function
ns: number of sample to be generated (depending on the method)
varexpinput: the input variable for the function in the correct order (both input and parameters)
varexpoutput: the output of the function in the correct order

◆ TLinearBayesian() [4/4]

URANIE::Calibration::TLinearBayesian::TLinearBayesian ( URANIE::DataServer::TDataServer *  tds,
URANIE::Launcher::TCode *  fcode,
int  ns = 1,
const char *  option = "" 
)

Default Calibration constructor with the code argument: it contains the assessor to be used.

Parameters
tds: the dataserver that contains no data but only one attribute per parameter to be calibrated
code: the code object that will be runned
ns: number of sample to be generated (depending on the method)

◆ ~TLinearBayesian()

virtual URANIE::Calibration::TLinearBayesian::~TLinearBayesian ( )
virtual

Default destructor.

Referenced by ClassImp().

Member Function Documentation

◆ checktdsParContent()

void URANIE::Calibration::TLinearBayesian::checktdsParContent ( )
protectedvirtual

Check the content of the input dataserver

Implements URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ computeParameters()

void URANIE::Calibration::TLinearBayesian::computeParameters ( Option_t *  option = "")
protectedvirtual

internal method in which the estimation is performed for all inheriting classes

Implements URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ computePredictionVariance()

void URANIE::Calibration::TLinearBayesian::computePredictionVariance ( URANIE::DataServer::TDataServer *  tds_new,
string  outname 
)

Set parameter transformation function Sometimes the calibration is performed on transformed variables (for linear problem for instance) This method allows to provide a custom function to trasform the estimated parameters to the original one. the first argument of the fonction must an array of double of size _nPar and the second argument is also an array of double of size _nPar.

Referenced by ClassImp().

◆ drawParameters()

void URANIE::Calibration::TLinearBayesian::drawParameters ( TString  sTitre,
const char *  variable = "*",
const char *  select = "1>0",
Option_t *  option = "" 
)
virtual

brief Draws the parameters as functions (ROOT's TF1s) The estimateParameters method hass computed the gaussian parameters, so this one plots the parameters as continous function TF1

Parameters
sTitretitle of the plots if specified
variablelist of variables that should be plotted
selectuseless for this method
optionpossible option for this plot
  • "nonewcanvas": don't create a new canvas, but use the one active
  • "vertical" : if there are several parameters to be shown put them on top of another instead of side by side
  • "transformed" : use the transformed central alues and not the nominal ones
  • "same" : plot the function on the existing pad, using the existing axis.

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ getParameterCovarianceMatrix()

TMatrixD URANIE::Calibration::TLinearBayesian::getParameterCovarianceMatrix ( )
inline

get the matrix of parameter covariances

References _mParCovariance.

◆ getParameterValueMatrix()

TMatrixD URANIE::Calibration::TLinearBayesian::getParameterValueMatrix ( )
inline

get the matrix of parameter values

References _mParValues.

◆ getTransfParameterValueMatrix()

TMatrixD URANIE::Calibration::TLinearBayesian::getTransfParameterValueMatrix ( )
inline

get the matrix of parameter values

References _mTransfoParValues.

◆ printLog()

void URANIE::Calibration::TLinearBayesian::printLog ( Option_t *  option = "")
virtual

dump content

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ setDistanceAndReference() [1/2]

void URANIE::Calibration::TLinearBayesian::setDistanceAndReference ( const char *  funcName,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  output,
const char *  weight = "" 
)
virtual

Set the distance function and some needed informations.

Parameters
funcNamename of the distance function chosen among the already implemented ones:
  • "LS" for least square
  • "weighterLS" for weighted least square
  • "relativeLS" for relative least square
  • "L1" for L1 norm
  • "Mahalanobis" for Mahalanobis distance function
tdsRef: the dataserver that contains all needed information detailled below
  • input: the input attributes used of the assessors in run
  • reference: the reference attributes that will be used to compared the newly done estimations for every iterations
  • weight: a weight to reweight every event, one-by-one (an experimental uncertainty for instance)

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ setDistanceAndReference() [2/2]

void URANIE::Calibration::TLinearBayesian::setDistanceAndReference ( URANIE::Calibration::TDistanceFunction distFunc,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  output,
const char *  weight = "" 
)
virtual

Set the distance function and some needed informations.

Parameters
distFunca pointer to a TDistanceFunction object (not usual, recommended only when dealing with a home-made distance unction compiled on the spot)
tdsRef: the dataserver that contains all needed information detailled below
  • input: the input attributes used of the assessors in run
  • reference: the reference attributes that will be used to compared the newly done estimations for every iterations
  • weight: a weight to reweight every event, one-by-one (an experimental uncertainty for instance)

Reimplemented from URANIE::Calibration::TCalibration.

◆ setParameterTransformationFunction()

void URANIE::Calibration::TLinearBayesian::setParameterTransformationFunction ( void(*)(double *, double *)  fTransfoParam)
inline

Set parameter transformation function Sometimes the calibration is performed on transformed variables (for linear problem for instance) This method allows to provide a custom function to trasform the estimated parameters to the original one. the first argument of the fonction must an array of double of size _nPar and the second argument is also an array of double of size _nPar.

References _fTransfoParam.

◆ setRegressorName()

void URANIE::Calibration::TLinearBayesian::setRegressorName ( const char *  regName)

Set the regressor matrix by providing the variables to be extracted from tdsObs.

Referenced by ClassImp().

Member Data Documentation

◆ _aPrioriMode

vector<double> URANIE::Calibration::TLinearBayesian::_aPrioriMode
protected

A priori modes of the laws.

Referenced by ClassImp().

◆ _fTransfoParam

void(* URANIE::Calibration::TLinearBayesian::_fTransfoParam) (double *, double *)
protected

Parameter transformation function.

Referenced by ClassImp(), and setParameterTransformationFunction().

◆ _mH

TMatrixD URANIE::Calibration::TLinearBayesian::_mH
protected

Regressor matrix.

Referenced by ClassImp().

◆ _mParCovariance

TMatrixD URANIE::Calibration::TLinearBayesian::_mParCovariance
protected

Parameters covariance matrix.

Referenced by ClassImp(), and getParameterCovarianceMatrix().

◆ _mParValues

TMatrixD URANIE::Calibration::TLinearBayesian::_mParValues
protected

Parametres matrix.

Referenced by ClassImp(), and getParameterValueMatrix().

◆ _mTransfoParValues

TMatrixD URANIE::Calibration::TLinearBayesian::_mTransfoParValues
protected

Parametres matrix.

Referenced by ClassImp(), and getTransfParameterValueMatrix().

◆ _regname

string URANIE::Calibration::TLinearBayesian::_regname
protected

regressor name

Referenced by ClassImp().

◆ _vRegName

vector<string> URANIE::Calibration::TLinearBayesian::_vRegName
protected

Regressor names.

Referenced by ClassImp().