[root] / trunk / hist / hist / inc / TProfile.h Repository:
ViewVC logotype

Log of /trunk/hist/hist/inc/TProfile.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 49133 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 8 21:10:21 2013 UTC (21 months, 2 weeks ago) by moneta
File length: 7436 byte(s)
Diff to previous 48031
add a flag in Sumw2() to delete error array structure

Revision 48031 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 09:34:54 2012 UTC (2 years, 1 month ago) by moneta
File length: 7417 byte(s)
Diff to previous 46159
from Gabriel: rename Set/CanRebin Set/CanExtend

Revision 46159 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 09:06:05 2012 UTC (2 years, 3 months ago) by moneta
File length: 7416 byte(s)
Diff to previous 45899
from Gabriel: 
 
removed redundant DrawCopy in all subclasses of TH1

Revision 45899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 7 09:11:14 2012 UTC (2 years, 4 months ago) by moneta
File length: 7473 byte(s)
Diff to previous 44507
- Add in THistPainter::GetObjectInfo the case of TProfile2D  to print also bin entries and bin error
  and disable printing bin information for 3D objects. Print in that case only x and y 

_ Remove TProfile::GetObjectInfo,  use now the inherited one from TH1 which is impelmented using THistPainter::GetObjectInfo

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: 7534 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 43802 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 17 15:20:48 2012 UTC (2 years, 9 months ago) by moneta
File length: 7529 byte(s)
Diff to previous 43761
change also TH1::Divide and TH1::Multiply to return a Boolean 
apply the changes also to all the TProfile classes

Revision 43761 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 16 13:36:17 2012 UTC (2 years, 9 months ago) by moneta
File length: 7529 byte(s)
Diff to previous 40378
modify all TH1::Add (and those of the derived classes) to return a Bool_t which is false when 
the method fails because the histograms ar enot consistent
(see https://savannah.cern.ch/bugs/?92635 )

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: 7529 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: 7943 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: 7529 byte(s)
Diff to previous 28022
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 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: 7336 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 22694 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 20:23:21 2008 UTC (6 years, 10 months ago) by rdm
File length: 6664 byte(s)
Diff to previous 22216
move hist, histpainter, spectrum and spectrumpainter in the hist package.

Revision 22216 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 19 08:24:45 2008 UTC (6 years, 11 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6664 byte(s)
Diff to previous 20882
In the Scale functions, add an optional argument Option_t *option=""
When the option "width is specified, the Scale function divides the bin
content and error by the bin width (works for 1, 2 and 3-D histograms).

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/hist/inc/TProfile.h
File length: 6643 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/hist/inc/TProfile.h
File length: 6643 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/hist/inc/TProfile.h
File length: 6692 byte(s)
Diff to previous 19636
remove :$ from tag line

Revision 19636 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 17 09:12:38 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6702 byte(s)
Diff to previous 15893
Change the API for TH1::RebinAxis from
void     RebinAxis(Double_t x, const char *ax);
to
void     RebinAxis(Double_t x, TAxis *axis);

Revision 15893 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 2 12:54:19 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6705 byte(s)
Diff to previous 15672
Add a new optional argument to TH1::Rebin and TProfile::Rebin.
This new argument can be used to rebin a fixed bin histogram into a variable bin size histogram.

TH1 *TH1::Rebin(Int_t ngroup, const char*newname, const Double_t *xbins)
   //  -case 1  xbins=0
   //   if newname is not blank a new temporary histogram hnew is created.
   //   else the current histogram is modified (default)
   //   The parameter ngroup indicates how many bins of this have to me merged
   //   into one bin of hnew
   //   If the original histogram has errors stored (via Sumw2), the resulting
   //   histograms has new errors correctly calculated.
   //
   //   examples: if h1 is an existing TH1F histogram with 100 bins
   //     h1->Rebin();  //merges two bins in one in h1: previous contents of h1 are lost
   //     h1->Rebin(5); //merges five bins in one in h1
   //     TH1F *hnew = h1->Rebin(5,"hnew"); // creates a new histogram hnew
   //                                       //merging 5 bins of h1 in one bin
   //
   //   NOTE:  If ngroup is not an exact divider of the number of bins,
   //          the top limit of the rebinned histogram is changed
   //          to the upper edge of the bin=newbins*ngroup and the corresponding
   //          bins are added to the overflow bin.
   //          Statistics will be recomputed from the new bin contents.
   //
   //  -case 2  xbins!=0
   //   a new histogram is created (you should specify newname).
   //   The parameter is the number of variable size bins in the created histogram.
   //   The array xbins must contain ngroup+1 elements that represent the low-edge
   //   of the bins.
   //   If the original histogram has errors stored (via Sumw2), the resulting
   //   histograms has new errors correctly calculated.
   //
   //   examples: if h1 is an existing TH1F histogram with 100 bins
   //     Double_t xbins[25] = {...} array of low-edges (xbins[25] is the upper edge of last bin
   //     h1->Rebin(24,"hnew",xbins);  //creates a new variable bin size histogram hnew

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/TProfile.h
File length: 6681 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 15072 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 17 09:37:21 2006 UTC (8 years, 8 months ago) by couet
Original Path: trunk/hist/inc/TProfile.h
File length: 6676 byte(s)
Diff to previous 13485
- Coding conventions.

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/TProfile.h
File length: 6732 byte(s)
Diff to previous 12807
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 12807 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 22 08:55:07 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6572 byte(s)
Diff to previous 12443
From Oliver Kind
Implement TProfile::GetObjectInfo

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/TProfile.h
File length: 6511 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/TProfile.h
File length: 6465 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/TProfile.h
File length: 6465 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/TProfile.h
File length: 6408 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/TProfile.h
File length: 6257 byte(s)
Diff to previous 8149
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 8149 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 7 21:17:40 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6269 byte(s)
Diff to previous 7727
Add new data members fTsumwy and fTsumwy2 to store the y distribution
for a TProfile. The Fill/Get/Operations functions are modified
to increment or compute these quantities.

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/TProfile.h
File length: 6151 byte(s)
Diff to previous 6752
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 6752 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 22 13:34:30 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6130 byte(s)
Diff to previous 5735
Add a new static function
  void TProfile::Approximate(Bool_t approx=kTRUE);
When the flag is true, the function GetBinError will approximate the bin error
with the average profile error on all bins in the following situation only:
  - the number of bins in the profile is less than 1002
  - the number of entries in the bin is small (<5)
  - the estimated bin error is extremely small compared to the bin content.
By default GetBinError does not make this approximation.

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/TProfile.h
File length: 6008 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/TProfile.h
File length: 6003 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 5518 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 31 07:27:37 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6011 byte(s)
Diff to previous 4330
Make const all Copy functions.
WARNING: If your class implements a Copy function deriving
from TObject or one of the ROOT classes, you must make
your Copy function const.

Revision 4330 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 9 07:15:26 2002 UTC (12 years, 9 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 6005 byte(s)
Diff to previous 4027
Add a new TProfile constructor:
    TProfile(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins, Axis_t ylow,Axis_t yup, Option_t *option="");

Revision 4027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 18 23:09:58 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5875 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*
  TH1D   *ProjectionX(const char *name="_px", 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/TProfile.h
File length: 5815 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/TProfile.h
File length: 5769 byte(s)
Diff to previous 3555
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 3555 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 2 21:45:08 2002 UTC (13 years ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5497 byte(s)
Diff to previous 2074
Add the following new functions:
  Int_t   Fill(const char *namex, Axis_t y);
  Int_t   Fill(const char *namex, Axis_t y, Stat_t w);
  void    LabelsDeflate(Option_t *axis="X");
  void    LabelsInflate(Option_t *axis="X");
  void    LabelsOption(Option_t *option="h", Option_t *axis="X");

Revision 2074 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 25 14:03:51 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5191 byte(s)
Diff to previous 1717
Add a transient data member Bool_t fScaling.
Fix a bug in the Add functions when computing the resulting errors.
The square of the mulktiplication coefficient must be used.

When TProfile::Scale is called, the flag fScaling is set to kTRUE.
When this flag is set, the Add function does not change the number of entries per bin.

Revision 1717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 28 07:54:22 2001 UTC (13 years, 10 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5114 byte(s)
Diff to previous 1654
Change float* or double* to const float* or const double* in all constructors
or functions with arrays of floats or doubles.

Revision 1654 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 21 14:57:37 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5072 byte(s)
Diff to previous 1546
Implement TProfile::GetStats and TProfile2D::GetStats such that the functions
GetMean and GetRMS return correct values for axis numbers > 1

Revision 1546 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 7 21:01:04 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 5021 byte(s)
Diff to previous 1327
Implement TProfile::SavePrimitive. Profiles with all their features are
saved on the generated macro.

Revision 1327 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 08:45:00 2001 UTC (14 years ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4952 byte(s)
Diff to previous 1326
Must implement GetBinError in derived classes from TH1 to avoid
warning messages from some compilers.

Revision 1326 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 08:34:27 2001 UTC (14 years ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4779 byte(s)
Diff to previous 1205
Must implement GetBinContent and SetBinContent in all classes derived from TH1
to avoid warning messages from several compilers.

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/TProfile.h
File length: 4598 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 964 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 20:31:29 2000 UTC (14 years, 2 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4568 byte(s)
Diff to previous 461
Increment class version from 2 to 3.

Revision 461 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 15 08:24:10 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4568 byte(s)
Diff to previous 354
Implement the functions Add, Divide, Multiply for TF1 to avoid compilation
errors or warnings on some machines.
These functions are empty for the time being.

Revision 354 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 11 13:58:50 2000 UTC (14 years, 6 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4402 byte(s)
Diff to previous 352
Change return type of TProfile::Rebin from TProfile to TH1.
Returns type must be identical in the base class and derived class.

Revision 352 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 11 10:36:07 2000 UTC (14 years, 6 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4402 byte(s)
Diff to previous 213
Implement TProfile::Rebin

Revision 213 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 15 06:51:49 2000 UTC (14 years, 7 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4336 byte(s)
Diff to previous 133
Added new constructors and functions to support both Float_t* and Double_t*
        virtual void    TAxis::Set(Int_t nbins, Float_t *xbins);
        virtual void    TAxis::Set(Int_t nbins, Double_t *xbins);
    TH1(const char *name,const char *title,Int_t nbinsx,Float_t *xbins);
    TH1(const char *name,const char *title,Int_t nbinsx,Double_t *xbins);
    TH1C(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins);
    TH1C(const char *name,const char *title,Int_t nbinsx,Double_t *xbins);
    TH1S(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins);
    TH1S(const char *name,const char *title,Int_t nbinsx,Double_t *xbins);
    TH1F(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins);
    TH1F(const char *name,const char *title,Int_t nbinsx,Double_t *xbins);
    TH1D(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins);
    TH1D(const char *name,const char *title,Int_t nbinsx,Double_t *xbins);
   TH2(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                         ,Int_t nbinsy,Double_t *ybins);
   TH2(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins
                                         ,Int_t nbinsy,Float_t  *ybins);
   TH2C(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins);
   TH2C(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins
                                          ,Int_t nbinsy,Float_t  *ybins);
   TH2S(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins);
   TH2S(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins
                                          ,Int_t nbinsy,Float_t  *ybins);
   TH2F(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins);
   TH2F(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins
                                          ,Int_t nbinsy,Float_t  *ybins);
   TH2D(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins);
   TH2D(const char *name,const char *title,Int_t nbinsx,Float_t  *xbins
                                          ,Int_t nbinsy,Float_t  *ybins);
   TH3(const char *name,const char *title,Int_t nbinsx,Float_t *xbins
                                         ,Int_t nbinsy,Float_t *ybins
                                         ,Int_t nbinsz,Float_t *zbins);
   TH3(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                         ,Int_t nbinsy,Double_t *ybins
                                         ,Int_t nbinsz,Double_t *zbins);
   TH3C(const char *name,const char *title,Int_t nbinsx,Float_t *xbins
                                          ,Int_t nbinsy,Float_t *ybins
                                          ,Int_t nbinsz,Float_t *zbins);
   TH3C(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins
                                          ,Int_t nbinsz,Double_t *zbins);
   TH3S(const char *name,const char *title,Int_t nbinsx,Float_t *xbins
                                          ,Int_t nbinsy,Float_t *ybins
                                          ,Int_t nbinsz,Float_t *zbins);
   TH3S(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins
                                          ,Int_t nbinsz,Double_t *zbins);
   TH3F(const char *name,const char *title,Int_t nbinsx,Float_t *xbins
                                          ,Int_t nbinsy,Float_t *ybins
                                          ,Int_t nbinsz,Float_t *zbins);
   TH3F(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins
                                          ,Int_t nbinsz,Double_t *zbins);
   TH3D(const char *name,const char *title,Int_t nbinsx,Float_t *xbins
                                          ,Int_t nbinsy,Float_t *ybins
                                          ,Int_t nbinsz,Float_t *zbins);
   TH3D(const char *name,const char *title,Int_t nbinsx,Double_t *xbins
                                          ,Int_t nbinsy,Double_t *ybins
                                          ,Int_t nbinsz,Double_t *zbins);

Revision 133 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 13 10:36:25 2000 UTC (14 years, 7 months ago) by brun
Original Path: trunk/hist/inc/TProfile.h
File length: 4237 byte(s)
Diff to previous 3
  TProfile members fYmin, fYmax upgraded to Double_t.
  The following functions have a new signature:
    TProfile(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,Axis_t xup, Option_t *option="");
    TProfile(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,Axis_t xup,Axis_t ylow,Axis_t yup,Option_t *option="");
    TProfile(const char *name,const char *title,Int_t nbinsx,Axis_t *xbins, 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 ymin, Double_t ymax, Option_t *option);
    virtual void    Divide(TH1 *h1, TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
    virtual Int_t   Fill(Axis_t x, Axis_t y);
    virtual Int_t   Fill(Axis_t x, Axis_t y, Stat_t w);
    virtual void    FillN(Int_t ntimes, Axis_t *x, Axis_t *y, Double_t *w, Int_t stride=1);
    virtual Double_t GetYmin() {return fYmin;}
    virtual Double_t GetYmax() {return fYmax;}
    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 nbins, Double_t xmin, Double_t xmax);
  TProfile::Streamer modified to support new schema.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/hist/inc/TProfile.h
File length: 4229 byte(s)
Copied from: branches/rdm/hist/inc/TProfile.h revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/hist/inc/TProfile.h
File length: 4229 byte(s)
Initial import of ROOT into CVS

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9