Changelog based on the format here.
- Additional documentation. See:
c49fa753201250734f6dbc4bdce6a64959a277cb
. - Integration test for differential signal fit. See:
efcfc40fdf662d5fb0297ed1d02c2f6b538e2485
.
- Switch emphasis to fitting before normalizing by the number of triggers, including updating default
arguments and documentation. See:
17a5d24397c313c3c5a39964e9a8bd471161153e
,e04a1f3b1736c8baef41872680bd175f3dadd977
,73f5f0d8dcbf7f86f1742e57279da43fd62faa1f
. - When reading the RP fit object from YAML, setup the entire fit object. See:
1b38175ae421729a1933bae63bcc6652262927d3
. - Improve Minuit fit strategy. See:
d8dfb49d0599f564597461270b73bb67d1818bdf
. - Rename
_fit
tocost_func
for clarity - it represents the cost function, not the fit function. And it's sometimes useful to access from outside the object (such as when calculating effective chi squared). See:3dc750119be1f52f05134b11f24883b2e5c73b07
. - Make the Minuit verbosity a user settable option. See:
22e67c85b630ef09a3105bcee4587e8d7091b293
. - Allow a user to skip HESSE when necessary. This should be rare, but it is required at times. See:
98104086ca505a25778c75a0c63053085a836368
. - Updated the signal differential fit procedure. The inclusive case is just treated as a background only fit.
This is required because adding coupling gaussian distributions is not a straightforward process (unlike
if they were uncoupled). Consequently, extracting the inclusive width relies on fitting to information already
included in the RP fit (included via the differential signal fit components), which means that the covariance of
the fit is neglected. Use care when using this fit approach! (A warning is thrown when using it). See:
7ba221d8effcda48d3a5245776aefcb971d7748e
. - Sample data now acts as if it is the raw correlation rather than scaled by the number of triggers. See:
5c613d2f5d21882fe9d61d6d0067bd602cb74ff2
,9484b457012f6647283e3fc1ebf43a719a0fd7e5
,5c613d2f5d21882fe9d61d6d0067bd602cb74ff2
, and7db8ea4e4201879c609c0cebeb211ea67570e7ba
. - Improve testing procedure by loading stored fits from YAML rather than defining them by hand in the test
file. This makes any future updates much easier. See:
5c613d2f5d21882fe9d61d6d0067bd602cb74ff2
.
- Log likelihood fits by updating the underlying
pachyderm.fit
package. See:33bdcb41cd0f2dcc6e76f8760b8e5eddd24456dd
. - Minor typos in code, documentation. See:
150afbba7f065f54895f1bd30409c66df14990b9
and56af2759823cf2ff027c2b89d7047fdcb2bfc98f
. - Create output directory when writing if necessary. See:
7ca7f01d12a897907427972c6a9f6402cba6c616
. - Allow specification of
v_{1}
values. See:ed037ba57f72dc24257dd6a2dbe1351e85e6c73d
and a fix in63cb49906eabc115f58b6847de756346b61b08c3
. - Updated typing. See:
db79b4134f57ff76727356654489b9a823cb6b67
. - Integration tests run successfully on TravisCI again. See:
330c3bc6a7f90f1a5e0773c03170a8b27b8cf4ca
.
- Added a method to create a full set of fit components for each EP orientation, regardless of which were used for the fit. This allows for downstream code to not need to differentiate between the different cases for most tasks, easing the user experience. See: Nearly all of the commits between 3.0 and 3.1.
- Use the
pachyderm.fit.BaseFitResult
for components in order to avoid needing to calculate unnecessary values for component fit results. It's more natural. See:bbbcac45c41490072f345b6aebbeb6f49d427a1d
. - Updated the included test data for better test consistently with external sources. See:
0bf5e1ceaede9cd578a20c12db81455f38326a2d
. - Updated pre-commit hooks. See:
6d780545b5547f42c7c3a684f11234d069973c10
.
- Warning about registering
pytest
marks. See:8f6f5386fddea1e540a15de99ce8852dfc2319fd
. - Removed final
probfit
dependence. See:b94ea052246269e454f3df1c7afbb7ac96f35cec
.
- Move to using the pachyderm fit package for general fit functionality, cost functions, and fit results. This
move was instigated by the recognition that
probfit
cost functions didn't actually work properly with pre-binned data. It also allows for the centralization of basic fit code to make it generally available. Some code from this package was refactored into pachyderm. See:9e62f6777afed290709b74d4ee18284d61c2bab9
and0f66cff8264ff06f5138d78ba0213f40a195dd5e
. Note that developed was handled in a private branch in this repository, so some older commits have references to a fit package in the RPF package before it was moved to pachyderm. - No longer rely on
probfit
. All functionality and more is now provided inpachyderm.fit
. Plus, the package wasn't super actively maintained. See:9e62f6777afed290709b74d4ee18284d61c2bab9
. - Updated pre-commit hooks. See:
03844495a12f4269b14dbd4972c09fb203a88c7c
.
- Log likelihood and chi squared cost functions properly take binned data into account. See:
0f66cff8264ff06f5138d78ba0213f40a195dd5e
.
- Enabled strict
mypy
checks. See:1585c7398201319bac49f6881f678be3f9582ee5
.
- Improved typing.
341330a5e48f1526848de27ceaba4ee10499de67
.
- Refactor function error calculation so that it can used by other packages. See:
04dff6cc7cbd1fd4ad1f2f26ecc528dfeebbe3f7
.
- Enable fixing parameters via user arguments. See:
cf9de684245217d4c7583407940d5a3864b192b1
. - Properly mark the package as typed. See:
fe43d5368bb8fdd1defa5dbff8a39ac45d2424a3
. - Improved code formatting and typing information, and fixed typos.
- Fix
mypy
typing in third party packages by addingzip_safe = False
in thesetup.py
. See:79eb4e821bed8d5290c18c779c2bce6c8a71e5c0
.
- Calculate the correlation matrix in the fit result. See:
ee94cb80e774c38848f31592b8df765c333fba7a
. - Read and write fit results with YAML, including integration tests. See:
983a2519d9b882a34d6bf44be312b45a3e051316
. - Added test for invalid fit arguments. See:
009a974dc038d79ad2890e9c3f935094a88cb3ee
.
- Modify the
ReactionPlaneFit.fit(...)
to return the minuit object for advanced use cases. The fit result stores almost all of the minuit information, but it can be useful in limited circumstances. For now, it is only used to check the correlation matrix calculation. See:7a1efd908203abf1a1b8cb8d2f9d76afdfb1442d
. - Initialize the component fit functions when defining the fit objects. This allows fit components to be
evaluated using stored fit results. See:
e2673f25e7fa952087bb45ab5e35204850138b69
. - Updated typing information. See:
0f284c79ccfb6ee04715b33e4500b2c96832f7ff
and60af85240d84adf5e011ee0b4b2f7a0c8cef154e
. - Updated documentation. See:
b94fc955ce15034490888ec75368853f61ad9244
. - Updated pre-commit hooks with newer versions of the packages. See:
6d54231e4707502fec9811c0507daa5a37358076
.
Note the API changes introduced by moving the fit results to the components!
- Store errors on fit parameters. See:
fbb9bd36cf7f4b010377cb1c1d27cb5d09ccf57d
. - Evaluate the background function of a component. For a background fit component, this is the same as the fit
function, while for a signal fit component, this will describe only the background contributions. See:
8836a38cbdb44f6db1508a23f295ff4872433938
. - Preliminary instructions on running the fit via c++. They are not yet tested. See:
8f6d57ca160e9500b4fa5c2747faa9e4b23c5a12
.
- Moved component fit results into the fit components. See:
a08c42a483d51ba5c599986ae8f5cdec6a4505f0
and51ef75007d2a765bd03bf01958517d3109140067
. - Moved fit evaluation into the fit component. This was enabled by moving the fit results into the fit
components. See:
e3c13956b80ad31b7232f46fe0784b0179462175
. - Moved
FitType
to thebase
module so that it is more easily accessible. See:f3513c9f3d01d51c46e6b776fad005c32864001d
. - Moved error calculation to fit component. See:
674c8cf0f3bff1ebe95a8d5b76a7c2917d3169b7
. - Refactor error calculation to allow it to calculate errors for both the fit and background functions (or any
other function). See:
674c8cf0f3bff1ebe95a8d5b76a7c2917d3169b7
. - Improved example plot styling. See:
eb9fe16bd19e1e0106a822ee7e6a31f8a9be7e51
(included with a few other minor changes). - Determine and plot errors on residual. See:
74b7f14b34b37b3563dcebc1031730a9343b5252
. - Large improvements to typing information and documentation in a variety of commits.
- Background fit example legend placement was accidentally moved. See:
1869eb0650c9b26157c6fed103e80e5ad78f7f08
. - Baseline test images, which started failing after a number of small aesthetic changes. See:
795d9d228a5cde6d5477dfd1c697efcabec7547c
and33f9dd83f5918ba5f5eabd86b78759df1197a9ac
. - Failing tests due to floating point variations in calculating parameter errors. The comparison tolerances
had to be loosened. See:
e668599966df447e99de7c145ad6c97ce7d2d814
andf2729a4c5ed517b25fd99019f71ccabf65bd2ac5
. - Indicate that the package is typed. The typing information is already there - it just didn't know it
propagate it when running
mypy
on other packages. See:b113e40be09705fdc3f4cce1a6ea7bbcaa14442a
. - Updated call to the old
pachyderm.Histogram1D
API. See:f23f31473b77203e3c2d5cf9d2617c4f3f53a6db
.
evaluate_fit_component(...)
from theReactionPlaneFit
object. It is unnecessary given the API changes. See5e2048eb1bace3d34dd428aea79b7ca002e61156
.
- Added
mypy
to Travis CI checks. See:3fe44b42773b7b6d4fa184cf8db82a5e529713e0
. - Pre-commit hooks configuration to the repository based on
pre-commit
. This should generally improve the quality of commits. Currently includesflake8
,mypy
,yamllint
, and some additional minor python checks. See:e0218dffc0829ac742790497b5f0494bd41c0035
anda40c72e42cb50bf0658c871e8ea8d3f0aa5b393e
. - Ability to run Minos errors. They aren't stored (because it doesn't make sense to do so), but they can be
compared to Hesse errors. See:
b0149099bc4e05a0e4f37d78680abe5ed4fa7ff3
. - Allow for user arguments to override the fit arguments. See:
bf570c37163b57c02d890aa5047f99e8bb82077c
.
- Adapted to new pachyderm histogram API. See:
c6b17fe6555d7baab3be9cb53c4f238bd8e23b65
. - To implement the new API, it required some relaxation of array comparison tolerances (but they are still
quite stringent). See:
631db84754b1d03076acc24ea5ab9bdae88bcb38
. - Renamed "inPlane" -> "in_plane" (and the other angles accordingly) for better matching of conventions (which
makes it easier to use and integrate with other packages). See:
300258f77f2ebd9f83754ab1d0f41e028e95032f
. - Updated RP plot labeling for new RP orientation naming convention. See:
7a9e939f442a73e96349583553228d923341109a
.
- A number of type annotation issues identified by
mypy
. See:8b71c77f99f8d95fd364bc7a700e2a32ecbdb499
. - Test discovery failed in some cases. See:
85e5ad0f2a6ab4d55393167c9289018061826f37
- Test the
FitComponentResult
objects in the integration tests. See:dcb21966
. - Updated documentation.
mypy
to the dev requirements. Although not run in the CI (because not all of the identified issues are actually issues), it is good to have available and run from time to time. See:bdc216a7
.
- Refactored
Histogram
class to pachyderm, where it was renamedHistogram1D
. See:923c3847
.
- Resolved a tagging problem related to a rebase.
- Zenodo DOI information.
- Chi2/ndf calculation.
- Plot module (with tests) to draw the fit and the residual.
- The tests take advantage of image comparion.
- Additional fit quality checks.
- Parameter argument ordering in the signal inclusive fit. See ba4e833a.
- Fixed error propagation by calculating the error for each individual component rather than for the simultaneous fit (which was the wrong approach). This has the side effect of substantially speeding up the error calculation.
- Specify all initial parameters, limits, and steps, which can substantially improve the chi2.
- Various type annotations.
- This is essentially a preview release.
- It can perform the RP fit using background only data, including the reaction plane orientation inclusive signal, or the reaction plane orientation dependent signal. Full error propagation is performed for each fit component.