Log of /trunk/hist/hist/inc/TProfile2D.h
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: 8253 byte(s)
Diff to
previous 43802
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
40378 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 27 20:45:07 2011 UTC (3 years, 5 months ago) by
pcanal
File length: 8296 byte(s)
Diff to
previous 40319
Revert r40319 that introductes a lazy allocation of the TArray[x] of histograms and profiles,
so that we can resolve a few outstanding question (performance of AddBinContent, interface,
default behavior, forward compatibility.)
Revision
40319 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 21 11:24:40 2011 UTC (3 years, 6 months ago) by
moneta
File length: 8756 byte(s)
Diff to
previous 35194
aaply patch from Andrei to have a lazy allocation of the TArray[x] of histograms and profiles.
The allocation is done only if a SetBinContent() or AddBinContent() is called.
This feature can be activated via the static TH1::SetLazyAllocation(kTRUE)
Revision
35194 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 8 09:07:44 2010 UTC (4 years, 4 months ago) by
moneta
File length: 8296 byte(s)
Diff to
previous 34541
from Christian: new TH1 functions FindFixBin and SetBins for 3D histograms with variable bins
Clean up also the dummy implementation of SetBins in the TProfile classes by making them private
Revision
34541 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 21 22:04:31 2010 UTC (4 years, 6 months ago) by
moneta
File length: 8215 byte(s)
Diff to
previous 28022
from Christian:
- new TProfile2D::Rebin and TProfile2D::RebinX and TProfile2D::RebinY functions
- bug fix in TH2::Rebin in dealing with underflow/overflow when rebin histogram has margin smaller than the original one
Revision
28022 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 1 14:41:58 2009 UTC (5 years, 9 months ago) by
moneta
File length: 8073 byte(s)
Diff to
previous 22694
merge changes from math development branch.
In details the changes are
TH1
-----
add new functions IsBinUnderflow(bin), IsBinOverflow(bin) using global bin number
- fix a problem in TH1::Sumw2() when called from constructor of TProfile()
TProfile,TProfile2D and TProfile3D
----------------------------------
- add a new data member (TArrayD fBinSumw2) for storing the sum of weight square per bin. This is needed for correct error calculation in case of profile filled with weights different than 1. The new structure is filled only when TProfile::Sumw2() is called or when TH1::SetDefaultSumw2() is set.
- at the same time the TProfile classes have been improved by factoring out some common implementations of some methods like Add and Merge
TH2, TH3
------------------
change projection into TProfile's in case Sumw2() is set to correctly project the
errors.
Revision
19012 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 12 15:29:23 2007 UTC (7 years, 7 months ago) by
moneta
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7375 byte(s)
Diff to
previous 15672
- add TF1::IntegralError to calculate error on the integral after fitting
using a function defined in TF1Helper
- implement a dummy TProfile2D::Rebin2D to signal an error message and avoid the calling of TH2::Rebin2D
Revision
15672 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7281 byte(s)
Diff to
previous 15072
from Axel:
Change the signature of SavePrimitive from
void SavePrimitive(ofstream &out, Option_t *option);
to
void SavePrimitive(ostream &out, Option_t *option = "");
With this change one can do, eg
myhist.SavePrimitive(std::cout);
WARNING: do rm -f tree/src/*.o
Revision
13485 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Dec 4 10:51:27 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7346 byte(s)
Diff to
previous 12443
Replace all references to Axis_t and Stat_t by Double_t in all histogram classes.
Following several recent requests, implement new functions
to search the bin with a specified content.
Double_t TH1::GetBinWithContent(Double_t c, Int_t &binx, Int_t firstx, Int_t lastx,Double_t maxdiff) const
{
// compute first binx in the range [firstx,lastx] for which
// diff = abs(bin_content-c) <= maxdiff
// In case several bins in the specified range with diff=0 are found
// the first bin found is returned in binx.
// In case several bins in the specified range satisfy diff <=maxdiff
// the bin with the smallest difference is returned in binx.
// In all cases the function returns the smallest difference.
//
// NOTE1: if firstx <= 0, firstx is set to bin 1
// if (lastx < firstx then firstx is set to the number of bins
// ie if firstx=0 and lastx=0 (default) the search is on all bins.
// NOTE2: if maxdiff=0 (default), the first bin with content=c is returned.
Double_t TH2::GetBinWithContent2(Double_t c, Int_t &binx, Int_t &biny, Int_t firstx, Int_t lastx, Int_t firsty, Int_t lasty, Double_t maxdiff) const
{
// compute first cell (binx,biny) in the range [firstx,lastx](firsty,lasty] for which
// diff = abs(cell_content-c) <= maxdiff
// In case several cells in the specified range with diff=0 are found
// the first cell found is returned in binx,biny.
// In case several cells in the specified range satisfy diff <=maxdiff
// the cell with the smallest difference is returned in binx,biny.
// In all cases the function returns the smallest difference.
//
// NOTE1: if firstx <= 0, firstx is set to bin 1
// if (lastx < firstx then firstx is set to the number of bins in X
// ie if firstx=0 and lastx=0 (default) the search is on all bins in X.
// if firsty <= 0, firsty is set to bin 1
// if (lasty < firsty then firsty is set to the number of bins in Y
// ie if firsty=0 and lasty=0 (default) the search is on all bins in Y.
// NOTE2: if maxdiff=0 (default), the first cell with content=c is returned.
Double_t TH3::GetBinWithContent3(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstx, Int_t lastx, Int_t firsty, Int_t lasty, Int_t firstz, Int_t lastz, Double_t maxdiff) const
{
// compute first cell (binx,biny,binz) in the range [firstx,lastx](firsty,lasty][firstz,lastz] for which
// diff = abs(cell_content-c) <= maxdiff
// In case several cells in the specified range with diff=0 are found
// the first cell found is returned in binx,biny,binz.
// In case several cells in the specified range satisfy diff <=maxdiff
// the cell with the smallest difference is returned in binx,biny,binz.
// In all cases the function returns the smallest difference.
//
// NOTE1: if firstx <= 0, firstx is set to bin 1
// if (lastx < firstx then firstx is set to the number of bins in X
// ie if firstx=0 and lastx=0 (default) the search is on all bins in X.
// if firsty <= 0, firsty is set to bin 1
// if (lasty < firsty then firsty is set to the number of bins in Y
// ie if firsty=0 and lasty=0 (default) the search is on all bins in Y.
// if firstz <= 0, firstz is set to bin 1
// if (lastz < firstz then firstz is set to the number of bins in Z
// ie if firstz=0 and lastz=0 (default) the search is on all bins in Z.
// NOTE2: if maxdiff=0 (default), the first cell with content=c is returned.
Revision
12443 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 9 10:52:20 2005 UTC (9 years, 5 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7109 byte(s)
Diff to
previous 11414
-Add new function PutStats
-Modify the GetStats function to use the precomputed statistics
parameters computed at fill time when no axis range is specified
-In the operation functions Add, Divide, Multiply with multiplication
coefficients c1,c2, do not use c1*c1 or c2*c2 when computing
the resulting errors, but consider c1 and c2 like weigths as it is done
in the Fill functions. (Thanks Gero Flucke for this remark)
Revision
11414 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 23 12:41:01 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7063 byte(s)
Diff to
previous 11281
From Marek Biskup:
-Added options proofi and proofg to TProfile and TProfile2D
drawn with proof.
-Added support for "ICE" option (see TH1::Reset()) to TH2, TH3,
TProfile and TProfile2D::Reset().
-Rewritten Merge() in TH1, TH2, TH3, TProfile and TProfile2D
to support buffers. Changed the return type from Int_t to Long64_t.
Revision
11281 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 10 17:57:05 2005 UTC (9 years, 10 months ago) by
rdm
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7063 byte(s)
Diff to
previous 10834
From Marek Biskup:
major new PROOF developments:
- access to PROOF directly via the TChain interface (creating a TDSet
in the background).
- access to PROOF based trees via the TTreeViewer
- fully implemented the TChain/TDSet::Draw() interface.
- PROOF sessions can now be browsed via the TBrowser
Revision
10834 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 20 10:01:41 2004 UTC (10 years, 1 month ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 7006 byte(s)
Diff to
previous 9999
From Gero Flucke:
I implemented the rebinning for histograms with variable bin sizes for
1-D, 2-D and 1D-profile hist.
The main task was to implement
TH1::SetBins(Int_t nx, const Axis_t *xBins);
and
TH1::SetBins(Int_t nx, const Axis_t *xBins, Int_t ny, const Axis_t *yBins);
analog to SetBins(Int_t nx, Axis_t xmin, Axis_t xmin ...) and to overwrite
the methods in TProfile(2D).
For 2-D hists I decided not to distinguish between hists that are variable
bin sized in only one or both dimensions, for simplicity.
For concistency I changed the TProfile::SetBins(...Double_t...) to
SetBins(...Axis_t...) since this is their signature in the bas class.
I fixed usage of strlen without checking for NULL-pointers. :-)
Note that I also removed a check in TH2::Rebin2D that I consider not to be
needed.
Revision
9999 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 13 10:03:09 2004 UTC (10 years, 4 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 6762 byte(s)
Diff to
previous 9026
Upgrade the histogram buffer algorithm such that it can be used in a
coming version of the rebinner of the TH1,2 editors.
When the histogram buffer is active (TH1::SetBuffer has been called),
the buffer is kept alive as long as the number of entries can
be accomodated by the buffer.
When calling the Draw/Paint functions, the histogram is reset and
refilled from the buffer.
The buffer is also preserved by the I/O operations.
The calling sequence of TH1::BufferEmpty has been modified to support
3 cases instead of 2.
Int_t TH1::BufferEmpty(Int_t action)
// action = -1 histogram is reset and refilled from the buffer (called by THistPainter::Paint)
// action = 0 histogram is filled from the buffer
// action = 1 histogram is filled and buffer is deleted
// The buffer is automatically deleted when the number of entries
// in the buffer is greater than the number of entries in the histogram
Revision
7727 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 11 11:22:42 2003 UTC (11 years, 1 month ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 6588 byte(s)
Diff to
previous 7490
Add an optional argument to the TH1::Add(TF1* functions
void TH1::Add(TF1 *f1, Double_t c1, Option_t *option)
{
// Performs the operation: this = this + c1*f1
// if errors are defined (see TH1::Sumw2), errors are also recalculated.
//
// By default, the function is computed at the centre of the bin.
// if option "I" is specified (1-d histogram only), the integral of the
// function in each bin is used instead of the value of the function at
// the centre of the bin.
Revision
7490 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 29 10:57:55 2003 UTC (11 years, 2 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 6567 byte(s)
Diff to
previous 7116
Implement the same algorithm as in TProfile::GetBinError for low statistics bins.
Add new static member fgApproximate and corresponding static setter Approximate.
Add new member fScaling used internally (like in TProfile) when scaling a TProfile2D.
Revision
5735 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 4 10:38:32 2002 UTC (12 years, 1 month ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 5843 byte(s)
Diff to
previous 5717
Make all DrawCopy functions const
Add new function in TH1
TH1 *TH1::DrawNormalized(Option_t *option, Double_t norm) const
// Draw a normalized copy of this histogram.
//
// A clone of this histogram is normalized to norm and drawn with option.
// A pointer to the normalized histogram is returned.
// The contents of the histogram copy are scaled such that the new
// sum of weights (excluding under and overflow) is equal to norm.
// Note that the returned normalized histogram is not added to the list
// of histograms in the current directory in memory.
// It is the user's responsability to delete this histogram.
// The kCanDelete bit is set for the returned object. If a pad containing
// this copy is cleared, the histogram will be automatically deleted.
//
// See Draw for the list of options
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/inc/TProfile2D.h
File length: 5838 byte(s)
Diff to
previous 5518
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
4028 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 18 23:10:15 2002 UTC (12 years, 11 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 5842 byte(s)
Diff to
previous 3715
Make the following functions const
void Add(const TH1 *h1, Double_t c1=1);
void Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
void Divide(const TH1 *h1);
void Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
void Multiply(const TH1 *h1);
void Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
TH2D *ProjectionXY(const char *name="_pxy", Option_t *option="e") const;
Revision
3715 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 20 10:21:47 2002 UTC (13 years ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 5782 byte(s)
Diff to
previous 3697
Add new function
Int_t Merge(TCollection *list)
All classes created by TTreePlayer::DrawSelect have now a Merge function.
This function will be called by the PROOF system currently in development
to merge the list of objects generated by each slave processor on
the master server.
In case of histograms (1,2,3-D, profiles) Merge computes the min/max for
the x, y or z axis, the new number of bins, if necessary. iT add bin contents,
errors and statistics.
The function returns the merged number of entries if the merge is
successfull, -1 otherwise.
In case of polymarkers (2 or 3-d), Merge adds the list of markers in
the collection to the current object.
An example to merge a list of histograms with different binning, but
having a lowest common denominator bin size is shown below:
void atest() {
TH1F *h1 = new TH1F("h1","h1",110,-110,0);
TH1F *h2 = new TH1F("h2","h2",220,0,110);
TH1F *h3 = new TH1F("h3","h3",330,-55,55);
TRandom r;
for (Int_t i=0;i<10000;i++) {
h1->Fill(r.Gaus(-55,10));
h2->Fill(r.Gaus(55,10));
h3->Fill(r.Gaus(0,10));
}
TList *list = new TList;
list->Add(h1);
list->Add(h2);
list->Add(h3);
TH1F *h = (TH1F*)h1->Clone("h");
h->Reset();
h.Merge(list);
h->Draw();
Revision
3697 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 18 11:38:28 2002 UTC (13 years ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 5736 byte(s)
Diff to
previous 3556
Add new functionality to the histogram package via the new functions
SetBuffer, BufferFill and BufferEmpty.
virtual void SetBuffer(Int_t buffersize, Option_t *option="");
virtual Int_t BufferFill(Axis_t x, Stat_t w); //protected
virtual Int_t BufferEmpty();
Add new members:
Int_t fBufferSize; //fBuffer size
Double_t *fBuffer; //[fBufferSize] entry buffer
When SetBuffer is called, a dynamic buffer is created to hold up to
fBufferSize entries. When the standard Fill functions are called,
the arguments are put in the buffer, if a buffer is specified.
When the number of entries in the buffer is greater than fBufferSize,
the function BufferEmpty is automatically called.
BufferEmpty will fill the histogram with the entries in the buffer.
In case one of the axis has its lower limit greater or equal
to its upper limit, BufferEmpty calls the THLimitsFinder::FindGoodLimits
to compute the axis limits based on the entries in the current buffer.
When an histogram is created with an axis lower limit greater or equal
to its upper limit, the SetBuffer is automatically called with an
argument fBufferSize equal to fgBufferSize (default value=1000).
fgBufferSize may be reset via the static function TH1::SetDefaultBufferSize.
Revision
3556 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 2 21:45:28 2002 UTC (13 years ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 5365 byte(s)
Diff to
previous 1654
Add the following new functions:
Int_t Fill(const char*, Stat_t) {return -1;} //MayNotUse
Int_t Fill(Axis_t x, Axis_t y, Axis_t z);
Int_t Fill(Axis_t x, const char *namey, Axis_t z);
Int_t Fill(const char *namex, Axis_t y, Axis_t z);
Int_t Fill(const char *namex, const char *namey, Axis_t z);
void LabelsDeflate(Option_t *axis="X");
void LabelsInflate(Option_t *axis="X");
void LabelsOption(Option_t *option="h", Option_t *axis="X");
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/inc/TProfile2D.h
File length: 4419 byte(s)
Diff to
previous 964
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
134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 13 10:36:47 2000 UTC (14 years, 7 months ago) by
brun
Original Path:
trunk/hist/inc/TProfile2D.h
File length: 4237 byte(s)
Diff to
previous 3
TProfile2D members fZmin, fZmax upgraded to Double_t.
The following functions have a new signature:
TProfile2D(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,Axis_t xup
,Int_t nbinsy,Axis_t ylow,Axis_t yup,Option_t *option="");
TProfile2D(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,Axis_t xup
,Int_t nbinsy,Axis_t ylow,Axis_t yup
,Axis_t zlow, Axis_t zup,Option_t *option="");
virtual void Add(TH1 *h1, Double_t c1=1);
virtual void Add(TH1 *h1, TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
void BuildOptions(Double_t zmin, Double_t zmax, Option_t *option);
virtual void Divide(TH1 *h1, TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
Int_t Fill(Axis_t, Stat_t) {return -1; } //MayNotUse
Int_t Fill(Axis_t x, Axis_t y, Stat_t z);
virtual Int_t Fill(Axis_t x, Axis_t y, Axis_t z, Stat_t w);
virtual Double_t GetZmin() {return fZmin;}
virtual Double_t GetZmax() {return fZmax;}
virtual void Multiply(TH1 *h1, TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
virtual void Scale(Double_t c1=1);
virtual void SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, Int_t nbinsy, Double_t ymin, Double_t ymax);
TProfile2D::Streamer modified to support new schema.
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.