Skip to content

Releases: OstapHEP/ostap

v1.4.7.0

06 Feb 13:31
Compare
Choose a tag to compare

v1.4.7.0

New features:

  1. Slight improvements in ostap.fittig.minuit
  2. add new test for ROOT.TMiniut decorations : test_fitting_minuit
  3. allow pathos to be used for paralellization for python version > 3.6
  4. add test test_parallel_dill to check the the problem with combination of different versions of ROOT , dill and python.
  5. improve ostap.fitting.toys
  6. improve ostap.parallel.parallel_toys
  7. add test_fitting_toys
  8. add test_parallel_toys
  9. add examples/tests for evaluation of significance with toys
  10. improve the output of ls-method for for compressed_shelve
  11. few minor tweaks needed for picalib
  12. add DisplayTree into ostap.logger.utils - useful tool to render the tree-like structures
  13. impove ls methods for all shelve-like databases
  14. add ls_tree and ls_table method for ROOT.TDirectory
f = ROOT.TFile ( .. )
f.ls_tree ()
f.ls_table() 
  1. speedup construction of Bernstein polynomials from the list of roots
  2. re-write PDF.wilks method to use ROOT.RooProfileLL
  3. add methods PDF.graph_nll and PDF.graph_profile for
    a bit more easy and more fast drawing of NLL-scans and profiles
pdf = ...
g1 = pdf.graph_nll     ( 'S' , vrange ( 0 , 20.0 , 100 ) , dataset )
g2 = pdf.graph_profile ( 'S' , vrange ( 0 , 20.0 , 100 ) , dataset , fix = ['gamma','mu'] )
  1. allow to suppress certain RooFit message topics from the configuration file, e.g.
[RooFit]
RemoveTopics = Plotting            ,
               Caching             ,
               Eval                , 
               Minization          ,
               Integration         ,
               Optimization        ,
               NumericIntegration  , 
               Fitting     
  1. Add more flexibility for parallel Task : one can specify the additional environment variables, prepend and append path-like environment variables, execution directory, ... variables are expanded.
mytask = MyTask  (... ) 
mytask.environment [ 'LD_LIBRARY_PATH' ] = 'some_directory1:some_directory2' 
mytask.prepend_to  [ 'PATH'            ] = 'some_directory1:some_directory2:some_directory3'
mytask.append_to   [ 'PYTHONPATH'      ] = '$HOME/python'  ## will be expanded at remote host
mytask.directory                         = 'some_existing_remote_directory'
mytask.dot_in_path                       = '.' in sys.path 
  1. add new function random_random into ostap/parallel/utils.py, that sets (hopefully) proper seeds for the random, ROOT.gRandom and ROOT.RooRandom
  2. add invocation of random_random from initialize_remote for the parallel toys.
  3. add methods graph_nll and graph_profile for class SimFit
pdf = ...
g1 = pdf.graph_nll     ( 'S' , vrange ( 0 , 20.0 , 100 ) , dataset )
g2 = pdf.graph_profile ( 'S' , vrange ( 0 , 20.0 , 100 ) , dataset , fix = ['gamma','mu'] )

Backward incompatible changes

Bug fixes:

  1. Tiny fix in ROOT.TMinuit.cor
  2. Tiny fix in ROOT.TMinuit.cov
  3. more fixes in ostap/fitting/minuit.py
  4. small fixes in ostap/fitting/toys.py
  5. tiny fix in ostap/math/random_ext.py
  6. Fix signature of ds_project method from ostap.fitting.dataset.py
  7. few minor fixes needed for picalib
  8. fix Ostap::HistoProject::project for weighted RooAbsData,
    now uncertainties are evaluated correctly, properly accounting the errors in weights
  9. fix typo in paralllel_toys2
  10. fix random_random for python3

v1.4.6.0

21 Jan 08:12
05cdf4a
Compare
Choose a tag to compare

v1.4.6.0

New features:

  1. Add new method dct_params for ROOT.RooFitResult, that gets a dictionary of all parameter values
  2. plotting/canvas.py: Add option to save the canvas congent in tar/tgz/zip-archives:
canvas >> 'test.zip'
canvas >> 'test.tar'
canvas >> 'test.tgz'
  1. ostap/fitting/toys.py new module with simple functions to perform fitting toys
pdf = ...
results , stats = make_toys ( pdf      ,           ## PDF  to use 
                  1000                 ,           ## number of toys 
                  [ 'mass' ]           ,           ## varibales in dataset 
                  { 'nEvents' : 5000 } ,           ## configuration of pdf.generate
                  { 'ncpus'   : 2    } ,           ## configuration of pdf.fitTo
                  { 'mean' : 0.0 , 'sigma' : 1.0 } ## parameters to use for generation 
                 )
  1. ostap/parallel/parallel_toys.py a version of fnuctoion above for the
    parallel execution via multiprocessing and/or parallel python)
  2. add method evaluate for ROOT.RooFitResult to evaluate the arbintrary function of
    fit-parameters with uncertaionties
res = ... ## ROOT.RooFitResult object
fun = lambda x,y,z :  x*x+y*y+z*z 
val = res.evaluate ( fun , ('x' , 'y' , 'z') ) 
  1. add EvalNVEcov and EvalNVEcor evaluators into ostap.math.derivative module.
    These objects evalaute the value of function of N-argument taking into account
    the uncertainties and correlations
  2. add method max_cor to ROOT.RooFitResult to obtain the maximal correlation coefficient
res = ...  ## ROOT.RooFitResult
coefficient , variable = res.max_cor ( 'X' ) ## get the maximal correlation
  1. add the column Global/max correlation for the table form of ROOT.RooFitResult
  2. add ncpus argument to ostap.parallel.parallel_toys.parallel_toys

Backward incompatible changes

Bug fixes:

  1. Minor fix in Files.hadd
  2. Couple of minor fixes in
    • ROOT.RooFitResult.sum
    • ROOT.RooFitResult.multiply
  3. Couple of minor fixes in ostap.math.derivative

v1.4.5.0

05 Dec 16:21
Compare
Choose a tag to compare

v1.4.5.0

New features:

  1. Add new functions:
    • parameters
    • parameter ( and shortcut as __getitem__ )
      for the base class PDF to allow "easy" access to the values of
      parameters by name, e.g. a = pdf['A'] or a = pdf.parameter('A')
  2. New function mid_point is added to PDF-base class,
    defined as 0.5*(x_low + x_high), where f(x_low)=f(x_high)=0.5 * f_max.
    x_low and x_high are the same points used for evaluation of FWHM.
    It characterises the location of the peak, similar to mode, median,
    get_mean and other related functions
  3. Add ResoBukin - symmetric resolution function based on Bukin-pdf.
  4. Update tests_fitting_resolutions.py
  5. Add Losev-function&pdf - a kind of asymmetric hyperbolic secant function
    • Ostap::Math::Losev
    • Ostap::Models::Losev
    • ostap.fitting.signals.Losev_pdf
  6. tune RooFitResult.table printout method
  7. update some fitting examples
  8. add option/property directory for ostap.parallel.task.Task to indicate
    the directory where the job needs to be executed
  9. add option/property environment for ostap.parallel.task.Task to
    setup additional environmental variables (if needed)
  10. Add argument keys for the method clone for all databases, allowng to
    copy only certain keys into cloned database. (Default: copy all keys)
  11. add json, gif and jpg output formats for default canvas >> 'aaa' operator
  12. add hadd method for ostap.trees.data_utils.Files to merge ROOT file via hadd script

Backward incompatible changes

  1. MASSIVE RENAME/FIX: Apolonios -> Apollonios
  2. Add jobid argument for Task.process
    • All existing tasks are updated properly
    • All new functions and tasks must take this argument into account!

Bug fixes:

  1. Fix minor bug in ResoBukin-resolution function

v1.4.4.2

25 Nov 12:15
Compare
Choose a tag to compare

v1.4.4.2

New features:

  1. table function for RooFitResult: print object in a form of a nice table
  2. ostap.logger.utils set of minor functions for nice printout
    • pretty_float : print float
    • pretty_ve : print float and error
    • pretty_2ve : print float with asymmetric errors
  3. ostap.logger.table : add function align_column to aling the column for a given table

Bug fixes:

Very similar to v1.4.4.0 with tiny fix for old version of ROOT

24 Nov 16:24
Compare
Choose a tag to compare

Very similar to v1.4.4.0 with tiny fix for old version of ROOT

v1.4.4.0: 1. Redesign all *shelve-like data bases,

24 Nov 15:19
Compare
Choose a tag to compare
  1. Redesign all *shelve-like data bases:
    • add abstract base class
    • implement concrete databases :
      • zipshelve (ZIP/GZIP compression )
      • bz2shelve (BZIP2 compression) in terms of base class
      • lzshelve (LZMA-compression) only for python3
  2. impove timing functions
  3. improve TTree.the_variables
  4. selector via frames: change order of variables in snapshot
  5. improve statistics for selectors
  6. improve a bit printout for TTree/TChain (sorted, type,...)
  7. improve a bit printout for DataFrame (sorted)
  8. generate temporary column names for DataFrame using hash instead of random
    • it allows better debugging (reproducible)
  9. re-enable security key for paralell python servers
  10. Update all tree-collection utilities
    • Files
    • Data
    • Data2
    • DataAndLuimi
  11. Add colorization to progress bars
  12. fix (hope) segfaults for adding new branch to tuple
  13. Improve colorization
  14. make optional use of terminaltables package
  15. add local function to format tables
  16. improve printout of trees and datasets
  17. more improvements in tables&colorization
  18. improve reweighting machinery
  19. add 2D and 3D moments for the historgams
  20. improve 2D histos comparison functions
  21. improve progress bar
  22. fix addition of new brnaches to TTree/TChain and whole IFuncTree machinery
  23. change the names for example-tests
  24. add script to check the dependensies
  25. one more attempt to fix the crash for FuncTH1
    • add_branches - Notifier is not invoked... Invoke it explicitely!
    • FuncTH1::Notify : reset/delete formula instead of Notify...
    • fixes in Notifier
    • few more fixes
    • add a test for add_branches
  26. make a try to polish a bit the Doxygen/Sphinx machinery
  27. PDF.draw_nll : fix bug for the weighted datasets
  28. Update test_tools_reweight2.py
  29. Add Ostap::Math::ChebyshevApproximation
  30. bug fix in add_branch
  31. extend PDF.nll to accept all keywords
  32. unify PDF.nll keywords with pdf.fitTo keywords
  33. tmva & tmva/chopping: fix problem with non-deleted temporary files/directories
  34. cleanup : add concept of "local" trash, to be deleted when CleanUp instance is deleted
  35. mp_pathos & parallel/task: improve the output of the final statistics, add total time and CPU gain due to paralellization
  36. minor fix in TGraphAsymmErrors.transform
  37. add_branch/add_new_branch
    • extend current functionlaity allowing to add several branches at once
  38. Add "clone" methods for all io-databases
  39. Add dump_root module/utility/recipe to allow reading of databases
    created with "old" ROOT versions, with old version of streamers
  40. add/extend math-function for graphs
  41. remove drawing artifacts for PDF.draw_nll method
  42. Add ROOT.TGraph.remove method
  43. Improve ROOT.TGraph.filter method
  44. Add plotting options for combined_background, combined_signal and combined_components
  45. Extend the signature for Ostap::Math::gauss_pdf/gauss_cdf
  46. Add PSSmear_pdf - smeared version for PhaseSpace-based PDFs
  47. Add signals & backgrounds keywords for Fit1D-constructor
  48. Add 'args' argument to draw-functions
  49. Add possibility for prefilter of data for TMVA/chopping.
  50. Allow TMVA/chopping tools to process RooFit datasets: (converted internally to TTree)
  51. optimize evaluation of polynomials in Ostap::Math
  52. Add Ostap::Math::Clenshaw::term - evaluate the N-th term of the recursive sequence
  53. Add Ostap::Math::barrier_factor - evaluation of Blatt-Weisskopf angular momentum
    centrifugal form factors for arbitrary angular momenta
  54. Fix but in VE.purity : Thanks to Alexey Dziuba
  55. Improve configuration of canvas&styles
  56. Few fixes in Dalitz, epsecially for drawing it
  57. Add DalitzIntegrator for relatively efficient integration over Dalitz plot
  58. Add true analytical 3-body phase space
  59. Add check for duplicated variable/pdfs names
  60. Add ProgressBar action for DataFrame, now one can display the progress bar
    during the processing of large frames.
  61. Add context manager to remove/add certain topics to RooMsgService

1.4.3.1

18 Aug 17:51
787513d
Compare
Choose a tag to compare

osX

1.4.3.0

17 Aug 17:40
cb970a9
Compare
Choose a tag to compare

osX

Relelase v1.4.2.0

05 Jul 13:45
Compare
Choose a tag to compare

Relelase v1.4.2.0

version v1.4.1.0

25 Jun 07:54
Compare
Choose a tag to compare

Updates in many subpackages...