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

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

Parent Directory Parent Directory


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

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: 13980 byte(s)
Diff to previous 42233
   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 42233 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 24 23:35:45 2011 UTC (3 years, 2 months ago) by wouter
File length: 13527 byte(s)
Diff to previous 42178
  o PiecewiseInterpolation, RooProdPdf, RooRealSumPdf, RooProduct, RooAddPdf, 
    RooAddition, RooHistPdf, RooHistFunc
 
    -  Implement isBinnedDistribution


  o RooSimSplitGenContext

    - New implementation of RooAbsGenContext for simultaneous pdf.
      The difference with the existing RooSimGenContext is that
      the logic is implemented at the generate() level rather than
      the generateEvent() level, which allows to perform mixed
      binned/unnbinned generation


  o RooBinnedGenContext

    - New implementation of RooAbsGenContext that performs binned
      generation, with an unbinned weighted dataset as output.
      This new context implements the algorithm of 
      the now deprecated method RooAbsPdf::generatedWeightedUnbinned()


  o RooSimultaneous

    - Implement method autoGenContext() that selects a split context
      can case (partially) binned generation is requested

    - Deprecate generateMixed() - now absorbed in generate() 
  

  o RooAbsGenContext

    - Make generate() virtual

    - Implement processing of extend mode here too


  o RooCompositeDataStore

    - Fix compiler shadowing warnings


  o RooAbsPdf

    - Add method binnedGenContext() to return a generator context
      for binned generation

    - Add method autoGenContex() that can return either a binned
      or unbinned context depending on the input and circumstances

    - Add support for ExpectedData(),GenBinned(),AllBinned() and AutoBinned()
      in generate()

    - Deprecate generateWeightedUnbinned() - now absorbed in generate()


  o RooLinkedList, RooLinkedListElem

    - Adjust memory management of chain elements to avoid slow heap growth 

   
  o RooGlobalFunc

    - Add GenBinned(),AllBinned() and AutoBinned()


  o Module.mk

    - Add RooSimSplitGenContext, RooBinnedGenContext

Revision 42178 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 22 22:01:30 2011 UTC (3 years, 2 months ago) by wouter
File length: 13541 byte(s)
Diff to previous 42171
  o RooProdPdf, RooProduct, 

    - Fix windows compilation


  o RooGenContext

     - Use fast assign in generate()


  o RooAbsReal

     - Disable two rarely used debug options in traceEval() to increase speed


  o RooAbsCollection

     - In assignValueOnly() also pass the valueOnly flag to copyCache()


  o RooAbsTestStatistic

     - Fix memory leak in 'slow split' mode 


  o RooAbsData

     - Modify copy ctor of dataset with owned components to also clone
       owned components so that 'fast split' support is retained after clone


  o RooCompositeDataStore

    - In copy ctor, explicitly take ownership of cloned components

    - Add accessor method indexCat() to facilitate new RooAbsData cctor


  o RooAbsOptTestStatistic

    - Add flag to keep track if test statistic is already in optimized mode.
      If so, ignore subsequent reoptimization requests.

    - Add flag in setDataSlave() to take ownership of incoming dataset
      (needed for 'slow split' memory management)

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: 13363 byte(s)
Diff to previous 41710
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 41710 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 2 11:39:10 2011 UTC (3 years, 2 months ago) by wouter
File length: 12839 byte(s)
Diff to previous 41703
   Fix for assorted compiler warnings from nightlies (mostly unused params)

Revision 41703 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 1 22:47:22 2011 UTC (3 years, 2 months ago) by wouter
File length: 12839 byte(s)
Diff to previous 41676
   o RooVectorDataStore

     - Correct version this time (with proper support for persistent)


   o RooAbsOptTestStatistics

     - Initialize all pointer data members in all ctors


   o RooCompositeDataStore

     - Implement sumEntries() as forward to components


   o RooAbsArg

     - Another fix for windows static linking

Revision 41676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 1 15:44:30 2011 UTC (3 years, 2 months ago) by wouter
File length: 12438 byte(s)
Diff to previous 41536
   *** Miscellaneous speed improvements ***
  
    o PiecewiseInterpolation

      - Import changes from Max baak (new interpolation options)

      - Deploy fast iterators


    o RooGaussian

      - Bug fix in analytical integral over 'mean' parameter (Lorenzo Moneta)


    o RooBernstein

      - Deploy fast iterators


    o RooProdPdf

      - Reorganize code for improved speed


    o RooDataHist

      - Add support for vector-based data storage


    o RooGenContext

      - Improve generation speed by putting internal pdf clone to ADirty mode


    o RooRealBinding

      - Minimize number of calls to min() and max() for efficiency reasons


    o RooAbsRealLValue

      - In randomize() Minimize number of calls to min() and max() for efficiency reasons


    o RooDataSet

      - Make addFast() even faster by disable state propagation


    o RooAbsGenContext

      - Disable state propagation in output dataset for efficiency reasons
      - Call initGenerator() only on the first generation sequence

 
    o RooVectorDataStore

      - Add support for native vs current buffers, to support the functioning
        of addColumn(s)() and cacheArgs() when the datastore is attached
        to a pdf in RooAbsOptTestStatistics

   
    o RooAbsCategoryLValue

      - Support change in RooAbsCategory to operate nominally by index rather than by label


    o RooXYChi2Var

      - Change code to support new pdf/data attachment scheme in RooAbsOptTestStatistics
        where only the store buffers are reattached and the variable objects themselves


    o RooFFTConvPdf

      - Bug fix in getActualObservables() - functionality of setCacheObs() is now restored


    o RooAbsReal

      - Small adjustments in getVal() to make it faster in most cases


    o RooAbsCollection

      - Add datamember to keep track contents is exclusively RooRealVars. For those that
        do implement a faster version of assignFast()


    o RooAbsData

      - Add methods attachBuffers() and resetBuffers() - forwarded to datastore - that
        facilite new 'fast-attach' methods used in RooAbsOptTestStatistic


    o RooCompositeDataStore

      - Fix copy constructors so that they clone and own the subsidiary datasets

      - Operate index by value rather than by string label for efficiency reasons


    o RooRealVar

      - Bug fix in attachToVStore() to properly handle RRVs with StoreError tags


    o RooAbsPdf

      - Adjustments in getVal() to make it faster for most cases
      - Modify generate(GenSpec*) to initialize specInit flag that
        triggers one-time call of initGenerator()
      - Modify generate() to not repeatedly call initGenerator() for the same gencontext

 
    o RooAbsArg

      - Deploy fast iterators in more places
      - Add various new inline methods performing multiple ops (e.g retrieving and
        clearing one or more dirty flags) for improbed RooAbsReal/RooAbsPdf::getVal()
        operations
   

    o RooBanner

      - Increment version tag to 3.48


    o RooRealIntegral

      - Add overloaded getVal() method that also checks for shapeDirty flag,
        which was removed from RooAbsReal::getVal() as it is not needed for
        any class other than RooRealIntegral


    o RooAddGenContext

      - Disable state propagation in output dataset for efficiency reasons
      - Replace ROOT container classes with STL versions for efficiency reasons


    o RooMultiCatIter

      - Adjust code to new RooCatType behaviour that by default only tracks the
        integer representation of type


    o RooProdGenContext

      - Replace ROOT container classes with STL versions for efficiency reasons


    o RooTreeDataStore

      - Adjust code so that it works with the new fast-attach mechanism used
        in RooAbsOptTestStatistic


    o RooRealProxy

      - In lvptr() remove explicit check for lvalue


    o RooSimGenContext

      - Disable state propagation in output dataset for efficiency reasons
      - Replace ROOT container classes with STL versions for efficiency reasons
      - In createDataSet() create a prototype dataset in the first call, and
        clone that for subsequent calls rather than calling the expensive named
        argument constructor each time


    o RooTrace

      - Add (dummy) method callgrind_zero() and callgrind_dump() as hook functions
        to facilitate improved callgrind profiling


    o RooAbsCategory

      - Adjust class so that it works with the integer representation of types only
        and lookup associated string label on the fly, whenever it is requested


    o RooFormular

      - Eliminate overloaded getVal() as its functionality is now provided in 
        RooAbsReal::getVal()


    o RooAbsOptTestStatistic

      - Implement new fast-attach mechanisms for pdf and datasets: only readjust the
        buffer pointers of the dataset to the pdf observables, rather than reattaching
        the pdf to the dataset observables. This results in a _much_ faster 
        operation of setData() and no longer entangles the test statistics with observables
        of datasets that may be deleted during the lifetime of the test statistic

 
    o RooSimultaneous
 
       - Overload fillDataHist() with new version with correct normalization (from Scott Snyder)


    o RooCategory

       - Adjust getLabel() so that it retries labels associated with the current index on the fly


    o RooCatType

       - Make label contents 'transient', i.e. it is not copied on assignment for faster 
         category operations. RooAbsCategory will load the associated labels on demand from now on.

Revision 41536 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 21 20:30:29 2011 UTC (3 years, 3 months ago) by wouter
File length: 10755 byte(s)
Diff to previous 36222
   *** Deployment of vector datastore & miscellaneous speed improvements ***  

   o RooProduct,RooProdPdf,RooRealSumPdf,RooConstraintSum,RooAddition

     - Deploy minimal iterator


   o RooDataHist

     - Add sumEntries() 
     

   o RooDataSet

     - In ctor, allow choice of vector and tree data store.
     - Change calls to attachToTree() to attachToStore()     
     - Add sumEntries() forwarding call to stre


   o RooVectorDataStore

     - New RooAbsDataStore implementation, based on STL vectors
       rather than TTrees


   o RooAbsReal

     - Adjust getVal() so that clean-cache elements are processed more efficiently
     - Add attachToVStore() 
    

   o RooAbsCollection,RooLinkedList

     - Add minimalIterator() returning by valye a minimistic iterator (forward step only)
       with a non-virtual step function


   o RooAddPdf

     - Deploy minimal iterator
     - Skip evaluation of supplemental normalization factors if the're all one


   o RooAbsData

     - Add static member encoding default storage type (vector vs tree)
     - Add method convertToVectorStore() to convert datasets with a tree-based store
       to a vector-based store


   o RooCompositeDataStore

     - Implement dummy loadValues() method


   o RooRealVar

     - Implement attachToVStore()


   o RooAbsPdf

     - Deploy minimal iterators
     - In getVal() also check for negative integrals as problematic value


   o RooAbsArg
 
     - Implement default version of isDerived() that always returns kTRUE
     - Add pure virtual method attachToVStore()
     - Deploy minimal iterators
     - Implement attachToStore() which forwards to attachToTree() or attachToVStore()
       depending on the storage type


   o RooTreeDataStore

     - Use setOperMode() with recursion where needed instead of looping manually
       over branches
     - Implement sumEntries()


   o RooNameReg

     - Add special fast handling of null pointers for conversions both ways


   o RooAbsCategory

     - Implement attachToVstore()


   o RooRealVar

     - Implement isDerived() method that was orignally in RooAbsArg
     - Implement attachToVStore() that optionally attaches error buffers too


   o LinkDef3, Module.mk

     - Add class RooVectorDataStore


   o RooAbsString

     - Implement dummy attachToStore()


   o RooConstVar, RooCategory

     - Implement isDerived() that always returns kFALSE 


   o RooAbsDataStore

     - Add pure virtual method sumEntries()
     - Add pure virtual method loadValues() 


   o RooLinkedListIter

     - Add class RooMinimalLinkedListIterator for forward-only 
       iteration without virtual function calls 
     - Add typedef to RMLLI
     - Add non-virtual NextNV() to RooLinkedListIter

Revision 36222 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 9 18:27:06 2010 UTC (4 years, 3 months ago) by wouter
File length: 10480 byte(s)
Diff to previous 31258
Another batch of coverity fixes

Revision 31258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 17 22:41:06 2009 UTC (5 years, 2 months ago) by wouter
File length: 10396 byte(s)
Diff to previous 30378
    o  RooAbsDataStore
          
        - Add pure virtual interface for handling of event weights
          
          
    o  RooCompositeDataStore
          
        - Implement forwarder function for weights handling

        - Keep track of 'current' in data member to allow forwarding
          of calls to 'current' dataset 
          
          
    o  RooDataHist
          
        - Export pointers to weights and errors array to RooTreeDataStore

          
    o  RooDataSet
          
        - Adjust to store weight variable in RooTreeDataStore

        - Modify Link() argument in ctor to take both RooDataHist and RooDataSet objects
          
        - Migrate all handling of weights to RooTreeDataStore

        - Deprecate support for changing name of weight variable after construction,
          it is incompatible with the new dataset organization structure.
          

    o  RooEffProd
          
        - Fix bug in persistency
          
          
    o  RooGlobalFunc
          
        - Change argument of Link() from RooDataSet to RooAbsData
          
          
    o  RooHistPdf
          
        - Fix two bugs in handling of partial integrals: 

          1) Correctly fill analVars argument with observables actually 
             integrated internally in getAnalyticalIntegralWN().

          2) Transfer values of pdf observable to histogram observables in
             analyticalIntegralWN() so that correct slice position is taken
             into account in integral calculation          
          
          
    o  RooNumRunningInt
          
        - Fix array overflow bug


    o  RooTreeDataStore

        - Add data members that can optionally hold externaly arrays of weights,
          and add methods to support manipulation of these

        - Implement handling of event weights, either from a weight variable,
          or from an external weights array
         

    o RooNDKeysPdf

        - Bug fix in gauss()

 

    o RooStepFunction 
 
       - Step function defined by external input functions
         for return values and boundaries (contribution bu T. Dupree)


    o RooMultiBinomial

      - New pdf that implements multiple binominals defined from
        N external categories and associated efficiency functions
        (contribution by T. Dupree)


    o RooBanner

      - Increment version tag to v3.11


    o RooRealIntegral

      - Fix small memory leak


    o roostats/MarkovChain

      - Follow change in RooDataSet

Revision 30378 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 23 13:42:12 2009 UTC (5 years, 4 months ago) by wouter
File length: 8937 byte(s)
Diff to previous 30333
  o  Import latest round of updates of roofit(core)
     from dev branch

Revision 30333 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 21 15:39:17 2009 UTC (5 years, 4 months ago) by wouter
File length: 8164 byte(s)
Copied from: branches/dev/roostats/roofit/roofitcore/src/RooCompositeDataStore.cxx revision 30330
Diff to previous 30260
   Import changes in roofit/roofit and roofit/roofitcore from dev/roostats branch

Revision 30260 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Sep 18 18:42:03 2009 UTC (5 years, 4 months ago) by wouter
Original Path: branches/dev/roostats/roofit/roofitcore/src/RooCompositeDataStore.cxx
File length: 8164 byte(s)
    o  RooCompositeDataStore
          
        - New RooAbsDataStore implementation that implements
          concept of virtual composite dataset (not yet complete)

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