Skip to content

Releases: OstapHEP/ostap

v1.6.3.0

31 Aug 07:33
Compare
Choose a tag to compare

v1.6.3.0

New features

  1. reenable pathos for (3.6<=python & 0.3<=dill )
  2. add statVars for RooAbsData
  3. largely reshuffle code for statVar/statVars
  4. extend Ostap::DataFrame
  5. add StatVar and WStatVar lazy actions for DataFrame
  6. make user-fiennly frame -> histogram projetctions
  7. add frame_table, 'frame_project', frame_statVar and other functions
  8. simplify trees/data_utils.py make it more robust and reduce number of alive TChain instances
  9. Extend a bit sumamry plot with simple Point and Interval objects
  10. add pip install for CMAKE
  11. fix numpy.bool warning for newer versions of numpy
  12. add Ostap::Math::A2
  13. add (pi^2)/4*(2pi)^-5 factor for Ostap.Math.GammaBW3
  14. add Ostap::usedVariables
  15. fix Ostap::usedVariabled for old versions of ROOT

Backward incompatible changes:

Bug fixes:

  1. bug fix in canvas >> '...'
  2. make proper replacement for random.choices for python < 3.6
  3. fix marker color for default style
  4. fix a bug in fraction naming for non-extedned fits (thanks to Dima Pereima)

v1.6.2.0

16 May 14:02
Compare
Choose a tag to compare

v1.6.2.0

New features

  1. make names of created PDF and RooAbsPdf objects unique.. It is not yet 100%, but a good step in this direction.
  2. add "cut-off" functions and PDFs
  3. improve treatment of "tags" for C++ models.
  4. improve spline <--> graph relations
  5. add da_combine functions to combine two datasets with weights
  6. add Ostap::Utils::storeError, 'Ostap::Utils::storeAsymnError' helper functions
  7. add methods wname, store_error and store_asym_errors to ROOT.RooDataSet
    1, add PSSmear2_pdf generic smearing of the left edge of the phase space
  8. more coherency for different Ostap::Math::PhaseSpace* classes
  9. extend and improve PSLeftExpoPol_pdf and PSLeft_pdf, make them more coherent
  10. add functionality for jackknife and bootstrap analyses for fit biases and error estimates
  11. better output report from Jackknife and Boostrap studies
  12. add parameter frequency to roys, toys2, jackknife and boostrap tools ostap/fitting/toys.py
  13. propagare more_vars to the output reports of Jackknife and Boostrap studies
  14. allow derived quantitites to be added into the output table of RooFitResult
  15. add getitem stuff for RooFitResult to allow interchange with dictionaries
  16. add split_range generator to splti large range into smaller chunks
  17. make creation and managemenbt of temporary files and directories more robust, probably more efficient, use better namings, ...
  18. add timeout parameter for sqlitedict and sqliteshelve
  19. make use of berkeleydb for 3.6<=python

Backward incompatible changes:

Bug fixes:

  1. fix asserion statement in dalitz.py
  2. fix a bug in analytic three-body phase space for cases with zero masses
  3. fix a bug in numerical three-body phase space for case with all zero masses
  4. fix a bug in __getitem__ for range/slice/index sequecne for the weighted datasets - the event weigth was propagates incorrectly. Thanks to Dmitry Pereima.

v1.6.1.0

22 Mar 17:03
Compare
Choose a tag to compare

v1.6.1.0

New features

  1. Add Ostap::Math::Hyperbolic hyperbolic distribition
  2. Add Ostap::Models::Hyperbolic hyperbolic distribition
  3. Add Hyperbilic_pdf hyperbolic distribition
  4. Add ROOT.TGraph.merge
  5. Improve treatment of GSL errors

Backward incompatible changes:

Bug fixes:

  1. Fix some tiny incorrectnesses in Ostap/MatrixUtils2.h
  2. Fix small problem in ostap.utils.utils.KeepCWD context manager
  3. Tiny fix in graph_summary

v1.6.0.0

15 Mar 10:06
Compare
Choose a tag to compare

v1.6.0.0

New features

  1. Add FlattePS_pdf - similar to BWPS_pdf
  2. Make few important steps towards ROOT 6.23/01 ("New PYROOT"). Full adaptation is not yet achieved, there are some pending problems with effective inheritance from C++ classes (namely TSelector, PyPDF, PyVAR, ...). There are also some puzzling crashes...
  3. rename tests, make test selection more transparent and easy to navigate back
  4. rename ostap/fitting/selectors.py to ostap/fitting/pyselectors.py to avoid the name clash for python3
  5. add helper script pplaunch to launch remote pp-servers via ssh tunnels
  6. update PyVar, PyVar2, PyPdf,PyPdf2
  7. (almost) complete update for new PyROOT
  8. fix test_fitting_minuit_weighted - thanks to Dima Golubkov
  9. make more coherent treatment of ROOT issues
  10. fix minuit for new PyROOT (signature of FCN is different!)
  11. minor update for minuit : from now allow access by parameter name:
minuit        = ...
minuit['p2']  = 10 
minuit.minos   ('p1','p2',...)
minuit.release ('p3')
  1. update pptunnel + pplaunch with better and more informative output
  2. add Ostap::Math::BW3L, Ostap::Models::BW3L, BW3L_pdf and extend test ostap/fitting/tests/tests_fitting_breiwigner.py - resurrected version of the Breit-Wigner profile from 3-body decays
  3. add check for more_itertools, provide replacement for chunked when more_itertools is not available
  4. update Ostap::Math::NSphere and Ostap::Math::Positive such that for null-parameters the reusltin poisitve function is a constant. The trick is based on properties of Chebyshev polynomials of 1st,. 2nd, 3rd and 4th kind.
  5. ostap.logger.table add parameter alignment that specifies the column alignment.
  6. ostap.parallel.task add parameter batch, that allows to execute the tasks in batch mode
  7. re-add generic Breit-wigner channel Ostap::Math::ChannelGeneric (for ROOT>=6.23/01 only)
  8. add method amplitude for Ostap::Math::ChannelBW
  9. re-remove generic Breit-wigner channel Ostap::Math::ChannelGeneric
  10. change the default sample argument for PDF.generate from False to True
  11. tiny fix for the table column alignment
  12. add #include <string> for NSphere.h - for certain configuration it prevents compile error (thanks to Abdul-Kerim Gusseinov)
  13. Add parameter accept_fun for toys - that allows to (re)define the accepance criteria, the default corresponds to accept_fit function from ostap.fitting.toys module, that checks the fit status (0) and covariance matrix status ( 3 or -1)
  14. Add parameter fit_fun for toys - that allows to (re)define the default "fit"-policy
  15. Add parameter gen_fun for toys - that allows to (re)define the default "generation"-policy
  16. test_plotting_summary_graph.py : add call for ROOT.gPad.RedrawAxis - thanks to Tom Blake
  17. add **kwargs for all parallel-methods, arguments are used for WorkManager
  18. remove evaluateBatch form all PDFs (folloiimng evolution of ROOT). We need to gradually introduce evaluateSpan
  19. Ostap::Math::GammaBW3: use 1/s factor instead of 1/s^3/2. thanks to Misha Mikhasenko!
  20. Add symmetic Sinh-Asinh resolution model ResoSinhAsinh
  21. Add symmetic Jonhson's SU resolution model ResoJohnsonSU
  22. fix for the new signature of TDirectory::CurrentDirectory() method
  23. fix/rewrite/improve ostap.histos.compare module
  24. improve reweighting machinery: make it more tunable (and less automatic) and more suitable for multidimensional reweighting.
  25. Add new context manager SETPARS and use it in PDF.wilks , PDF.wilks2 , PDF.draw_nll, PDF.graph_nll, PDF.graph_profile
  26. Add logistic/"sech-squared" resolution model ResoLogistic
  27. Improve PDG.graph_profile/PDF.graph_nll : add draw argument to draw the graph in progress
  28. Better (but not perfect yet) treatment/assignement of the unique names for many intermediate objects

Backward incompatible changes:

  1. Reweighting machinery: different signature of makeWeights function - new argument make_plots, different meaning of argument power, different return value

Bug fixes:

  1. fix bugs in Ostap::Math::BWPS

v1.5.0.4

28 Aug 11:04
Compare
Choose a tag to compare

v1.5.0.4

New features

  1. add Ostap::Math::BWPS, Ostap::Models::BWPS and BWPS_pdf - fnuction for Breit-Wigner profile, modulated with additional phase-space factors and polynpomial degrees of freedom.

Backward incompatible changes:

  1. Change parameter name mean to m0 for BreitWigner_pdf, BWMC_pdf, Voigt_pdf, PseudoVoigt_pdf, ...

Bug fixes:

v1.5.0.3

26 Aug 12:36
Compare
Choose a tag to compare

v1.5.0.3

New features

  1. add argument callable for models plotting and their conversion to TF1. It allows to draw some derived quantitites
bw = Ostap.Math.BreitWigner( ... )
bw.draw ( xmin = ... , xmax = ... ) ## draw the Breit-Wigner lineshape
bw.draw ( xmin = ... , xmax = ... , callable = lambda x : bw.amp ( x ).real ) ## draw real part of amplitude
bw.draw ( xmin = ... , xmax = ... , callable = lambda x : bw.amp ( x ).imag ) ## draw real part of amplitude
bw.draw ( xmin = ... , xmax = ... , callable = lambda x : cmath.phase ( bw.amp ( x ) ) ## draw the phase 
  1. add tiny utilities lrange and log_range (in addition to existing vrange) into ostap/utils/utils.py
for x in vrange ( 0.0 , 10.0     , 10 ) : print x  ## "lin-range"
for x in lrange ( 1.0 , 10.0**10 , 10 ) : print x  ## "log-range"
  1. add methods amp_real, amp_imag, amp_phase for the Breit-Wigner-like models
  2. add Argand plot for the Breit-Wigner-like models
bw = Ostap.Math.BreitWigner(... )
ap = bw.argand ( xmin = ... , xmax = ... , npx = 500 )
ap.draw('alc')
  1. add utilities for better visuzalisation of Dalitz densities
  2. more improvements for Dalitz plot vizualization
  3. more tweaks for Ostap::Math::DalitzIntegrator
  4. more tweaks for Ostap::Math::BW
  5. add bb ("bounding box") method for ROOT.TGraph-like objects.
  6. more tweaks for ROOT.RooMinimizer, in particular better control over printout
  7. add PDF.minuit: add FCN scaling for weighted dataset
  8. re-add checks for SumW2/Asymptotic checks for the PDF.fitTo for weighed datasets
  9. add new test test_fitting_minuit_weighted
  10. add two specific cases for Ostap::Math::PhaseSpaceNL

Backward incompatible changes:

Bug fixes:

v1.5.0.2

10 Aug 12:05
Compare
Choose a tag to compare

v1.5.0.2

New features

  1. Simplify interface for Ostap::Math::Integrator and Ostap::Math::DalitzIntegrator classes: essentially remove large duplication, the tag/label argumetn for caching is now the last one and "optional"
  2. add methods to create Ostap::Math::ChebyshevSum from Ostap::Math::ChebyshevApproximation

Backward incompatible changes

Bug fixes:

  1. fix a bit strange "feature" with "derived" variable in RooDataSet (thanks to Alexander Artamonov for rereporting). It happens that RooDataSet::addColumnRooDataSet::addColumns` behave a bit differently. the first one issues the error message and variable behaves weirdly.

v1.5.0.1

05 Aug 10:29
Compare
Choose a tag to compare

v1.5.0.1

New features

  1. parallel/task.py : change master/slave to main/secondary (request from Bogdan Popovici)
  2. Modify a bit printout for Ostap::StatEntity and Ostap::WStarEntity classes (request from Alexey Dzyuba)
  3. tiny tweak for ostap.fitting.badic.all_args
  4. add all_integers, all_numerics and all_strings to ostap/core/ostap_types.py

Backward incompatible changes

Bug fixes:

  1. fix a bit strange "feature" in the function make_dataset from ostap/fitting/selectors.py (thanks to Alexander Artamonov for reporting it)

v1.5.0.0

04 Aug 09:46
Compare
Choose a tag to compare

v1.5.0.0

New features

  1. MakeOstap::Math::Choose a bit more efficient
  2. add Ostap::Math::choose_array to get array of binomial coefficients (compile time)
  3. add templated central moments Ostap::Math::Moment_<N>
  4. add their python decorators ostap.stats.moment
  5. add test for moment-counters test_stats_moment.py
  6. add templated weighted moment counters Ostap::Math::WMoment_<N>
  7. large modificatons in Ostap::Kinematics::Dalitz
  8. fitting.basic : add intermediate mase class MASSMEAN that does not hold sigma
  9. add mean_name, mena_title , sigma_name and sigma_title for MASSMEAN and MASS base classes : it allows to remove many ugly lines with post-fix for the variable names
  10. make use of mean_name, meean_title, sigma_name, sigma_title for many PDFs
  11. Remove sigma(gamma) from Flatte_pdf
  12. extend interface for ostap.fitting.simfit.SimFit, allowinng usage of it for toys
  13. add test test_fitting_toys_simfit.py
  14. further extend Ostap::Math::DaltzIntegrator
  15. further extend Ostap::Kinematics::Daltz0 and Ostap::Kinematics::Daltz (add more invariants)
  16. extend Ostap::Math::ChebyshevApproximation (add scale and bias operators)
  17. add Ostap::Math::Piecewise function
  18. Improve Ostap::Math::ChebyshevApproximation
  19. further extend Ostap::Math::DaltzIntegrator
  20. extend generic functions, add generic PDFs
  21. add binnig functions to create RooBinning
  22. add ostap.fitting.morphing_pdf with two PDFs for morphing
  23. add test for new morphing PDF
  24. add possiility to use regex for compressed_shalve.ikeys method
  25. add integration over s,s2 variables in Ostap::Math::DalitzIntegrator
  26. add datetime to the logger format for non-isatty output, e.g. log-files...
  27. add Ostap::Math::KramersKronig helper class
  28. tiny tweaks for tootshelve
  29. suppress error prints from selectors.valid_formula

Backward incompatible changes

  1. rewrite Ostap::Math::DalitzIntegrator
  2. rewrite Ostap::Math::Integrator
    1.Flatte_pdf: rename arguments and attributes
  3. rename ostap.fitting.basic.Resoluton to ostap.fitting.basic.CheckMean and invert its argument
  4. total re-write of all Breit-Wigner related stuff and in particular temporarily remove all beast like LASS, Bugg, etc...
  5. fix but with parsing arguments of PDF.fitTo : fro certain number of argument the creation of RooFit::MultiArg was incorrect (thanks to Pavel Krokovny)

Bug fixes:

  1. fix missing hID in ostap/fittin/variables.py (thanks to Alexander Berezhnoy)

v1.4.9.1

01 Jun 16:55
Compare
Choose a tag to compare

v1.4.9.1

New features

  1. improve banner
  2. extend ostap/__init__.py.in
  3. add new test for splot test_fitting_splot.py
  4. extent option minos, allow to specify variable name or sequence of names
model.fitTo ( ....   , minos = 'S', ...)
model.fitTo ( ....   , minos = ('S','B') , ... )
  1. add new test/example test_fitting_components2.py
    `

Backward incompatible changes

Bug fixes:

  1. fix truediv for python3 in several files