[root] / trunk / hist / hist / src / TProfile2D.cxx Repository:
ViewVC logotype

Log of /trunk/hist/hist/src/TProfile2D.cxx

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: 64433 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: 64359 byte(s)
Diff to previous 47909
from Gabriel: rename Set/CanRebin Set/CanExtend

Revision 47909 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 7 10:28:04 2012 UTC (2 years, 1 month ago) by moneta
File length: 64351 byte(s)
Diff to previous 46380
from Gabriel: 

 Introduce possibility to rebin each axis individually
see https://savannah.cern.ch/bugs/?89628

Added a new bit in TAxis to tag an axis as alphanumeric 
(i.e. when it contains only labels)

fixed kDecimal problem. Put now as Bit 7 of TObject bits, instead of using TAxis::fBits2

Add new methods: 

  TH1::SetCanRebin() which can enable/disable rebinning for all axes or for each axis individually
  This will replace the TH1::kCanRebin bit which will be deprecated
 
  TH1::CanRebinAllAxes() added to provide the functionality of TestBit(TH1::kCanRebin)

inline some TAxis methods

update stressHistogram to use new methods SetCanRebin and CanRebin

Revision 46380 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 8 12:48:37 2012 UTC (2 years, 3 months ago) by moneta
File length: 64349 byte(s)
Diff to previous 46159
- when calling TH*:Fill with a weight different than 1, automatically call Sumw2()

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: 64273 byte(s)
Diff to previous 44507
from Gabriel: 
 
removed redundant DrawCopy in all subclasses of TH1

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: 64788 byte(s)
Diff to previous 44272
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 44272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 16 13:03:47 2012 UTC (2 years, 8 months ago) by moneta
File length: 64758 byte(s)
Diff to previous 43802
apply small fix from Gabriel to use sizeof instead of an hard-coded 8

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: 64743 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: 64409 byte(s)
Diff to previous 43731
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 43731 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 13 13:29:55 2012 UTC (2 years, 9 months ago) by moneta
File length: 64345 byte(s)
Diff to previous 41358
Fix comments for error options in the Profile classes 

https://savannah.cern.ch/bugs/?90290

also fix option "I" by making independent of TProfile::Approximate

Revision 41358 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 13:15:35 2011 UTC (3 years, 3 months ago) by moneta
File length: 65655 byte(s)
Diff to previous 41352
re-commit fix in SetBins for TProfile2D and TProfile3D

Revision 41352 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 10:31:57 2011 UTC (3 years, 3 months ago) by rdm
File length: 65314 byte(s)
Diff to previous 41350
revert broken lunchtime commit.

Revision 41350 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 09:53:08 2011 UTC (3 years, 3 months ago) by moneta
File length: 65655 byte(s)
Diff to previous 40538
add missing SetBins for variable bin sizes 
(see http://root.cern.ch/phpBB3//viewtopic.php?f=3&t=13537 )

Revision 40538 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 10 16:10:55 2011 UTC (3 years, 5 months ago) by moneta
File length: 65314 byte(s)
Diff to previous 40378
add support for variable bin axis in TProfile2D::ProjectionXY
 see http://root.cern.ch/phpBB3/viewtopic.php?f=3&t=12879

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: 64807 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: 66260 byte(s)
Diff to previous 39430
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 39430 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 17:30:23 2011 UTC (3 years, 7 months ago) by moneta
File length: 64807 byte(s)
Diff to previous 38776
- add support for filling histogram with weights < 0 
  by removing the abs(w) in the various TH1::Fill(x,w) methods 

 Doing this the histogram statistics should be correctly computed

Revision 38776 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 09:28:53 2011 UTC (3 years, 9 months ago) by moneta
File length: 64802 byte(s)
Diff to previous 38686
add BufferEmpty(1) in all operations modifying the histgram contents (like Add, Divide, Multiply, etc..)

Revision 38686 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 31 07:00:15 2011 UTC (3 years, 9 months ago) by moneta
File length: 64608 byte(s)
Diff to previous 38569
add support for the option ICES in all Reset methods. Call this option in BufferEmpty and BufferFill to avoid deleting the list of functions (see https://savannah.cern.ch/bugs/index.php?71251)

Revision 38569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 23 11:03:42 2011 UTC (3 years, 10 months ago) by moneta
File length: 64494 byte(s)
Diff to previous 37991
add protection agains NaN when filling a profile with a range set in Y

Revision 37991 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 7 14:30:02 2011 UTC (3 years, 11 months ago) by moneta
File length: 64397 byte(s)
Diff to previous 35936
fix calculation of global sum of w2 in TProfile::GetStats when Sumw2 was not set

This fixes bug https://savannah.cern.ch/bugs/?77751

Revision 35936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 30 15:43:50 2010 UTC (4 years, 3 months ago) by brun
File length: 64399 byte(s)
Diff to previous 34939
use snprintf

Revision 34939 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 23 10:24:35 2010 UTC (4 years, 5 months ago) by brun
File length: 64394 byte(s)
Diff to previous 34781
Add protections infunctions calling TAxis::FindBin in case the result of FindBin is negative.

Revision 34781 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 12 14:26:24 2010 UTC (4 years, 5 months ago) by moneta
File length: 64204 byte(s)
Diff to previous 34550
fix some potential problems in using GetStats

Revision 34550 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 22 09:58:52 2010 UTC (4 years, 6 months ago) by moneta
File length: 64229 byte(s)
Diff to previous 34543
fix a problem in an array declaration.

Revision 34543 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 21 22:46:47 2010 UTC (4 years, 6 months ago) by moneta
File length: 64227 byte(s)
Diff to previous 34542
fix warning on Windows

Revision 34542 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 21 22:23:57 2010 UTC (4 years, 6 months ago) by moneta
File length: 64216 byte(s)
Diff to previous 34541
fix a warning

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: 64199 byte(s)
Diff to previous 32930
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 32930 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 9 16:18:32 2010 UTC (4 years, 9 months ago) by pcanal
File length: 53153 byte(s)
Diff to previous 31737
Prefer the use of InheritsFrom(TClass*) over InheritsFrom(const char*) as long as 
it does not increase the library dependencies.

Revision 31737 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 9 16:36:38 2009 UTC (5 years, 1 month ago) by moneta
File length: 53111 byte(s)
Diff to previous 31697
- revert to changes 31697 and redo 31693
- fix also case when fBinSumw2 is non zero (in GetEffectiveEntries) when reading an old file (< 5.22) with Sumw2 set 
This fixes stressHistogram

Revision 31697 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 21:45:52 2009 UTC (5 years, 1 month ago) by pcanal
File length: 53159 byte(s)
Diff to previous 31696
More direct fix for copy a default constructor Profile histogram (replace 31693)

Revision 31696 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 21:40:34 2009 UTC (5 years, 1 month ago) by pcanal
File length: 53086 byte(s)
Diff to previous 31693
Undo incorrect patch 31693 (it breaks stressHistogram)

Revision 31693 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 18:17:50 2009 UTC (5 years, 1 month ago) by pcanal
File length: 53111 byte(s)
Diff to previous 30001
Now that the default constructor for TH2 allocate 9 cells, (see revision 30630), the default constructor for the TProfile needs to call buildOptions otherwise their are malformed and a = new TProfile2D(); b = new TProfile2D(*a); crashes

Revision 30001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 13:41:50 2009 UTC (5 years, 4 months ago) by brun
File length: 53086 byte(s)
Diff to previous 28964
Modify TH1::SavePrimitive such that temporary histograms (like htemp)
and histograms for which the directory is not set have unique pointer names.
This requires an additional argument in TH1::SavePrimitiveHelp.

Revision 28964 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 12 16:08:04 2009 UTC (5 years, 7 months ago) by moneta
File length: 53075 byte(s)
Diff to previous 28022
merge changes from development branch done mainly by David

TH1

 - Add a method, TH1::ResetStats() to reset the internal statistics and force then the re-calculation suing the bin center first time is needed
 - Fix some problem with the statistics (in particular the number of entries)  after some of the histogram operations

TH2

Consider in the projection of TH2 the axis range set by the user. This fix the issue https://savannah.cern.ch/bugs/index.php?47946 

TH3

- Add TH3::ProjectionX and TH3::ProjectionY to complement the already existing ProjectionZ. They are all impelmented using the Project3D method.
- Re-implement the TH3::Project3D method using the internal methods  DoProject1D and DoProject2D depending on the option. This new implementation is faster in case sub-ranges are selected and fix this issue (https://savannah.cern.ch/bugs/index.php?45494). A similar new implementation is done for TH3::ProjectProfile.

TProfile, TProfile2D

Fix a bug in  GetStats method.

WrappedTF1, WrappedMultiTF1

- make possiible to wrap TF1 objects defined with dimension N ( N > 3) and return correct dimension
- fix a problem with a static data member on Windows

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: 52438 byte(s)
Diff to previous 24415
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 24415 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 13:08:20 2008 UTC (6 years, 7 months ago) by moneta
File length: 63871 byte(s)
Diff to previous 23726
import dev branch (up to rev. 24397) 

- merge implementation from David of TH2::ProjectionX and TH2::ProjectionY in a common method 
- fix a coubple of bugs in projections of TH3 found thanks to the new projection test from David
- improve KolmogorvSmirnov test in 2D and 3D. Make it also working for weighted histograms. 
  For the 3D tests use as probing max distance the one obtained using all possible axis combination for the order. 
  It is arbitrary (as in the 2D case), but at least consistent. A better method, like the one proposed by Peacock, 
  should be used for the multi-dim KS test. 
- add some extra comments for projections of profiles to histograms using option "W". Fix also an un-wanted 
  extra calls to Sumw2()

Revision 23726 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 7 16:06:31 2008 UTC (6 years, 8 months ago) by moneta
File length: 63486 byte(s)
Diff to previous 22694
Add a new option "W" requested by Melinda Siciliano in the profile projections in order to be able to return the equivalent weighted filled histogram. 
The bin content of the returned histogram is equal to the profile bin content multiplied by the bin entries.

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: 62533 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/src/TProfile2D.cxx
File length: 62533 byte(s)
Diff to previous 21584
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 21584 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 8 14:11:57 2008 UTC (7 years ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62521 byte(s)
Diff to previous 20882
Fix gcc4.1 compilation warnings.

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/src/TProfile2D.cxx
File length: 62465 byte(s)
Diff to previous 20479
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 20479 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 25 07:39:28 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62465 byte(s)
Diff to previous 19991
Fix a bug in the copy constructor.
see <http://savannah.cern.ch/bugs/?30716>

Revision 19991 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 21 12:05:14 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62290 byte(s)
Diff to previous 19826
Fix problem reported at URL: <http://savannah.cern.ch/bugs/?29767>
in function TProfile2D::SetBins

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/src/TProfile2D.cxx
File length: 62263 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/src/TProfile2D.cxx
File length: 62318 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/src/TProfile2D.cxx
File length: 62328 byte(s)
Diff to previous 19012
Change the API for TH1::RebinAxis from
void     RebinAxis(Double_t x, const char *ax);
to
void     RebinAxis(Double_t x, TAxis *axis);

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/src/TProfile2D.cxx
File length: 62410 byte(s)
Diff to previous 18558
- 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 18558 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 23 10:50:36 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62055 byte(s)
Diff to previous 17729
Fix a bug in the DrawCopy functions.

Revision 17729 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 6 15:00:56 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62068 byte(s)
Diff to previous 17612
In the Streamer functions replace the lines like
         TPad::Class()->ReadBuffer(b, this, v, R__s, R__c);
         TPad::Class()->WriteBuffer(b,this);
by
         b.ReadClassBuffer(TPad::Class(), this, v, R__s, R__c);
         b.WriteClassBuffer(TPad::Class(),this);

Revision 17612 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 1 14:58:44 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62060 byte(s)
Diff to previous 15672
Use a forward declaration of TList instead of including TList.h

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/src/TProfile2D.cxx
File length: 62038 byte(s)
Diff to previous 15082
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 15082 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 17 16:37:26 2006 UTC (8 years, 8 months ago) by couet
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62028 byte(s)
Diff to previous 14775
- Coding conventions.

Revision 14775 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 20 14:36:48 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 62003 byte(s)
Diff to previous 14745
remove <TAB>s from code.

Revision 14745 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61990 byte(s)
Diff to previous 14744
Change the TError.h macros:
Assert   ->  R__ASSERT
Check    ->  R__CHECK
Change the TCollection.h macro:
ForEach  ->  R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.

Revision 14744 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 08:16:33 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61987 byte(s)
Diff to previous 14551
From Gero Flucke
a patch that should fix the bug introduced in scaling
profile histograms (in version 1.64 in TProfile.cxx and version 1.39 of
TProfile2D.cxx).
I also removed some redundant usage of the fScaling flag.
see: http://savannah.cern.ch/bugs/?func=detailitem&item_id=14851

Revision 14551 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 5 10:23:47 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61787 byte(s)
Diff to previous 14336
Fix a bug in TProfile2D::Merge (local redefinition of kNstats)

Revision 14336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61812 byte(s)
Diff to previous 14117
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 14117 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 28 10:08:19 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61794 byte(s)
Diff to previous 13987
In the TProfile Fill functions with a weigth, use teh absolute value of the weigth
when incrementing fBinEntries.

Revision 13987 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 3 21:55:39 2006 UTC (8 years, 11 months ago) by pcanal
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61792 byte(s)
Diff to previous 13948
Update of spacing and documentation to match the coding rule

Revision 13948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 30 08:00:59 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61744 byte(s)
Diff to previous 13485
Add new option "c=e" in TProfile::ProjectionX and
new options "b" and "c=e" in TProfile2D::ProjectionXY

//   if option "E" is specified, the errors are computed. (default)
//   if option "B" is specified, the content of bin of the returned histogram
//      will be equal to the GetBinEntries(bin) of the profile,
//   if option "C=E" the bin contents of the projection are set to the
//       bin errors of the profile

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/src/TProfile2D.cxx
File length: 61196 byte(s)
Diff to previous 12854
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 12854 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 27 15:06:29 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61066 byte(s)
Diff to previous 12444
Implement similar changes in the Merge functions

Revision 12444 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 9 11:02:30 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 61013 byte(s)
Diff to previous 12443
I forgot one case in the previous fix

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/src/TProfile2D.cxx
File length: 61009 byte(s)
Diff to previous 12032
-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 12032 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 13 16:32:40 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 59889 byte(s)
Diff to previous 11813
From Anna Kreshuk:
Fix in TProfile::Divide and TProfile2D::Divide when computing the new errors.

Revision 11813 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 18 12:31:10 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 59901 byte(s)
Diff to previous 11643
From Valeriy Onuchin:

this patch fixes all compilation problems for
ROOT under windows with VC6 compiler.

- The main problem is that VC6 compiler does not recognize
"long long" type in rootcint generated dictionaries,
To fix this, wherever "long long" type was writen in dictionary file it was
replaced with native win32 "long long" type_string "__int64".
Modified files are: cint/src/val2a.c, cint/src/newlink.c, cint/src/Class.cxx

Other changes:
- many  classes contained "list" variables.
  That produced name_clash with  std::list class name.
- many classes contained
 for (int i=0; ..) {..}
 for (int i=0; ..) {..}
 which caused "duplication of initialisation" bug.

- gl/src/CsgOps.cxx had outside declared templated parameter used inside
  internal function.
- TString Atoi, Atof - std namespace was removed.

_ TASimage - custom Streamer was changed. Reading/writing class version
   was added. That allows to keep "future compatibility"/"schema evolution"
   Demo files galaxy.root, gallery.root were rewritten.

- I rolled back changes in TGPicture class which are related to reading
   of XPM files because of problems under win32.

- TASImage::GetMask method was reimplemented.

- libAfterImage.tar.gz - fix all compilation problem under win32 (vc6)

Revision 11643 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 20 19:35:31 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 59909 byte(s)
Diff to previous 11417
The transient member fScaling must be set to kFALSE in the default constructor.
This is necessary when an object is read in and functions like called after..
(thanks Valeri fine)

Revision 11417 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 24 07:11:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 59887 byte(s)
Diff to previous 11414
Remove unused variable

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/src/TProfile2D.cxx
File length: 59903 byte(s)
Diff to previous 11388
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 11388 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 21 12:32:30 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 58462 byte(s)
Diff to previous 11373
From Marek Biskup:
- Changed THX::Merge(). Now an attempt to merge histograms with
overflows and different limits will fail.
- Added GetOptionSame() to TTreeDrawArgsParser.
- removing " " inside a string given to TTreeDrawArgsParser::Parse().

Revision 11373 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 18 22:41:27 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 58153 byte(s)
Diff to previous 11281
From Marek:
- TH1::Merge() adding overflows even when merging histograms with the
  same limits. If the limits are different the overflows are ignored.
  The same in TH2::Merge, TH3::Merge, TProfile::Merge and TProfile2D::Merge.

- Cleaning fHistogram (and this kind of) variables, so that the drawn
  plots aren't deleted in the TProofDrawXXX's destructor.

- Removed TProofNTuple from TProofDrawTGraph.

- Put the initialization code of fFeedback and fPlayer (=MakePlayer())
  in TProof in to Init().

- Added TGraph::Merge(). Added TPolyMarker3D::GetPoint(Int_t, Float&,
  Float&, Float&).

- Removed TProofNTuple from TProofDrawPolyMarker3D.

- Fixed cleaning output lists after processing (set option = "nodelete").
  Now the objects are on the player outputlist and are removed (but not
  deleted) from the selector's outputlist.

- Fixed TPolyMarker3D::Merge() - it seems that nobody has ever tried to
  run this function.

- Added setting tree attributes (like MarkerStyle, MarkerSize, LineColor etc.)
  to a drawn TGraph and TPolyMarker3D in TProofDrawGraph and
  TProofDrawPolyMarker3D.

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/src/TProfile2D.cxx
File length: 57796 byte(s)
Diff to previous 11012
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 11012 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 31 13:40:15 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 54947 byte(s)
Diff to previous 10980
In TH2, TH2, TH3 add support for SetBuffer when one of the lower limits
is greater or equal to the upper limit.

In TProfile2D constructors force an additional call to SetBuffer.
Because SetBuffer is called from the TH2 constructors, TH1::setBuffer
was called instead of TProfile2D::SetBuffer.

Fix a bug in TProfile2D::BufferEmpty.

Revision 10980 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 25 07:36:21 2005 UTC (10 years ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 54823 byte(s)
Diff to previous 10974
In TH1::RebinAxis always double the current range (instead of adding range/4).

Modify the Merge functions accordingly.

Revision 10974 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 20 21:58:44 2005 UTC (10 years ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 54432 byte(s)
Diff to previous 10834
In the Mere functions add support for the case where the destination histogram is not empty.

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/src/TProfile2D.cxx
File length: 54190 byte(s)
Diff to previous 10624
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 10624 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 26 07:34:56 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 54228 byte(s)
Diff to previous 9999
In TProfile2D::SavePrimitive the string "ClassName()" was written instead
of the content of ClassName()

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/src/TProfile2D.cxx
File length: 54230 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 9026 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 26 11:32:00 2004 UTC (10 years, 8 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 52773 byte(s)
Diff to previous 8395
Implement TProfile2D::SavePrimitive. The function calls TH1::SavePrimitiveHelp.

Revision 8395 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 12 22:40:11 2004 UTC (10 years, 10 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 51145 byte(s)
Diff to previous 8177
Fix a problem in the TProfile2D copy constructor.
The member fScaling was not copied.

Revision 8177 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 10 13:39:19 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 51102 byte(s)
Diff to previous 7727
Add support for statistics along Z for TProfile2D

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/src/TProfile2D.cxx
File length: 49802 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/src/TProfile2D.cxx
File length: 49791 byte(s)
Diff to previous 7483
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 7483 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 28 16:36:40 2003 UTC (11 years, 2 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 47732 byte(s)
Diff to previous 7116
In the GetBinError functions, in low statistics bins, do not take into account
non-empty bins with null errors. The effect was to underestimate the error
in case of profiles with many bins with one entry only.

Revision 7116 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 20 07:59:47 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 47667 byte(s)
Diff to previous 7071
Add new constructors to support 2-D profiles with variable bin sizes.

Revision 7071 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 11 08:27:12 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 46445 byte(s)
Diff to previous 6181
Add a new static member
  Bool_t fgStatOverflows;
and a corresponding setter
  static void StatOverflows(Bool_t flag=kTRUE)
All histogram Fill functions modified to test this new flag.
By default the flag is off.

  Note that the mean value/RMS is computed using the bins in the currently
  defined range (see TAxis::SetRange). By default the range includes
  all bins from 1 to nbins included, excluding underflows and overflows.
  To force the underflows and overflows in the computation, one must
  call the static function TH1::StatOverflows(kTRUE) before filling
  the histogram.

Revision 6181 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 25 14:17:03 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 46235 byte(s)
Diff to previous 5735
Protect the GetBinContent and GetStats functions in case the default
constructor for these classes is called, followed by a call to Draw.

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/src/TProfile2D.cxx
File length: 46172 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/src/TProfile2D.cxx
File length: 46167 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/src/TProfile2D.cxx
File length: 46306 byte(s)
Diff to previous 5057
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 5057 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 5 16:45:00 2002 UTC (12 years, 5 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 46300 byte(s)
Diff to previous 4566
The TProfile constructor was broken and should (as the other histogram constructors) call its parent's no parameter
constructor instead of its parent's copy constructor.

Cheers,
Philippe.

Same problem in TProfile2D

Revision 4566 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 18 08:51:49 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 46307 byte(s)
Diff to previous 4028
Add explicit calls to the base classes copy constructors in the copy constructors.
This is required by gcc on MacOS X

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/src/TProfile2D.cxx
File length: 46290 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/src/TProfile2D.cxx
File length: 46229 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/src/TProfile2D.cxx
File length: 42924 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/src/TProfile2D.cxx
File length: 40277 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 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/src/TProfile2D.cxx
File length: 29551 byte(s)
Diff to previous 1205
Implement TProfile::GetStats and TProfile2D::GetStats such that the functions
GetMean and GetRMS return correct values for axis numbers > 1

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/TProfile2D.cxx
File length: 28266 byte(s)
Diff to previous 985
      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 985 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 20:51:23 2000 UTC (14 years, 2 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 28248 byte(s)
Diff to previous 466
Function Streamer now in the implementation file.
Add code for the new automatic schema evolution algorithm

Revision 466 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 15 08:51:37 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/hist/src/TProfile2D.cxx
File length: 28216 byte(s)
Diff to previous 134
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 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/src/TProfile2D.cxx
File length: 27464 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.

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/src/TProfile2D.cxx
File length: 26500 byte(s)
Copied from: branches/rdm/hist/src/TProfile2D.cxx 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/src/TProfile2D.cxx
File length: 26500 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