Issue fixes
Setup file
I have finished implementing a smarter argument system. Now all arguments can also be given in the setup file, like this:
Sample setup file
# This is a comment
plot Dalitz
e23-pretty true
e23-gs-limits 0 300
tree kin101 rel101
### Branch names ###
ECM0 E_cm[0]
ECM1 E_cm[1]
ECM2 E_cm[2]
It is also possible to save the current set of arguments provided through the command-line to a new setup-file. An argument from the command-line takes priority if it was also provided in the setup file. Finally it is worth mentioning that it is very simple to add new arguments to the parser (1 line of code!) if we want to add more options in the future. This could maybe be useful if we want to allow the user to have more control over the generated plots (font size, labels, width/height etc) without overcrowding the argument section for the executable itself.
E23 plots
I have implemented E23 plots, accessible through the --plot E23Projection
argument. See this issue for examples.
Contour lines
Implemented with the --contour
option. One can also manually set the cutoff values as a vector through the setup file. The left is an example using the default contours, while the right is the usual Dalitz plot.
Other stuff
Since it is now so easy to add more options, I have added
- Colors: You can now use your favorite color scheme.
- Log scale toggle: One can now switch between logarithmic and normal z-axes.
- Normalization: It is now also possible to normalize the Dalitz plots to 1.
What do you think about these additions? We could potentially add tons of options for customizing the plots to exactly what the user wants, be it titles, labels, fontsize, margins, ...
Surface plots
I have implemented surface plots of arbitrary 2D functions through the new Minimizer
class, which I intend to use in the Fitter as well. Right now it is just a simple wrapper around a ROOT Minimizer, but it can easily be extended with more algorithms if necessary.
Landscape plots
I have implemented 2D surface plots for the fitter. They can be enabled with the option
landscape true
landscape-bins X
in the settings file.
Example from the 0+ & 2- data I used in my project:
In these simple cases (2 free variables - k & delta) Minuit2 seems reliable, and correctly finds the correct minimum. I'm concerned about how large the area near the minimum is though.