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

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

Parent Directory Parent Directory


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

Revision 46382 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 8 14:08:27 2012 UTC (2 years, 3 months ago) by moneta
File length: 34716 byte(s)
Diff to previous 46244
when calling Sumw2() on THnsparse or THn copy the current bin content in the array containing the sum of weight square 

see https://savannah.cern.ch/bugs/?96435

Revision 46244 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 08:31:34 2012 UTC (2 years, 3 months ago) by moneta
File length: 34551 byte(s)
Diff to previous 44507
remove un-needed code in ThnBase::IsInRange with new implementation of SetRange
 update also comments

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: 34649 byte(s)
Diff to previous 43016
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 43016 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 15 15:25:12 2012 UTC (2 years, 11 months ago) by axel
File length: 34634 byte(s)
Diff to previous 42758
Fix template type name in doc.

Revision 42758 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 23 08:47:17 2012 UTC (3 years ago) by axel
File length: 34628 byte(s)
Diff to previous 42739
Implement THn::CreateHn() and THnSparse::CreateSparse() taking a THnBase (which in turn call THnBase::CreateHnAny() taking a THnBase):
converts a THn to a THnSparse and vice versa, keeping the bin type.
Can also be used to clone a THnBase-derived object.
Move storage initialization into separate (pure virtual) function
such that the common initialization part can end up in a new function THnBase::Init() which is called by (the now non-virtual) CloneEmpty() and CreateHnAny().

Revision 42739 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 20 07:59:05 2012 UTC (3 years ago) by axel
File length: 35993 byte(s)
Diff to previous 42719
Protect from self-assignment (Coverity)

Revision 42719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 19 10:17:36 2012 UTC (3 years ago) by axel
File length: 35945 byte(s)
Diff to previous 42694
Fix coverity reports.

Revision 42694 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 18 13:09:09 2012 UTC (3 years ago) by axel
File length: 35008 byte(s)
Diff to previous 42189
Add non-sparse, n-dimensional histogram THnD, THnF, THnI...
THn and THnSparse now both derive from THnBase, providing the common interfaces and algorithms.
Extend stress suite to cover THn, too.
THn uses TNDArray for bin storage, an n-dimensional array. It provides an interface to extract an element by a series of operator[]:
Double_t value = arr[0][2][1][5];

Revision 42189 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 23 13:03:24 2011 UTC (3 years, 2 months ago) by axel
File length: 78091 byte(s)
Diff to previous 41546
Fix number of entries for projections into TH1/2/3; use the number of entries of THnSparse if all bins end up in the projection, else use hist->GetEffectiveEntries() after hist->ResetStats().

Revision 41546 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 24 14:42:42 2011 UTC (3 years, 3 months ago) by axel
File length: 77583 byte(s)
Diff to previous 36903
Split internal THnSparse classes (that cannot be hidden in the implementation file) into a separate header.
Implement browser interface for THnSparse: will create one entry for each axis; double-clicking that shows the THnSparse's projection onto that axis.

Revision 36903 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 24 14:13:17 2010 UTC (4 years, 2 months ago) by moneta
File length: 75955 byte(s)
Diff to previous 36894
from Axel: 
Fix bug introduced by previous patch. Set axis titles in CreateSparse()
as suggested at Savannah #75528. Fix coding style and documentation of
CreateSparse().

Revision 36894 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 24 11:04:47 2010 UTC (4 years, 2 months ago) by moneta
File length: 76102 byte(s)
Diff to previous 36238
from Axel: Clarify coordinate order for 2-dim projections; see savannah #75528

Revision 36238 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 10 08:57:51 2010 UTC (4 years, 3 months ago) by moneta
File length: 75980 byte(s)
Diff to previous 36157
from Axel: 
Coverity fix: options != 0 was checked in PrintEntries() but not in PrintBin().

Revision 36157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 7 14:21:02 2010 UTC (4 years, 3 months ago) by moneta
File length: 75969 byte(s)
Diff to previous 36111
from Axel: 
  ThnSparse: fix stressHistogram (error calculation was wrong). Implement faster
Add(), and merge Add and RebinnedAdd(). Implement THnSparse::Print().

 TH1: fix an unizialized variable in TH1::ResetStats

Revision 36111 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 12:17:21 2010 UTC (4 years, 3 months ago) by moneta
File length: 70074 byte(s)
Diff to previous 36108
from Axel:
 implement RebinnedAdd() also for bin errors. Use linear bin index
 instead of (slower) coordinates.

Revision 36108 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 10:31:11 2010 UTC (4 years, 3 months ago) by moneta
File length: 70058 byte(s)
Diff to previous 35222
From Axel: 
 Properly implement RebinnedAdd(): failed to add THnSparses with
different binning! Code cleanup: include guards, coding convention, etc.

Revision 35222 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 10 12:23:38 2010 UTC (4 years, 4 months ago) by moneta
File length: 69801 byte(s)
Diff to previous 34678
from Axel:  coverity fixes for THnSparse

Revision 34678 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 30 15:35:32 2010 UTC (4 years, 5 months ago) by brun
File length: 69875 byte(s)
Diff to previous 34418
From Axel:
Implement a higher watermark for fBins using the new public
TExMap::Expand(): only 50% of the slots should be filled; enlarge fBins
already before merging. This reduces both memory usage and especially
runtime significantly when filling and merging. Fix the estimation of
the memory size sparse / array.

Revision 34418 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 14 16:30:56 2010 UTC (4 years, 6 months ago) by brun
File length: 68884 byte(s)
Diff to previous 32836
From Axel:
shift as ULong64_t to avoid lost
overflows in coordinates. Fixes Savannah #69609.

Revision 32836 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 30 14:27:57 2010 UTC (4 years, 9 months ago) by moneta
File length: 68861 byte(s)
Diff to previous 31873
from Axel: 

Shrink THnSparse on disk by 70% in an arbitrary example case; also reduce memory usage, especially when not filling. ***IMPORTANT NOTE***: while new THnSparse objects can be read and e.g. projected from in old ROOT versions, filling a new THnSparse object in old ROOT versions does NOT WORK!

Add SetBinContent(), AddBinContent(), SetBinError() taking the linear bin index. Use it in Projection() for a considerable speed-up.

Technical details: allow full TExMap key size (Long64_t) for direct coordinate <-> hash mapping. Don't store the TExMap but calculate it from the coordinates on demand. Use an endianness sensitive but faster hash algo, now that hashes are transient. No speed difference in filling / reading can be observed (fast hash cancels dynamic TExMap). Old THnSparse objects will have an empty TExMap and cannot identify the bin to be filled, creating a new bin entry instead of adding to an existing one.

Revision 31873 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 14 10:05:39 2009 UTC (5 years, 1 month ago) by brun
File length: 62223 byte(s)
Diff to previous 31207
From Lorenzo:
a patch fixing some comments in the TBackCompFitter and Fitter class and adding 
missing GetMinimizer() and GetObjFunction() methods.

Revision 31207 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 16 16:52:00 2009 UTC (5 years, 2 months ago) by moneta
File length: 62212 byte(s)
Diff to previous 30458
merge from  https://root.cern.ch/svn/root/branches/dev/mathDev/hist/hist  up to revision 31170 
from David and myself 


Summary of major changes: 

- TFitResult, TFitResultPtr

  - add new class TFitResult which extend FitResult with TNamed for the I/O. The result of the fit , including covariance and correlation matrix, minos errors, etc... can then be stored  in a file
  - add a class TFitResultPtr which behaves like a pointer to TFitResult and can be converted to an integer. This class is now returned by TH1::Fit and TGraph::Fit. By default the class contains only the returned integer status of the fit. If option "S" is used the class contains a pointer to TFitResult which can be retrieved using the -> or * operators (like a smart pointer)
The conversion to int provides backward compatibility with the old signature ( int TH1::Fit )

- TH1, TGraph, TGraph2D, TMultiGraph
  change from int Fit(....)  to TFitResultPtr Fit(.....)
  remove internal function DoFit  
  
- THnSparse

  add functionality for fitting a sparse histogram. Default method is the likelihood one. Chi2 can be used with the new option "X"

- FOption

 - add some new options for fitting: 
 
     "S" for storing the fit resul
     "X" for forcing chi2 fit in case of THnSParse
     "EX0" for neglecting errors in X when fitting TGraphErrors

- WrappedMultiTF1

 - make the wrapper for TF1 multi-dim function implementing the gradient interface 

Minos changes: 

 TH1: 
  - add check of compatibility for each bins when using Add on variable bin histograms

 TH3: 
 - fix a bug in setting the entries for a projected 2d profile when using weights
 THNSParse: 
 - set also the entries (and reset statistics) in the projected sparse histogram

 TFormula: 
 - define the number for the 2d function like xygaus or xylandau

 HFItInterface: 
  improve filling data for histograms (add support for bin volume normalization)
  add initialization for exponential and 2d gaus functions

Revision 30458 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 25 15:30:16 2009 UTC (5 years, 3 months ago) by moneta
File length: 59971 byte(s)
Diff to previous 29457
- from David: migrate his changes from dev branch 

  THnSParse 

 - Added a static function to create a THnSparse from a TH1 derived class as demanded in 
    http://root.cern.ch/phpBB2/viewtopic.php?t=7692
 - Small change to make both THnSparse::Divide methods to treat errors in the same way.
 - Implement the multiplication proposal in: http://root.cern.ch/phpBB2/viewtopic.php?t=7692

 TGraph.h 

  'Fix' the problem from http://root.cern.ch/phpBB2/viewtopic.php?t=9208
   Exclude TGraph::Fit(TF1 *) from the fit GUI and keep only TGraph::Fit(functionName) as it is for TH1

Revision 29457 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 14 07:51:20 2009 UTC (5 years, 6 months ago) by moneta
File length: 56300 byte(s)
Diff to previous 28292
From Matus Kalinsky and Axel: implement THnSparse::SetTitle() which also
sets the axes titles like it's done for TH1, TH2, TH3. Rename the
projection target histograms to reduce ambiguity for subsequent projections.

Revision 28292 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 20 15:27:12 2009 UTC (5 years, 9 months ago) by moneta
File length: 54952 byte(s)
Diff to previous 28105
From Axel: 

Fix a bug where the axes of a THnSparse created by THnSparse::Projection() would be filled wrongly if the axis's range was set.
Fix a bug where the TAxis::kAxisRange bit was not reset for the new TH1/2/3 axes created by THnSparse::Projection(), if the original axis had a range and "A" was not given.
Implement new option "O" for Projection(): respect the range set for the target axis (i.e. only project bins that are in range) but create the target histogram with the full axis.

Revision 28105 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 4 13:27:05 2009 UTC (5 years, 9 months ago) by moneta
File length: 52595 byte(s)
Diff to previous 28023
from Axel: 
 Behave like TH1/2/3 and increase the number of entries for THnSparse::SetBinContent().

Revision 28023 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 1 14:44:40 2009 UTC (5 years, 9 months ago) by moneta
File length: 52456 byte(s)
Diff to previous 27763
- merge from dev branch a fix for a bug in multiplication of THnSparse

Revision 27763 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 12 13:22:57 2009 UTC (5 years, 10 months ago) by moneta
File length: 52457 byte(s)
Diff to previous 27215
from Axel: 

 Ensure that the first bin of the axis range is >= 1. Alice found a file with first==0 which causes an access of bin array index -1.

Revision 27215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 22 15:19:31 2009 UTC (6 years ago) by moneta
File length: 52415 byte(s)
Diff to previous 27185
from Axel: 
Now that ranges are allowed for projection target axes, take the bin offset
(target-source bin) into account when filling. And the first bin's lower bin
border is at array index 0, not 1. Fixes
<http://root.cern.ch/phpBB2/viewtopic.php?t=7894>

Revision 27185 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 19 16:19:40 2009 UTC (6 years ago) by moneta
File length: 52274 byte(s)
Diff to previous 26593
from Axel: 

THnSparse::Projection() now behaves like TH3::Projection(): when projecting
onto the X axis, the X axis' range is ignored. The old behavior (where the
projection is done into the range specified for the target axes) can be
selected by passing "a" (for all) to a Projection() overload.

This allows the cloning of a subrange of a THnSparse by setting the relevant
axis ranges and then projecting it from n dimensions into n dimensions.

Revision 26593 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 2 15:50:47 2008 UTC (6 years, 1 month ago) by moneta
File length: 51233 byte(s)
Diff to previous 26506
import changes from David in dev branch: 

THnSparse::Rebin was not properly working. There was a mistake in the calculation of the new bin, failing in the case the values had to go into 
the underflow bin. Discovered thanks to the new tests in stressHistogram.

Revision 26506 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 28 10:02:56 2008 UTC (6 years, 1 month ago) by moneta
File length: 51217 byte(s)
Diff to previous 23881
fix a bug in SetBinError (https://savannah.cern.ch/bugs/?44654)
 now SetBinError enables the error calculation (i.e. calls Sumw2() ) if needed.

Revision 23881 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 16 15:21:54 2008 UTC (6 years, 8 months ago) by moneta
File length: 51016 byte(s)
Diff to previous 23533
from Axel: THnSparse only saves the filled part of its last chunk. When appending bins to a read chunk ensure 
           that we allocate the full chunk size. 
           This is done using a new, non-persistent data member that keeps track of the chunk's current allocation 
           state.

Revision 23533 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 24 16:31:20 2008 UTC (6 years, 9 months ago) by brun
File length: 49922 byte(s)
Diff to previous 23418
From Axel:
there is a bug in GCC 4.3.0 that makes roottest/root/hist/operator/runsparse.C fail in the error calculation part. Funny enough it fails because TH3 messes up its errors (not THnSparse  :-) .

The problem stems from TH1::GetBinError():
   if (fSumw2.fN) return TMath::Sqrt(fSumw2.fArray[bin]);
does not get evaluated properly - it has _horribly_ wrong values, e.g.
  -5063: 0.42
  +5063: 0.648074
("-" is GCC 3.4.6, "+" is GCC 4.3.0)
after scaling a bin with a single entry by 0.42. So this is a real issue. It's possibly connected to the new math compiler intrinsics + pushing their results onto the stack.

Attached patch fixes this, by introducing a temporary.

      Double_t err2 = fSumw2.fArray[bin];
      return TMath::Sqrt(err2);

The patch also fixes THnSparse::Scale() - it was also scaling the entries.

Revision 23418 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 23 09:20:41 2008 UTC (6 years, 9 months ago) by brun
File length: 49896 byte(s)
Diff to previous 23375
Fix a dangerous shadowed variable.

Revision 23375 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 21 20:04:07 2008 UTC (6 years, 9 months ago) by moneta
File length: 49892 byte(s)
Diff to previous 23365
from Axel: 
Implement Projection() for non-uniform bins, too. Simplify and shorten the code considerably (combine projection targets TH1,2,3, THnSparse). 
Also fixes a bug with the projection target's title for THnSparse->THnSparse projections.

Revision 23365 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 21 14:19:12 2008 UTC (6 years, 9 months ago) by moneta
File length: 53690 byte(s)
Diff to previous 23127
from Axel: Implement Merge() for THnSparse

Revision 23127 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 10 21:20:11 2008 UTC (6 years, 9 months ago) by moneta
File length: 52975 byte(s)
Diff to previous 22694
from Axel: 
Implement THnSparse::RebinnedAdd(hnsparse, c), which adds hnsparse*c to this, 
ignoring different bin sizes. 
Can be used to rebin a THnSparse: create a new THnSparse with the binning you want, 
and add the THnSparse with the old binning to it using RebinnedAdd(old).
Also fixes an issue with Rebin() accessing an out-of-bound bin.

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: 52295 byte(s)
Diff to previous 22527
move hist, histpainter, spectrum and spectrumpainter in the hist package.

Revision 22527 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 7 16:37:03 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/hist/src/THnSparse.cxx
File length: 52295 byte(s)
Diff to previous 22295
more gcc 4.3 warning fixes. Remains only some warning in Cint, Reflex
and xrootd.

Revision 22295 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 22 15:17:31 2008 UTC (6 years, 11 months ago) by moneta
Original Path: trunk/hist/src/THnSparse.cxx
File length: 52287 byte(s)
Diff to previous 22055
from Axel: apply patch to fixe two memleaks: an enormous one reported for THnSparse and a tiny one for TH3::ProjectionZ

Revision 22055 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 8 08:07:57 2008 UTC (6 years, 11 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 52233 byte(s)
Diff to previous 21639
Remove unnecessary include "TCanvas.h"

Revision 21639 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 10:48:08 2008 UTC (7 years ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 52254 byte(s)
Diff to previous 21629
From Silvia Arcelli: in projections, reset TAxis::kAxisRange bit instead of manually bringing the coordinates into range for the target dimensions.

Revision 21629 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 10 19:01:09 2008 UTC (7 years ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 52029 byte(s)
Diff to previous 21560
From Axel and Silvia Arcelli:
allow e.g. THnSparse::Projection() to only project non-over- and underflow bins; see documentation in THnSparse::IsInRange().

Revision 21560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 21 15:09:37 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 51138 byte(s)
Diff to previous 21376
From Axel:
Fix error calculation for THnSparse: first calculate the bin's current
error, then add new bin content. Also remove a few stray "return"s.

Revision 21376 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 11:32:33 2007 UTC (7 years, 1 month ago) by rdm
Original Path: trunk/hist/src/THnSparse.cxx
File length: 50705 byte(s)
Diff to previous 21329
fix the remaining bunch of gcc 4.2 warnings.

Revision 21329 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 12 09:37:42 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 50705 byte(s)
Diff to previous 21279
From Axel:
Add doc for THnSparse's internal classes.

Revision 21279 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 7 18:37:01 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 49535 byte(s)
Diff to previous 21199
From Silvia Arcelli and Axel: make THnSparse::Projection() consistent
with the versions from TH3 and (soon) TH2 wrt handling of over- and
underflow bins.

Revision 21199 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 5 07:30:47 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 47412 byte(s)
Diff to previous 21041
Fix coding conventions

Revision 21041 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 13:19:02 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 47413 byte(s)
Diff to previous 20882
From Axel and Silvia Arcelli:
* implement rebinning, add, multiply, divide (incl. binomial)
* fix error calculation, now similar to TH1 etc
* allow for non-equal bin sizes: call constructor without bin edges,
call SetBinEdges() afterwards

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/THnSparse.cxx
File length: 32698 byte(s)
Diff to previous 20202
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 20202 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 4 08:03:17 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 32698 byte(s)
Diff to previous 19826
Fix coding conventions

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/THnSparse.cxx
File length: 32646 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/THnSparse.cxx
File length: 32697 byte(s)
Diff to previous 19822
remove :$ from tag line

Revision 19822 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 15:01:54 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 32707 byte(s)
Diff to previous 19809
From Kaspi (http://root.cern.ch/phpBB2/viewtopic.php?t=5327)
I've realized that my GetRandom method works in a way which is not desired - it also generates vectors corresponding to under/overflow bins. To remove this issue, I choose a simple approach. When ComputeIntegral method is called, it checks for each bin whether the bin exceeds limits in any dimension and if so, its weight is counted as zero. Modified method is in the attachment.

Revision 19809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 17 18:38:45 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 31813 byte(s)
Diff to previous 19806
From Axel:
* fill total sum of weights, squared, and weights times x, weights times
x squared per dimension, add getters.
* set entries in projections, add THnSparse::SetEntries().
* re-sort data members by type.
* fix self-reference in tutorial/tree/drawsparse.C, add warning that it
should be compiled.

Revision 19806 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 17 11:05:02 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 31682 byte(s)
Diff to previous 19800
From Axel:
Change interfaces in THnSparse: from "UInt_t*" to "const Int_t*". Don't
go via interpreter for projecting a THnSparse to a THnSparse. Initialize
the fIntegral member, too. Set axis names and titles. Fix bit counting
when retrieving the coordinates from a compact coord buffer.

Mention tutorials/tree/drawsparse.C in tutorials/hist/sparsehist.C

Revision 19800 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 14 11:28:26 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 30894 byte(s)
Diff to previous 19799
From Axel,
Extend API of several functions with an optional argument Option_t*

Revision 19799 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 13 18:45:31 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 29975 byte(s)
Diff to previous 19798
Fix a fatal compilation error on non-gcc systems in THnSparse::GetRandom.

Revision 19798 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 13 18:24:10 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 29925 byte(s)
Diff to previous 19793
Include THnSparse extension including the new function THnSparse::GetRandom
provided by Kaspi at http://root.cern.ch/phpBB2/viewtopic.php?t=5327

Revision 19793 - (view) (download) (as text) (annotate) - [select for diffs]
Added Thu Sep 13 11:08:35 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/hist/src/THnSparse.cxx
File length: 28259 byte(s)
From Axel:
patch for TArray*.h to add virtual members GetAt()
and SetAt() and for hist/inc/Linkdef.h as needed by THnSparse.

New class THnSparse for sparse n-dimensional histograms.
For more deatils, see comments in class implementation.

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