162 #include "RConfigure.h"   171 using std::ostringstream;
   172 using std::make_pair;
   201             it != funcList.end(); ++it ) {
   211       for ( 
fPrevFitIter it = look.first; it != look.second; ++it ) {
   235    if ( dynamic_cast<TF3*>(f) != 0 ) {
   236       TF3* fnew = (
TF3*)f->IsA()->New();
   243    } 
else if ( dynamic_cast<TF2*>(f) != 0 ) {
   244       TF2* fnew = (
TF2*)f->IsA()->New();
   253       TF1* fnew = (
TF1*)f->IsA()->New();
   273    if (npar != (
int) pars.size() ) pars.resize(npar);
   274    for ( 
Int_t i = 0; i < npar; ++i )
   290    if (npar > (
int) pars.size() ) pars.resize(npar);
   291    for ( 
Int_t i = 0; i < npar; ++i )
   301 template<
class FitObject>
   305    if (100 == special || 400 == special) {
   310    } 
else if ( 110 == special || 410 == special ) {
   326    if (!textEntry) 
return;
   330    variablesStr = nameStr(nameStr.First(
'(') + 2, nameStr.First(
',') - nameStr.First(
'(') - 3);
   332    cutsStr = nameStr( nameStr.First(
',') + 3, nameStr.First(
')') - nameStr.First(
',') - 4 );
   349          gROOT->MakeDefCanvas();
   428    int parts[] = { 20, 20, 20, 20, 20 };
   438    gROOT->GetListOfCleanups()->Add(
this);
   462       std::vector<TObject*> 
v;
   497    if (cw + size.
fWidth < dw) {
   498       Int_t gedx = 0, gedy = 0;
   500       gedy = (cy > 20) ? cy-20 : 0;
   524                          this, 
"SetFitObject(TVirtualPad *, TObject *, Int_t)");
   525    gROOT->GetListOfCleanups()->Remove(
this);
   577    bgr      -> SetRadioButtonExclusive();
   583    fNone    -> SetToolTipText(
"No operation defined");
   585    fAdd     -> SetToolTipText(
"Addition");
   587    fNormAdd -> SetToolTipText(
"NormAddition");
   589    fConv    -> SetToolTipText(
"Convolution");
   639    gClient->GetColorByName(
"#336666", color);
   929    #ifdef R__HAS_MATHMORE   947                                    "minimizers to be compiled");
   986    TGLabel *errlabel = 
new TGLabel(hsv1,
"Error definition (default = 1): ");
   989    TGLabel *tollabel = 
new TGLabel(hsv1,
"Max tolerance (precision): ");
   992    TGLabel *itrlabel = 
new TGLabel(hsv1,
"Max number of iterations: ");
  1052    fDataSet          -> 
Connect(
"Selected(Int_t)", 
"TFitEditor", 
this, 
"DoDataSet(Int_t)");
  1054    fTypeFit          -> 
Connect(
"Selected(Int_t)", 
"TFitEditor", 
this, 
"FillFunctionList(Int_t)");
  1056    fFuncList         -> 
Connect(
"Selected(Int_t)", 
"TFitEditor", 
this, 
"DoFunction(Int_t)");
  1060    fSetParam         -> 
Connect(
"Clicked()",       
"TFitEditor", 
this, 
"DoSetParameters()");
  1062    fAdd              -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoAddition(Bool_t)");
  1067    fUseRange         -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoUseFuncRange()");
  1087       fSliderX       -> 
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderXMoved()");
  1088       fSliderXMax    -> 
Connect(
"ValueSet(Long_t)", 
"TFitEditor",
this, 
"DoNumericSliderXChanged()");
  1089       fSliderXMin    -> 
Connect(
"ValueSet(Long_t)", 
"TFitEditor",
this, 
"DoNumericSliderXChanged()");
  1093       fSliderY       -> 
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderYMoved()");
  1094       fSliderYMax    -> 
Connect(
"ValueSet(Long_t)", 
"TFitEditor",
this, 
"DoNumericSliderYChanged()");
  1095       fSliderYMin    -> 
Connect(
"ValueSet(Long_t)", 
"TFitEditor",
this, 
"DoNumericSliderYChanged()");
  1098       fSliderZ       -> 
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderZMoved()");
  1104    fLibMinuit        -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoLibrary(Bool_t)");
  1106    fLibFumili        -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoLibrary(Bool_t)");
  1107    fLibGSL           -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoLibrary(Bool_t)");
  1117    fOptQuiet         -> 
Connect(
"Toggled(Bool_t)", 
"TFitEditor", 
this, 
"DoPrintOpt(Bool_t)");
  1204                      "SetFitObject(TVirtualPad *, TObject *, Int_t)");
  1205    TQObject::Connect(
"TCanvas", 
"Closed()", 
"TFitEditor", 
this, 
"DoNoSelection()");
  1220                            this, 
"SetFitObject(TVirtualPad *, TObject *, Int_t)");
  1224    gROOT->GetListOfCleanups()->Remove(
this);
  1232    if (!
gROOT->GetListOfCleanups()->FindObject(
this))
  1233       gROOT->GetListOfCleanups()->Add(
this);
  1313          Error(
"UpdateGUI",
"No hist is present - this should not happen, please report."  1314                "The FitPanel might be in an inconsistent state");
  1333       if (ixmin > 1 || ixmax < ixrange) {
  1352       fSliderX->
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderXMoved()");
  1353       fSliderXMax->
Connect(
"ValueSet(Long_t)", 
"TFitEditor", 
this, 
"DoNumericSliderXChanged()");
  1354       fSliderXMin->
Connect(
"ValueSet(Long_t)", 
"TFitEditor", 
this, 
"DoNumericSliderXChanged()");
  1367       Int_t iymin = 0, iymax = 0, iyrange = 0;
  1385       if (iymin > 1 || iymax < iyrange) {
  1404       fSliderY->
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderYMoved()");
  1405       fSliderYMax->
Connect(
"ValueSet(Long_t)", 
"TFitEditor", 
this, 
"DoNumericSliderYChanged()");
  1406       fSliderYMin->
Connect(
"ValueSet(Long_t)", 
"TFitEditor", 
this, 
"DoNumericSliderYChanged()");
  1416       Int_t izmin = 0, izmax = 0, izrange = 0;
  1434       if (izmin > 1 || izmax < izrange) {
  1443       fSliderZ->
Connect(
"PositionChanged()",
"TFitEditor",
this, 
"DoSliderZMoved()");
  1481       if ( tmpStr.
Length() == 0 )
  1553    if (
gROOT->GetListOfCanvases()->IsEmpty()) {
  1590                         "SetFitObject(TVirtualPad *, TObject *, Int_t)");
  1686          if ( strncmp(f->
GetName(), 
"PrevFit", 7) != 0 ) {
  1693             if ( f->
GetNdim() == fDim || fDim == 0) {
  1702       else if( fDim == 1 ) {
  1705       } 
else if( fDim == 2 ) {
  1717       for ( 
fPrevFitIter it = look.first; it != look.second; ++it ) {
  1728          else if ( fDim == 2 )
  1799    TIter canvasIter(canvases);
  1804       if ( 
TPad* can = dynamic_cast<TPad*>(obj))
  1807       else if (    dynamic_cast<TH1*>(obj)
  1808                 || 
dynamic_cast<TGraph*
>(obj)
  1809                 || dynamic_cast<TGraph2D*>(obj)
  1811                 || dynamic_cast<THStack*>(obj)
  1812                 || 
dynamic_cast<TTree*
>(obj) ) {
  1813          bool insertNew = 
true;
  1815          for ( std::vector<TObject*>::iterator i = objects.begin(); i != objects.end(); ++i )
  1816             if ( (*i) == obj ) {
  1822          if ( insertNew ) objects.push_back(obj);
  1842    std::vector<TObject*> objects;
  1850          while ( (obj = (
TObject*) next()) ) {
  1852             if ( dynamic_cast<TH1*>(obj) ||
  1853                  dynamic_cast<TGraph2D*>(obj) ||
  1854                  dynamic_cast<TTree*>(obj) ) {
  1855                objects.push_back(obj);
  1870    for ( std::vector<TObject*>::iterator i = objects.begin(); i != objects.end(); ++i ) {
  1875       if ( selEntryStr && name == selEntryStr )
  1938             tmpTF1->
GetRange(xmin, ymin, zmin, xmax, ymax, zmax);
  1999                    "Error...", 
"2) Verify the entered function string!",
  2038    std::cout << 
"TFitEditor::DoFit - using function " << fitFunc->
GetName() << 
"  " << fitFunc << std::endl;
  2041       Error(
"DoFit",
"This should have never happend, the fitfunc pointer is NULL! - Please Report" );
  2067             FitObject(gr, fitFunc, fitOpts, mopts, strDrawOpts, drange);
  2074             FitObject(mg, fitFunc, fitOpts, mopts, strDrawOpts, drange);
  2082             FitObject(g2d, fitFunc, fitOpts, mopts, strDrawOpts, drange);
  2105          if ( !tree ) 
return;
  2110          tree->
Draw(variables,cuts,
"goff");
  2114             Error(
"DoFit",
"Player reference is NULL");
  2120             Error(
"DoFit",
"Selector reference is NULL");
  2127             Error(
"DoFit",
"NDIM == 0");
  2131          std::vector<double *> vlist;
  2132          for (
unsigned int i = 0; i < ndim; ++i) {
  2133             double * 
v =  selector->
GetVal(i);
  2134             if (v != 0) vlist.push_back(v);
  2136                std::cerr << 
"pointer for variable " << i << 
" is zero" << std::endl;
  2138          if (vlist.size() != ndim) {
  2139             Error(
"DoFit",
"Vector is not complete");
  2146             Error(
"DoFit",
"NROWS == 0");
  2152          for ( 
int i = 0; i < std::min(
int(fitdata->
Size()),10); ++i) {
  2154             for (
unsigned int j = 0; j < ndim; ++j) {
  2155                printf(
" x_%d [%d] = %f  \n", j, i,*(fitdata->
Coords(i)+j) );
  2177       fitFunc->
Draw(
"same");
  2187    name << 
"PrevFit-" << 
fPrevFit.size() + 1;
  2188    if ( strcmp(tmpTF1->
GetName(), 
"PrevFitTMP") != 0 )
  2189       name << 
"-" << tmpTF1->
GetName();
  2190    tmpTF1->
SetName(name.str().c_str());
  2194    float xmin = 0.f, 
xmax = 0.f, 
ymin = 0.f, 
ymax = 0.f, zmin = 0.f, zmax = 0.f;
  2220       if (save) 
gPad = save;
  2244       TF1 form(
"tmpCheck", fname);
  2246       rvalue = form.
IsValid() ? 0 : -1;
  2247    } 
else if ( 
fDim == 2 ) {
  2248       TF2 form(
"tmpCheck", fname);
  2250       rvalue = form.
IsValid() ? 0 : -1;
  2251    } 
else if ( 
fDim == 3 ) {
  2252       TF3 form(
"tmpCheck", fname);
  2254       rvalue = form.
IsValid() ? 0 : -1;
  2302    if (on) 
Info(
"DoNormAddition",
"Normalized addition is selected");
  2326    if (on) 
Info(
"DoConvolution",
"Convolution is selected");
  2341    if (!textEntry) 
return;
  2348    if ( className == 
"TTree" ) {
  2356       objSelected = 
gROOT->FindObject(lookStr);
  2360       objSelected = 
gROOT->FindObject(name);
  2371       char variables[256] = {0}; 
char cuts[256] = {0};
  2372       strlcpy(variables, 
"Sin input!", 256);
  2374       if ( strcmp ( variables, 
"" ) == 0 ) {
  2386    while ( 
TObject* canvas = static_cast<TObject*>(padIter() ) ) {
  2387       if ( dynamic_cast<TPad*>(canvas) )
  2388          stPad.push(dynamic_cast<TPad*>(canvas));
  2391    while ( !stPad.empty() && !found ) {
  2392       currentPad = stPad.front();
  2395       while ( 
TObject* elem = static_cast<TObject*>(elemIter() ) ) {
  2396          if ( elem == objSelected ) {
  2399          } 
else if ( dynamic_cast<TPad*>(elem) )
  2400             stPad.push( dynamic_cast<TPad*>(elem) );
  2431    bool editable = 
false;
  2566                    "Error...", 
"3) Verify the entered function string!",
  2737    if (!fitFunc) { 
Error(
"DoSetParameters",
"NUll function"); 
return; }
  2784    if ( fParentPad ) fParentPad->Connect(
"RangeAxisChanged()", 
"TFitEditor", 
this, 
"UpdateGUI()");
  2813    static Int_t  px1old, py1old, px2old, py2old; 
  2825    Int_t px1,py1,px2,py2;
  2845       ymin = 
gPad->GetUymin();
  2846       ymax = 
gPad->GetUymax();
  2849    px1 = 
gPad->XtoAbsPixel(xleft);
  2850    py1 = 
gPad->YtoAbsPixel(ymin);
  2851    px2 = 
gPad->XtoAbsPixel(xright);
  2852    py2 = 
gPad->YtoAbsPixel(ymax);
  2854    if (
gPad->GetCanvas()) 
gPad->GetCanvas()->FeedbackMode(
kTRUE);
  2855    gPad->SetLineWidth(1);
  2856    gPad->SetLineColor(2);
  2866    if(save) 
gPad = save;
  2939                 "Info", 
"Dialog of user method is not implemented yet",
  2991       for ( 
int i = 0; i < variables.
Length() && 
fDim <= 2; ++i )
  2992          if ( 
':' == variables[i] ) 
fDim += 1;
  3003       fDim = ((
TH1*)obj)->GetDimension();
  3057    bool isTree = 
false;
  3064       isTree = strcmp(obj->
ClassName(), 
"TTree") == 0;
  3066       name = 
"No object selected";
  3073    if ( selectedEntry ) {
  3076          selectedName = selectedName(0, selectedName.
First(
' '));
  3077       if ( name.
CompareTo(selectedName) == 0 ) {
  3088       TString compareName = entry->GetText()->GetString();
  3090          compareName = compareName(0, compareName.
First(
' '));
  3091       if ( name.
CompareTo(compareName) == 0 ) {
  3118    while ((obj = next())) {
  3292       while ((obj2 = next())) {
  3301                if ( strcmp( func->
GetName(), it->second->GetName() ) == 0 )
  3303                if ( strcmp( func->
GetName(), 
"PrevFitTMP" ) == 0 )
  3356         (tmpStr.Contains(
"pol") || tmpStr.Contains(
"++")) )
  3499    TList *listOfFunctions = 0;
  3504          listOfFunctions = ((
TH1 *)
fFitObject)->GetListOfFunctions();
  3525    return listOfFunctions;
  3544    const unsigned int nfuncs = 16;
  3545    const char* fnames[nfuncs] = { 
"gaus" ,   
"gausn", 
"expo", 
"landau",
  3546                                   "landaun", 
"pol0",  
"pol1", 
"pol2",
  3547                                   "pol3",    
"pol4",  
"pol5", 
"pol6",
  3548                                   "pol7",    
"pol8",  
"pol9", 
"user"  3552    TIter functionsIter(
gROOT->GetListOfFunctions());
  3554    while( ( obj = (
TObject*) functionsIter() ) ) {
  3556       if ( 
TF1* 
func = dynamic_cast<TF1*>(obj) ) {
  3557          bool addFunction = 
true;
  3559          for ( 
unsigned int i = 0; i < nfuncs; ++i ) {
  3560             if ( strcmp( 
func->GetName(), fnames[i] ) == 0 ) {
  3561                addFunction = 
false;
  3586    std::pair<fPrevFitIter, fPrevFitIter> look = 
fPrevFit.equal_range(obj);
  3587    for ( 
fPrevFitIter it = look.first; it != look.second; ++it ) {
  3588       retList->
Add(it->second);
  3609                             "Error...", 
"1) Verify the entered function string!",
  3616       fitFunc = (
TF1*)tmpF1->IsA()->New();
  3617       tmpF1->
Copy(*fitFunc);
  3640       drange.
GetRange(xmin, xmax, ymin, ymax, zmin, zmax);
  3659          if (
fConv -> IsOn())
  3668       else if ( 
fDim == 2 ) {
  3671       else if ( 
fDim == 3 ) {
  3684          if ( tmpF1 != 0 && fitFunc != 0 &&
  3689             tmpF1->
Copy(*fitFunc); 
 
virtual void SetFunction(const char *function)
Set the function to be used in performed fit. 
 
virtual void DoFunction(Int_t sel)
Slot connected to predefined fit function settings. 
 
virtual void HideFrame(TGFrame *f)
Hide sub frame. 
 
virtual Float_t GetMinPosition() const
 
TGCheckButton * fEnableRobust
 
virtual void SetFitObject(TVirtualPad *pad, TObject *obj, Int_t event)
Slot called when the user clicks on an object inside a canvas. 
 
virtual void DoSetParameters()
Open set parameters dialog. 
 
virtual TString GetExpFormula(Option_t *option="") const
 
virtual const char * GetName() const
Returns name of object. 
 
std::multimap< TObject *, TF1 * > fPrevFit
 
TGLayoutHints * fLayoutAdd
 
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame. 
 
TGDoubleHSlider * fSliderX
 
TGTextButton * fDrawAdvanced
 
virtual void DoSliderZMoved()
Slot connected to range settings on z-axis. 
 
virtual Double_t GetUxmin() const =0
 
virtual void DoNoChi2()
Slot connected to 'no chi2' option settings. 
 
virtual void SetParameters(const Double_t *params)
 
virtual void Selected(TVirtualPad *pad, TObject *obj, Int_t event)
Emit Selected() signal. 
 
Int_t GetState(TGFrame *f) const
Get state of sub frame. 
 
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget. 
 
TGCheckButton * fUseRange
 
void InitParameters(TF1 *func, FitObject *fitobj)
Parameter initialization for the function. 
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message. 
 
virtual void SetCursor(ECursor cursor)
Set cursor. 
 
TGCheckButton * fNoDrawing
 
Int_t GetFirst() const
Return first bin on the axis i.e. 
 
virtual UInt_t GetOptions() const
 
virtual Float_t GetMaxPosition() const
 
TGComboBox * BuildMethodList(TGFrame *parent, Int_t id)
Create method list in a combo box. 
 
TList * GetListOfPrimitives() const
 
virtual Double_t * GetVal(Int_t i) const
Return the last values corresponding to the i-th component of the formula being processed (where the ...
 
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame. 
 
TGLayoutHints * fLayoutConv
 
The Histogram stack class. 
 
void SetTolerance(double tol)
set the tolerance 
 
virtual void Copy(TObject &f1) const
Copy this F1 to a new F1. 
 
void SetMaxIterations(unsigned int maxiter)
set maximum iterations (one iteration can have many function calls) 
 
virtual void SetAlignment(ETextJustification mode=kTextLeft)
Sets the alignment of the text entry. 
 
const char * GetParName(Int_t ipar) const
 
virtual void ReturnPressed()
Return was pressed. 
 
TGNumberEntryField * fIterations
 
void SetMinimizerType(const char *type)
set minimizer type 
 
TGRadioButton * fLibGenetics
 
virtual void DoMaxIterations()
Set the maximum number of iterations. 
 
TF1 * HasFitFunction()
Look in the list of function for TF1. 
 
virtual void DoAllWeights1()
Slot connected to 'set all weights to 1' setting. 
 
void RetrieveOptions(Foption_t &, TString &, ROOT::Math::MinimizerOptions &, Int_t)
Retrieve the fitting options from all the widgets. 
 
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin. 
 
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager. 
 
R__EXTERN void * gTQSender
 
virtual void SetTextColor(Pixel_t color, Bool_t global=kFALSE)
Changes text color. 
 
const TGWindow * GetRoot() const
Returns current root (i.e. 
 
void FillDataSetList()
Create a combo box with all the possible objects to be fitted. 
 
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry. 
 
void ProcessTreeInput(TObject *objSelected, Int_t selected, TString variables, TString cuts)
 
const char * GetParName(Int_t ipar) const
 
virtual void SetName(const char *name)
Set the name of the TNamed. 
 
TGLayoutHints * fLayoutNone
 
TFitEditor(const TFitEditor &)
 
virtual void SetIntNumber(Long_t val)
Set the numeric value (integer representation). 
 
virtual void DoAddition(Bool_t on)
Slot connected to addition of predefined functions. 
 
A TMultiGraph is a collection of TGraph (or derived) objects. 
 
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function. 
 
virtual void SetNumber(Double_t val)
 
TGCheckButton * fNoStoreDrawing
 
TGNumberEntry * fSliderXMin
 
virtual void Save(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax)
Save values of function in array fSave. 
 
TGRadioButton * fOptQuiet
 
TPluginHandler * FindHandler(const char *base, const char *uri=0)
Returns the handler if there exists a handler for the specified URI. 
 
double fitFunc(double *x, double *p)
 
TGCheckButton * fAllWeights1
 
virtual const char * GetTitle() const
Returns title of object. 
 
std::multimap< TObject *, TF1 * >::iterator fPrevFitIter
 
TGNumberEntry * fSliderYMax
 
TGCompositeFrame * fGeneral
 
virtual void InsertEntry(TGString *s, Int_t id, Int_t afterID)
 
Class describing the unbinned data sets (just x coordinates values) of any dimensions. 
 
virtual void ShowFrame(TGFrame *f)
Show sub frame. 
 
virtual void DoLibrary(Bool_t on)
Set selected minimization library in use. 
 
virtual void Draw(Option_t *option="")
Draw this function with its current attributes. 
 
virtual void SetState(Bool_t enable=kTRUE)
Set the active state. 
 
virtual void SetLimits(ELimit limits=TGNumberFormat::kNELNoLimits, Double_t min=0, Double_t max=1)
 
TGCheckButton * fImproveResults
 
TGCheckButton * fIntegral
 
virtual void SetRange(Float_t min, Float_t max)
 
virtual void Hide()
Hide the fit panel and set it to non-active state. 
 
void SetErrorDef(double err)
set error def 
 
TVirtualTreePlayer * GetPlayer()
Load the TTreePlayer (if not already done). 
 
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager. 
 
TGRadioButton * fLibMinuit2
 
virtual void Layout()
Layout the elements of the composite frame. 
 
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
 
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name. 
 
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin. 
 
void ShowObjectName(TObject *obj)
Show object name on the top. 
 
TGHorizontalFrame * fSliderXParent
 
virtual Int_t GetDimension() const
 
virtual void DisconnectSlots()
Disconnect GUI signals from fit panel slots. 
 
virtual void SetCanvas(TCanvas *c)
Connect to another canvas. 
 
TGNumberEntry * fSliderYMin
 
TFitResultPtr UnBinFit(ROOT::Fit::UnBinData *data, TF1 *f1, Foption_t &option, const ROOT::Math::MinimizerOptions &moption)
fit an unbin data set (from tree or from histogram buffer) using a TF1 pointer and fit options...
 
void CreateGeneralTab()
Create 'General' tab. 
 
virtual void SelectAll()
Selects all text (i.e. 
 
virtual Int_t GetDimension() const
 
TGTextButton * fResetButton
 
virtual void SetParent(TObject *p=0)
 
UInt_t GetDisplayWidth() const
Get display width. 
 
Class wrapping convolution of two functions. 
 
Sequenceable collection abstract base class. 
 
virtual const char * ClassName() const
Returns name of class to which the object belongs. 
 
virtual void DoReset()
Reset all fit parameters. 
 
void SetParameters(TFitEditor::FuncParams_t &pars, TF1 *func)
Restore the parameters from pars into the function. 
 
Int_t GetWindowTopY()
Returns current top y position of window on screen. 
 
virtual Long_t GetIntNumber() const
Get the numeric value (integer representation). 
 
virtual void GetPosition(Float_t &min, Float_t &max) const
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
 
virtual void ConnectSlots()
Connect GUI signals to fit panel slots. 
 
virtual void SetText(TGString *newText)
Set new text in label. 
 
void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Give the window manager minimum and maximum size hints. 
 
Int_t CheckFunctionString(const char *str)
Check entered function string. 
 
TGCheckButton * fLinearFit
 
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
 
TGCompositeFrame(const TGCompositeFrame &)
 
virtual TGLBEntry * FindEntry(const char *s) const
Find entry by name. 
 
virtual void DoMinMethod(Int_t)
Set selected minimization method in use. 
 
virtual void DoNoStoreDrawing()
Slot connected to 'no storing, no drawing' settings. 
 
TString & Append(const char *cs)
 
virtual Double_t GetNumber() const
Get the numeric value (floating point representation). 
 
TSelector * GetSelector() const
 
virtual const TGWindow * GetMainFrame() const
Returns top level main frame. 
 
const Bool_t kIterForward
 
TGTextEntry * fEnteredFunc
 
void SetClassHints(const char *className, const char *resourceName)
Set the windows class and resource name. 
 
TF1 * copyTF1(TF1 *f)
Copies f into a new TF1 to be stored in the fitpanel with it's own ownership. 
 
std::vector< TF1 * >::iterator fSystemFuncIter
 
Ssiz_t First(char c) const
Find first occurrence of a character c. 
 
virtual Int_t GetNdim() const
 
virtual void DoNumericSliderXChanged()
Sincronize the numeric sliders with the graphical one. 
 
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar. 
 
TVirtualPad is an abstract base class for the Pad and Canvas classes. 
 
virtual void RemoveAll()
Remove all entries from combo box. 
 
TGTextButton * fFitButton
 
virtual void DoPrintOpt(Bool_t on)
Slot connected to print option settings. 
 
virtual void DoAdvancedOptions()
Slot connected to advanced option button (opens a dialog). 
 
R__EXTERN TPluginManager * gPluginMgr
 
void MakeTitle(TGCompositeFrame *parent, const char *title)
Create section title in the GUI. 
 
virtual void DoUpdate()
Easy here! 
 
virtual TGLBEntry * GetEntry(Int_t id) const
Returns list box entry with specified id. 
 
void UpdateGUI()
Set the fit panel GUI according to the selected object. 
 
virtual Double_t GetUymax() const =0
 
static TFitEditor * fgFitDialog
 
virtual TGListBox * GetListBox() const
 
virtual Double_t GetUymin() const =0
 
virtual void DoConvolution(Bool_t on)
Slot connected to addition of predefined functions. 
 
virtual void Show(TVirtualPad *pad, TObject *obj)
Show the fit panel (possible only via context menu). 
 
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
 
virtual void Terminate()
Called to delete the fit panel. 
 
virtual void DoUserDialog()
Open a dialog for getting a user defined method. 
 
virtual void DoNormAddition(Bool_t on)
Slot connected to addition of predefined functions. 
 
void InitGaus(const ROOT::Fit::BinData &data, TF1 *f1)
compute initial parameter for gaussian function given the fit data Set the sigma limits for zero top ...
 
virtual void SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax)
Set limits for parameter ipar. 
 
TList * GetFitObjectListOfFunctions()
 
void FillData(BinData &dv, const TH1 *hist, TF1 *func=0)
fill the data vector from a TH1. 
 
void SetMaxFunctionCalls(unsigned int maxfcn)
set maximum of function calls 
 
Int_t GetLast() const
Return last bin on the axis i.e. 
 
TGTextButton * fCloseButton
 
virtual Bool_t IsValid() const
Return kTRUE if the function is valid. 
 
virtual void RecursiveRemove(TObject *obj)
When obj is deleted, clear fFitObject if fFitObject = obj. 
 
virtual Long64_t GetSelectedRows() const
 
static const std::string & DefaultMinimizerType()
 
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl; 
 
TF1 * FindFunction()
This method looks among the functions stored by the fitpanel, the one that is currently selected in t...
 
virtual Int_t XtoAbsPixel(Double_t x) const =0
 
A 3-Dim function with parameters. 
 
leg AddEntry(h1,"Histogram filled with random numbers","f")
 
TGCompositeFrame * fMinimization
 
TGDoubleHSlider * fSliderY
 
TGComboBox * fMinMethodList
 
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget. 
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname". 
 
TGNumberEntryField * fTolerance
 
virtual const char * GetName() const
Return unique name, used in SavePrimitive methods. 
 
TGCheckButton * fDrawSame
 
Bool_t SetObjectType(TObject *obj)
Check whether the object suitable for fitting and set its type, dimension and method combo box accord...
 
static double DefaultErrorDef()
 
The most important graphics class in the ROOT system. 
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message. 
 
char * Form(const char *fmt,...)
 
TGDoubleHSlider * fSliderZ
 
TList * GetListOfFittingFunctions(TObject *obj=0)
 
virtual void DoUseFuncRange()
 
virtual void DoClose()
Close the fit panel. 
 
virtual void DoSliderXMoved()
Slot connected to range settings on x-axis. 
 
virtual void ChangeOptions(UInt_t options)
Change composite frame options. Options is an OR of the EFrameTypes. 
 
void GetParameters(TFitEditor::FuncParams_t &pars, TF1 *func)
Stores the parameters of the given function into pars. 
 
Class adding two functions: c1*f1+c2*f2. 
 
virtual void DoNumericSliderYChanged()
syncronize the numeric slider with the graphical one. 
 
void GetRanges(ROOT::Fit::DataRange &)
 
Class describing the binned data sets : vectors of x coordinates, y values and optionally error on y ...
 
virtual TList * GetListOfPrimitives() const =0
 
TGRadioButton * fLibFumili
 
TF1Convolution * fConvFunc
TF1NormSum object. 
 
A 2-Dim function with parameters. 
 
TGCheckButton * fBestErrors
 
virtual Double_t GetUxmax() const =0
 
std::vector< FuncParamData_t > FuncParams_t
 
void SearchCanvases(TSeqCollection *canvases, std::vector< TObject *> &objects)
 
void DrawSelection(bool restore=false)
Draws the square around the object showing where the limits for fitting are. 
 
virtual Option_t * GetDrawOption() const
Get draw options of the selected object. 
 
virtual Int_t GetNumberOfEntries() const
 
A specialized TSelector for TTree::Draw. 
 
TGTextButton * fUserButton
 
const char * GetString() const
 
Int_t GetWindowTopX()
Returns current top x position of window on screen. 
 
virtual void DoDataSet(Int_t sel)
Selects the data set to be fitted. 
 
virtual void DoRobustFit()
Slot connected to 'robust fitting' option settings. 
 
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x. 
 
virtual Int_t YtoAbsPixel(Double_t y) const =0
 
virtual void DoEnteredFunction()
Slot connected to entered function in text entry. 
 
const char * GetText() const
 
void AddRange(unsigned int icoord, double xmin, double xmax)
add a range [xmin,xmax] for the new coordinate icoord Adding a range does not delete existing one...
 
virtual void Modified(Bool_t flag=1)=0
 
virtual UInt_t GetDefaultHeight() const
 
static int DefaultMaxIterations()
 
static TFitEditor * GetInstance(TVirtualPad *pad=0, TObject *obj=0)
Static method - opens the fit panel. 
 
const double * Coords(unsigned int ipoint) const
return pointer to coordinate data 
 
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function. 
 
void GetTreeVarsAndCuts(TGComboBox *dataSet, TString &variablesStr, TString &cutsStr)
Splits the entry in fDataSet to get the selected variables and cuts from the text. 
 
TGCompositeFrame * fTabContainer
 
class describing the range in the coordinates it supports multiple range in a coordinate. 
 
TGNumberEntry * fSliderXMax
 
const TGString * GetText() const
 
void Init2DGaus(const ROOT::Fit::BinData &data, TF1 *f1)
compute initial parameter for 2D gaussian function given the fit data Set the sigma limits for zero t...
 
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor. 
 
virtual void AddEntry(TGString *s, Int_t id)
 
void GetFunctionsFromSystem()
 
std::vector< TF1 * > fSystemFuncs
 
UInt_t GetWindowWidth() const
 
virtual Double_t GetNumber() const
 
void CreateFunctionGroup()
Creates the Frame that contains oll the information about the function. 
 
TGCheckButton * fUseGradient
 
virtual Int_t Sizeof() const
Returns size string will occupy on I/O buffer. 
 
virtual void Draw(Option_t *opt)
Default Draw method for all objects. 
 
std::multimap< TObject *, TF1 * > FitFuncMap_t
 
double func(double *x, double *p)
 
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise. 
 
void GetRange(unsigned int icoord, double &xmin, double &xmax) const
get the first range for given coordinate. 
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
virtual Option_t * GetOption() const
 
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver. 
 
TGLayoutHints * fLayoutNormAdd
 
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2. 
 
TGTextButton * fUpdateButton
 
virtual void DoSliderYMoved()
Slot connected to range settings on y-axis. 
 
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints. 
 
TGCheckButton * fAdd2FuncList
 
std::vector< FuncParamData_t > fFuncPars
 
virtual const char * GetTitle() const
Returns title of object. 
 
const TGWindow * GetParent() const
 
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame. 
 
void FillFunctionList(Int_t selected=-1)
Fills the list of functions depending on the type of fit selected. 
 
virtual Int_t GetNumberOfEntries() const
 
Mother of all ROOT objects. 
 
TGNumberEntryField * fErrorScale
 
TGRadioButton * fOptVerbose
 
virtual const char * GetTitle() const
Returns title of object. 
 
virtual void UnmapWindow()
 
virtual void DoFit()
Perform a fit with current parameters' settings. 
 
virtual Int_t GetNpar() const
 
virtual void GetParLimits(Int_t ipar, Double_t &parmin, Double_t &parmax) const
Return limits for parameter ipar. 
 
void SetWMPosition(Int_t x, Int_t y)
Give the window manager a window position hint. 
 
virtual void SetNumber(Double_t val)
Set the numeric value (floating point representation). 
 
virtual void DoLinearFit()
Slot connected to linear fit settings. 
 
virtual void DoEmptyBinsAllWeights1()
Slot connected to 'include emtry bins and forse all weights to 1' setting. 
 
virtual Int_t GetSelected() const
 
TGNumberEntryField * GetNumberEntry() const
 
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function. 
 
virtual void Add(TObject *obj)
 
virtual Double_t GetParameter(Int_t ipar) const
 
virtual void GetRange(Double_t *xmin, Double_t *xmax) const
Return range of a generic N-D function. 
 
virtual Bool_t AddToGlobalList(Bool_t on=kTRUE)
Add to global list of functions (gROOT->GetListOfFunctions() ) return previous status (true if the fu...
 
A Graph is a graphics object made of two arrays X and Y with npoints each. 
 
void FillMinMethodList(Int_t selected=-1)
Fills the list of methods depending on the minimization library selected. 
 
virtual void SetPosition(Float_t min, Float_t max)
 
void SetWMSize(UInt_t w, UInt_t h)
Give the window manager a window size hint. 
 
TGRadioButton * fOptDefault
 
virtual void SetScale(Int_t scale)
 
virtual void SetParts(Int_t npart)
Divide the status bar in npart equal sized parts. 
 
virtual Double_t * GetParameters() const
 
void CreateMinimizationTab()
Create 'Minimization' tab. 
 
A TTree object has a header with a name and a title. 
 
virtual void DoNoSelection()
Slot called when users close a TCanvas or when the user select no object. 
 
virtual void RemoveEntry(Int_t id=-1)
Remove entry. If id == -1, the currently selected entry is removed. 
 
virtual void CloseWindow()
Close fit panel window. 
 
virtual void SetParameter(Int_t param, Double_t value)
 
TFitResultPtr FitObject(TH1 *h1, TF1 *f1, Foption_t &option, const ROOT::Math::MinimizerOptions &moption, const char *goption, ROOT::Fit::DataRange &range)
fitting function for a TH1 (called from TH1::Fit) 
 
TGHorizontalFrame * fSliderZParent
 
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line...
 
virtual ~TFitEditor()
Fit editor destructor. 
 
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
 
Graphics object made of three arrays X, Y and Z with the same number of points each. 
 
virtual const char * GetName() const
Returns name of object. 
 
virtual void Cleanup()
Cleanup and delete all objects contained in this composite frame. 
 
TGRadioButton * fLibMinuit
 
static double DefaultTolerance()
 
TGHorizontalFrame * fSliderYParent
 
TGNumberEntry * fRobustValue
 
void SetMWMHints(UInt_t value, UInt_t funcs, UInt_t input)
Set decoration style for MWM-compatible wm (mwm, ncdwm, fvwm?). 
 
void SetMinimizerAlgorithm(const char *type)
set minimizer algorithm 
 
virtual Int_t GetNumber() const
 
TGCheckButton * fEmptyBinsWghts1
 
void variables(TString dataset, TString fin="TMVA.root", TString dirName="InputVariables_Id", TString title="TMVA Input Variables", Bool_t isRegression=kFALSE, Bool_t useTMVAStyle=kTRUE)
 
unsigned int Size() const
return number of contained points 
 
if(line.BeginsWith("/*"))
 
virtual void Save(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax)
Save values of function in array fSave. 
 
void SetEditable(Bool_t)
Switch ON/OFF edit mode. 
 
virtual TCanvas * GetCanvas() const =0
 
virtual TGLBEntry * GetSelectedEntry() const
 
const char * Data() const