- Test correlated systematic errors and remove ‘EXPERIMENTAL’ declaration (DANIEL, HOLGER)
- Fix treatment of param sorting: use internal alphabetical sorting, not least
for much-needed simplicity, but make the output of param sets to terminal/file
from prof-tune etc. use the ordering from the first run’s used_params
file. (HENDRIK and ANDY)
- Allow multi-observable weight specifications in WeightManager, using a
regex. Requires a rewrite of the WM and Weights objects, not least to
internally store a list rather than a dict and to permit overlaps, so it’s
not something to be done lightly but I think it will end up being both simpler
and more powerful. (ANDY)
- Optional parameterising of log(observable) – specify in weights file. (ANDY)
- Sphinx docs completion – just make sure that we have at least a very minimal
doc page for prof-checkspace and prof-terror.
- Allow prof-plotcorrelations to operate at any parameter point, using the same
options flags as prof-sensitivities, and rename as prof-correlations (we don’t
call the other prof-plotsensitivities, and simplicity is good). (DANIEL)
- Add a radio-button toggle to prof-I to allow viewing the plot as a ratio – if
there is ref data. (HOLGER)
- Partially sanitize TeX -> text strings in prof-I, e.g. getting rid of markup like
\,, \mathrm, \text, etc. (ANDY)
- Remove the mandatory “licensing” message from the prof-* scripts other than
prof-interpolate and prof-tune... it’s just annoying, particularly with the
- prof-I: show overall (weighted, via CL option) chi2 as well as unweighted
per-plot chi2. Speed problem in applying the weights? Ignore correlations for
- scanchi2 should be able to plot chi2s from ipol (ANDY)
- prof-interpolate/prof-tune: Include the number of runs in the name of the
pickle file, for easier identification. Backward compatibility? (ANDY)
- prof-ipol: Don’t remake already-done ipols unless –force’d (extend to
- prof-plotresultsscatter: Allow use of params files as inputs in place of
pickle files. Rename –ranges -> –limits, with a behaviour as for the
–limits option to prof-tune. Draw the limits for all the plotted runcombs,
or the most restricted set?
- Display options in prof-envelopes: show individual MC run lines, show
density-shaded envelopes, show multiple overlaid CLs.
- prof-I: display a background envelope calculated from the anchor points. Are
the max and min stored in the bin ipol object? We should do so.
- prof-tune: make sure that the start point is inside the limits, i.e. if “center”
is used together with –limits, we should center within the limits. And if a
parameter is fixed, we should use that value as starting point.
- Parallelising: get threaded Minuit to work (requires bug report to ROOT?);
explicit multithreading of many-bin ipol building and many-runcomb minimising;
try using GPU computation in e.g. GSL linear algebra. PyCUDA looks very neat:
this would be a nice (part of a) MSc or summer student project.
- Check Python 2to3 compatibility.
- Finish error bands study! 3-param JIMMY tune -> 100 “stat” smearings around
each of 100 “sys” minimisation points, using many different interpolations.
- Investigate smearing by sampling mock ref data from its errors – instead of /
as well as run-combinations. This is the method used for replica building by NNPDF.
- WeightManager should provide a wm.getValue(“/path/to/MYHIST:42”) if at all possible.
- Histo loading from multiple formats via/with YODA.
- Parameterising the MC errors? Any use-case or does the median anchor point
error do a good enough job?
- Think about generalising the weights file to allow more things than just
weights to be specified: the value could be a dict to also use different
parameterisations for different histos/regions. In this model, the epsilon
errors and so-on would also live in this one file rather than a separate one
with the scalar format used for weights.
- Boundary sampling: generate samplings on the walls and corners of the space to
constrain away parameterisation deviations outside the sampled region. We
would need to keep these runs separate, so that they could all be used in all
ipol buildings, with the runcomb sampling only happening to the “bulk” points.
- Use new style string formatting and “with ... as foo:” file handling: requires
Python >= what version? Use from __future__ import ... mechanism or require
Python 2.6... I guess the former for now.
- Clean ResultList interface.
- Modify prof-plotpulls to plot observable comparison plots comparing ipols to
anchor points, as a way of checking ipol performance without having to do new
- Use clearer vetoing for inputs to prof-sensitivities: should we exclude bins
with few stats or leave that up to the user via the prof-sensitivities interface?