Releases: OstapHEP/ostap
Releases · OstapHEP/ostap
v1.6.3.0
v1.6.3.0
New features
- reenable
pathos
for (3.6<=python & 0.3<=dill ) - add
statVars
forRooAbsData
- largely reshuffle code for
statVar/statVars
- extend
Ostap::DataFrame
- add
StatVar
andWStatVar
lazy actions for DataFrame - make user-fiennly frame -> histogram projetctions
- add
frame_table
, 'frame_project',frame_statVar
and other functions - simplify
trees/data_utils.py
make it more robust and reduce number of aliveTChain
instances - Extend a bit sumamry plot with simple
Point
andInterval
objects - add
pip install
forCMAKE
- fix
numpy.bool
warning for newer versions ofnumpy
- add
Ostap::Math::A2
- add
(pi^2)/4*(2pi)^-5
factor forOstap.Math.GammaBW3
- add
Ostap::usedVariables
- fix
Ostap::usedVariabled
for old versions of ROOT
Backward incompatible changes:
Bug fixes:
- bug fix in
canvas >> '...'
- make proper replacement for
random.choices
for python < 3.6 - fix marker color for default style
- fix a bug in fraction naming for non-extedned fits (thanks to Dima Pereima)
v1.6.2.0
v1.6.2.0
New features
- make names of created
PDF
andRooAbsPdf
objects unique.. It is not yet 100%, but a good step in this direction. - add "cut-off" functions and PDFs
- improve treatment of "tags" for C++ models.
- improve spline <--> graph relations
- add
da_combine
functions to combine two datasets with weights - add
Ostap::Utils::storeError
, 'Ostap::Utils::storeAsymnError' helper functions - add methods
wname
,store_error
andstore_asym_errors
toROOT.RooDataSet
1, addPSSmear2_pdf
generic smearing of the left edge of the phase space - more coherency for different
Ostap::Math::PhaseSpace*
classes - extend and improve
PSLeftExpoPol_pdf
andPSLeft_pdf
, make them more coherent - add functionality for jackknife and bootstrap analyses for fit biases and error estimates
- better output report from Jackknife and Boostrap studies
- add parameter
frequency
to roys, toys2, jackknife and boostrap toolsostap/fitting/toys.py
- propagare
more_vars
to the output reports of Jackknife and Boostrap studies - allow derived quantitites to be added into the output table of
RooFitResult
- add
getitem
stuff forRooFitResult
to allow interchange with dictionaries - add
split_range
generator to splti large range into smaller chunks - make creation and managemenbt of temporary files and directories more robust, probably more efficient, use better namings, ...
- add
timeout
parameter forsqlitedict
andsqliteshelve
- make use of
berkeleydb
for 3.6<=python
Backward incompatible changes:
Bug fixes:
- fix asserion statement in
dalitz.py
- fix a bug in analytic three-body phase space for cases with zero masses
- fix a bug in numerical three-body phase space for case with all zero masses
- 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
v1.6.1.0
New features
- Add
Ostap::Math::Hyperbolic
hyperbolic distribition - Add
Ostap::Models::Hyperbolic
hyperbolic distribition - Add
Hyperbilic_pdf
hyperbolic distribition - Add
ROOT.TGraph.merge
- Improve treatment of GSL errors
Backward incompatible changes:
Bug fixes:
- Fix some tiny incorrectnesses in
Ostap/MatrixUtils2.h
- Fix small problem in
ostap.utils.utils.KeepCWD
context manager - Tiny fix in
graph_summary
v1.6.0.0
v1.6.0.0
New features
- Add
FlattePS_pdf
- similar toBWPS_pdf
- 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... - rename tests, make test selection more transparent and easy to navigate back
- rename
ostap/fitting/selectors.py
toostap/fitting/pyselectors.py
to avoid the name clash forpython3
- add helper script
pplaunch
to launch remote pp-servers via ssh tunnels - update
PyVar
,PyVar2
,PyPdf
,PyPdf2
- (almost) complete update for new PyROOT
- fix
test_fitting_minuit_weighted
- thanks to Dima Golubkov - make more coherent treatment of ROOT issues
- fix
minuit
for new PyROOT (signature ofFCN
is different!) - minor update for
minuit
: from now allow access by parameter name:
minuit = ...
minuit['p2'] = 10
minuit.minos ('p1','p2',...)
minuit.release ('p3')
- update
pptunnel
+pplaunch
with better and more informative output - add
Ostap::Math::BW3L
,Ostap::Models::BW3L
,BW3L_pdf
and extend testostap/fitting/tests/tests_fitting_breiwigner.py
- resurrected version of the Breit-Wigner profile from 3-body decays - add check for
more_itertools
, provide replacement forchunked
whenmore_itertools
is not available - update
Ostap::Math::NSphere
andOstap::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. ostap.logger.table
add parameteralignment
that specifies the column alignment.ostap.parallel.task
add parameterbatch
, that allows to execute the tasks inbatch
mode- re-add generic Breit-wigner channel
Ostap::Math::ChannelGeneric
(for ROOT>=6.23/01 only) - add method
amplitude
forOstap::Math::ChannelBW
- re-remove generic Breit-wigner channel
Ostap::Math::ChannelGeneric
- change the default
sample
argument forPDF.generate
fromFalse
toTrue
- tiny fix for the table column alignment
- add
#include <string>
forNSphere.h
- for certain configuration it prevents compile error (thanks to Abdul-Kerim Gusseinov) - Add parameter
accept_fun
fortoys
- that allows to (re)define the accepance criteria, the default corresponds toaccept_fit
function fromostap.fitting.toys
module, that checks the fit status (0) and covariance matrix status ( 3 or -1) - Add parameter
fit_fun
fortoys
- that allows to (re)define the default "fit"-policy - Add parameter
gen_fun
fortoys
- that allows to (re)define the default "generation"-policy test_plotting_summary_graph.py
: add call forROOT.gPad.RedrawAxis
- thanks to Tom Blake- add
**kwargs
for allparallel
-methods, arguments are used forWorkManager
- remove
evaluateBatch
form all PDFs (folloiimng evolution of ROOT). We need to gradually introduceevaluateSpan
Ostap::Math::GammaBW3
: use 1/s factor instead of 1/s^3/2. thanks to Misha Mikhasenko!- Add symmetic Sinh-Asinh resolution model
ResoSinhAsinh
- Add symmetic Jonhson's SU resolution model
ResoJohnsonSU
- fix for the new signature of
TDirectory::CurrentDirectory()
method - fix/rewrite/improve
ostap.histos.compare
module - improve reweighting machinery: make it more tunable (and less automatic) and more suitable for multidimensional reweighting.
- Add new context manager
SETPARS
and use it inPDF.wilks
,PDF.wilks2
,PDF.draw_nll
,PDF.graph_nll
,PDF.graph_profile
- Add logistic/"sech-squared" resolution model
ResoLogistic
- Improve
PDG.graph_profile/PDF.graph_nll
: adddraw
argument to draw the graph in progress - Better (but not perfect yet) treatment/assignement of the unique names for many intermediate objects
Backward incompatible changes:
- Reweighting machinery: different signature of
makeWeights
function - new argumentmake_plots
, different meaning of argumentpower
, different return value
Bug fixes:
- fix bugs in
Ostap::Math::BWPS
v1.5.0.4
v1.5.0.4
New features
- add
Ostap::Math::BWPS
,Ostap::Models::BWPS
andBWPS_pdf
- fnuction for Breit-Wigner profile, modulated with additional phase-space factors and polynpomial degrees of freedom.
Backward incompatible changes:
- Change parameter name
mean
tom0
forBreitWigner_pdf
,BWMC_pdf
,Voigt_pdf
,PseudoVoigt_pdf
, ...
Bug fixes:
v1.5.0.3
v1.5.0.3
New features
- add argument
callable
for models plotting and their conversion toTF1
. 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
- add tiny utilities
lrange
andlog_range
(in addition to existingvrange
) intoostap/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"
- add methods
amp_real
,amp_imag
,amp_phase
for the Breit-Wigner-like models - add Argand plot for the Breit-Wigner-like models
bw = Ostap.Math.BreitWigner(... )
ap = bw.argand ( xmin = ... , xmax = ... , npx = 500 )
ap.draw('alc')
- add utilities for better visuzalisation of Dalitz densities
- more improvements for Dalitz plot vizualization
- more tweaks for
Ostap::Math::DalitzIntegrator
- more tweaks for
Ostap::Math::BW
- add
bb
("bounding box") method forROOT.TGraph
-like objects. - more tweaks for
ROOT.RooMinimizer
, in particular better control over printout - add
PDF.minuit
: add FCN scaling for weighted dataset - re-add checks for
SumW2/Asymptotic
checks for thePDF.fitTo
for weighed datasets - add new test
test_fitting_minuit_weighted
- add two specific cases for
Ostap::Math::PhaseSpaceNL
Backward incompatible changes:
Bug fixes:
v1.5.0.2
v1.5.0.2
New features
- Simplify interface for
Ostap::Math::Integrator
andOstap::Math::DalitzIntegrator
classes: essentially remove large duplication, the tag/label argumetn for caching is now the last one and "optional" - add methods to create
Ostap::Math::ChebyshevSum
fromOstap::Math::ChebyshevApproximation
Backward incompatible changes
Bug fixes:
- fix a bit strange "feature" with "derived" variable in
RooDataSet
(thanks to Alexander Artamonov for rereporting). It happens thatRooDataSet::addColumn
RooDataSet::addColumns` behave a bit differently. the first one issues the error message and variable behaves weirdly.
v1.5.0.1
v1.5.0.1
New features
parallel/task.py
: change master/slave to main/secondary (request from Bogdan Popovici)- Modify a bit printout for
Ostap::StatEntity
andOstap::WStarEntity
classes (request from Alexey Dzyuba) - tiny tweak for
ostap.fitting.badic.all_args
- add
all_integers
,all_numerics
andall_strings
toostap/core/ostap_types.py
Backward incompatible changes
Bug fixes:
- fix a bit strange "feature" in the function
make_dataset
fromostap/fitting/selectors.py
(thanks to Alexander Artamonov for reporting it)
v1.5.0.0
v1.5.0.0
New features
- Make
Ostap::Math::Choose
a bit more efficient - add
Ostap::Math::choose_array
to get array of binomial coefficients (compile time) - add templated central moments
Ostap::Math::Moment_<N>
- add their python decorators
ostap.stats.moment
- add test for moment-counters
test_stats_moment.py
- add templated weighted moment counters
Ostap::Math::WMoment_<N>
- large modificatons in
Ostap::Kinematics::Dalitz
fitting.basic
: add intermediate mase classMASSMEAN
that does not holdsigma
- add
mean_name
,mena_title
,sigma_name
andsigma_title
forMASSMEAN
andMASS
base classes : it allows to remove many ugly lines with post-fix for the variable names - make use of
mean_name
,meean_title
,sigma_name
,sigma_title
for manyPDFs
- Remove
sigma
(gamma
) fromFlatte_pdf
- extend interface for
ostap.fitting.simfit.SimFit
, allowinng usage of it for toys - add test
test_fitting_toys_simfit.py
- further extend
Ostap::Math::DaltzIntegrator
- further extend
Ostap::Kinematics::Daltz0
andOstap::Kinematics::Daltz
(add more invariants) - extend
Ostap::Math::ChebyshevApproximation
(add scale and bias operators) - add
Ostap::Math::Piecewise
function - Improve
Ostap::Math::ChebyshevApproximation
- further extend
Ostap::Math::DaltzIntegrator
- extend generic functions, add generic PDFs
- add
binnig
functions to createRooBinning
- add
ostap.fitting.morphing_pdf
with two PDFs for morphing - add test for new morphing PDF
- add possiility to use regex for
compressed_shalve.ikeys
method - add integration over s,s2 variables in
Ostap::Math::DalitzIntegrator
- add datetime to the logger format for non-isatty output, e.g. log-files...
- add
Ostap::Math::KramersKronig
helper class - tiny tweaks for
tootshelve
- suppress error prints from
selectors.valid_formula
Backward incompatible changes
- rewrite
Ostap::Math::DalitzIntegrator
- rewrite
Ostap::Math::Integrator
1.Flatte_pdf
: rename arguments and attributes - rename
ostap.fitting.basic.Resoluton
toostap.fitting.basic.CheckMean
and invert its argument - total re-write of all Breit-Wigner related stuff and in particular temporarily remove all beast like LASS, Bugg, etc...
- fix but with parsing arguments of
PDF.fitTo
: fro certain number of argument the creation ofRooFit::MultiArg
was incorrect (thanks to Pavel Krokovny)
Bug fixes:
- fix missing
hID
inostap/fittin/variables.py
(thanks to Alexander Berezhnoy)
v1.4.9.1
v1.4.9.1
New features
- improve banner
- extend
ostap/__init__.py.in
- add new test for splot
test_fitting_splot.py
- extent option
minos
, allow to specify variable name or sequence of names
model.fitTo ( .... , minos = 'S', ...)
model.fitTo ( .... , minos = ('S','B') , ... )
- add new test/example
test_fitting_components2.py
`
Backward incompatible changes
Bug fixes:
- fix
truediv
for python3 in several files