Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:29:45

0001 // @(#)root/roostats:$Id$
0002 // Author: Kyle Cranmer   28/07/2008
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef RooStats_NumberCountingUtils
0013 #define RooStats_NumberCountingUtils
0014 
0015 /*! \namespace NumberCountingUtils
0016     \brief RooStats standalone utilities
0017 
0018 These are RooStats standalone utilities
0019 that calculate the p-value or Z value (eg. significance in
0020 1-sided Gaussian standard deviations) for a number counting experiment.
0021 This is a hypothesis test between background only and signal-plus-background.
0022 The background estimate has uncertainty derived from an auxiliary or sideband
0023 measurement.
0024 
0025 This is based on code and comments from Bob Cousins
0026 and on the following papers:
0027 
0028   - Evaluation of three methods for calculating statistical significance when incorporating a
0029     systematic uncertainty into a test of the background-only hypothesis for a Poisson process<br>
0030     Authors: Robert D. Cousins, James T. Linnemann, Jordan Tucker<br>
0031     http://arxiv.org/abs/physics/0702156<br>
0032     NIM  A 595 (2008) 480--501<br>
0033 
0034 
0035   - Statistical Challenges for Searches for New Physics at the LHC<br>
0036     Authors: Kyle Cranmer<br>
0037     http://arxiv.org/abs/physics/0511028
0038 
0039   - Measures of Significance in HEP and Astrophysics<br>
0040     Authors: J. T. Linnemann<br>
0041     http://arxiv.org/abs/physics/0312059
0042 
0043 The problem is treated in a fully frequentist fashion by
0044 interpreting the relative background uncertainty as
0045 being due to an auxiliary or sideband observation
0046 that is also Poisson distributed with only background.
0047 Finally, one considers the test as a ratio of Poisson means
0048 where an interval is well known based on the conditioning on the total
0049 number of events and the binomial distribution.
0050 
0051 In short, this is an exact frequentist solution to the problem of
0052 a main measurement x distributed as a Poisson around s+b and a sideband or
0053 auxiliary measurement y distributed as a Poisson around tau*b.  Eg.
0054 
0055 \f[ L(x,y|s,b,\tau) = Pois(x|s+b) Pois(y|\tau b) \f]
0056 
0057 ```
0058 Naming conventions:
0059 Exp = Expected
0060 Obs = Observed
0061 P   = p-value
0062 Z   = Z-value or significance in sigma (one-sided convention)
0063 ```
0064 */
0065 
0066 #include "RtypesCore.h"
0067 
0068 
0069 namespace RooStats{
0070 
0071    namespace  NumberCountingUtils {
0072 
0073 
0074   /// Expected P-value for s=nullptr in a ratio of Poisson means.
0075   /// Here the background and its uncertainty are provided directly and
0076   /// assumed to be from the double Poisson counting setup described in the
0077   /// BinomialWithTau functions.
0078   /// Normally one would know tau directly, but here it is determined from
0079   /// the background uncertainty.  This is not strictly correct, but a useful
0080   /// approximation.
0081      double BinomialExpZ(double sExp, double bExp, double fractionalBUncertainty);
0082 
0083   /// See BinomialWithTauExpP
0084      double BinomialWithTauExpZ(double sExp, double bExp, double tau);
0085 
0086   /// See BinomialObsP
0087      double BinomialObsZ(double nObs, double bExp, double fractionalBUncertainty);
0088 
0089   /// See BinomialWithTauObsP
0090      double BinomialWithTauObsZ(double nObs, double bExp, double tau);
0091 
0092   /// See BinomialExpP
0093      double BinomialExpP(double sExp, double bExp, double fractionalBUncertainty);
0094 
0095   /// Expected P-value for s=nullptr in a ratio of Poisson means.
0096   /// Based on two expectations, a main measurement that might have signal
0097   /// and an auxiliary measurement for the background that is signal free.
0098   /// The expected background in the auxiliary measurement is a factor
0099   /// tau larger than in the main measurement.
0100      double BinomialWithTauExpP(double sExp, double bExp, double tau);
0101 
0102   /// P-value for s=nullptr in a ratio of Poisson means.
0103   /// Here the background and its uncertainty are provided directly and
0104   /// assumed to be from the double Poisson counting setup.
0105   /// Normally one would know tau directly, but here it is determined from
0106   /// the background uncertainty.  This is not strictly correct, but a useful
0107   /// approximation.
0108      double BinomialObsP(double nObs, double, double fractionalBUncertainty);
0109 
0110   /// P-value for s=nullptr in a ratio of Poisson means.
0111   /// Based on two observations, a main measurement that might have signal
0112   /// and an auxiliary measurement for the background that is signal free.
0113   /// The expected background in the auxiliary measurement is a factor
0114   /// tau larger than in the main measurement.
0115      double BinomialWithTauObsP(double nObs, double bExp, double tau);
0116 
0117 
0118    }
0119 }
0120 
0121 #endif