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::TABC Class Reference
Uranie / Calibration  v4.11.0
/* @license-end */
URANIE::Calibration::TABC Class Reference

#include <TABC.h>

Inheritance diagram for URANIE::Calibration::TABC:
Collaboration diagram for URANIE::Calibration::TABC:

Public Member Functions

Constructor and Destructor
 TABC (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, int ns=100, Option_t *option="")
 Default ABC constructor with the runner argument: it contains the assessor to be used. More...
 
 TABC (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, int ns=100, Option_t *option="")
 Default ABC constructor with the function argument: it contains the assessor to be used
More...
 
 TABC (URANIE::DataServer::TDataServer *tds, const char *fcn, const char *varexpinput, const char *varexpoutput, int ns=100, Option_t *option="")
 Default ABC constructor with the function argument: it contains the assessor to be used. More...
 
 TABC (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, int ns=1, Option_t *option="")
 Default ABC constructor with the code argument: it contains the assessor to be used. More...
 
virtual ~TABC ()
 Default destructor. More...
 
Initialisation methods
virtual void setDistance (const char *distName, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *reference, const char *weight="")
 Set the distance function and some needed informations. More...
 
virtual void setDistance (URANIE::Calibration::TDistanceLikelihoodFunction *distFunc, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *reference, const char *weight="")
 Set the distance function and some needed informations. More...
 
void initABC ()
 
ABC functions
void setUpABC ()
 
void computeABC (int nEval)
 
void computeABCscore (Double_t newEpsilon)
 
void posteriorToPar ()
 
void checktdsParContent ()
 
Setting and Getting attributs
void setGaussianNoise (const char *stdname)
 
void setPercentile (Double_t eps)
 Set the percentile. More...
 
URANIE::DataServer::TDataServer * getTdsPosterior ()
 Get the posterior tds. More...
 
double getThreshold ()
 Get the posterior tds. More...
 
int getNEval ()
 
- 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. More...
 
 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. More...
 
 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. More...
 
 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. More...
 
virtual ~TCalibration ()
 Default destructor. More...
 
virtual void setDistanceAndLikelihood (const char *Name, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *reference, const char *weight="")
 Set the distance or likelihood function and some needed informations. More...
 
virtual void setDistanceAndLikelihood (URANIE::Calibration::TDistanceLikelihoodFunction *Func, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *reference, const char *weight="")
 Set the distance of likelihood function and some needed informations. More...
 
void estimateParameters (Option_t *option="")
 
void estimateCustomResiduals (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. More...
 
virtual void drawParameters (TString sTitre, const char *variable="*", Option_t *option="")
 
void drawResiduals (TString sTitre, const char *variable="*", const char *select="1>0", Option_t *option="")
 
void setLog ()
 
void unsetLog ()
 
void changeLog ()
 
Bool_t getLog ()
 
virtual void printLog (Option_t *option="")
 
Int_t getID ()
 
void setSeed (UInt_t nval)
 Set the seed of the random generator if one is used. More...
 
UInt_t getSeed ()
 Get the seed of the random generator if one is used. More...
 
const char * getMethodName ()
 Get the method name. More...
 
void setObservationCovarianceMatrix (TMatrixD &mat)
 Set the observatiton covariance matrix. More...
 
URANIE::Calibration::TDistanceLikelihoodFunctiongetDistanceLikelihoodFunction ()
 Return the distance or likelihood function. More...
 
Int_t getNPar ()
 Get the number of parameters to be calibrated. More...
 
URANIE::DataServer::TDataServer * getEvaluationTDS ()
 Get the tds in which evaluation will be performed. More...
 

Public Attributes

vector< double > _values
 
URANIE::DataServer::TDataServer * _tdsPosterior
 TDS containing posterior members for calibration. More...
 
- Public Attributes inherited from URANIE::Calibration::TCalibration
URANIE::DataServer::TDataServer * _tdsPar
 TDS containing parameters properties (parameters that should be calibrated) More...
 
URANIE::DataServer::TDataServer * _tdsObs
 TDS containing observations used for calibration. More...
 
URANIE::DataServer::TDataServer * _tdsEval
 TDS containing a priori / a posteriori evaluations. More...
 
ELauncher _nLauncher
 The type of launcher. More...
 
TString _sFunctionName
 The Name of the evaluatuor. More...
 
TString _sEI
 The Name of input. More...
 
TString _sEO
 The Name of output. More...
 
URANIE::Launcher::TCode * _code
 The tcode. More...
 
URANIE::Relauncher::TRun * _run
 Pointer to the runner to be used. More...
 
void(* _pFunction )(double *, double *)
 Function pointer. More...
 
vector< URANIE::DataServer::TStochasticAttribute * > _vatt
 internal vector of stochastic attribute for some methods More...
 

Protected Attributes

double _threshold
 
Int_t _kPosterior
 
Int_t _kEval
 
TRandom3 * _rand
 
Bool_t _boolEpsilon
 
Double_t _Epsilon
 
- Protected Attributes inherited from URANIE::Calibration::TCalibration
URANIE::Calibration::TDistanceLikelihoodFunction_dFunc
 Pointer to chosen distance or likelihood function. More...
 
URANIE::DataServer::TDSNtupleD * _evTuple
 Pointer to the eval ntuple. More...
 
TList * _listOfParameters
 List of the parameters to be calibrated. More...
 
TCanvas * _canvas
 Canvas object to deal with. More...
 
TObjArray * _drawingGarbageCollector
 Garbage collector for prints. More...
 
int _nSam
 The number of sample in a posteriori distributions. More...
 
int _nObs
 The number of observations in the reference database. More...
 
int _nIterMax
 The maximum number of iteration allowed (meaning total number of code estimation is _nIterMax * _nObs) More...
 
int _nPar
 Dimension of the parameters. More...
 
int _nVar
 Dimension of the output and references to be compared with. More...
 
int _nSeed = 0
 The seed of the random generator (initialized to 0 = random seed) More...
 
TString _sMethodName
 The method name. More...
 
TString _referenceName
 The reference name. More...
 
TString _outputName
 The output name. More...
 
vector< string > _vrefName
 The reference names. More...
 
vector< string > _voutName
 The output names. More...
 
TString _weightName
 The weight name. More...
 
TMatrixD _mObsCovMat
 Observation Covariance matrix. More...
 
bool _buseMatrix
 Use matrix instead of vectors in the TDistanceLikelihoodFunction. More...
 
bool _bsaveAll
 Whether all evaluations should be saved, not only a priori and a posteriori. More...
 
bool _bdontKeepAgreement
 Remove the agreement attribute from the tdsPar object. More...
 
bool _buseMode
 Use Mode instead of Mean. More...
 
Bool_t _blog
 Boolean for edit the log. More...
 

Additional Inherited Members

- Public Types inherited from URANIE::Calibration::TCalibration
enum  ELauncher { kCode, kFunction, kRun, kUnknown }
 
- Protected Member Functions inherited from URANIE::Calibration::TCalibration
virtual void computeParameters (Option_t *option="")=0
 internal method in which the estimation is performed for all inheriting classes More...
 
void checkCanvasCreation (bool newcan)
 Create a canvas if needed. More...
 
void initInputs ()
 Initialise some common inputs. More...
 
void initResults (vector< string > *ParsedLines)
 Initialise some common inputs. More...
 
void computeAPosterioriForDistribution (URANIE::DataServer::TDataServer *tds_chain_i)
 Compute the a posteriori residual for many-solutions method. More...
 
virtual void parseOption (Option_t *option="")
 Read the possible options. More...
 
void setMethodName (const char *str)
 Set the Method name. More...
 

Constructor & Destructor Documentation

◆ TABC() [1/4]

URANIE::Calibration::TABC::TABC ( URANIE::DataServer::TDataServer *  tds,
URANIE::Relauncher::TRun *  run,
int  ns = 100,
Option_t *  option = "" 
)

Default ABC 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)

References URANIE::Calibration::TCalibration::_blog, checktdsParContent(), initABC(), and URANIE::Calibration::TCalibration::parseOption().

◆ TABC() [2/4]

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

Default ABC 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

References checktdsParContent(), initABC(), and URANIE::Calibration::TCalibration::parseOption().

◆ TABC() [3/4]

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

Default ABC 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

References checktdsParContent(), initABC(), and URANIE::Calibration::TCalibration::parseOption().

◆ TABC() [4/4]

URANIE::Calibration::TABC::TABC ( URANIE::DataServer::TDataServer *  tds,
URANIE::Launcher::TCode *  fcode,
int  ns = 1,
Option_t *  option = "" 
)

Default ABC 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)

References checktdsParContent(), and initABC().

◆ ~TABC()

URANIE::Calibration::TABC::~TABC ( )
virtual

Default destructor.

References URANIE::Calibration::TCalibration::_blog, _rand, and _tdsPosterior.

Member Function Documentation

◆ checktdsParContent()

◆ computeABC()

◆ computeABCscore()

◆ getNEval()

int URANIE::Calibration::TABC::getNEval ( )
inline

References _kEval.

◆ getTdsPosterior()

URANIE::DataServer::TDataServer* URANIE::Calibration::TABC::getTdsPosterior ( )
inline

Get the posterior tds.

References _tdsPosterior.

◆ getThreshold()

double URANIE::Calibration::TABC::getThreshold ( )
inline

Get the posterior tds.

References _threshold.

◆ initABC()

void URANIE::Calibration::TABC::initABC ( )

◆ posteriorToPar()

◆ setDistance() [1/2]

void URANIE::Calibration::TABC::setDistance ( const char *  distName,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  reference,
const char *  weight = "" 
)
virtual

Set the distance function and some needed informations.

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

Reimplemented in URANIE::Calibration::TPMCABC, and URANIE::Calibration::TRejectionABC.

References URANIE::Calibration::TCalibration::setDistanceAndLikelihood().

◆ setDistance() [2/2]

void URANIE::Calibration::TABC::setDistance ( URANIE::Calibration::TDistanceLikelihoodFunction distFunc,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  reference,
const char *  weight = "" 
)
virtual

Set the distance function and some needed informations.

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

Reimplemented in URANIE::Calibration::TPMCABC, and URANIE::Calibration::TRejectionABC.

References URANIE::Calibration::TCalibration::setDistanceAndLikelihood().

◆ setGaussianNoise()

void URANIE::Calibration::TABC::setGaussianNoise ( const char *  stdname)

Add gaussian noise for deterministic model

Parameters
stdname: name of the attribute in the observed dataserver that will be used to introduce gaussian noise

References URANIE::Calibration::TCalibration::_dFunc, and URANIE::Calibration::TDistanceLikelihoodFunction::setGaussianRandomNoise().

◆ setPercentile()

void URANIE::Calibration::TABC::setPercentile ( Double_t  eps)
inline

Set the percentile.

References _boolEpsilon, and _Epsilon.

◆ setUpABC()

Member Data Documentation

◆ _boolEpsilon

Bool_t URANIE::Calibration::TABC::_boolEpsilon
protected

◆ _Epsilon

Double_t URANIE::Calibration::TABC::_Epsilon
protected

◆ _kEval

Int_t URANIE::Calibration::TABC::_kEval
protected

◆ _kPosterior

Int_t URANIE::Calibration::TABC::_kPosterior
protected

Referenced by computeABCscore(), and initABC().

◆ _rand

TRandom3* URANIE::Calibration::TABC::_rand
protected

◆ _tdsPosterior

URANIE::DataServer::TDataServer* URANIE::Calibration::TABC::_tdsPosterior

TDS containing posterior members for calibration.

Referenced by ClassImp(), computeABCscore(), getTdsPosterior(), initABC(), posteriorToPar(), setUpABC(), and ~TABC().

◆ _threshold

double URANIE::Calibration::TABC::_threshold
protected

◆ _values

vector<double> URANIE::Calibration::TABC::_values

Referenced by ClassImp(), and computeABC().