Skip to content
Snippets Groups Projects
Commit 2c03e115 authored by Rene Brun's avatar Rene Brun
Browse files

From Lorenzo:

update for the release notes of roostats.


git-svn-id: http://root.cern.ch/svn/root/trunk@31880 27541ba8-7e3a-0410-8455-c3a389f83636
parent 5cda428a
No related branches found
No related tags found
No related merge requests found
...@@ -71,6 +71,7 @@ of version 5.16, 5.18, 5.20, 5.22 and version 5.24 in addition to these notes.</ ...@@ -71,6 +71,7 @@ of version 5.16, 5.18, 5.20, 5.22 and version 5.24 in addition to these notes.</
<li><a href="#net"> <b>Networking</b></a> - network-related parts, e.g. protocols and authentication interfaces</li> <li><a href="#net"> <b>Networking</b></a> - network-related parts, e.g. protocols and authentication interfaces</li>
<li><a href="#proof"> <b>PROOF</b></a> - parallel ROOT facility</li> <li><a href="#proof"> <b>PROOF</b></a> - parallel ROOT facility</li>
<li><a href="#roofit"> <b>RooFit</b></a> - a fitting library</li> <li><a href="#roofit"> <b>RooFit</b></a> - a fitting library</li>
<li><a href="#roostats"> <b>RooStats</b></a> - a collection of statistical tools </li>
<li><a href="#sql"> <b>SQL</b></a> - database interfaces</li> <li><a href="#sql"> <b>SQL</b></a> - database interfaces</li>
<li><a href="#tmva"> <b>TMVA</b></a> - multivariate analysis tools</li> <li><a href="#tmva"> <b>TMVA</b></a> - multivariate analysis tools</li>
<li><a href="#tree"> <b>Trees</b></a> - ROOT's unique container class and related utilities</li> <li><a href="#tree"> <b>Trees</b></a> - ROOT's unique container class and related utilities</li>
...@@ -107,14 +108,17 @@ Anar Manafov, GSI, <br/> ...@@ -107,14 +108,17 @@ Anar Manafov, GSI, <br/>
Lorenzo Moneta, CERN/SFT,<br/> Lorenzo Moneta, CERN/SFT,<br/>
Axel Naumann, CERN/SFT,<br/> Axel Naumann, CERN/SFT,<br/>
Eddy Offermann, Renaissance, <br/> Eddy Offermann, Renaissance, <br/>
Danilo Piparo, Karlsruhe/CMS, RooStats,<br/>
Timur Pocheptsov, JINR/Dubna,<br/> Timur Pocheptsov, JINR/Dubna,<br/>
Fons Rademakers, CERN/SFT,<br/> Fons Rademakers, CERN/SFT,<br/>
Philip Rodrigues, Oxford, Doc,<br/> Philip Rodrigues, Oxford, Doc,<br/>
Paul Russo, FNAL, <br/> Paul Russo, FNAL, <br/>
Gregory Schott, Karlsruhe/CMS, RooStats, <br/>
Tomasz Sosnicki, CERN/SFT summer student, <br/> Tomasz Sosnicki, CERN/SFT summer student, <br/>
Joerg Stelzer, DESY/Atlas, TMVA <br/> Joerg Stelzer, DESY/Atlas, TMVA <br/>
Matthew Strait, UMN.edu DOC <br/> Matthew Strait, UMN.edu DOC <br/>
Alja Tadel, CERN/CMS, Eve <br/> Alja Tadel, CERN/CMS, Eve <br/>
Matevz Tadel, CERN/Alice, Eve <br/> Matevz Tadel, CERN/Alice, Eve <br/>
Wouter Verkerke, NIKHEF/Atlas, RooFit <br/> Wouter Verkerke, NIKHEF/Atlas, RooFit, <br/>
Matthias Wolf, Karlsruhe/CMS, RooStats <br/>
</p> </p>
...@@ -235,6 +235,9 @@ RooAddPdf::genmodel[ Nsig * sig + Nbkg * bkg ] = 0.502276 ...@@ -235,6 +235,9 @@ RooAddPdf::genmodel[ Nsig * sig + Nbkg * bkg ] = 0.502276
<a name="roostats"></a> <a name="roostats"></a>
<h3>RooStats</h3> <h3>RooStats</h3>
This release contains significant bug fixes and it is strongly
reccomended to update to this version if using older ones.
<h4>Major Changes in LimitCalculator and HypoTestCalculator classes: usage of ModelConfig class</h4> <h4>Major Changes in LimitCalculator and HypoTestCalculator classes: usage of ModelConfig class</h4>
<ul> <ul>
...@@ -246,8 +249,11 @@ function is introduced. ...@@ -246,8 +249,11 @@ function is introduced.
<br/> <br/>
</li> </li>
<li> <li>
Users are supposed to pass all the model information using the <tt>ModelConfig</tt> class and not anymore via the <tt>RooWorkspace</tt>. Users are supposed to pass all the model information using the
Setter methods using pdf instances and parameter lists have been mantained in the derived classes, like the <tt>ProfileLikelihoodCalculator</tt> or the <tt>HybridCalculator</tt>, but those passing a string for the name of the pdf have been removed. <tt>ModelConfig</tt> class rather than via the
<tt>RooWorkspace</tt> or specifying directly the pdf and parameter
objects in the constructors.
Setter methods using pdf instances and parameter lists are maintained in the derived classes, like the <tt>ProfileLikelihoodCalculator</tt> or the <tt>HybridCalculator</tt>, but those passing a string for the name of the pdf have been removed.
<br/> <br/>
</li> </li>
<li> <li>
...@@ -257,49 +263,56 @@ needed information. ...@@ -257,49 +263,56 @@ needed information.
</ul> </ul>
<h4>New class BayesianCalculator</h4> <h4>ProfileLikelihoodCalculator, LikelihoodInterval</h4>
<ul> <ul>
<li> <li>The Minos algorithm of Minuit is used now to find the limit of the likelihood intervals instead of searching directly the roots of the RooProfileLL class. Minos is used via the <tt>ROOT::Math::Minimizer</tt> interface. By default TMinuit is used, one can also use Minuit2 by doing <tt>ROOT::Math::MinimizerOptions::SetDefaultMinimizer("Minuit2")</tt>.</li>
New class for calculating Bayesian interval using numerical integration. It implements the IntervalCalculator interface and returns as result a SimpleInterval. <li>The <tt>LikelihoodInterval</tt> class now provides now two new methods, <tt>FindLimits</tt> which finds both the upper and lower interval bounds, and <tt>GetContourPoints</tt> to find the 2D contour points defining the likelihood interval. GetContourPoints is now used by the LikelihoodIntervalPlot class to draw the 2D contour.
</li> </li>
<li>The <tt>BayesianCalculator::GetInterval()</tt> method returns a <tt>SimpleInterval</tt> which contains the lower and upper value of the bayesian interval obtained from the posterior probability for the given confidence level.</li> <li>New tutorials have been added: <tt>rs501_ProfileLikelihoodCalculator_limit.C</tt> and <tt>rs502_ProfileLikelihoodCalculator_significance.C</tt> for getting the interval limits and significance using the ProfileLikelihoodCalculator. The tutorials can be run on a set of Poisson data or Gaussian over flat with model considering optionally the nuisance parameters. The data can be generated with the <tt>rs500</tt> tutorials.</li>
<li>The class return also the posterior pdf (<tt>BayesianCalculator::GetPosteriorPdf()</tt>) obtained from integrating (marginalizing) on the nuisance parameters.</li>
<li>It works currently only for one-dimensional problems by relying on RooFit for performing analytical or numerical integration.</li>
<li>A plot of the posterior and the desired interval can be obtained using <tt>BayesianCalculator::GetPosteriorPlot()</tt>.</li>
<li>A new tutorial <tt>rs701_BayesianCalculator.C</tt> has been added in the <tt>tutorials/roostats</tt> directory to show the usage of this class.</li>
</ul> </ul>
<h4>HybridCalculator</h4>
<ul>
<li>In the constructor the signature passing a name and a title string has been removed, for being consistent with all the other calculator classes. Name and title can be set optionally using the SetName and SetTitle methods. Please note that this change is not backward compatible.</li>
<li>Add the option to use binned generation (via <tt>SetGenerateBinned</tt>).</li>
<li>An estimated of the error in the obtained p values is now computed in the <tt>HybridResult</tt> class thanks to Matthias Wolf. The errors can be obtained with <tt>HybridResult::CLbError()</tt>, <tt>HybridResult::CLsplusbError()</tt> or <tt>HybridResult::CLsError()</tt>.</li>
<li>A new tutorial has been added for showing the usage of the hybrid calculator: <tt>rs505_HybridCalculator_significance.C</tt></li>
</ul>
<h4>new class HypoTestInverter</h4> <h4>new class HypoTestInverter</h4>
<ul> <ul>
<li> <li>
New class for performing an hypothesis test inversion by scanning the hypothesis test results of the <tt>HybridCalculator</tt> for various values of the parameter of interest. By looking at the confidence level curve of the result an upper limit, New class for performing an hypothesis test inversion by scanning
where it intersects the desired confidence level, the hypothesis test results of the <tt>HybridCalculator</tt> for
an upper limit can be derived.</li> various values of the parameter of interest. An upper (or lower) limit can be derived by looking at the
confidence level curve of the result as function of the parameter of
interest, where it intersects the desired confidence level.</li>
<li> <li>
The class implements the <tt>IntervalCalculator</tt> interface and returns an <tt>HypoTestInverterResult</tt> class. The result is a SimpleInterval, which via the method <tt>UpperLimit</tt> returns to the user the upper limit value. The class implements the <tt>IntervalCalculator</tt> interface and returns an <tt>HypoTestInverterResult</tt> class. The result is a SimpleInterval, which via the method <tt>UpperLimit</tt> returns to the user the upper limit value.
</li> </li>
<li>The <tt>HypoTestInverter</tt> implements various option for performing the scan. <tt>HypoTestInverter::RunFixedScan</tt> will scan using a fixed grid the parameter of interest. <tt>HypoTestInverter::RunAutoScan</tt> will perform an automatic scan to find optimally the curve and it will stop until the desired precision is obtained. <li>The <tt>HypoTestInverter</tt> implements various option for performing the scan. <tt>HypoTestInverter::RunFixedScan</tt> will scan using a fixed grid the parameter of interest. <tt>HypoTestInverter::RunAutoScan</tt> will perform an automatic scan to find optimally the curve and it will stop when the desired precision is obtained.
The confidence level value at a given point can be done via <tt>HypoTestInverter::RunOnePoint</tt>.</li> The confidence level value at a given point can also be done via <tt>HypoTestInverter::RunOnePoint</tt>.</li>
<li>The class can scan the CLs+b values or alternativly CLs (if the method <tt>HypoTestInverter::UseCLs</tt> has been called).</li> <li>The class can scan the CLs+b values (default) or alternatively CLs (if the
method <tt>HypoTestInverter::UseCLs</tt> has been called).</li>
<li>The estimated error due to the MC toys statistics from the <tt>HybridCalculator</tt> is propagated into the limits obtained from the <tt>HypoTestResult</tt>
<li>A new tutorial <tt>rs801_HypoTestInverter.C</tt> has been added in the <tt>tutorials/roostats</tt> directory to show the usage of this class.</li> <li>A new tutorial <tt>rs801_HypoTestInverter.C</tt> has been added in the <tt>tutorials/roostats</tt> directory to show the usage of this class.</li>
</ul> </ul>
<h4>ProfileLikelihoodCalculator, LikelihoodInterval</h4>
<h4>New class BayesianCalculator</h4>
<ul> <ul>
<li>The Minos algorithm of Minuit is used now to find the limit of the likelihood intervals instead of searching directly the roots of the RooProfileLL class. Minos is used via the <tt>ROOT::Math::Minimizer</tt> interface. By default TMinuit is used, one can also use Minuit2 by doing <tt>ROOT::Math::MinimizerOptions::SetDefaultMinimizer("Minuit2")</tt>.</li> <li>
<li>The <tt>LikelihoodInterval</tt> class now provides now two new methods, <tt>FindLimits</tt> which finds both the upper and lower interval bounds, and <tt>GetContourPoints</tt> to find the 2D contour points defining the likelihood interval. GetContourPoints is now used by the LikelihoodIntervalPlot class to draw the 2D contour. New class for calculating Bayesian interval using numerical integration. It implements the IntervalCalculator interface and returns as result a SimpleInterval.
</li> </li>
<li>New tutorials have been added: <tt>rs501_ProfileLikelihoodCalculator_limit.C</tt> and <tt>rs502_ProfileLikelihoodCalculator_significance.C</tt> for getting the interval limits and significance using the ProfileLikelihoodCalculator. The tutorials can be run on a set of Poison data or Gaussian over flat with model considering optionally the nuisance parameters. The data can be generated with the <tt>rs500</tt> tutorials.</li> <li>The <tt>BayesianCalculator::GetInterval()</tt> method returns a <tt>SimpleInterval</tt> which contains the lower and upper value of the bayesian interval obtained from the posterior probability for the given confidence level.</li>
<li>The class return also the posterior pdf (<tt>BayesianCalculator::GetPosteriorPdf()</tt>) obtained from integrating (marginalizing) on the nuisance parameters.</li>
<li>It works currently only for one-dimensional problems by relying on RooFit for performing analytical or numerical integration.</li>
<li>A plot of the posterior and the desired interval can be obtained using <tt>BayesianCalculator::GetPosteriorPlot()</tt>.</li>
<li>A new tutorial <tt>rs701_BayesianCalculator.C</tt> has been added in the <tt>tutorials/roostats</tt> directory to show the usage of this class.</li>
</ul> </ul>
<h4>HybridCalculator</h4>
<ul>
<li>In the constructor the signature passing a name and a title string has been removed, for being consistent with all the other calculator classes. Name and titile can be set optionally using the SetName and SetTitle methods. Please note that this change is not backward compatible.</li>
<li>Add the option to use binned generation (via <tt>SetGenerateBinned</tt>).</li>
<li>An estimated of the error in the obtained p values is now computed in the <tt>HybridResult</tt> class thanks to Matthias Wolf. The errors can be obtained with <tt>HybridResult::CLbError()</tt>, <tt>HybridResult::CLsplusbError()</tt> or <tt>HybridResult::CLsError()</tt>.</li>
<li>A new tutorial has been added for showing the usage of the hybrid calculator: <tt>rs505_HybridCalculator_significance.C</tt></li>
</ul>
<h4>MCMCCalculator</h4> <h4>MCMCCalculator</h4>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment