English Français

Documentation / Manuel développeur

Modules disponibles

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

#include <TMCMC.h>

Inheritance diagram for URANIE::Calibration::TMCMC:
Collaboration diagram for URANIE::Calibration::TMCMC:

Public Member Functions

std::unordered_map< string, vector< int > > diagESS ()
 Compute Effective Sample Size. More...
 
Constructors
 TMCMC (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, int ns=100, Option_t *option="")
 
 TMCMC (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, int ns=100, Option_t *option="")
 Default MCMC constructor with the function argument: it contains the assessor to be used. More...
 
 TMCMC (URANIE::DataServer::TDataServer *tds, const char *fcn, const char *varexpinput, const char *varexpoutput, int ns=100, Option_t *option="")
 Default MCMC constructor with the function argument: it contains the assessor to be used. More...
 
 TMCMC (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, int ns=100, Option_t *option="")
 Default MCMC constructor with the code argument: it contains the assessor to be used. More...
 
void checktdsParContent ()
 Initialise the TMCMC object and the strcuture of file to save the result. More...
 
Destructor
virtual ~TMCMC ()
 Default destructor. More...
 
Setters
void setAlgo (const char *algoMCMC)
 Define the seed of the random generator for one or several chains. More...
 
void setSeed (int ichain, int seed)
 Define the seed of the random generator for one or several chains. More...
 
void setBurnin (int burn)
 Define the burn-in size. More...
 
void setLag (int lag)
 Define the lag. More...
 
void setNbDump (int nbDump)
 Define nbDump. More...
 
void setAcceptationRatioRange (double lower, double higher)
 Define the range of the acceptation ratio (the proposal will be modified so that the acceptation ratio is within this range) More...
 
void setLikelihood (const char *likelihoodName, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *output, const char *weight="")
 Set the likelihood function and some needed informations. More...
 
void setLikelihood (URANIE::Calibration::TDistanceLikelihoodFunction *likelihoodFunc, URANIE::DataServer::TDataServer *tdsRef, const char *input, const char *output, const char *weight="")
 Set the likelihood function and some needed informations. More...
 
void setMultistart (int nb_multistart)
 Initialise several chains. More...
 
void setStartingPoints (int ichain, vector< double > values)
 Initialise the parameters values. More...
 
void setProposalStd (int ichain, vector< double > standDev)
 Initialise the proposal std from vector. More...
 
Compute the parameters
void computeParameters (Option_t *option="")
 Compute ns iterations (with ns fixed in the constructor TMCMC) More...
 
void continueCalculation (int new_Ns)
 Continue the MCMC computation for new_Ns iterations. More...
 
MCMC methods
void MH_multiD (TRandom3 *rand, vector< double > dBase, vector< int > accept, vector< int > reject, int Nstart, int Nend)
 Run Metropolis-Hastings algorithm with candidates drawn in multiple directions (default method) More...
 
void MH_1D (TRandom3 *rand, vector< double > dBase, vector< int > accept, vector< int > reject, int Nstart, int Nend)
 Run Metropolis-Hastings algorithm with candidates drawn one direction at a time. More...
 
Save and read
void export_chain_MCMC (const char *fileName)
 Save the current state of the Markov Chain in a file. More...
 
void read_chain_MCMC (const char *fileName)
 Read a saved Markov Chain. More...
 
Visualisation
void drawTrace (TString sTitre, const char *variable="*", Option_t *option="")
 Draw the evolution of the parameters as a function of the iterator. More...
 
void draw2DTrace (TString sTitre, const char *variable, Option_t *option="")
 Draw the evolution of 2 parameters on a 2D plot. More...
 
void drawAcceptationRatio (TString sTitre, const char *variable="*", Option_t *option="")
 Draw the evolution of the acceptation ratio as a function of the iterator. More...
 
void drawParameters (TString sTitre, const char *variable="*", Option_t *option="")
 Draw samples of the posterior distribution (if converged) More...
 
Diagnostic
double diagAutoCorrelation (int lag, int nPoints, Double_t *Data)
 Compute the autocorrelation. More...
 
std::unordered_map< string, double > diagGelmanRubin ()
 Compute Gelman-Rubin statistic (multistart only) More...
 
Printing Log
virtual void printLog (Option_t *option="")
 Prints the log. More...
 
Default cut and lag
string getDefaultCut ()
 Print the actual cut and lag values. More...
 
void clearDefaultCut ()
 Reinitialisation of the cut and lag values. More...
 
- 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...
 
void drawResiduals (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. 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
 Vector of values to be tested. More...
 
vector< double > _vstd
 Vector of standard deviation. More...
 
vector< double > _dBaseSaved
 Database containing the values, acceptation rate, ... More...
 
vector< int > _acceptSaved
 Vector containing the number of accepted candidates for each parameter. More...
 
vector< int > _rejectSaved
 Vector containing the number of rejected candidates for each parameter. More...
 
TRandom3 _randSaved
 Random generator saved. More...
 
std::string _simuName
 name of the simulation (will be the name of the results repository) More...
 
int _burnin
 The number of iterations considered as warm-up or burn-in. More...
 
int _lag
 The lag value. More...
 
int _nbDump
 Frequency to which the algo dump a line. More...
 
int _multiStart
 The number of chains initialised. More...
 
double _lowAccRange
 lower acceptation ratio bound More...
 
double _higAccRange
 higher acceptation ratio bound More...
 
std::string _algoMCMC
 MCMC algo to use between ("MH_1D" and "MH_multiD") More...
 
bool _bcleaningAtt
 Do not store the underlying att. 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 Member Functions

private methods
void logPriorPdf (double &ret)
 Compute the logarithm of the prior. More...
 
void parseOption (Option_t *option="")
 Possible options: More...
 
- Protected Member Functions inherited from URANIE::Calibration::TCalibration
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...
 
void setMethodName (const char *str)
 Set the Method name. More...
 

Additional Inherited Members

- Public Types inherited from URANIE::Calibration::TCalibration
enum  ELauncher { kCode, kFunction, kRun, kUnknown }
 
- 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...
 

Constructor & Destructor Documentation

◆ TMCMC() [1/4]

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

Usual MCMC constructor where ns is the number of iterations.

Parameters
tdsthe dataserver that contains no data but only one TStochasticAttribute per parameter to be calibrated
runthe runner that would be used to produce evaluations
nsnumber of iterations [100 by default]

Referenced by ClassImp().

◆ TMCMC() [2/4]

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

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

Parameters
tdsthe dataserver that contains no data but only one TStochasticAttribute per parameter to be calibrated
fcnthe pointer to a function
nsnumber of iterations [100 by default]
varexpinputthe input variable for the function in the correct order (both input and parameters)
varexpoutputthe output of the function in the correct order

◆ TMCMC() [3/4]

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

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

Parameters
tdsthe dataserver that contains no data but only one TStochasticAttribute per parameter to be calibrated
fcnthe name of the function
nsnumber of iterations [100 by default]
varexpinputthe input variable for the function in the correct order (both input and parameters)
varexpoutputthe output of the function in the correct order

◆ TMCMC() [4/4]

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

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

Parameters
tdsthe dataserver that contains no data but only one TStochasticAttribute per parameter to be calibrated
codethe code object that will be runned
nsnumber of iterations [100 by default]

◆ ~TMCMC()

virtual URANIE::Calibration::TMCMC::~TMCMC ( )
virtual

Default destructor.

Referenced by ClassImp().

Member Function Documentation

◆ checktdsParContent()

void URANIE::Calibration::TMCMC::checktdsParContent ( )
virtual

Initialise the TMCMC object and the strcuture of file to save the result.

Implements URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ clearDefaultCut()

void URANIE::Calibration::TMCMC::clearDefaultCut ( )
inline

Reinitialisation of the cut and lag values.

References setBurnin(), setLag(), and setNbDump().

◆ computeParameters()

void URANIE::Calibration::TMCMC::computeParameters ( Option_t *  option = "")
virtual

Compute ns iterations (with ns fixed in the constructor TMCMC)

Parameters
optionpossible options are
  • "clean": remove internal branche from the tdsPar object at the end

Implements URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ continueCalculation()

void URANIE::Calibration::TMCMC::continueCalculation ( int  new_Ns)

Continue the MCMC computation for new_Ns iterations.

Parameters
new_Nsnumber of additional iterations

Referenced by ClassImp().

◆ diagAutoCorrelation()

double URANIE::Calibration::TMCMC::diagAutoCorrelation ( int  lag,
int  nPoints,
Double_t *  Data 
)

Compute the autocorrelation.

Parameters
laglag interval for which the autocorrelation will be computed
Datavector for which the autocorrelation will be computed

Referenced by ClassImp().

◆ diagESS()

std::unordered_map<string, vector<int> > URANIE::Calibration::TMCMC::diagESS ( )

Compute Effective Sample Size.

Referenced by ClassImp().

◆ diagGelmanRubin()

std::unordered_map<string, double> URANIE::Calibration::TMCMC::diagGelmanRubin ( )

Compute Gelman-Rubin statistic (multistart only)

Referenced by ClassImp().

◆ draw2DTrace()

void URANIE::Calibration::TMCMC::draw2DTrace ( TString  sTitre,
const char *  variable,
Option_t *  option = "" 
)

Draw the evolution of 2 parameters on a 2D plot.

Parameters
sTitretitle of the plot if specified
variablename of the 2 variables that should be plotted (format "x1:x2")
optionpossible option for this plot
  • "nonewcanvas": do not create a new canvas, but use the one active

Referenced by ClassImp().

◆ drawAcceptationRatio()

void URANIE::Calibration::TMCMC::drawAcceptationRatio ( TString  sTitre,
const char *  variable = "*",
Option_t *  option = "" 
)

Draw the evolution of the acceptation ratio as a function of the iterator.

Parameters
sTitretitle of the plot if specified
variablelist of variables that should be plotted
optionpossible option for this plot
  • "nonewcanvas": do not create a new canvas, but use the one active

Referenced by ClassImp().

◆ drawParameters()

void URANIE::Calibration::TMCMC::drawParameters ( TString  sTitre,
const char *  variable = "*",
Option_t *  option = "" 
)
virtual

Draw samples of the posterior distribution (if converged)

Parameters
sTitretitle of the plots if specified
variablelist of variables that should be plotted
optionpossible option for this plot
  • "nonewcanvas": do not 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

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ drawTrace()

void URANIE::Calibration::TMCMC::drawTrace ( TString  sTitre,
const char *  variable = "*",
Option_t *  option = "" 
)

Draw the evolution of the parameters as a function of the iterator.

Parameters
sTitretitle of the plot if specified
variablelist of variables that should be plotted
optionpossible option for this plot
  • "nonewcanvas": do not create a new canvas, but use the one active

Referenced by ClassImp().

◆ export_chain_MCMC()

void URANIE::Calibration::TMCMC::export_chain_MCMC ( const char *  fileName)

Save the current state of the Markov Chain in a file.

Parameters
fileNamename of the save file

Referenced by ClassImp().

◆ getDefaultCut()

string URANIE::Calibration::TMCMC::getDefaultCut ( )
inline

Print the actual cut and lag values.

References _burnin, _lag, and URANIE::Calibration::TCalibration::_tdsPar.

◆ logPriorPdf()

void URANIE::Calibration::TMCMC::logPriorPdf ( double &  ret)
protected

Compute the logarithm of the prior.

Referenced by ClassImp().

◆ MH_1D()

void URANIE::Calibration::TMCMC::MH_1D ( TRandom3 *  rand,
vector< double >  dBase,
vector< int >  accept,
vector< int >  reject,
int  Nstart,
int  Nend 
)

Run Metropolis-Hastings algorithm with candidates drawn one direction at a time.

Parameters
randrandom generator
dBasecalculation vector containing the latest value of the chain, the acceptance rate for each parameter, and additional useful values (log-prior, log-likelihood, log-ratio)
acceptvector containing the number of accepted samples for each parameter
rejectvector containing the number of rejected samples for each parameter
Nstartthe number at which the iterations start
Nendthe number at which the iterations stop

Referenced by ClassImp().

◆ MH_multiD()

void URANIE::Calibration::TMCMC::MH_multiD ( TRandom3 *  rand,
vector< double >  dBase,
vector< int >  accept,
vector< int >  reject,
int  Nstart,
int  Nend 
)

Run Metropolis-Hastings algorithm with candidates drawn in multiple directions (default method)

Parameters
randrandom generator
dBasecalculation vector containing the latest value of the chain, the acceptance rate for each parameter, and additional useful values (log-prior, log-likelihood, log-ratio)
acceptvector containing the number of accepted samples for each parameter
rejectvector containing the number of rejected smaples for each parameter
Nstartthe number at which the iterations start
Nendthe number at which the iterations stop

Referenced by ClassImp().

◆ parseOption()

void URANIE::Calibration::TMCMC::parseOption ( Option_t *  option = "")
protectedvirtual

Possible options:

  • "savealleval": keep all estimation in the _tdsEval (Extremely dangerous as it will keep _nIter branches with _nObs estimations. This option might slow down the process.
  • "usematrix": option use to specify that computation is done with matrices instead of vector<vector<double> >. Shoud be used only if one is using an home-made TDistanceLikelihoodFunction

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ printLog()

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

Prints the log.

Reimplemented from URANIE::Calibration::TCalibration.

Referenced by ClassImp().

◆ read_chain_MCMC()

void URANIE::Calibration::TMCMC::read_chain_MCMC ( const char *  fileName)

Read a saved Markov Chain.

Parameters
fileNamename of the save file

Referenced by ClassImp().

◆ setAcceptationRatioRange()

void URANIE::Calibration::TMCMC::setAcceptationRatioRange ( double  lower,
double  higher 
)

Define the range of the acceptation ratio (the proposal will be modified so that the acceptation ratio is within this range)

Parameters
lowerlower bound (default = 0)
higherhigher bound (default = 1)

Referenced by ClassImp().

◆ setAlgo()

void URANIE::Calibration::TMCMC::setAlgo ( const char *  algoMCMC)

Define the seed of the random generator for one or several chains.

Parameters
algoMCMCname of the chosen MCMC method among the already implemented ones:
  • "MH_1D": for component-wise Metropolis-Hastings algorithm with candidates drawn in one direction at a time
  • "MH_multiD": for classic Metropolis-Hastings algorithm with candidates drawn in multiple directions (default method)

Referenced by ClassImp().

◆ setBurnin()

void URANIE::Calibration::TMCMC::setBurnin ( int  burn)

Define the burn-in size.

Parameters
burnnumber of samples that will be removed (default = 0)

Referenced by ClassImp(), and clearDefaultCut().

◆ setLag()

void URANIE::Calibration::TMCMC::setLag ( int  lag)

Define the lag.

Parameters
laginterval between two selected sampled points to reduce autocorrelation (default = 1)

Referenced by ClassImp(), and clearDefaultCut().

◆ setLikelihood() [1/2]

void URANIE::Calibration::TMCMC::setLikelihood ( const char *  likelihoodName,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  output,
const char *  weight = "" 
)

Set the likelihood function and some needed informations.

Parameters
likelihoodNamename of the likelihood function chosen among the already implemented likelihoods:
  • "gauss": for gaussian likelihood
tdsRef: the dataserver that contains all needed information detailled below
inputthe input attributes used by 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)

Referenced by ClassImp().

◆ setLikelihood() [2/2]

void URANIE::Calibration::TMCMC::setLikelihood ( URANIE::Calibration::TDistanceLikelihoodFunction likelihoodFunc,
URANIE::DataServer::TDataServer *  tdsRef,
const char *  input,
const char *  output,
const char *  weight = "" 
)

Set the likelihood function and some needed informations.

Parameters
likelihoodFunca pointer to a TDistanceLikelihoodFunction object (not usual, recommended only when dealing with a home-made distance function compiled on the spot)
tdsRefthe dataserver that contains all needed information detailled below
inputthe input attributes used by 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)

◆ setMultistart()

void URANIE::Calibration::TMCMC::setMultistart ( int  nb_multistart)

Initialise several chains.

Parameters
nb_multistartchange the number of chains initialised (default = 1)

Referenced by ClassImp().

◆ setNbDump()

void URANIE::Calibration::TMCMC::setNbDump ( int  nbDump)

Define nbDump.

Parameters
nbDumpnumber of iterations between two information displays (default = 1000)

Referenced by ClassImp(), and clearDefaultCut().

◆ setProposalStd()

void URANIE::Calibration::TMCMC::setProposalStd ( int  ichain,
vector< double >  standDev 
)

Initialise the proposal std from vector.

Parameters
ichainchain number for which we set the standard deviation of the proposal standard deviation
standDevvector containing the values of the proposal standard deviation (size must be equal to the number of parameters)

Referenced by ClassImp().

◆ setSeed()

void URANIE::Calibration::TMCMC::setSeed ( int  ichain,
int  seed 
)

Define the seed of the random generator for one or several chains.

Parameters
ichainchain number for which we set the starting point (if -1 all the chains initialised to the same points -> not recommended)
seedseed value

Referenced by ClassImp().

◆ setStartingPoints()

void URANIE::Calibration::TMCMC::setStartingPoints ( int  ichain,
vector< double >  values 
)

Initialise the parameters values.

Parameters
ichainchain number for which we set the starting point (if -1 all the chains initialised at the same starting point -> not recommended)
valuesvector containing the values of the starting points (size must be equal to the number of parameters)

Referenced by ClassImp().

Member Data Documentation

◆ _acceptSaved

vector<int> URANIE::Calibration::TMCMC::_acceptSaved

Vector containing the number of accepted candidates for each parameter.

Referenced by ClassImp().

◆ _algoMCMC

std::string URANIE::Calibration::TMCMC::_algoMCMC

MCMC algo to use between ("MH_1D" and "MH_multiD")

Referenced by ClassImp().

◆ _bcleaningAtt

bool URANIE::Calibration::TMCMC::_bcleaningAtt

Do not store the underlying att.

Referenced by ClassImp().

◆ _burnin

int URANIE::Calibration::TMCMC::_burnin

The number of iterations considered as warm-up or burn-in.

Referenced by ClassImp(), and getDefaultCut().

◆ _dBaseSaved

vector<double> URANIE::Calibration::TMCMC::_dBaseSaved

Database containing the values, acceptation rate, ...

Referenced by ClassImp().

◆ _higAccRange

double URANIE::Calibration::TMCMC::_higAccRange

higher acceptation ratio bound

Referenced by ClassImp().

◆ _lag

int URANIE::Calibration::TMCMC::_lag

The lag value.

Referenced by ClassImp(), and getDefaultCut().

◆ _lowAccRange

double URANIE::Calibration::TMCMC::_lowAccRange

lower acceptation ratio bound

Referenced by ClassImp().

◆ _multiStart

int URANIE::Calibration::TMCMC::_multiStart

The number of chains initialised.

Referenced by ClassImp().

◆ _nbDump

int URANIE::Calibration::TMCMC::_nbDump

Frequency to which the algo dump a line.

Referenced by ClassImp().

◆ _randSaved

TRandom3 URANIE::Calibration::TMCMC::_randSaved

Random generator saved.

Referenced by ClassImp().

◆ _rejectSaved

vector<int> URANIE::Calibration::TMCMC::_rejectSaved

Vector containing the number of rejected candidates for each parameter.

Referenced by ClassImp().

◆ _simuName

std::string URANIE::Calibration::TMCMC::_simuName

name of the simulation (will be the name of the results repository)

Referenced by ClassImp().

◆ _values

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

Vector of values to be tested.

Referenced by ClassImp().

◆ _vstd

vector<double> URANIE::Calibration::TMCMC::_vstd

Vector of standard deviation.

Referenced by ClassImp().