Log of /trunk/hist/hist/src/TMultiGraph.cxx
Parent Directory
Revision
48282 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jan 14 13:54:27 2013 UTC (2 years ago) by
moneta
File length: 41259 byte(s)
Diff to
previous 44507
,
to
selected 14336
clean up the parsing of the fit option in TH1::Fit and TGraph::Fit
add new option "P" (pearson chi square) for using expected error instead of observed one when fitting
Fix a bug for the case of parameter limits (defined in TF1): [-inf,b] or [a, +inf]
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: 41241 byte(s)
Diff to
previous 43634
,
to
selected 14336
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
40956 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 20 15:50:44 2011 UTC (3 years, 4 months ago) by
couet
File length: 37668 byte(s)
Diff to
previous 37735
,
to
selected 14336
The following macro did not show the x-axis in TimeDisplay mode.The
mg->GetYaxis()->UnZoom(); command erased the Time attribute of the axis.
{
TMultiGraph* mg = new TMultiGraph;
TGraph* g = new TGraph;
for (int i = 0; i < 100; i++) g->SetPoint(i, 1289420808+i, i+2);
mg->Add(g, "P");
mg->Draw("AP");
mg->GetXaxis()->SetTimeDisplay(1);
mg->GetYaxis()->UnZoom();
gPad->Modified();
gPad->Update();
}
Revision
31207 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 16 16:52:00 2009 UTC (5 years, 2 months ago) by
moneta
File length: 32493 byte(s)
Diff to
previous 26029
,
to
selected 14336
merge from https://root.cern.ch/svn/root/branches/dev/mathDev/hist/hist up to revision 31170
from David and myself
Summary of major changes:
- TFitResult, TFitResultPtr
- add new class TFitResult which extend FitResult with TNamed for the I/O. The result of the fit , including covariance and correlation matrix, minos errors, etc... can then be stored in a file
- add a class TFitResultPtr which behaves like a pointer to TFitResult and can be converted to an integer. This class is now returned by TH1::Fit and TGraph::Fit. By default the class contains only the returned integer status of the fit. If option "S" is used the class contains a pointer to TFitResult which can be retrieved using the -> or * operators (like a smart pointer)
The conversion to int provides backward compatibility with the old signature ( int TH1::Fit )
- TH1, TGraph, TGraph2D, TMultiGraph
change from int Fit(....) to TFitResultPtr Fit(.....)
remove internal function DoFit
- THnSparse
add functionality for fitting a sparse histogram. Default method is the likelihood one. Chi2 can be used with the new option "X"
- FOption
- add some new options for fitting:
"S" for storing the fit resul
"X" for forcing chi2 fit in case of THnSParse
"EX0" for neglecting errors in X when fitting TGraphErrors
- WrappedMultiTF1
- make the wrapper for TF1 multi-dim function implementing the gradient interface
Minos changes:
TH1:
- add check of compatibility for each bins when using Add on variable bin histograms
TH3:
- fix a bug in setting the entries for a projected 2d profile when using weights
THNSParse:
- set also the entries (and reset statistics) in the projected sparse histogram
TFormula:
- define the number for the 2d function like xygaus or xylandau
HFItInterface:
improve filling data for histograms (add support for bin volume normalization)
add initialization for exponential and 2d gaus functions
Revision
25487 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 22 12:44:13 2008 UTC (6 years, 4 months ago) by
moneta
File length: 32042 byte(s)
Diff to
previous 24702
,
to
selected 14336
Import changes from math development branch, in particular a re-implementation of
fitting methods for the histogram and graph objects.
NOTE: Since some files are removed, a make clean-hist is needed in order to be able
to compile hist after an svn update.
The implementation of TH1::Fit, TGraph::Fit, TGraph2D::Fit and TMultiGraph::Fit is
done in a common function implemented in HFitImpl.cxx (HFit::Fit).
In addition the file HFitInterface.h define ROOT::Fit::FitObject functions passing
option directly via Foption class and not by a string. They are used by the FitPanel.
Remove previously existing files THistFitInterface.cxx (and *.h) and
TGraphFitInterface.cxx (and *.h). The code is now in the HFitInterface.cxx (and *.h)
files.
Use plugin manager directly to open the Fit Panel. Do not pass anymore via the THistPainter.
Changes in TH1::FitPanel, TGraph::FitPanel.
Add FitPanel() method for TGraph2D and TMultiGraph.
Add new class TBackCompFitter, providing a backward compatible implementation of
TVirtualFitter using the new fitting class. It is constructed from the fitter class
and can be used to retrieve the fit information (result and configuration) via the
TVirtualFitter API from FitConfig and FitResult. A static istance is created after
calling the Fit method.
Other changes are:
TGraph:
- when creating a graph from an histogram, don't use the same name.
Otherwise it will conflict later with histogram created internally by the TGraph.
TH2:
add protected method TH2::DoFitSlices and TH2::DoProfile as common implementations
for (FitSlicesX,FitSclicesY) and (ProfileX, ProfileY).
pass the global statistics in DoProjection when range is (1,NBIN)
TBinimialEfficiencyFit:
add possibility to set verbose option, and set different precision and
max iterations for minimizing.
Revision
24084 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 1 15:34:01 2008 UTC (6 years, 7 months ago) by
brun
Original Path:
trunk/graf2d/graf/src/TMultiGraph.cxx
File length: 39874 byte(s)
Diff to
previous 24065
,
to
selected 14336
From Olivier and me:
Split the TGraph classes to move the graphics code to separate classes.
These classes will be moved to the hist directory once the classes will be ok.
The TGraphs are painted via the TVirtualGraphPainter class and its concrete
implementation TGraphPainter.
At the difference of the TH1 classes for which a different painter is created
when drawing each histogram, one single TGraphPainter class is created.
The TGraphPainter class does not have internal state, all the information
from TGraph is passed to the drawing functions via parameters.
Revision
23140 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by
rdm
Original Path:
trunk/graf2d/graf/src/TMultiGraph.cxx
File length: 39878 byte(s)
Diff to
previous 22546
,
to
selected 14336
move the following directories to "graf2d":
asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf
move the following directories to "graf3d":
eve, ftgl, g3d, gl, x3d
Revision
22419 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by
rdm
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 39875 byte(s)
Diff to
previous 22379
,
to
selected 14336
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed.
Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included.
Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.
Revision
20335 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 13 14:19:50 2007 UTC (7 years, 3 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 39394 byte(s)
Diff to
previous 20297
,
to
selected 14336
Change TGraph::ComputeRange to compute the x/y range of the graph.
Move code previously in TGraph::PaintGraph or TGraph::PaintGrapHist to TGraph::ComputeGraph.
The functions like TGraphErrors::ComputeGraph call first TGraph::ComputeRange.
--achis line, and those below, will be ignored--
M graf/src/TGraph.cxx
M graf/src/TMultiGraph.cxx
M graf/src/TGraphErrors.cxx
M graf/src/TGraphAsymmErrors.cxx
M graf/src/TGraphBentErrors.cxx
Revision
20297 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 10 16:20:03 2007 UTC (7 years, 3 months ago) by
couet
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 39860 byte(s)
Diff to
previous 19826
,
to
selected 14336
- The SavePrimitive mechanism did not work properly. In particular
it was not possible to save various kind of graphs in several multigraph
in the same macro. Also in case of TGraph the generated macro was wrong
(Add() was missing).
- Make the help in the THTML style
- coding convension
Revision
16436 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 5 13:50:11 2006 UTC (8 years, 3 months ago) by
couet
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 39929 byte(s)
Diff to
previous 16279
,
to
selected 14336
- New method: Add(TMultiGraph *multigraph, Option_t *chopt="");
it allows to add all the graphs in "*multigraph" in the current MultiGraph.
Example:
{
float x1[] = {1,2,3}; float y1[] = {4,7,6};
float x2[] = {3,5,6}; float y2[] = {0,9,4};
float x3[] = {7,8,9}; float y3[] = {1,2,4};
float x4[] = {0,6,5}; float y4[] = {5,2,7};
TGraph *gr1 = new TGraph(3,x1,y1);
TGraph *gr2 = new TGraph(3,x2,y2);
TGraph *gr3 = new TGraph(3,x3,y3);
TGraph *gr4 = new TGraph(3,x4,y4);
TMultiGraph *mg1 = new TMultiGraph();
mg1->Add(gr1); mg1->Add(gr2);
TMultiGraph *mg2 = new TMultiGraph();
mg2->Add(gr3); mg2->Add(gr4);
mg2->Add(mg1); // mg2 now contains gr1 gr2 gr3 and gr4
mg2->Draw("AL*");
}
Revision
16279 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 15 15:16:57 2006 UTC (8 years, 4 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 39380 byte(s)
Diff to
previous 15740
,
to
selected 14336
From Anna:
- TFormula::EvalPar() is not changing parameters (the fParams data member) when a user passes his own uparams array as a second argument. Before - sometimes it did, sometimes it didn't.
- TF1::GradientPar() is now 0 on fixed parameters
- TFitter::GetConfidenceIntervals() is now taking the fixed parameters into account
- TLinearFitter::GetConfidenceIntervals() is now taking the fixed parameters into account
- TLinearFitter::FixParameter() can now be called before a first fit is performed (an accidently found bug :))
- TLinearFitter::Eval() now returns 1 if there are errors in the fit. According changes in:
--TH1
--TGraph
--TGraph2D
--TMultiGraph
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/graf/src/TMultiGraph.cxx
File length: 39291 byte(s)
Diff to
previous 14336
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
14336 -
(
view)
(
download)
(
as text)
(
annotate)
-
[selected]
Modified
Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by
pcanal
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 38658 byte(s)
Diff to
previous 14017
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning: This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined. Simply add the
proper include directive.
Revision
12136 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 23 10:04:08 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 37825 byte(s)
Diff to
previous 11750
,
to
selected 14336
From Anna Kreshuk:
Methods to compute Least trimmed squares regression coefficients
were added to the TLinearFitter class.
Now robust linear fitting can be performed for the datasets, in which
outliers influence the ordinary least-squares fit. The maximal breakdown
point of the algorithm is |(floor((n-p)/2) +1)/n, which means that
LTS fit stays in a bounded region whenever floor((n-p)/2) or fewer
observations are replaced by arbitary points.
The implementation is based on the article "Computing LTS regression
for Large Data Sets" by Peter J. Rousseeuw and Katrien Van Driessen.
Revision
11226 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 4 09:06:37 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 36551 byte(s)
Diff to
previous 10847
,
to
selected 14336
From Anna Kreshuk:
- TLinearFitter class: Linear fitter is used to fit a set of data points with a linear
combination of specified functions (with or without weights). The "linear" in the name
stands for "linear in parameters", not variables. The main advantages,
compared to a general non-linear fitter, is that the linear fitter is considerably
faster and doesn't require setting the initial values of parameters.
The linear fitter can be used directly or through TH1::Fit and TGraph::Fit functions
When it's used directly, functions of more than 3 dimensions can be fitted.
- TFormula: a new data member fLinearParts and methods to process it are added. Now
one can create a function of the type that can be fit by the linear fitter.
Example: TFormula f("f", "x++sin(x)") is equivalent to
TFormula f("f","[0]*x + [1]*sin(x)"), but if a TH1::Fit or a TGraph::Fit is performed
with the 1st formula, it goes through the linear fitter, if it's performed with the
2nd formula, it goes through Minuit.
- TMultiGraph class: the Fit method is implemented, allowing to fit all the graphs
of a multigraph simultaneously
- TGraph, TGraphErrors, TGraphAsymmErrors, TGraphBentErrors - functions GetEXhigh(),
GetEXlow(), GetEYhigh(), GetEYlow() implemented to simplify the GraphFitChisquare()
function of the TFitter class
- TH1, TGraph, TGraph2D, TMultiGraph - changes in the Fit functions, allowing to use
the linear fitter. Fitting with "polN" functions redirected to use the linear fitter,
in cases where no options, except "range", are specified.
Revision
4037 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 19 17:43:41 2002 UTC (12 years, 11 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 11530 byte(s)
Diff to
previous 3799
,
to
selected 14336
Add an optional argument to TMultiGraph::Draw.
This optional argument can be used to specify the draw option for this graph.
If a draw option is not specified, the option specified in TMultiGraph::Draw
will be used instead.
Also, always use the option "0" when painting the frame histogram.
The option "0" suppresses the drawing of the horizonthal line at y=0.
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/graf/src/TMultiGraph.cxx
File length: 9488 byte(s)
Diff to
previous 754
,
to
selected 14336
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.
Revision
754 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Thu Oct 12 13:27:23 2000 UTC (14 years, 3 months ago) by
brun
Original Path:
trunk/graf/src/TMultiGraph.cxx
File length: 9465 byte(s)
Diff
to
selected 14336
Add new class TMultiGraph.
// A TMultiGraph is a collection of TGraph (or derived) objects
// Use TMultiGraph::Add to add a new graph to the list.
// The TMultiGraph owns the objects in the list.
// Drawing options are the same as for TGraph
// Example;
// TGraph *gr1 = new TGraph(...
// TGraphErrors *gr2 = new TGraphErrors(...
// TMultiGraph *mg = new TMultiGraph();
// mg->Add(gr1);
// mg->Add(gr2);
// mg->Draw("alp");
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.