{ "info": { "author": "Matthieu Marinangeli", "author_email": "matthieu.marinangeli@epfl.ch", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Physics" ], "description": "lauztat\n^^^^^^^\n\n.. image:: https://travis-ci.org/marinang/lauztat.svg?branch=master\n :target: https://travis-ci.org/marinang/lauztat\n\n.. image:: https://dev.azure.com/matthieumarinangeli/matthieumarinangeli/_apis/build/status/marinang.lauztat?branchName=master\n :alt: Build Status\n :target: https://dev.azure.com/matthieumarinangeli/matthieumarinangeli/_build?definitionId=1\n\n.. image:: https://img.shields.io/azure-devops/tests/matthieumarinangeli/matthieumarinangeli/1.svg?compact_message\n :alt: Test Status\n :target: https://dev.azure.com/matthieumarinangeli/matthieumarinangeli/_build?definitionId=1\n\n.. image:: https://img.shields.io/coveralls/github/marinang/lauztat.svg\n :alt: Coveralls github\n :target: https://coveralls.io/github/marinang/lauztat?branch=master\n\n.. image:: https://api.codacy.com/project/badge/Grade/f78242fbdbd34ef8a21a9f9055b6c898\n :alt: Codacy Badge\n :target: https://app.codacy.com/app/marinang/lauztat?utm_source=github.com&utm_medium=referral&utm_content=marinang/lauztat&utm_campaign=Badge_Grade_Dashboard\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/marinang/lauztat/master?filepath=examples%2Fnotebooks%2F\n\n.. image:: https://img.shields.io/pypi/v/lauztat.svg\n :alt: PyPI\n :target: https://pypi.org/project/lauztat/\n\n.. image:: https://img.shields.io/pypi/pyversions/lauztat.svg\n :alt: PyPI - Python Version\n :target: https://pypi.org/project/lauztat/\n\n.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2593789.svg\n :target: https://doi.org/10.5281/zenodo.2593789\n\n\n\nPure python statistics tools for high energy physics using `zfit `__ as\na backend for maximum likelihood fits.\n\nTests for discovery, upper limits and confidence intervals are provided based on likelihood ratios\nin a frequentist approach (using pseudo-experiments) or using asymptotic formulae from\n\"Asymptotic formulae for likelihood-based tests of new physics\" `[arxiv:1007.1727] `__.\n\nlauztat has been developed at EPFL, Lausanne Switzerland (laus' or lauz is how the cool kids call Lausanne).\n\nInstallation\n------------\n\nInstall ``lauztat`` like any other Python package:\n\n.. code-block:: bash\n\n pip install lauztat # maybe with sudo or --user, or in virtualenv\n\nDependencies\n------------\n\n- `Numpy `__\n- `zfit `__\n- `matplotlib `__ (optionnal)\n\nGetting started\n---------------\n\nUsual HEP results can be recast in terms of hypothesis testing where you have to\nchoose a null H\\ :sub:`0` and an alternative H\\ :sub:`1` hypothesis, H\\ :sub:`0`\nbeing the one you want to disprove.\nTo do a test you will need your data (and weights), a model, a loss function builder\nand a minimizer as input to a calculator (*FrequentistCalculator* or *AsymptoticCalculator*).\n\nDiscovery:\n==========\n\nif you do a measurement to find signals S in a dataset and you find an excess, this\ntest answers \"is the data compatible with the background only ?\" with:\n\n- H\\ :sub:`0`: background only (S = 0)\n- H\\ :sub:`1`: presence of a signal (S \u2260 0)\n\nThe test return a p-value or a significance Z. If Z \u2265 3 there is an evidence\nand if Z \u2265 5 a discovery of a signal.\n\nExamples of significance computations for a gaussian peak over an exponential background are\nprovided for the `asymptotic calculator `__\nand the `frequentist calculator `__\nand can be ran in `mybinder `__.\n\nUpper limit:\n============\n\nif you find a small signal excess in a dataset, but not enough to claim\nan evidence or a discovery, you can exclude large signal yields S:\n\n- H\\ :sub:`0`: background + some signal (S = S\\ :sub:`0`)\n- H\\ :sub:`1`: S < S\\ :sub:`0`\n\nS\\ :sub:`0` is adjusted to a predefined p-value, typically 5%. S\\ :sub:`0` is the upper\nlimit on the signal yield S with 95 % confidence level\n(CL = 1 - p ; p = 5 % \u27fa CL = 95%).\n\nExamples of `CLs `__ upper limits on the signal yield\nfor a gaussian peak over an exponential background are\nprovided for the `asymptotic calculator `__\nand the `frequentist calculator `__\nand can be ran in `mybinder `__.\n\nConfidence interval:\n====================\n\nif you do a measurement of a parameter \u03b1 with an estimator \u1fb0, given an observation\n\u1fb0\\ :sub:`obs` what value of \u03b1 are not rejected at a certain confidence level (typically 68%)?\n\n- H\\ :sub:`0`: \u03b1 \u2264 \u03b1 \\ :sub:`down` or \u03b1 \u2265 \u03b1\\ :sub:`up`\n- H\\ :sub:`1`: \u03b1\\ :sub:`down` < \u03b1 < \u03b1\\ :sub:`up`\n\n\u03b1\\ :sub:`down` and \u03b1\\ :sub:`up` are adjusted such the test returns a p-value of 32%.\n\nExamples of confidence intervals on the mean of a gaussian peak are\nprovided for the `asymptotic calculator `__\nand the `frequentist calculator `__\n(Feldman and Cousins confidence interval `[arxiv:9711021] `__)\nand can be ran in `mybinder `__.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marinang/lauztat", "keywords": "", "license": "", "maintainer": "Matthieu Marinangeli", "maintainer_email": "matthieu.marinangeli@epfl.ch", "name": "lauztat", "package_url": "https://pypi.org/project/lauztat/", "platform": "Any", "project_url": "https://pypi.org/project/lauztat/", "project_urls": { "Homepage": "https://github.com/marinang/lauztat" }, "release_url": "https://pypi.org/project/lauztat/1.1.7/", "requires_dist": null, "requires_python": "", "summary": "Pure python statistic tools for high energy physics.", "version": "1.1.7" }, "last_serial": 5417348, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "426abe0364c710317c1d58455e5a0b94", "sha256": "66af12f990c4dc40f46080b8baf94ed222052c78cd651ffde00fdaf5ad33ba5c" }, "downloads": -1, "filename": "lauztat-1.0-py3.6.egg", "has_sig": false, "md5_digest": "426abe0364c710317c1d58455e5a0b94", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 223091, "upload_time": "2019-03-11T16:39:36", "url": "https://files.pythonhosted.org/packages/27/54/8b8152bc2e275669a650417a0ea3b2678d33119d5b5cca8ceaa43bf31241/lauztat-1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "da97f59588c3e8f0d2bbb38aeff41759", "sha256": "36e28884605f8f75dcc6b5e5ea65af2dee610c7c4f8c09791151d7ad3ba65e68" }, "downloads": -1, "filename": "lauztat-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "da97f59588c3e8f0d2bbb38aeff41759", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 87982, "upload_time": "2019-03-11T16:39:33", "url": "https://files.pythonhosted.org/packages/83/a4/f1e36dabbbc89ae9b80068baa9514005133e406006133bcb6f1007acf9fd/lauztat-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "739bfa9cc66f4aef89953c3bbff6d8eb", "sha256": "117475b6875ec5d20b2196e4f1257f236f2fd59e673fc9bf8e4a94a692ed3fb4" }, "downloads": -1, "filename": "lauztat-1.0.tar.gz", "has_sig": false, "md5_digest": "739bfa9cc66f4aef89953c3bbff6d8eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29083, "upload_time": "2019-03-11T16:39:37", "url": "https://files.pythonhosted.org/packages/38/8f/a76d5d0df26994f019587f7c7e7064b848c71e6024c02fa359dacecee930/lauztat-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "4525ecca96dc0b06e6ac457fcf977b50", "sha256": "cb79decaf81169e21da82fc82e0736be5fec995ea52f69dfb18019ee8b5c2483" }, "downloads": -1, "filename": "lauztat-1.1-py3.6.egg", "has_sig": false, "md5_digest": "4525ecca96dc0b06e6ac457fcf977b50", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 64968, "upload_time": "2019-03-14T18:23:20", "url": "https://files.pythonhosted.org/packages/a9/b6/e5eac4c6562a001ca24d7f07ece7138906bcf872e53289974943f2d1cba6/lauztat-1.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "467e202aad85aa110b731decfafe017b", "sha256": "47dcc9ab46bfe102abbe6486de3c9f00c8903701e95d1bb252cb0e755e6f97b2" }, "downloads": -1, "filename": "lauztat-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "467e202aad85aa110b731decfafe017b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29151, "upload_time": "2019-03-14T18:23:19", "url": "https://files.pythonhosted.org/packages/0b/8b/6a24d93ae16fba57130e9700d93118745fe1690cf9d364fbbaf785296cb8/lauztat-1.1-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "f66a52e27956f4bac01e9d7402132ca7", "sha256": "770fb320dee328c69b320b0483d70864dc240fa96246f54c855ba7b741cd8839" }, "downloads": -1, "filename": "lauztat-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f66a52e27956f4bac01e9d7402132ca7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31585, "upload_time": "2019-03-19T17:52:07", "url": "https://files.pythonhosted.org/packages/dd/eb/dfd9899403367bc8778b68c8e6b6a85464e269c964eb53637c6dd4747b31/lauztat-1.1.1-py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "c060b15cf16ea3e3a1454c0e0116724f", "sha256": "deee302bc4c7417cdff827feaa66007bd4be89a3135f8042dba4a887ca68608d" }, "downloads": -1, "filename": "lauztat-1.1.2-py3.7.egg", "has_sig": false, "md5_digest": "c060b15cf16ea3e3a1454c0e0116724f", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 40659, "upload_time": "2019-06-18T07:37:01", "url": "https://files.pythonhosted.org/packages/f6/ef/b48caeb1d62901f022b2cfd8ee5e2641ed623bbb0753051f32d2183a9a8e/lauztat-1.1.2-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "83b130e80527c4f8ad0edf9b3d68a9d5", "sha256": "7bc1044f492421b51d5546ac94de7cd97ab94b08476b2a61ac229eb1523d378f" }, "downloads": -1, "filename": "lauztat-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "83b130e80527c4f8ad0edf9b3d68a9d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31571, "upload_time": "2019-04-21T11:00:37", "url": "https://files.pythonhosted.org/packages/9a/ad/727ed1bcf8a3270c90bdd6bbbf66cabd33ee37a780f1fc8d6f1b003f7b45/lauztat-1.1.2-py3-none-any.whl" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "73b5361b319e9a3c3a1f32ad59370886", "sha256": "004e16a46b473de074f826e6a30382e9c0488dcd1da688ac8edf018f2472ad44" }, "downloads": -1, "filename": "lauztat-1.1.4.tar.gz", "has_sig": false, "md5_digest": "73b5361b319e9a3c3a1f32ad59370886", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15473, "upload_time": "2019-06-18T07:41:40", "url": "https://files.pythonhosted.org/packages/3f/66/504601d1a31450848475a29f43fb4ddf0a3a3872dfb473210f05c566a456/lauztat-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "c9a5a87170226b208ab14ae675a36c61", "sha256": "85d76ffdee41d29cbecb79c0a7173c52aeb214680585844eb074c7cb6bc054f5" }, "downloads": -1, "filename": "lauztat-1.1.5-py3.7.egg", "has_sig": false, "md5_digest": "c9a5a87170226b208ab14ae675a36c61", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 40722, "upload_time": "2019-06-18T13:52:07", "url": "https://files.pythonhosted.org/packages/a3/92/214d6188811f353ae6b219da1b7bcc5f1ec981b0ff0c419d59bde79d8b84/lauztat-1.1.5-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "8d6a56915f8a59eb9edbbc5f51e99b66", "sha256": "78ceaa52842097ba363b35a2d6e85c027394377fc31347d7041c3f0a8ea50a4e" }, "downloads": -1, "filename": "lauztat-1.1.5.tar.gz", "has_sig": false, "md5_digest": "8d6a56915f8a59eb9edbbc5f51e99b66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15513, "upload_time": "2019-06-18T13:52:09", "url": "https://files.pythonhosted.org/packages/36/2f/c3638e56f90d38f214f339a944a1cc1b29de9d0dd0e099d733337e204d67/lauztat-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "7f193d5eb7dcc1513650b66973c5a12f", "sha256": "87f195d81a6f9f2e52058ef77e4184472fdc13642258fff271d1ea472d631704" }, "downloads": -1, "filename": "lauztat-1.1.6.tar.gz", "has_sig": false, "md5_digest": "7f193d5eb7dcc1513650b66973c5a12f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15527, "upload_time": "2019-06-18T15:27:18", "url": "https://files.pythonhosted.org/packages/fd/f8/199551b8f57183634acfefcb67974018281cb9faf6837d350bf140363ff6/lauztat-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "0624d44ef8ee21c5784ecfff9e9a09bf", "sha256": "fdc431db6431b9305b266e0303b7677ed103967c1cd25abe6b1eb82d9de787ee" }, "downloads": -1, "filename": "lauztat-1.1.7.tar.gz", "has_sig": false, "md5_digest": "0624d44ef8ee21c5784ecfff9e9a09bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15533, "upload_time": "2019-06-18T21:17:04", "url": "https://files.pythonhosted.org/packages/ff/ad/0d54ec8e14858ece46d1e806975971b1e31068ab4cf1467037f6cc924774/lauztat-1.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0624d44ef8ee21c5784ecfff9e9a09bf", "sha256": "fdc431db6431b9305b266e0303b7677ed103967c1cd25abe6b1eb82d9de787ee" }, "downloads": -1, "filename": "lauztat-1.1.7.tar.gz", "has_sig": false, "md5_digest": "0624d44ef8ee21c5784ecfff9e9a09bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15533, "upload_time": "2019-06-18T21:17:04", "url": "https://files.pythonhosted.org/packages/ff/ad/0d54ec8e14858ece46d1e806975971b1e31068ab4cf1467037f6cc924774/lauztat-1.1.7.tar.gz" } ] }