English Français

Documentation / Developer's manual

Available modules

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

Description of the class TSobol. More...

#include <TSobol.h>

Inheritance diagram for URANIE::Sensitivity::TSobol:
Collaboration diagram for URANIE::Sensitivity::TSobol:

Public Types

enum  ESamplerMethod { kSRS , kLHS , kqMCSobol , kqMCHalton }
 list Of Enum More...
 
enum  EMatrixMiNi { kMiNiSobol , kMiNiSaltelli }
 
enum  ESiAlgorithm {
  kSiSobol93 =0 , kSiSaltelli02 , kSiJansen99 , kSiSumo10 ,
  kSiMartinez11 , kSiOnlyNi =26 , kSiAll =31
}
 
enum  EStiAlgorithm {
  kStiHomma96 =0 , kStiSobol07 , kStiJansen99 , kStiSumo10 ,
  kStiMartinez11 , kStiOnlyNi =25 , kStiAll =31
}
 
- Public Types inherited from URANIE::Sensitivity::TSensitivity
enum  ELauncher {
  kCode , kCodeRemote , kFunction , kRun ,
  kUnknown
}
 

Public Member Functions

Constructor and Destructor
 TSobol ()
 Default constructor.
 
 TSobol (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, Int_t ns, Option_t *option="")
 Default constructor with the TDataServer.
 
 TSobol (URANIE::DataServer::TDataServer *tds, const char *fcn, Int_t ns, const char *varexpinput, const char *varexpoutput, Option_t *option="")
 Default constructor with the TDataServer.
 
 TSobol (URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="")
 Default constructor with a TDataServer filling.
 
 TSobol (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, Int_t ns, Option_t *option="")
 Default constructor with a tcode.
 
 TSobol (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t ns, Option_t *option="")
 Default constructor with a trun.
 
virtual ~TSobol ()
 Default destructor.
 
Constructor's helper
void initForRun (Option_t *option)
 
Setting and Getting attributs
void createTuple (Option_t *option="")
 
Generation of the sample
virtual void generateSample (Option_t *option="")
 Generates all the matrix of sample.
 
void loadOtherSobolFile (const char *filename)
 
void evaluateIndexes (Option_t *option="")
 Evaluates the index from a Specific TDataServer.
 
Printing Log
virtual void printLog ()
 
- Public Member Functions inherited from URANIE::Sensitivity::TSensitivity
 TSensitivity ()
 Default constructor.
 
 TSensitivity (URANIE::DataServer::TDataServer *tds, const char *fcn, Int_t ns, const char *varexpinput="", const char *varexpoutput="", Option_t *option="")
 Default constructor with the name of a function.
 
 TSensitivity (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, Int_t ns, Option_t *option="")
 
 TSensitivity (URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="")
 Default constructor.
 
 TSensitivity (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *code, Int_t ns, Option_t *option="")
 Default constructor with TCode arg.
 
 TSensitivity (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t ns, Option_t *option="")
 Default constructor with TRun arg.
 
virtual ~TSensitivity ()
 Default destructor.
 
Int_t getID ()
 
virtual TTree * getResultTuple (bool commonresulttuple=true)
 Get the result ntuple (default parameter unused but for Morris method)
 
double getValue (const char *sorder="", const char *sinputname="", const char *sselect="")
 
vector< int > * getAttributeElements (string str)
 
void setFunction (void(*fct)(Double_t *, Double_t *), Int_t nx=-1, Int_t ny=1)
 
TString getFunctionName ()
 
void setSeed (UInt_t nval)
 
UInt_t getSeed ()
 
virtual void setMethodName (const char *str)
 Set the Method name.
 
const char * getMethodName ()
 Get the method name.
 
Bool_t getNoIntermediateSaved ()
 Get the noIntermediateSaved flag.
 
const char * getIteratorName ()
 Get the name of the iterator attribut of the method.
 
void setSensitivityIteratorName (const char *str)
 Set the iterator name devoted to compute sensitivity indexes.
 
void setTimeName (TString sname)
 Set the name of the time attribute (only one)
 
TString getTimeName ()
 Get the name of the time attribute.
 
virtual void setDrawProgressBar (Bool_t bbool=kTRUE)
 Set the "draw progress bar" flag.
 
void setUsingErrors (bool thebool)
 Set the "using error results anyway" option.
 
Bool_t getDrawProgressBar ()
 Get the clean flag.
 
Bool_t isInputCorrelated ()
 
TMatrixD getMatrixInputCorrelation ()
 
Int_t getNInput ()
 Get the number of input attributes.
 
Int_t getNOutput ()
 Get the number of output attributes.
 
void setInputCorrelationMatrix (TMatrixD Corr)
 
void checkOutputRequested (string attlist, bool fromoption=false)
 Check the output list requested by the user.
 
void computeIndexes (Option_t *option="")
 Compute the Sensitivity Indexes.
 
void fillIndex (const char *sinputname, const char *sorder, Double_t dval, const char *algo="", Double_t dvalCILower=-1.0, Double_t dvalCIUpper=-1.0)
 Method to fill in the tree the value of Sensitivity indexes for an input attribute.
 
virtual void drawIndexes (TString sTitre, const char *select="", Option_t *option="")
 Draws the indexes.
 
virtual void setLog ()
 
void unsetLog ()
 
void changeLog ()
 
Bool_t getLog ()
 
virtual void printLog (Option_t *option="")
 
void setNLauncher (ELauncher codeLauncher)
 

Public Attributes

Private and Public attributes
Bool_t _bWithSample
 true if data are provided and used as full sample of 2 times ns samples
 
Bool_t _bWithData
 true if data are provided and used as full sample of 2 times ns samples
 
ESamplerMethod _nSamplerMethod
 The sampler method to generate the M and N matrix.
 
EMatrixMiNi _nMatrixMiNi
 The method to generate the Min and/or Ni matrix (Sobol, Saltelli)
 
ESiAlgorithm _nSiAlgorithm
 The algorithm to use to compute the first order algorithm.
 
EStiAlgorithm _nStiAlgorithm
 The algorithm to use to compute the total order algorithm.
 
Method

The method needs two matrix M, N

Int_t _nSimPerIndex
 The size of the two matrix M et N.
 
Int_t _nMethodComputed
 number of method used
 
TMatrixD _matM
 The matrix M.
 
TMatrixD _matN
 The matrix M.
 
TEventList * _telm
 
TEventList * _teln
 m and n lit of event in the ntuple
 
TMatrixD _valN
 
TMatrixD _valM
 values of output for M and N matrix
 
TMatrixD _valSi
 
TMatrixD _valSti
 values of the first and total sobol indexes
 
TMatrixD _valMeanMN
 
TMatrixD _valSigmaMN
 complexe matrices to store the mean and variance of used M/N/Mi/Ni matrices
 
vector< double > _valMeanYN
 
vector< double > _valMeanYM
 
vector< double > _valVarYN
 
vector< double > _valVarYM
 
URANIE::DataServer::TDSNtupleD * _withdatantp
 
URANIE::DataServer::TDSNtupleD * _preloadedntp
 
int * _useless
 
- Public Attributes inherited from URANIE::Sensitivity::TSensitivity
URANIE::DataServer::TDataServer * _tds
 Pointeur vers un TDS.
 
TList * _listOfInputAttributes
 List of the input branches.
 
TList * _listOfOutputAttributes
 List of the input branches.
 
TString _sTimeAttribute
 The name of the Time attribute.
 
Int_t _nS
 The number of simulation or other information depend on the used method.
 
Int_t _nX
 Dimension of the input.
 
UInt_t _nY
 Dimension of the target.
 
UInt_t _nElY
 Number of element for one selected output.
 
Int_t _nbOut
 Total number of Output to be considered.
 
Int_t _iOut
 counter for output
 
unsigned int _iy
 iterator over number of element
 
unsigned int _iely
 iterator over number of element
 
ELauncher _nLauncher
 The type of launcher.
 
TString _sFunctionName
 The Name of the evaluatuor.
 
URANIE::Launcher::TCode * _code
 The tcode.
 
URANIE::Relauncher::TRun * _run
 
TObjArray * _drawingGarbageCollector
 Garbage collector for prints.
 
Int_t _nSeed
 The seed of the random generator.
 
Bool_t _bChosenOutputs
 Fact that the input list is provided or not.
 
Bool_t _blog
 Boolean for edit the log.
 
Bool_t _bdrawProgressBar
 Boolean to know if the progress bar has to be drawn.
 
Bool_t _bnoIntermediateSaved
 Boolean to know if the progress bar has to be drawn.
 
TString _sIteratorName
 The specific iterator attribute for the method.
 
TString _sMethodName
 The method name.
 
TString _sSelectedOutput
 The output.
 
TString _sSelectedInput
 The input.
 
map< string, unsigned int > _mAttributeSize
 Map of size of element for attribute;.
 
map< string, vector< int > > _mAttributeElements
 Map of Elements number to run (if vector subselection is requested)
 
vector< string > _vOutputNames
 Name of the output.
 
TCanvas * _canvas
 Canvas object to deal with.
 
void(* _pFunction )(double *, double *)
 
TTree * _ntresult
 The TTree of results.
 

Protected Member Functions

Visualization and Scan the data
void initSample (Int_t ns, Option_t *option="")
 
Parse the option
virtual void parseOption (Option_t *option="")
 Read option specific to TSobol.
 
void preTreatment ()
 Resize matrices and fill many vector/matrice to avroid recompute stat too oftently.
 
- Protected Member Functions inherited from URANIE::Sensitivity::TSensitivity
void checkCanvasCreation (bool newcan)
 Create a canvas if needed.
 
void drawIndexesHistogram (TString sTitre, const char *select="", Option_t *option="")
 Draws indexes with an histogram.
 
void drawIndexesPie (TString sTitre, const char *select="", Option_t *option="")
 Draws indexes with an pie chart.
 
virtual void postTreatment ()
 PostTreatment for every output.
 
void setNoIntermediateSaved (Bool_t bbool=kTRUE)
 Set the "only final file" flag.
 

Additional Inherited Members

- Protected Attributes inherited from URANIE::Sensitivity::TSensitivity
Char_t _sOutputAttribute [MAXLENGTHSTRING]
 The name of the output attribute.
 
Char_t _sInputAttribute [MAXLENGTHSTRING]
 The name of the input attribute.
 
Char_t _sOrder [MAXLENGTHSTRING]
 The order of sensitivity indexes.
 
Char_t _sMethod [MAXLENGTHSTRING]
 The name of the method.
 
Char_t _sAlgorithm [MAXLENGTHSTRING]
 The name of the algorithm to compute the index.
 
Double_t _valSobolCrt
 The value of sensitivity indexes.
 
Double_t _valSobolCILower
 The value of lower Condidence Interval (95)
 
Double_t _valSobolCIUpper
 The value of upper Condidence Interval (95)
 
TMatrixD _minputCorr
 Input correlation matrix if sample needs to be correlated.
 
Bool_t _bisInputCorrelated
 State whether the input correlation matrix is set.
 
Bool_t _bgoingThroughError
 State whether the error must not block the computation.
 

Detailed Description

Description of the class TSobol.

To be written by the developper.

Member Enumeration Documentation

◆ EMatrixMiNi

Enumerator
kMiNiSobol 
kMiNiSaltelli 

◆ ESamplerMethod

list Of Enum

Enumerator
kSRS 
kLHS 
kqMCSobol 
kqMCHalton 

◆ ESiAlgorithm

Enumerator
kSiSobol93 
kSiSaltelli02 
kSiJansen99 
kSiSumo10 
kSiMartinez11 
kSiOnlyNi 
kSiAll 

◆ EStiAlgorithm

Enumerator
kStiHomma96 
kStiSobol07 
kStiJansen99 
kStiSumo10 
kStiMartinez11 
kStiOnlyNi 
kStiAll 

Constructor & Destructor Documentation

◆ TSobol() [1/6]

URANIE::Sensitivity::TSobol::TSobol ( )

Default constructor.

Referenced by ClassImp().

◆ TSobol() [2/6]

URANIE::Sensitivity::TSobol::TSobol ( URANIE::DataServer::TDataServer *  tds,
void(*)(Double_t *, Double_t *)  fcn,
const char *  varexpinput,
const char *  varexpoutput,
Int_t  ns,
Option_t *  option = "" 
)

Default constructor with the TDataServer.

◆ TSobol() [3/6]

URANIE::Sensitivity::TSobol::TSobol ( URANIE::DataServer::TDataServer *  tds,
const char *  fcn,
Int_t  ns,
const char *  varexpinput,
const char *  varexpoutput,
Option_t *  option = "" 
)

Default constructor with the TDataServer.

◆ TSobol() [4/6]

URANIE::Sensitivity::TSobol::TSobol ( URANIE::DataServer::TDataServer *  tds,
const char *  varexpinput,
const char *  varexpoutput,
Option_t *  option = "" 
)

Default constructor with a TDataServer filling.

◆ TSobol() [5/6]

URANIE::Sensitivity::TSobol::TSobol ( URANIE::DataServer::TDataServer *  tds,
URANIE::Launcher::TCode *  fcode,
Int_t  ns,
Option_t *  option = "" 
)

Default constructor with a tcode.

◆ TSobol() [6/6]

URANIE::Sensitivity::TSobol::TSobol ( URANIE::DataServer::TDataServer *  tds,
URANIE::Relauncher::TRun *  run,
Int_t  ns,
Option_t *  option = "" 
)

Default constructor with a trun.

◆ ~TSobol()

virtual URANIE::Sensitivity::TSobol::~TSobol ( )
virtual

Default destructor.

Referenced by ClassImp().

Member Function Documentation

◆ createTuple()

void URANIE::Sensitivity::TSobol::createTuple ( Option_t *  option = "")
virtual

Reimplemented from URANIE::Sensitivity::TSensitivity.

Referenced by ClassImp().

◆ evaluateIndexes()

void URANIE::Sensitivity::TSobol::evaluateIndexes ( Option_t *  option = "")
virtual

Evaluates the index from a Specific TDataServer.

Implements URANIE::Sensitivity::TSensitivity.

Referenced by ClassImp().

◆ generateSample()

virtual void URANIE::Sensitivity::TSobol::generateSample ( Option_t *  option = "")
virtual

Generates all the matrix of sample.

Implements URANIE::Sensitivity::TSensitivity.

Referenced by ClassImp().

◆ initForRun()

void URANIE::Sensitivity::TSobol::initForRun ( Option_t *  option)

Referenced by ClassImp().

◆ initSample()

void URANIE::Sensitivity::TSobol::initSample ( Int_t  ns,
Option_t *  option = "" 
)
protected

Referenced by ClassImp().

◆ loadOtherSobolFile()

void URANIE::Sensitivity::TSobol::loadOtherSobolFile ( const char *  filename)

Referenced by ClassImp().

◆ parseOption()

virtual void URANIE::Sensitivity::TSobol::parseOption ( Option_t *  option = "")
protectedvirtual

Read option specific to TSobol.

Possible options specific to this methods are

  • "srs": generate sample with SRS
  • "lhs": generate sample with LHS
  • "qmc=sobol": generate sample with QMC=SOBOL
  • "qmc=halton": generate sample with QMC=HALTON
  • "sobol/saltelli": use either the solbol or saltelli implementation (the second one is the default)

Reimplemented from URANIE::Sensitivity::TSensitivity.

Referenced by ClassImp().

◆ preTreatment()

void URANIE::Sensitivity::TSobol::preTreatment ( )
protectedvirtual

Resize matrices and fill many vector/matrice to avroid recompute stat too oftently.

@namePreTreatment

Reimplemented from URANIE::Sensitivity::TSensitivity.

Referenced by ClassImp().

◆ printLog()

virtual void URANIE::Sensitivity::TSobol::printLog ( )
virtual

Referenced by ClassImp().

Member Data Documentation

◆ _bWithData

Bool_t URANIE::Sensitivity::TSobol::_bWithData

true if data are provided and used as full sample of 2 times ns samples

Referenced by ClassImp().

◆ _bWithSample

Bool_t URANIE::Sensitivity::TSobol::_bWithSample

true if data are provided and used as full sample of 2 times ns samples

Referenced by ClassImp().

◆ _matM

TMatrixD URANIE::Sensitivity::TSobol::_matM

The matrix M.

Referenced by ClassImp().

◆ _matN

TMatrixD URANIE::Sensitivity::TSobol::_matN

The matrix M.

Referenced by ClassImp().

◆ _nMatrixMiNi

EMatrixMiNi URANIE::Sensitivity::TSobol::_nMatrixMiNi

The method to generate the Min and/or Ni matrix (Sobol, Saltelli)

Referenced by ClassImp().

◆ _nMethodComputed

Int_t URANIE::Sensitivity::TSobol::_nMethodComputed

number of method used

Referenced by ClassImp().

◆ _nSamplerMethod

ESamplerMethod URANIE::Sensitivity::TSobol::_nSamplerMethod

The sampler method to generate the M and N matrix.

Referenced by ClassImp().

◆ _nSiAlgorithm

ESiAlgorithm URANIE::Sensitivity::TSobol::_nSiAlgorithm

The algorithm to use to compute the first order algorithm.

Referenced by ClassImp().

◆ _nSimPerIndex

Int_t URANIE::Sensitivity::TSobol::_nSimPerIndex

The size of the two matrix M et N.

Referenced by ClassImp().

◆ _nStiAlgorithm

EStiAlgorithm URANIE::Sensitivity::TSobol::_nStiAlgorithm

The algorithm to use to compute the total order algorithm.

Referenced by ClassImp().

◆ _preloadedntp

URANIE::DataServer::TDSNtupleD* URANIE::Sensitivity::TSobol::_preloadedntp

Referenced by ClassImp().

◆ _telm

TEventList* URANIE::Sensitivity::TSobol::_telm

Referenced by ClassImp().

◆ _teln

TEventList * URANIE::Sensitivity::TSobol::_teln

m and n lit of event in the ntuple

Referenced by ClassImp().

◆ _useless

int* URANIE::Sensitivity::TSobol::_useless

◆ _valM

TMatrixD URANIE::Sensitivity::TSobol::_valM

values of output for M and N matrix

Referenced by ClassImp().

◆ _valMeanMN

TMatrixD URANIE::Sensitivity::TSobol::_valMeanMN

Referenced by ClassImp().

◆ _valMeanYM

vector<double> URANIE::Sensitivity::TSobol::_valMeanYM

Referenced by ClassImp().

◆ _valMeanYN

vector<double> URANIE::Sensitivity::TSobol::_valMeanYN

Referenced by ClassImp().

◆ _valN

TMatrixD URANIE::Sensitivity::TSobol::_valN

Referenced by ClassImp().

◆ _valSi

TMatrixD URANIE::Sensitivity::TSobol::_valSi

Referenced by ClassImp().

◆ _valSigmaMN

TMatrixD URANIE::Sensitivity::TSobol::_valSigmaMN

complexe matrices to store the mean and variance of used M/N/Mi/Ni matrices

Referenced by ClassImp().

◆ _valSti

TMatrixD URANIE::Sensitivity::TSobol::_valSti

values of the first and total sobol indexes

Referenced by ClassImp().

◆ _valVarYM

vector<double> URANIE::Sensitivity::TSobol::_valVarYM

Referenced by ClassImp().

◆ _valVarYN

vector<double> URANIE::Sensitivity::TSobol::_valVarYN

Referenced by ClassImp().

◆ _withdatantp

URANIE::DataServer::TDSNtupleD* URANIE::Sensitivity::TSobol::_withdatantp

Referenced by ClassImp().