Log of /trunk/hist/hist/src/TMultiDimFit.cxx
Parent Directory
Revision
44507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by
axel
File length: 125575 byte(s)
Diff to
previous 44213
Remove
using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
Revision
44213 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 10 09:08:22 2012 UTC (2 years, 8 months ago) by
moneta
File length: 124135 byte(s)
Diff to
previous 35406
apply several fixes found by Coverity
In particular fix assignment operators (Copy) in TH1 and TGraph classes for memory leaks
Revision
16310 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 22 09:09:47 2006 UTC (8 years, 4 months ago) by
brun
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 122882 byte(s)
Diff to
previous 16296
From Gilles Quemener (quemener@lpsc.in2p3.fr):
Add two new features:
-possibility to set the number of bins of some histograms
SetBinVarX(Int_t nbbinvarx) {fBinVarX = nbbinvarx;}
SetBinVarY(Int_t nbbinvary) {fBinVarY = nbbinvary;}
-New function
EvalError(const Double_t *x, const Double_t *coeff)
to evaluate the error on the parametrisation at point x
Revision
11270 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 8 21:53:25 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 116102 byte(s)
Diff to
previous 11263
From Eddy Offermann:
When using the tutorial multidimfit.C, 3 issues were observed and
they are solved with this patch:
1)
- a: Warning in <TMatrixD::Invert(Double_t *)>: Determinant
under/over-flows double....
-------------------------------------------------------------------------
In this case the determinant becomes > 2^52 or < 2^-52 and is
therefore starting to over/under flow . So possibly some loss
of precision in the inversion .
The change from TMatrixD to TMatrixDSym only highlighted the fact
that a warning was missing in TMatrixDSym.Invert (now added) .
It is a good idea to scale the matrix . Since this particular
matrix is a symmetric positive definite one , the following
scaling is appropriate:
A(i,j) = A(i,j)/Sqrt(A(i,i)*A(j,j))
This is now installed in the code through (plus a better way to
notice that the matrix is singular) :
const TVectorD diag = TMatrixDDiag_const(curvatureMatrix);
curvatureMatrix.NormByDiag(diag);
TDecompChol chol(curvatureMatrix);
if (!chol.Decompose())
Error("MakeCoefficientErrors", "curvature matrix is singular");
chol.Invert(curvatureMatrix);
curvatureMatrix.NormByDiag(diag);
- b: Warning in <TMultiDimFit::MakeCoefficientErrors>: curvature
matrix is singular
-------------------------------------------------------------------
Before 18-Dec-2004, Invert(*det) returned a zero determinant in case
of over/under-flow.
However, this was removed on the 18th so I do not undertand that
Gilles had this problem with 4.03/02 .
2)
It was noted that the tutorial multidimfit.C gave different results
on different platforms .
--------------------------------------------------------------------------
One obvious reason were the "#ifndef R__MACOSX" statements that have
now been removed .
A more subtle bug/issue was that the function
TMultiDimFit::EvalControl gave results that depended on platform-specific
rounding issues . The control number is used to decide which functions to
use AND in which order .
I had to think of a change that would keep the control number such
that old results could (besides the rounding issues) be reproduced .
My solution is
control[numberFunctions-1] = Int_t(1.0e+6*s);
instead of
control[numberFunctions-1] = s;
Indeed MacOSX and Linux give now identical results .
Revision
9075 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 1 11:15:57 2004 UTC (10 years, 7 months ago) by
brun
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 117306 byte(s)
Diff to
previous 5924
Cleanup the class TMultiDimFit with valgrind.
pointer fTestSampleSize was not preset in the constructors.
In the destructor, Clear the list of histograms with option "nodelete".
Histograms are typically deleted when closing a file.
In the function Clear, do not set the arrays fPowerIndex and fFunctionCodes
In function MakeChi2, fix a mismatch between new/delete
In function MakeParameterization, set the arrays fPowerIndex and fFunctionCodes.
In function MakerealCode generate code that can be executed outside ROOT,
replacing Int_t and Double_t by int and double.
Revision
5924 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jan 16 18:07:52 2003 UTC (12 years ago) by
brun
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 117404 byte(s)
Diff to
previous 5717
From Christian.Holm.Christensen, solving a problem and adding features
requested by Gilles Qu�m�ner.
I've made a patch for TMultiDimFit.h and TMultiDimFit.cxx that
exposes the (new) member functions, GetCorrelationMatrix(),
GetCoefficients(), GetPolyType(), and takes two new options to Print:
K Print correlation matrix
M Pretty print the parameterisation.
Also, the patch fixes a bug.
Revision
5717 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 2 18:50:12 2002 UTC (12 years, 1 month ago) by
rdm
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 115978 byte(s)
Diff to
previous 3748
mega patch to remove almost all compiler warnings on MacOS X where the
compiler is by default in pedantic mode (LHCb also like to use this option).
The following issues have been fixed:
- removal of unused arguments
- comparison between signed and unsigned integers
- not calling of base class copy ctor in copy ctor's
To be done, the TGeo classes where we get still many hundred warnings of
the above nature. List forwarded to Andrei.
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/hist/src/TMultiDimFit.cxx
File length: 115757 byte(s)
Diff to
previous 1052
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, 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.