[root] / trunk / roofit / roofitcore / src / RooHistFunc.cxx Repository:
ViewVC logotype

Log of /trunk/roofit/roofitcore/src/RooHistFunc.cxx

Parent Directory Parent Directory


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

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: 11344 byte(s)
Diff to previous 44310
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 44310 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 25 23:03:53 2012 UTC (2 years, 7 months ago) by wouter
File length: 11322 byte(s)
Diff to previous 44308
  o RooAbsPdf

    - in getLogVal() check that pdf values is not NaN, if so cal logEvalError()



  o RooHistFunc

    - Advertise plotSamplingHist and binBoundaries even when intOrder=1

Revision 44308 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 25 22:42:56 2012 UTC (2 years, 7 months ago) by wouter
File length: 11322 byte(s)
Diff to previous 42963
  o RooPlot

    - In ctors restore TH1::AddDirectory state to original value
      rather than setting it back to kTRUE


  o RooHistFunc

    - Allow analytical integration at 1st order interpolation (in addition to 0th)


  o RooFitResult

    - Make status history accessors const


  o RooAbsPdf

    - in extendedTerm() explicitly handle case Nobs=Nexp=0 so that it doesn't generate a NaN

    - in extendedTerm() explicit check that nExp>=0 and not NaN, otherwise call logEvalError()

    - Process named argument GlobalObservablesTag(const char*) as specification of global observables:
      all observables with getAttribute(tagName) om the pdf will be interpreted as global observables


  o RooMinimizerFcn

    - Introduce fast parameter lookup with vector (as was already done in RooMinuit)


  o RooGlobalFunc

    - Introduce named argument constructor function GlobalObservablesTag()


  o RooWorkspace

    - Improve handling of objects with AutoDirectoryAdd() in import

Revision 42963 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 10 16:20:26 2012 UTC (2 years, 11 months ago) by wouter
File length: 11323 byte(s)
Diff to previous 42950
  Assorted bug fixes
 
  o RooGaussModel

    - Fix 2 minus signs in cosh convolution term for flip-side decays
      (fixes Savannah #90845)


  o RooSpHarmonic

    - Fix in expression of partial integral (from G. Raven)


  o RooProdPdf, RooAbsAnaConvPdf, RooAddPdf

    - Adapt to auto-sizing AIC caches 



  o RooCachedReal

    - Eliminate progress indicator for cache filling


  o RooHistFunc

    - Advertise maximum of RooHistFunc through dedicated interface
      to speed up generation of pdfs that use a RooHistFunc as efficiency


  o RooAbsCachedReal

    - Move cache operation message from INFO to DEBUG level

  
  o RooAbsCollection

    - Inline method fwdIterator() for increased speed


  o RooAICRegistry

    - Use stl vector instead of static array for contents to avoid
      overflow when using complex pdfs [ R. Aaij ]


  o RooAbsTestStatistic

    - Fix memory leak (reported on Forum)


  o RooEffGenContext

    - More efficient implementation using kwown maximum value of efficiency
      function (if advertised) [ from G.Raven/R.Aaij ]

Revision 42950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 9 21:21:53 2012 UTC (2 years, 11 months ago) by wouter
File length: 10609 byte(s)
Diff to previous 42171
   Assorted bug fixes

   o RooChi2Var, RooXYChi2Var, RooDataWeightedAverage, RooNLLVar

     - Deploy upgraded interface of recalculateCache()


   o RooAbsDataStore

      - Extend interface for recalculateCache() to take needed
        info for smart recalculation when using NCPU>1 and to
        pass needed info for proper handling of normalization
        observables


   o RooCompositeDataStore

      - Forward recalculateCache() to components (should not
        be needed but just in case)


   o RooVectorDataStore

     - Treat conditional observables properly in the normalization
       set passed to cached pdfs

     - Only update elements that are actually being recalculated
       when using NumCPU>1


   o RooAbsAnaConv

     - Persist _model so that generation works after persistence

 
   o RooAbsReal

     - Disable cache-and-track when making plot projections
       with DataWeightedAverage, as this cannto work because
       the needed information for normalization is not available

     - Reinstate cloning of the function in fillDataHist(). Without
       it is is possible to trigger as accidental 'self-destruct'
       of cached normalization objects that call fillDataHist()


   o RooCachedReal

     - Make evaluate() return _func instead of null to make
       disableCache mode of base class functional

     - Initialize data member _useCdfBoundaries in all ctors

Revision 42171 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 22 16:38:52 2011 UTC (3 years, 2 months ago) by moneta
File length: 10608 byte(s)
Diff to previous 39945
import from the 5.32 patches changes from revision 42089 until 42170

See 

  http://root.cern.ch/viewvc?view=rev&revision=42089

  http://root.cern.ch/viewvc?view=rev&revision=42128

  http://root.cern.ch/viewvc?view=rev&revision=42153

Revision 39945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 24 14:06:56 2011 UTC (3 years, 7 months ago) by wouter
File length: 9415 byte(s)
Diff to previous 39919
  

    o RooHistFunc,LinkDef3

      - Apply same fix to streamer as done in RooHistPdf
        to ajust proxyList


    o RooAbsArg

      - Add RooHistFunc as friend


    o RooChi2Var

      - Savannah bug fix #81582


    o RooHistError

      - Savannah bug fix #80991


    o ToyMCSampler,ProfileLikelihoodTestStat

      - Implement 'dual switch' for speed optimization: a switch per object
        and a static switch for all objects (the 'or' is used). The default
        remains off.

Revision 39919 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 20:36:11 2011 UTC (3 years, 7 months ago) by wouter
File length: 8976 byte(s)
Diff to previous 38909

  Import changes from dev/roostats. Mostly small
  fixes.

Revision 38909 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 18 21:05:15 2011 UTC (3 years, 9 months ago) by wouter
File length: 8949 byte(s)
Diff to previous 25209

  Assorted Coverity fixes

Revision 25209 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 22 13:08:40 2008 UTC (6 years, 5 months ago) by wouter
File length: 8882 byte(s)
Diff to previous 24278

   o RooAbsReal

     - Add interface to specify hint for plot sampling binning. This is useful
       for p.d.f.s shapes such as un-interpolated histogram p.d.f.s that may
       not correctly converge on a good projection curve using the default
       recursive division strategy without an initial hint on where to sample.

   o RooHistPdf,RooHistFunc

     - Implement plotSamplingHints() method that suggests to same just before
       and just after each bin boundary


   o RooProdPdf

     - Forward plotSamplingHint() from relevant component p.d.f.s


   o RooAddPdf

     - Implement plotSamplingHints() that forwards hints of component p.d.f.s
       and merges them if necessary


   o RooRealIntegral

     - Forward plotSamplingHint() from integrand
    

   o RooAbsFunc

     - Define plotSamplingHints() interface


   o RooRealBinding

     - Implement plotSamplingHints() method that forwards hints from bound RooAbsReal


   o RooScaledFunc

     - Implement plotSamplingHints() method that forwards hints from bound RooAbsFunc


   o RooCurve

     - Use plot sampling hints define by input function to perform initial sampling
       if provided, otherwise fall back to default strategy of frame binning sampling.


   o RooBanner

     - Upgrade version tag to 2.90


   o RooCintUtils

     - Adjustment in CINT include file location

Revision 24278 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 15 15:21:16 2008 UTC (6 years, 7 months ago) by wouter
File length: 7514 byte(s)
Diff to previous 24144
   o RooMPSentinel WHERE RooGenContext RooLinearMorph RooHistFunc RooInvTransform RooFracRemainder 
     RooIntegrator2D RooGaussKronrodIntegrator1D RooFitResult RooFFTConvPdf RooHist RooFormula RooIntegrator1D 
     RooMCStudy RooGenericPdf RooIntegratorBinding RooMPSentinel RooImproperIntegrator1D RooExtendPdf RooInt 
     RooLinTransBinning RooLinkedList RooLinkedListElem RooGenCategory RooList RooGrid RooLinkedListIter 
     RooMCIntegrator RooHistPdf RooListProxy RooFormulaVar RooHistError RooLinearVar RooGenProdProj RooHashTable

     - Upgrade inline documention: make sure that (almost) every member function has some descriptive comments, every
       data member has a descriptive comment, make sure that each class has a description.

     - Fix class description header so that it is correctly identified by THtml

Revision 24144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 4 15:49:14 2008 UTC (6 years, 7 months ago) by wouter
File length: 6587 byte(s)
Diff to previous 24119
  o RooDataHist

    - Fix bug in sum(), multiply with bin volume, rather than divide by it


  o RooHistFunc, RooHistPdf

    - Use bin-volume corrected sum in analytical integral implementation

Revision 24119 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Jun 3 18:42:54 2008 UTC (6 years, 7 months ago) by wouter
File length: 6588 byte(s)
   o RooAbsSelfCachedPdf

     - Follow changes in RooAbsCachedPdf 


   o RooCachedPdf

     - Add option to override default choice of cache observables
       (the normalization observables) with a specific set of variables
       to make it possible to also cache p.d.f values for all values
       of given parameters as well.

     - Forward analytical integration capabilities to actual cache p.d.f

     - Forward calls on preferred observable order to cached p.d.f


   o RooDataHist
       
     - Add option to bin dataset in alternate binning configuration, as 
       specified by binning name in constructor.

     - Add feature to weight() function to enforce special boundaries
       when interpolating a histogram representing a cumulative distribution function. 
       If so, lower-side bounds are forced to zero and upper-side bounds are
       forced to 1.0 instead of the default mirroring strategy


   o RooMsgService

     - Add new topic NumericIntegration

     - Show PROGRESS level messages by default


   o RooAbsSelfCachedReal

     - New base class for self-caching RooAbsReal objects analoguous
       to RooAbsSelfCachedPdf


   o RooCachedReal

     - New class to cache arbitrary RooAbsReal function objects,
       analogous to RooAbsCachedPdf


   o RooRealBinding

     - Add feature to save and restore values of input variables,
       used by RooRealIntegral to restore observable values after numeric
       integration to original values.


   o RooLinearMorph

     - New operator p.d.f class implementing using the algorithm described
       by Alex Read in NUM A 425 (1999) 357-369 'Linear interpolation of histograms'.
       This class implements a generalization for continuous p.d.f 


   o RooAbsRealLValue

     - Following changes in RooAbsLValue

 
   o RooHistFunc

     - Real-valued function modeled by external RooDataHist object, analoguous to RooHistPdf,
       but without normalization support and allowing negative histogram values


   o RooAbsCachedReal

     - New abstract base class for caching functions, analoguous to RooAbsCachedPdf.
       

   o RooFracRemainder

     - New dedicated helper class to calculate the remainder fraction of a RooAddPdf, i.e. 1-sum(i)x_i
       for a given RooArgSet x


   o RooCustomizer

     - Fix memory management issue for sterile use


   o RooAbsCategoryLValue

     - Follow changes in RooAbsLValue


   o RooNumCdf

     - Specialization of RooNumRunningInt to calculate running integrals of p.d.f.s:
       the running integral is by construction normalized to one exactly, taking out
       any possible imprecisions in the regular integral calculation and by imposing
       special constraints on the RooHistFunc that models the output so that the boundaries
       are constrained to exactly 0 and 1 when interpolation is used.


   o RooFFTConv

     - Fix bug in cache naming algorithm

     - Follow changes in RooAbsCachedPdf


   o RooChangeTracker

     - New special purpose object that tracks changes in a given set of variables, used
       to determine if cached p.d.fs in RooAbsCachedPdf and RooAbsCachedReal need to
       be recalculated due to parameter changes. In addition to valueDirty tracking,
       an explicit comparison can be made to stored reference values of variables,
       to avoid recalculation of expensive quantities in case a valueDirty is propagated
       even if the value did not change (this can e.g. happen when you step though
       a RooDataHist where usually only one of the observables changes value, but
       all observables propagate a valueDirty every time)


   o RooHist

     - Bug fix in makeResidual()


   o RooAbsReal

     - Fix small memory leak in createIntegral

     - Expand functionality of fillDataHist: optional correction for binVolume
       when filling, and optional progress indication.

     - Modify logEvalError() so that when cumulative logging for Minuit is disabled
       that messages are printed through the standard message logging service.

     - Modify error logging so that name of objects are stored in addition to 
       pointers so that delayed logging of errors of (cache) objects that no
       longer exists can be performed correctly.

     - Add virtual function preferredObservableScanOrder() to indicate preferred
       order in which multi-dimensional functions should be scanned into a 
       RooHistPdf, which may matter greatly for the performance of certain
       p.d.f.s like RooFFTConvPdf and RooLinearMorph

     - Add new function createRunningIntegral() which constructs for a given F(x,y) 
       a Int[xlo,x] F(x',y) dx. The default strategy is to construct the underlying
       integral with createIntegral() and adapt it with a RooCustomizer and a RooParamBinning
       to a running integral. In case it concerns a one-dimensional numeric running
       integral, the running integral is represented by a dedicated class RooNumRunningInt
       which scans the integrand and numerically integrates the scanned histogram


   o RooAbsCollection

     - Bug fix in nameFieldLength handling of print routine


   o RooAbsCachedPdf

     - Introduce explicitly the strategy that the cache contains the _normalized_ p.d.f. values,
       so that no postior normalization integral is required. This has the added advantages that
       the cache p.d.f can be instructed to consider itself normalized skipping an explicit
       normalization step in the RooHistPdf.

     - Add utility function getCachePdf() and getCacheHist() to retrieve cache p.d.f and histogram
       for a given choice of normalization set

     - Clean up structure of CacheElem nested class by making guts private and providing accessor
       function for derived CacheElem classes. Virtualize cache creation with a new member function 
       createCache that will allow derived classes to create a derived CacheElem.

     - Forward integration handling to cache pdf actually being used


   o RooDataHistSliceIter

     - Follow changes in RooDataHist for alternate binning 


   o RooRealMPFE

     - Follow changes in eval error logging in RooAbsReal


   o RooAbsPdf

     - Add createCdf() function to create cumulative distribution functions from p.d.f.s. This is 
       quite similar to RooAbsReal::createRunningIntegral() but with some c.d.f specific features
       related to constraints on normalization


   o RooAbsArg 

     - Fix bug in optimizeCacheMode()


   o RooBrentRootFinder

     - Improve error messaging through RooMsgService interface.


   o RooCmdArg

     - Expand payload from 2 to 3 strings


   o RooSimWSTool

     - Complete rewrite of RooSimPdfBuilder integrated with RooWorkspace for object storage.


   o RooNumRunningInt

     - New dedicated class to calculate running integral of any function that does not have
       an analytical integral implementation. This class scans such a function in a histogram
       and then numerically integrates the histogram. The filling of the histogram is performed
       adaptively using a recursion division strategy with a precision cutoff to save time
       of the filling of smooth functions in finely binned histograms


   o RooMultiCategory, RooSuperCategory

     - Minor tweak in name of proxies


   o RooAbsIntegrator

     - Deploy save and restore functionality of RooAbsFunc/RooRealBinding to restore observable
       values to prior values after an intergration step. 


   o RooMinuit

     - Fix gcc 4.3 compiler warning


   o RooWorkspace

     - Add bulk import() function taking a const RooArgSet instead of a RooAbsArg
 
     - Add RecycleConflictNodes() option to ignore conflicts and simply recycle internal
       nodes when a different external node is encountered.

     - Add new accessors catfunc() for category functions, arg() for generic RooAbsArgs,
       and funcArg() for fundamental arguments of any type.

     - Add separate section for category functions in Print()


   o RooHistPdf

     - Add option to declare contents unit normalized. When activated, the analytical
       integral is hardwired to 1. 

     - Add option to propagate cdfBoundaries mode to the underlying RooDataHist.


   o RooAbsOptTestStatistic

     - Optimize handling of empty rangeName specification (from Alfio)


   o RooSimultaneous

     - Tune proxy names

     - Make p.d.f return zero, in case index category is in state where no p.d.f is assigned,
       rather that assert(0)


   o LinkDef3.h, Module.mk

     - Add new class definitions

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