#include "QSigExFit.h"

QSigExFit


class description - header file - source file - inheritance tree (.pdf)

class QSigExFit : public QSigExDirHandler

Inheritance Chart:
TObject
<-
QSigExDirHandler
<-
QSigExFit

    protected:
void CheckConstantsSetup() const void CheckJointPDFsProbs() const void CheckMinimizerSetup() const void CheckParamsSetup() const virtual void FormatDir() void GetConstants() void GetMinimizerSettings() void GetMinosSettings() void GetParametersParams() public:
QSigExFit() QSigExFit(const QSigExFit& rhs) QSigExFit(TDirectory* dir, void (*)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t) fcn, const Char_t* cardfilename = "NULL") QSigExFit(TDirectory* dir, void* fcn, const Char_t* cardfilename = "NULL") virtual ~QSigExFit() void AddFlux(const Char_t* fgroup, Bool_t active, Float_t startval, Float_t minval, Float_t maxval, Float_t stepval) void AddInDir(TDirectory* folder) void AddVariab(const Char_t* vname, Float_t vvalue) static TClass* Class() virtual void CleanDir() virtual void ClearCardBuf() virtual Int_t Get() const TList& GetInDirList() const TString* GetMinuitStatus() virtual TClass* IsA() const virtual void LoadCardFile(const Char_t* cardfilename = "NULL") TDirectory* RmInDir(TDirectory* folder) void SetFCN(void (*)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t) fcn) void SetFCN(void* fcn) void SetMinimizer(const Char_t* minimname, const Char_t* fcnerror, const Char_t* param1 = "NULL", const Char_t* param2 = "NULL", const Char_t* param3 = "NULL", const Char_t* param4 = "NULL", const Char_t* param5 = "NULL", const Char_t* param6 = "NULL", const Char_t* param7 = "NULL", const Char_t* param8 = "NULL") void SetMinosMaxNCalls(Int_t maxcalls) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TDirectory* fFitDir Pointer to the "Fit" TDirectory TList fJProbsDirs ! List of pointers to extra joint prob trees void (*)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t) fCompiledFunc ! Pointer to a compiled minimization function void* fInterpretedFunc ! Pointer to an interpreted minimization function QList<QList<TString> > fFluxCard List of setup parameters of population parameters in card file format QList<QList<TString> > fVariabsCard List of fit constants in card file format QList<TString> fMinimCard Minimizer configuration parameters in card file format QList<TString> fMinosCard MINOs configuration parameters in card file format TString fMinuitStatus

Class Description

void FormatDir()
This protected function gives to the fMyDir TDirectory the structure that is
needed to store the information produced by this class. It creates
directories "Fit" and subdirectories "Fit/Setup" and "Fit/Numbers". 
void CleanDir()
This public member function reinitializes the part of the fMyDir directory
structure that belongs to QSigExFit. It removes "Fit" TDirectory and calls
FormatDir().
void ClearCardBuf()
This member function clears the internal variables used to store the
configuration information of this class in card file format 
void LoadCardFile(const Char_t* cardfilename)
This public member function reads the card file with filename cardfilename
and saves the information needed by this class in its internal member
variables.

Four cardfile keywords are read by this function: "flux", "variab",
"minimizer" and "minos". The first type of entry specifies different
configuration parameters for the population parameters. The second type
specifies constants that can be used by the parameters fitter function. The
third type specifies which Minuit minimizer has to be used, the "UP" value
on the minimization function used to compute the parameters errors and some
parameters needed by the minimizer. The fourth type is optional and
specifies the maximum number of function calls per parameter allowed in the
MINOs calculations. Refer to Minuit documentation for more details.

Syntax of "flux" card file entries:
flux  [fgroup]  [active]  [startval]  [minval]  [maxval]  [stepval]
where [fgroup] is the flux group (popluation parameter) name, [active] is a
boolean value that indicates if the parameter value is unfixed, [startval]
is the starting parameter value, [minval] and [maxval] the range limits of
the parameter value and [stepval] is the step value used to fit the
parameter.

Syntax of "variab" card file entries:
variab  [vname]  [vvalue]
where [vname] is the constant name and [vvalue] is the constant value

Syntax of "minimizer" card file entry:
minimizer  [minimname]  [FCNError] [...] where [minimname] is the Minuit
minimizer name, [FCNError] is the minimization function "UP" value used to
compute the parameters erros, and [...] are the optional minimizer
parameters (see Minuit documentation for more details).

Syntax of "minos" optional card file entry:
minos  [maxcalls] where [maxcalls] is the maximum number of function calls
per parameter allowed in the MINOs calculations. If this card file entry is
not used, the default Minuit value is used.
void AddFlux(const Char_t* fgroup, Bool_t active, Float_t startval, Float_t minval, Float_t maxval, Float_t stepval)
This function adds a flux group in the internal member variables. The format of the arguments is described in QSigExFit::LoadCardFile.
void AddVariab(const Char_t* vname, Float_t vvalue)
This function adds a constant in the internal member variables. The format of the arguments is described in QSigExFit::LoadCardFile.
void SetMinimizer(const Char_t* minimname, const Char_t* fcnerror, const Char_t* param1, const Char_t* param2, const Char_t* param3, const Char_t* param4, const Char_t* param5, const Char_t* param6, const Char_t* param7, const Char_t* param8)
This functions sets the minimizer parameters. The format of the arguments is described in QSigExFit::LoadCardFile.
void SetMinosMaxNCalls(Int_t maxcalls)
This functions sets the maximum number of calls in Minos.
void GetParametersParams()
This protected function reads the "flux" entries from the internal member
variables of QSigExFit and stores the information in
"Fit/Setup/Parameters/[fgroup]" directories as TNamed objects ([fgroup] is
the name of the entry flux group). 
void GetConstants()
This protected function reads the "variabs" entries from the internal member
variables of QSigExFit and stores the information in "Fit/Setup/Constants"
TDirectory as TNamed objects. 
void GetMinimizerSettings()
This protected member function reads the "minimizer" entry from the internal
variables of QSigExFit and stores the information in "Fit/Setup/Minimizer"
TDirectory as TNamed objects.
void GetMinosSettings()
This protected member function reads the "minos" entry from the internal
variables of QSigExFit and stores the information in "Fit/Setup/MINOs"
TDirectory as TNamed objects.
void SetFCN(void (*fcn)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t))
This overloaded version of QSigExFit::SetFCN() function is called when fcn is
a compiled function (fcn pointer is passed in compiled code or by the CINT
interpreter). It sets the parameters fitter function.
void SetFCN(void* fcn)
This overloaded version of QSigExFit::SetFCN() function is called when fcn
is an interpreted function by the CINT interpreter. It sets the parameters
fitter function.
Int_t Get()
This function estimates the population parameters values and their
error using the "Probs/JointPDFsProbs/JointPDFsProbs" joint
probability densities TTree, configuration parameters and
constants from the internal member variables (see
QSigExFit::LoadCardFile() for more details on configuration
parameters and fit constants). The parameters fitter function is
defined by calling QSigExFit::SetFCN(). The output of this
function is contained in a set of subfolders in "Fit" TDirectory:
"Fit/Setup/Parameters/[fgroup]", "Fit/Setup/Constants",
"Fit/Setup/Minimizer", "Fit/Setup/MINOs" and
"Fit/Numbers/[fgroup]", where [fgroup] are the flux groups
(parameters names). The subfolder "Fit/Setup" contains the fit
setup information and the subfolder "Fit/Numbers" contains the fit
results and the covariance matrix (TMatrixDSym object) of the
fitted, non-fixed  parameters.  Each "Fit/Numbers/[fgroup]"
subfolder contains 3 TNamed objects which name is explicit:
             -"FitValue"
             -"MinusFitError"
             -"PlusFitError"

The values of the results are stored in the titles
(TNamed::GetTitle()) of the objects.

The Minuit status is stored in TNamed object Fit/Minuit/Status.

"Fit/Numbers" contains also a fourth TNamed object,
"ActParamIndex" which title is the index of the parameter in the
covariance matrix. This title is "-1" if the parameter is fixed.
 
This function returns 0
void CheckJointPDFsProbs()
This protected function checks if a "Probs/JointPDFsProbs/JointPDFsProbs"
TTree exists
QSigExFit()

QSigExFit(const QSigExFit& rhs)

QSigExFit(TDirectory* dir,void (*fcn)(Int_t&, Double_t*, Double_t&f, Double_t*, Int_t),const Char_t* cardfilename=NULL)

AddInDir(dir)

QSigExFit(TDirectory* dir,void *fcn,const Char_t* cardfilename=NULL)

virtual ~QSigExFit()


{}
TDirectory* RmInDir(TDirectory* folder)

const TList& GetInDirList()


{return fJProbsDirs;}
TString * GetMinuitStatus()


{return &fMinuitStatus;}
void CheckParamsSetup()

void CheckConstantsSetup()

void CheckMinimizerSetup()


Author: Kathryn Miknaitis, Pierre-Luc Drouin
Last update: Fri Nov 17 16:35:13 2006


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.