Log of /trunk/hist/hist/src/TProfile2D.cxx
Parent Directory
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.