Releases: NESTCollaboration/nestpy
Update to v2.0.4
Minor Changes:
- Updated workflows for github and pypi tests; restores the ability to upload tagged nestpy releases to PyPi servers.
- Updated author contact information
- Added Python 3.11 compatibility
Update to v2.0.3
Tagging a new nestpy version that allows for locking/unlocking the random seed, in addition to removing constraints on yield generation in helpers.py
Update to v2.0.2, sync with NEST v2.4.0
nestpy versioning has been incremented to sync with NEST v2.4.0. Some python bindings for LArNEST functions has changed since v2.0.1
Sync with NESTv2.3.12beta
The NEST submodule has been updated to use NEST v2.3.12beta. The main changes here are:
- Moved declaration of free parameter vectors to NEST.hh and are globally defined, as opposed to being part of NESTcalc
- Introduced the ERYieldsParam vector to give more user control over the beta ER yields model
- Updated the NRERWidthParam defaults to reduce ER band widths
The nestpy bindings have been updated to take the above changes into account. Additional detector functions now have bindings included as well.
Update to nestpy internals, adding in basic LArNEST bindings.
The copy/paste method for the NEST bindings have been replaced with adding NEST and other modules (such as gcem and pybind11) as git submodules which are downloaded at compile time. LXe notebooks and python scripts have been moved to tutorials/arxiv, and new notebooks will be placed in the tutorials folder as they are created in the future. LAr functionality through LArNEST has been added and will be expanded upon in future releases.
Suggestions/issues/errors should be added as github issues.
Users may have to do before installing.
pip uninstall nestpy
Syncing with NESTv2.3.9
1.5.5 (2022-07-08)
Synced with NEST v2.3.9
-
New Physics Modeling:
** Skewness can be turned off and on now for ER just like for NR. For on -> old model or fixed (Quentin Riffard, LZ/LBNL)
** Older beta model is default for gaseous Xenon, a better fit to old world data at the keV scale (Eric Church, DUNE/PNNL)
** New dark matter halo model defaults, bringing NEST up to date on WIMP and Sun v (Baxter et al., arXiv:2105.00599) -
Miscellaneous Bug Fixes:
** Fluctuations adjust for difference in width from truncated Gaussians for PE not just mean
** Complaint that position resolution too poor does not activate until above S2 (top) of 40 PE
** In the dE/dx-based model the minimum LET is now 1.0 MeV/cm not 0 to avoid weirdness -
Updated binding for GetQuanta to allow for nestpy control over ER skewness.
Update pypi and tests
What's Changed
- Integrated testing for multiple python versions by @JoranAngevaare in #80
- No more travis, pipy uploads via github actions by @JoranAngevaare in #86
- Thanks to the great help of Joran Angevaare, we now use GitHub Actions and no longer use Travis for releases and testing.
pip install nestpy
works again.- Should one want to recompile from source, you will still need to use
git clone
(for now).
New Contributors
- @JoranAngevaare made their first contribution in #80
Full Changelog: v1.5.2...v1.5.4
Sync with NESTv2.3.6
On the NEST Side
See NEST v2.3.6 for more release notes.
New Physics:
- Perfectly vertical MIP tracks now work, and use latest beta model (Greg Rischbieter, LZ/UAlbany)
- Field in G4 in any direction not just vertical but e.g. radial OK, ala (n)EXO and PETALO (Paola Ferrario)
Code Quality:
- NEST: Geant4.9.11 & C++17 compatibility achieved (Paola Ferrario, PETALO/Basque Foundation for Science)
- Multiple scatter code warning addressed: unused variable (Greg Rischbieter, LZ/UAlbany)
nestpy: What's Changed
- fix bug in bindings for Kr83m by @sophiafarrell in #85
Full Changelog: v1.5.1...v1.5.2
Sync with NESTv2.3.0
1.5.0 (2021-11-11)
Synced with NEST v2.3.0 https://github.com/NESTCollaboration/nest/releases/tag/v2.3.0
New Physics:
- Carried over from v2.3 beta: A new binomial random number generator (C++ default library), e- EE models, beta model with new yields and fluctuations, non-beta-ER (XELDA).
- New beta model is default regardless of E-field, but old one is still accessible
- ER model (betas and gammas weighted) is its own function, callable
- Pb-206 ion coming off wall from alpha decay has correct Ly and Qy versus field (Thomas-Imel box model for recomb)
- The electron extraction efficiency model now includes “optimistic” high e- EE Aprile/PandaX fits (activatable with EPS_GAS negative)
Code Quality and/or Miscellaneous Bug Fixes:
- C++11 -> 17 default, README updated with all new versioning requirements, but old gcc and cmake versions requested to allow backwards-compatibility with nestpy. std::clamp still doesn’t work, so similar function written by hand
- 1.1 -> 1.08 for increasing Qy to match new Zurich W-value measurement, but with new more logical variable names both deep in code and in detector file for user, and with one factor universal in NEST.cpp; general variable renaming for greater clarity
- Numerous cosmetic and aesthetic changes to code, including unused variable removal, while spacing and tabbing made Google clang-format (with shell script for that now included with NEST), if/else Mac dangle warning addressed
- Kr83m yields same but code overhauled to allow min versus max time separation flexibility and easier data comparison, with bug squashed where wrong error message got replayed
- NEST is now 30% faster, cf. v2.2.4, at least when using gcc 7+, despite the new binomial fluctuation function!
nestpy Specific:
- Bindings to energy spectra generators from TestSpectra.cpp, including: tritium and C14 beta sources; AmBe, DD, Cf252 neutron sources; Spin-Independent WIMP Generators.
Syncing with NESTv2.2.3
Sync with NEST v2.2.3
- Replaced useTiming variable by an enum and made the GetS1 result a class member. Separated the S1 and S2 calculation modes.
- Made GetS1 return a ref to avoid vector copy
- Made the GetS2 results a private member returned by reference, while also making GetS1 and GetS2 results "const"
- Removed useless, unused variables that caused a lot of memory allocation/deallocation; result of all this and the above: +~1-5% faster
- Updated the parametric S1 calc to account for the truncated-Gaussian SPE and DPE distributions, making it more consistent with "full"
- Changed hybrid-mode transition to be 100 keV, ~500 photon hits in modern TPCs, instead of hits directly, creating a smooth transition
- Efficiency adjustment in the S1 parametric mode that further makes the parametric and full modes (previously useTiming -1,0) closer.
- Changes driven by Quentin Riffard (LZ/LBNL) & Greg Rischbieter (LZ/UA), with ideas from Matthew (UA) & Luke Kreczko (Bristol)