Releases: NESTCollaboration/nest
Version 2.1.1 August 20, 2020 (Patch Release)
- README and make files consistent on min CMake and ROOT versions required. Typos corrected.
- Example bash shell scripts now get installed properly into the build directory instead of staying in the examples subfolder
- More user-definable variables at run-time, reducing the new for changes to the code itself and recompiling
- Better handling of skewness = 0 case (Gaussian) and extended validity range of non-zero skew to all energies and fields studied: higher energies and fields than in v2.1.0 (out to C-14 endpoint, and Z3 FSR's 4 kV/cm)
- rootNEST: option for band medians instead of just means, stronger fitter, improved chi^2 calc (manual for Gaussian fits)
- random X,Y but fixed Z position possible again for events.
- Charge loss can now be separately simulated for wall events such as Pb-206 implanted ions
- Livermore work incorporated: alternative electron extraction efficiency to PIXeY's is a secondary option, and new SE BG power law
- testNEST has been renamed to "execNEST" and it is made extremely clear how it does "everything"
- GetS1() and Get(S2) no longer have double[3] variables for positions which were inhibiting their python compatibility
Version 2.1.0 June 23, 2020 (minor fixes+updates from beta-testing of pre-release)
- Final updated ZEPLIN-III FSR detector parameter file numbers and values, from Henrique Araujo
- Greater flexibility in Kr83m yield function: end-user can specify a specific time between S1a and S1b
- The width of single-electron (SE) S2 pulses only calculated when verbosity is true.
- Skewness model restricted to closer to WIMP search and EFT energy ranges to avoid over-skew glitch on some OSes
- Geant4 bug corrected with photons being reported in new event from old one (Jason Brodsky, based on work of Paola Ferrario)
- README/comments/overall general documentation overhauled, by Greg Rischbieter
- runNESTvec makes both C++ code (testNEST) and python (when calling this func) more flexibility and user-friendly: Xin Xiang
- Pulse shape executable overhauled to be user-friendlier, less crash-prone, and more complete (S2 pulse widths included now)
- Pb-206 heavy ion yield model has deeper theoretical underpinning, for use in wall BGs (Nishat Parveen)
- S2 bottom easier to switch to, from default of S2 total for analysis
- The CMake file has been reworked, simplified, and modernized, by Luke Kreczko of LZ.
Skewness, loopNEST, Kr83m, Rn220, LUX examples, time dependence, EXO's W, S1 Pulse Shape
- Default detector is now LUX’s first WIMP search, though XENON10 still present, and ZEPLIN-III (FSR only) and Xed (Case Western) additional examples
- Ability built in to loop over numerous free parameters and re-fit NEST to new band data, for either ER /NR, allowing one to pull out best-fit yields, with uncertainties, to one’s own data
- New skewness model in NEST.cpp core file for recombination fluctuations, primarily for ER, from Vetri Velan of LUX and Greg Rischbieter. testNEST updated to follow with skew values output to screen, and rootNEST updated to do skew-normal fits not only Gaussian. Leakage calculations revised and checked. Energy and field dependence.
- Kr83m model completely re-written post-PIXeY. Averaging over contradictory world data
- Custom energy spectra easier to add. Rn-220/Pb-212 is the fresh example (bash script)
- Time-dep variables like e- life-time, g2, g1, and E-field now permitted; annual mod (Jack Genovesi)
- W’s (e-) rho dependence revisited (but EXO’s W handled with separate flag, extra photons)
- New func runNESTvec as requested by Xin Xiang, for getting only basics out of testNEST
- Tidied up file names and dir structures, and preserved legacy NEST models as alternatives
- More virtual functions and constants for easier usage of code in others frameworks
- Modularization in calls to yields for different particle types
- Single electron calculation revised along with g2 estimation
- Faster mode of useTiming (-1) approximates individual PMT hits faster, albeit less precisely
- More professional check for conditions allowing binomial to be approximated by Gaussian
- More comments, errors, and warning messages, and generally smarter defaults. Other aesthetic and cosmetic beautifications, non-functional, but for greater usability, flexibility, and end-user readability.
- Repeat variables/functions no longer copied in rootNEST but called from central locations
- Geant4 now starts thermal electrons with the correct velocities
- Fano factor customizable for ER in its energy and field dependencies, though defaults same as before
- Recombination fluctuation models overhauled for both ER and NR, and synced up better, while maintaining flexibility for matching future data sets.
- Random seed default is 0, but now -1 option uses clock to randomize seed
- Better but simpler approximation of energy spectra like LUX’s 1st science run’s D-D
- Complete overhaul of S1 pulse shape model: correct prompt fraction for ER and NR
- Many G4 bugs addressed, documentation added by Jason Brodsky based on experiences of Paola F.
- Improved cmake for cleaner integration as git submodule in projects (allowing for git projects to auto-download and built git into the project)
- Pulse shape code for studying energy and field dependences of PSD
- Smarter ways to warn user about poor choice of parameters’ values in analysis header file, especially when recon E and/or eff coming back as 0, and S1/S2 pulses too hi/low are the culprits.
- Grid noise option added for EXO-like detectors (field non-zero, but single-phase xenon).
- rootNEST fitting and goodness of fit techniques and reporting revamped. Chi^2s include Poisson MLE and other new custom options
- Scientific notation now accepted even for integer event counts for testNEST command line input, to make inputting larger numbers of events easier
- More robust energy reconstruction for both NR (lower energies) and ER in testNEST
- Photon energy now varies at birth as it should for Xe scintillation (G4Integration)
- Detectors other than LUX Run03 covered in comments in testNEST especially for ER yields
- S1 and S2 position dependences for TBA and bottom/total ratio have examples now (LUX)
- Sample files added of efficiency vs. MC energy for both NR and betas, and re-did how rootNEST fits the efficiency curve, with more safeguards for fit failures
- Basic PMT saturation algorithm in place, while on opposite end in energy: S2-only mode smarter
- The same S1 & S2 correction maps no longer have to be used for folding vs. unfolding (Quentin Riffard)
- Molar mass settable by user with a function instead of hard-coded with #define (super for 0vbb)
- Heavy-ion model’s recombination probability (Thomas-Imel box model) improved by Nishat Parveen
- Users are warned more effectively about enormous code slow-down associated with simulating a non-uniform drift electric field in a TPC. Many more changes too numerous to list here!
New, flexible LXe NR yields and resolution model + G4 improvements + linear Noise + much more
• Better nuclear recoil model, with all parameters free for both means and widths
• ER model now includes optional Velan weighting function for mixing betas and gammas in testNEST
• "Linear noise" model for both S1 and S2 for treating unknown systematics in energy resolution
• Digital, integer number of PMTs hits are now saved both before and after the coincidence requirement of N photons within X nanoseconds of each other.
• More robust calculation of Nex and Ni for NR for any future model, and more protections against flaws like negative recombination probability or excitons
• testNEST can be linked against in external code including python, since it has named internal function now not just "int main()"
• Geant4 integration vast improvements: pair production, positrons, gammas, process trigger function, position-dependent E-field within G4
• Faster random number generator (xoroshiro)
• Enriched Xenon differentiated from solid better (confusion was caused by density)
• Resolved return 0, 1 for no errors versus yes an error happened
• beta->NEST::beta for CentOS7 ambiguity problem
• Travis was not testing anything before running testNEST, but now it runs actual simulation
• README improved for python and custom projects
Geant4 Integration Fixes and Updates
This release fixes a few bugs and implements new options in NESTProc, the NEST Geant4 Process that can be used to add NEST calculations to an existing Geant4 project.
Noble Element Simulation Technique, Version 2.0 July 18, 2018 (Major Refactor)
Fast C++ simulation of different particle types in liquid, gaseous, and solid xenon
- Mean scintillation light and ionization charge yields
- Variation in total quanta, and recombination fluctuations
- Dependencies on energy, electric field strength, and density
- Pulse shape models for both S1 and S2, including e-trains
- Additional tools, for calculating leakage and limits
Not a complete list, please see the exhaustive README file included.