Releases: gundam-organization/gundam
Releases · gundam-organization/gundam
Gundam v1.7.2
Reintroduction of the CalcXsec!
- gundamCalcXsec is now working with the new dial/cache system of the propagator introduced since 1.7.0
- Now supporting parameter dependent renomalizations (like flux renormalisation)
- Don't load the fit samples in the xsection calc propagator (way faster)
- Use config override feature to tweak the parameter definitions used during the fit
Fixes
- CacheManager is now running with the new dial/cache system (i.e. CUDA is back!)
- Now working with ROOT v6.28.04+
- Now cmake checks if the submodules are present
- Full synced event/dial cache sorting to insure reproducibility of toy throws and fit runs
Additions
./update.sh
is a magical script that will help you update the code and its submodule effortlessly 🙃- Updating doc
/!\ Submodules have been moved to the gundam-organization for better support.
Some old version of
git
might freak out while updating, so if you encounter some troubles while recompiling
(GenericToolbox::...
could not find function for instance), you can either try to update manually the submodules
or start back from scratch: i.e.:
git clone https://github.com/gundam-organization/gundam.git
cd gundam
./update.sh --latest
Gundam v1.7.1
Fixes
- Fixing logger issue while building with C++14
- Fixing ParScan config loading ending up in a segfault
Additions
- Systematically check for GUNDAM version while building
- Adding
gundamFitReader
app that allows to printout the results of a fit using the fitter output file - Adding
gundamInputZipper
app that allows to gather configs and resource file in a local place, and zip it. This allows to pass a completely portable set of inputs for another user who wants to run the fit. - Adding override config feature that allows to edit a main configuration:
gundamFitter -c config
- Adding LineScanner feature that allows to monitor the LLH response on a straight line in the parameter space
- Adding convergence monitor that draws the path taken by Minuit to find the minimum
Gundam v1.7.0
This is the first release of GUNDAM
using the new Dial implementation. This is the first version that is expected to be feature complete for the T2K 2024 near detector fit.
What has not changed
- Previous GUNDAM configurations should continue to work without modification. You can start using new features when you need them.
What's new
- The event weight calculation has been moved to a new dial interface that requires less memory, and better optimized. The new dial interface is designed so that it will (eventually) support multi-dimensional dials, and other ways of doing reweighting.
- The new dial infrastructure allows multiple types of cubic splines to be used. The supported splines types are "not-a-knot" (equivalent to the default TSpline3), "natural", and Catmull-Rom (only for uniformly spaced knots).
- All types of splines can be constrained to be monotonic. A monotonic spline will be monotonic at all points except for "extrema" located at a knot. The slope at an extrema is zero, and the first derivative is continuous.
- The fitter engine infrastructure has been improved to better support different types of "fitters". There are currently interfaces for the standard MINUIT based fitter, and an MCMC tool to estimate the posterior probability distribution.
- Infrastructure to determine the P-Value of a fit result.
- A testing infrastructure to facilitate continuous integration and validation.
- Injection of specific parameter values and calculate the likelihood so that the likelihood can be compared between different fits and fitters.
- The individual event weights as a function of each parameter can be saved in the output file for model validation.
- Adding new tools
gundamFitInfo
that read the ouput file of a fit. It reads and display information on the runtime - Adding parameter injector feature that allows to import(/export) a given set of parameters in the Propagator
- Adding line scanner feature in which to can scan the LLH response a long a straight line between two points
- More info are saved in the output root file of the fitter
gundamFitCompare
can now show the position of the values on the Scan plots
What's next
The next point release will probably be 1.7.1 and is expected to include
- Updates to the GPU calculation for the new dial interface.
- Continuously improving documentation.
Gundam v1.6.1
** last version before new dial library **
What's new?
- First working version of
gundamCalcXsec
- Adding GenericToolbox and Logger in
gundamRoot
- Adding option for validation against BANFF: devUseParLimitsOnEigen
- Fixing crashes with plot generator
Gundam v1.6.0
Code rearrangment and cleanup for hosting other engines and tools.
What's new?
- Official markdown doc for config options is available in documentation/applications/gundamFitter.md
- Keep previously writen objects in output file when user abort the execution
gundamFitter
: Add support for pre-fit option with Simplex algogundamFitter
: Now minimization is handle by a dedicated interface aside from the FitterEngineDataDispenser
: faster bin indexing while loading datagundamFitCompare
: now don't stop if no postfit objects are foundgundamFitCompare
: Adding error comparisons in relative along the overlay plotsMinimizerInterface
: Debug option to show current fit parameters during the minimization
Devs notes
- Now every class base on json configuration herit from a single virtual class insuring the setup: config > init > run.
CacheManager
: few impl adjustments
Gundam v1.5.0
What's new?
- Adding EventVarTransform feature allowing to transform event variable with compiled pieces of codes in the user inputs
- Showing table of event variable name / source leaves / transformation lists
- custom BarlowLLH_BANFF_OA2021 parameters
- Throw MC error along statistical uncertainties in toys
- Adding
--appendix
option to fitter
Gundam v1.4.7
What's new?
- Some command line options now adds appendix to the output file name
- Added enableSimplexBeforeMinimize option for difficult fits
- Add option to enable PCA on eigen decomposed paramters
Gundam v1.4.6
What's new?
- If compiled with the CacheManager ON, need to add command line option
--cache-manager
or--gpu
(if CUDA is enabled) --skip-hesse
allows to skip postfit errors- Added "allParamVariations" feature varying event rates at selected sigmas
- Now converting back postfit covariance matrix to original parameter definition phase space
- Now performing event selection in multithread
- Fixing TTree reading when formula use branch arrays
- Adding "allowDialExtrapolation" DialSet option (false default)
- Showing CPU efficiency and IO usage in data loading
- Fit monitor: printint current Chi2/dof
- Postfit plots: printing thrown parameter values for toy fits
- EXPERIMENTAL: external C library loader (plugin) for custom JointProbability (likelihood) definition
gundamFitCompare
now compares fit results from scans, samples, and errorsgundamConfigUnfolder
now produces readable config file (with line jumps)
Gundam v1.4.5
What's new?
- Introducing JointProbability class, generalizing the LLH definitions
- Adding
minDialResponse
&maxDialResponse
options (generalising min/max spline response options) - Display thrown parameter values on prefit/postfit comparison plots
- Parameter throws are only done in the real parameter space (not in Eigen)
- Adding
enableStatThrowInToys
(default: true)
Gundam v1.4.4
What's new?
- Adding
outputFolder
option - Adding
minGundamVersion
option - Check for negative tree wait
- Default min dial response for NormDial is now 0
- Fixing fakedata/toy loading with event by event splines
- Nominal weight formula can now be defined with multiple lines (see attached screenshot)
Fixes
- Fixed CacheManager with new Dial implementation
- Fixed memory unit display when reaching > 4GB