v0.3.0
Pre-release
Pre-release
New features:
- Nuisance parameters for ratio-based methods! This required a major refactoring of
madminer.sampling
. - New
madminer.limits
submodule that calculates expected and observed p-values. - SALLY can profile the estimated score over nuisance parameters (then its output is n-dimensional rather than (n+k)-dimensional, where n is the number of parameters of interest and k is the number of nuisance parameters).
- New
madminer.analysis
submodule with a genericDataAnalyzer
class that can be used to access the general setup, weighted events, and cross sections. The classesSampleAugmenter
,FisherInformation
andAsymptoticLimits
subclass it, leading to a more unified interface. - Sampling speed-up with parallelization when using
n_processes>1
for any sampling call.
Breaking / API changes:
- New file format for trained neural networks (only the *.json files are different) -- old models won't load
- The one-size-fits-all class
MLForge
is replaced by four different classesParameterizedRatioEstimator
,DoubleParameterizedRatioEstimator
,LikelihoodEstimator
, andScoreEstimator
. EnsembleForge
is nowEnsemble
, with renamed functions and less clutter (at the cost of some unimportant functionality)- Renaming:
DelphesProcessor
->DelphesReader
,LHEProcessor
->LHEReader
madminer.morphing
now lives inmadminer.utils.morphing
, and theMorpher
class was renamedPhysicsMorpher
(since we also have aNuisanceMorpher
class)- The
madminer.sampling
has changed in a number of ways. The high-level functions have been renamed:extract_samples_train_plain()
->sample_train_plain()
,extract_samples_train_local()
->sample_train_local()
,extract_samples_train_global()
->train_samples_density()
,extract_samples_train_ratio()
->sample_train_ratio()
,extract_samples_train_more_ratios()
->sample_train_more_ratios()
,extract_samples_test()
->sample_test()
,extract_cross_sections()
->cross_sections()
. In addition to the physical parameterstheta
, they all now take descriptions of the nuisance parametersnu
as input argument, for which new helper functions exist. - The helper functions in
madminer.sampling
are also different:constant_benchmark_theta()
->benchmark()
,multiple_benchmark_thetas()
->benchmarks()
,constant_morphing_theta()
->morphing_point()
,multiple_morphing_thetas()
->morphing_points
,random_morphing_thetas()
->random_morphing_points()
- New default evaluation split of 0.2 (so with the defaults, there will be 60% train, 20% validation, 20% test events)
Internal changes:
madminer.ml
largely rewrittenmadminer.sampling
largely rewrittenmadminere.utils.analysis
got removed, the old functions are now split betweenmadminer.analysis
andmadminer.sampling