Log of /trunk/math/mathcore/src/TVirtualFitter.cxx
Parent Directory
Revision
37531 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 10 20:38:06 2010 UTC (4 years, 1 month ago) by
pcanal
File length: 10262 byte(s)
Diff to
previous 34995
Fix several memory leaks (TSchemaRuleSet, TClass, TFolder, stress, TStreamerInfo, TFile, TFree)
Introduce a new preprocessor symbol (R__COMPLETE_MEM_TERMINATION) that allows for
better tracking of memory leak. When ROOT is compiled with this symbols is defined,
globally held objects will be deleted at the time of the process termination.
With this symbol defined, some tests (root.exe -b -l -q ; test/stress ;) run under
'valgrind --leak-check=yes' with no memory leak reports (but still a few still
reacheable blocks). However, this does not yet support (i.e. segfault at termination)
the case where TFunctions are created on the 'CINT' stack (and thus fails roottest) and
some uses of CINT functions for fitting ... and probably also fails on Windows.
Revision
25501 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 22 20:55:57 2008 UTC (6 years, 4 months ago) by
moneta
File length: 9439 byte(s)
Diff to
previous 25490
- fix a problem in using gMinuit after having called TH1::Fit. Now in the class TMinuitMinimizer a static TMinuit is not deleted and the static instance is used.
- for Minuit provide printing of results in the old way
- use MinimizerOptions class for default parameter of TVirtualFitter
Revision
24077 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat May 31 19:39:09 2008 UTC (6 years, 7 months ago) by
brun
Original Path:
trunk/core/base/src/TVirtualFitter.cxx
File length: 8823 byte(s)
Diff to
previous 22961
Extend the TInterpreter class to support the CINT API used so far by ROOT.
The concrete implementation of the class is in TCint.
The new functions are essentially interfaces to the existing CINT C++ classes
like G__ClassInfo, G__CallFunc, G__DataMemberInfo, G__MethodInfo, G__TypeInfo
and G__TypedefInfo. Most of these functions will call the Reflex interface
once the CINT/Reflex interface will be available later this year.
All direct calls to CINT are replaced by calls like gCint->ClassInfo_xxx where gCint
points to the TCint implementation.
The existing calls to TCint via gInterpreter are kept because on Windows
gInterpreter does not call directly TCint, but instead call TWin32InterpreterProxy
that in turns call TCint.
On Linux and Mac, gInterpreter and gCint are equivalent.
Once the transformation using gCint will be completed, it will be possible
to specify at startup time which version of CINT (CINT or CINT7) by loading
dynamically TCint or TCint7.--This line, and those below, will be ignored--
M core/meta/src/TStreamerElement.cxx
M core/meta/src/TCint.cxx
M core/meta/src/TGlobal.cxx
M core/meta/src/TBaseClass.cxx
M core/meta/src/TDataMember.cxx
M core/meta/src/TInterpreter.cxx
M core/meta/src/TClass.cxx
M core/meta/src/TMethodArg.cxx
M core/meta/src/TDataType.cxx
M core/meta/src/TMethodCall.cxx
M core/meta/src/TIsAProxy.cxx
M core/meta/src/TMethod.cxx
M core/meta/src/TFunction.cxx
M core/meta/inc/TClass.h
M core/meta/inc/TDictionary.h
M core/meta/inc/TMethodArg.h
M core/meta/inc/TDataType.h
M core/meta/inc/TMethodCall.h
M core/meta/inc/TMethod.h
M core/meta/inc/TFunction.h
M core/meta/inc/TCint.h
M core/meta/inc/TGlobal.h
M core/meta/inc/TBaseClass.h
M core/meta/inc/TDataMember.h
M core/meta/inc/TInterpreter.h
M core/thread/src/TThread.cxx
M core/base/src/TVirtualFitter.cxx
M core/base/src/TStorage.cxx
M core/base/src/TQConnection.cxx
M core/base/src/TROOT.cxx
M core/base/src/TSystem.cxx
M core/base/src/TQObject.cxx
M core/rint/src/TRint.cxx
M core/rint/src/TTabCom.cxx
M math/foam/src/TFoam.cxx
M math/minuit2/src/TFitterMinuit.cxx
M math/mathcore/src/FunctorCint.cxx
M math/minuit/src/TMinuit.cxx
M tree/tree/src/TTree.cxx
M tree/tree/src/TSelectorCint.cxx
M tree/tree/src/TSelector.cxx
M tree/tree/inc/TSelectorCint.h
M roofit/roofitcore/src/RooGenCategory.cxx
M roofit/roofitcore/src/RooWorkspace.cxx
M hist/hist/src/TF1.cxx
M gui/guibuilder/src/TGuiBldDragManager.cxx
M net/alien/inc/TAlienSystem.h
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/base/src/TVirtualFitter.cxx
File length: 8650 byte(s)
Diff to
previous 13412
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
13399 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 29 14:43:59 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/base/src/TVirtualFitter.cxx
File length: 7483 byte(s)
Diff to
previous 13365
From Anna:
Implement new functions in the TVirtualFitter and corresponding
implementations to compute the confidence intervals.
Two kinds of interfaces are implemented, eg
void TFitter::GetConfidenceIntervals(Int_t n, Int_t ndim, Double_t *x, Double_t *ci, Double_t cl)
//Computes point-by-point confidence intervals for the fitted function
//Parameters:
//n - number of points
//ndim - dimensions of points
//x - points, at which to compute the intervals, for ndim > 1
// should be in order: (x0,y0, x1, y1, ... xn, yn)
//ci - computed intervals are returned in this array
//cl - confidence level, default=0.95
//NOTE, that the intervals are approximate for nonlinear(in parameters) models
void TFitter::GetConfidenceIntervals(TObject *obj, Double_t cl)
//Computes confidence intervals at level cl. Default is 0.95
//The TObject parameter can be a TGraphErrors, a TGraph2DErrors or a TH1,2,3.
//For Graphs, confidence intervals are computed for each point,
//the value of the graph at that point is set to the function value at that
//point, and the graph y-errors (or z-errors) are set to the value of
//the confidence interval at that point.
//For Histograms, confidence intervals are computed for each bin center
//The bin content of this bin is then set to the function value at the bin
//center, and the bin error is set to the confidence interval value.
//NOTE: confidence intervals are approximate for nonlinear models!
//
//Allowed combinations:
//Fitted object Passed object
//TGraph TGraphErrors, TH1
//TGraphErrors, AsymmErrors TGraphErrors, TH1
//TH1 TGraphErrors, TH1
//TGraph2D TGraph2DErrors, TH2
//TGraph2DErrors TGraph2DErrors, TH2
//TH2 TGraph2DErrors, TH2
//TH3 TH3
Revision
13364 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Nov 26 15:03:07 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/base/src/TVirtualFitter.cxx
File length: 6890 byte(s)
Diff to
previous 13258
Implement a cache facility in TVirtualFitter.
The class has a new function TVirtualFitter::SetCache that creates
an internal structure where the information about histogram bins
is stored (bin position, size, content and error).
The cache is used during fitting and speeds up (factor 2) TH1::Fit
when called with the default TMinuit. Only the points included in
the fit are stored in the cache.
Currently the cache is set and filled only in TH1::Fit.
The TFitter and TFumili classes have been changed to take into account
the information in the cache.
The free functions called by Minuit have been rewritten.
They are now only an interface calling the fitter member functions.
Revision
7638 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 24 14:11:02 2003 UTC (11 years, 2 months ago) by
brun
Original Path:
trunk/base/src/TVirtualFitter.cxx
File length: 5918 byte(s)
Diff to
previous 6575
Add a new static member fgErrorDef and the corresponding getter/Setter
static Double_t GetErrorDef();
static void SetErrorDef(Double_t errdef=1);
The parameter errorDef can be set before fitting via
TVirtualFitter::SetErrorDef(errdef)
Revision
6537 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon May 5 16:38:02 2003 UTC (11 years, 8 months ago) by
brun
Original Path:
trunk/base/src/TVirtualFitter.cxx
File length: 5262 byte(s)
Diff to
previous 4934
The TVirtualFitter interface has been substantially changed
to accomodate more fitters (like Fumili).
New static functions:
TVirtualFiytter::SetDefaultFitter(const char *name);
const char *TVirtualFitter::GetDefaultFitter();
The default fitter name is "Minuit". A new alternative is "Fumili"
New functons:
virtual void SetFCN(void *fcn);
virtual void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
virtual void SetFitMethod(const char *name) = 0;
virtual void SetFitOption(Foption_t option) {fOption = option;}
virtual void SetObjectFit(TObject *obj) {fObjectFit = obj;}
virtual void SetUserFunc(TObject *userfunc) {fUserFunc = userfunc;}
virtual void SetXfirst(Int_t first) {fXfirst = first;}
virtual void SetXlast (Int_t last) {fXlast = last;}
virtual void SetYfirst(Int_t first) {fYfirst = first;}
virtual void SetYlast (Int_t last) {fYlast = last;}
virtual void SetZfirst(Int_t first) {fZfirst = first;}
virtual void SetZlast (Int_t last) {fZlast = last;}
+ the corresponding getters
The class has new data members:
Foption_t fOption; //struct with the fit options
Int_t fXfirst; //first bin on X axis
Int_t fXlast; //last bin on X axis
Int_t fYfirst; //first bin on Y axis
Int_t fYlast; //last bin on Y axis
Int_t fZfirst; //first bin on Z axis
Int_t fZlast; //last bin on Z axis
TObject *fObjectFit; //pointer to object being fitted
TObject *fUserFunc; //pointer to user theoretical function (a TF1*)
TMethodCall *fMethodCall; //Pointer to MethodCall in case of interpreted function
void (*fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
static TString fgDefault; //name of the default fitter ("Minuit","Fumili",etc)
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.