RooFit
- Assorted small bug fixes have been applied. No major new features have been introduced since 5.26
- Normalization of
- RooRealSumPdf
changed from sum of coefficents to sum of coefficients*integrals of input functions.
RooStats
ModelConfig
- This class is now used extensively by the calculator tools. It encapsulates the configuration of a model to define a particular hypothesis.
- Various fixes by and improvements to make it usable with all
the existing calculator.
- ModelConfig contains now always a reference to an
external workspace who manages all the objects being part of the model (pdf's and parameter sets). The user needs then to
set always a workspace pointer before setting the various objects.
Profile Likelihood
- When running ProfileLikelihoodCalculator::GetHypoTest
the user does not need anymore to clone the null parameter set. It
is done now inside the calculator
- LikelihoodInterval::LowerLimit (and UpperLimit)
returns now a boolean flag with the status of the limit search.
In case of a failure in finding the upper/lower limit a value of
zero is returned instead of the min/max of the variable range
- LikelihoodIntervalPlot fix drawing of horizontal green
line when limits are outside the variable range
HybridCalculator
- New re-written class based on the TestStatSampler and
TestStatistic interfaces. The new class is designed to provide
consistent use of a ModelConfig, specifying the Pdf and Prior.
The old class remains, but with a new name: HybridCalculatorOriginal.
- The tutorial rs201b_hybridcalculator shows the usage of
the new class.
- Note that the new class can be constructed only from a
ModelConfig
- One can specify a TestStatSampler in the constructor (which implies a choice of a TestStatistic, or by default the tool will use teh ToyMCSampler and the RatioOfProfiledLikelihoods
- The interface of the new HybridCalculator class is now more uniform with the other calculator tools, which is different from the original
HybridCalculator's interface. Users wishing to run their old macro are advised to use ModelConfig, but if that is too time consuming one can just change the
name of the class from HybridCalculator to
HybridCalculatorOriginal
- Note also that with the new class no HybridResult is
returned but directly the base class HypoTestResult which
has been improved for this release.
- The plot class, HybridPlot is not returned, but
the user can create an HypoTestPlot object from the
HypoTestResult.
- The classes HybridResult and HybridPlot work only
with the HybridCalculatorOriginal and remain for maintaining
a backward compatibility.
- Given a ModelConfig, the tool will attempt to form the posterior pdf
for the nuisance parameters based on the prior and the constraint terms
in the pdf. However, this is not yet implemented. In order to keep
logical consistency with other tools, the distribution being used
to smear the nuisance parameters should NOT be considered the prior in
the model config. Instead, one should use HybridCalculator's
ForcePriorNuisanceNull and ForcePriorNuisanceAlt.
HybridCalculatorOriginal
- Apply a fix for test statistic = 3 (profile likelihood)
- Apply a fix for using non-extended pdf
TestStatSampler and TestStatistics
- Cleanup of the interfaces.
- TestStatistics now have a method PValueIsRightTail to specify the sign conventions for the test statistic. This is used when making plots and calculating p-values.
- make clear that TestStatistic::Evaluate should take data and values of the parameters that defien the null.
- Add method TestStatSampler::SetParametersForTestStat that
allows for greater control of parameters used for generating toy data
and parameters used for evaluating the test statistic.
- New version of ToyMCSampler which can smear the nuisance
parameters according to their distributions for use with HybridCalculator
- ProfileLikelihoodTestStat
Using the raw profile likelihood while reviewing the old algorithm used to provide robustness in situations with local minima.
- New test statistic classes:
- SimpleLikelihoodRatioTestStat : log L_1 / L_0
- RatioOfProfiledLikelihoodsTestStat: log L(mu_1, hat(nu_1))/L(mu_0,hat(nu_0))
- MaxLikelihoodEstiamteTestStat: the MLE of a specified parameter
BayesianCalculator
- Improve the way the class performs the numerical integration to
find the interval and/or the posterior function.
- In case of complex
numerical calculation add the method SetScanOfPosterior(nbins) for
scanning the posterior function in a givn number of nbins
- Add possibility to compute lower/upper limits using the method
SetLeftSideTailFraction(fraction)
- Add possibility to compute shortest interval using
SetShortestInterval
MCMCCalculator
- Various improvements including possibility to compute
lower/central/upper limits using
SetLeftSideTailFraction(fraction)
Tutorials
- New tutorial roostats/FourBins.C as an example of the generalization of the on/off problem
- New tutorial roostats/Zbi_Zgamma.C : Shows equivalence of exact Z_Bi calculation and numerically integrated Z_bi.
- New tutorial rs201b_hybridcalculator showing the usage of
the new HybridCalculator class.
- New tutorial MultivariateGaussianTest.C: demonstrate MCMC for a multivariate Gaussian with non-trivial covariance.