Skip to content

[RF] Ideas for RooFit #6557

@hageboeck

Description

@hageboeck
  • Implement batch eval for Chi2 test stat
  • Implement recovery from disallowed regions for batch eval ([RF] Improve recovery from invalid function values #6401)
  • Implement getWeightBatch() and getBatches() for RooDataHist
  • Implement getBatch for RooTreeDataStore?
  • Don't clear all intermediate values in batch fits between fit cycles. Only the ones that changed.
  • Disable recalculateCache etc belonging to Lvl2 optimisation.
  • Use batch evaluation & inverted CDF for toys
  • Continue to improve interface with variadic templates
  • Profile and optimise new Batch interface
  • Modernise proxyList member of RooSimultaneous
  • Investigate if retrieving batch data with category states is better for batch evaluations. (vs. splitting composite datasets into components, and creating one NLL for each.)
  • Continue modernisation of RooSimultaneous. Requires rebasing and fixing an index bug in https://github.com/hageboeck/root/tree/updateRooSimultaneous
  • Implement analytical integration of RooJohnson.
  • Correct interface of RooAbsData and derived classes to use e.g. std::size_t for indexing events. int doesn't make sense.
  • Always have a debug version of RooFit around with -DROOFIT_CHECK_CACHED_VALUES.
  • Use analytic integrals in RooBinSamplingPdf when available.
  • Check that different integrator settings are honoured in RooBinSamplingPdf.
  • https://sft.its.cern.ch/jira/browse/ROOT-8304
  • Implement evaluateSpan() in classes relevant for HistFactory fits.
  • Throw Gaussian & Poisson constraints into dedicated fast class.
  • Switch on FastEvaluations topic in RooFit message streams, and use it to trace down PDFs that don't implement the faster interface.
  • [RF] Implement checking of parameter ranges #7210, slowly augment PDFs with checks of the definition range of parameters. This prevents evaluation errors and can stabilise fits.
  • [RF] Pythonisations for RooFit #7217, pythonisations for RooFit
  • Vectorized generation of events. Unless specialised generator functions are implemented, RooFit employs accept/reject sampling. Since this has to evaluate the PDF many times, one could think about using the batch interface to generate e.g. 2x the requested number of events, and do accept/reject on those. Repeat until enough events have been generated, and throw away the rest.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions