BY BOB COUSINS
How it works in
ROOT:
It turns out that the
ratio of incomplete beta functions which is
written in the above papers is what
ROOT (following Numerical Recipes)
calls
the incomplete beta function. So in
ROOT, one needs only one
call to
BetaIncomplete to get the Z-value, and then a call to
ErfInverse to convert it to an effective number of Gaussian sigma.
Example
ROOT sessions follow; they can be copied into a fresh
ROOT
session with one mouse grab each.
//SIDE BAND EXAMPLE
//See Eqn. (19) of Cranmer and pp. 36-37 of Linnemann.
//150 total events in signal region, 100 in sideband of equal size
x = 150. //Given
y = 100. //Given
tau = 1. //Given
Z_Bi = TMath::BetaIncomplete(1./(1.+tau),x,y+1)
S = sqrt(2)*TMath::ErfInverse(1 - 2*Z_Bi)
// result is Z_Bi = 9.42e-04, S = 3.11
Now, if instead the mean background level b in the signal region is
specified, along with Gaussian rms sigb, then one can fake a Poisson
sideband (see Linnemann, p. 35, converted to Cranmer's notation) by
letting tau = b/(sigb*sigb) and y = b*tau. Thus, for example, if one
has x=150 and b = 100 +/- 10, one then derives tau and y. Then one
has the same two lines of
ROOT calling
BetaIncomplete and
ErfInverse.
Since I chose these numbers to revert to the previous example, we get
the same answer:
//GAUSSIAN FAKED AS POISSON EXAMPLE
x = 150. //Given
b = 100. //Given
sigb = 10. //Given
tau = b/(sigb*sigb)
y = tau*b
Z_Bi = TMath::BetaIncomplete(1./(1.+tau),x,y+1)
S = sqrt(2)*TMath::ErfInverse(1 - 2*Z_Bi)
If sigb is too small, then of course tau and y become huge, so
ironically these lines of code run into numerical trouble for
small
uncertainty on the background (and in particular background known
exactly). For such small errors on background, I would probably
recommend the S_cP without systematic errors, perhaps checking with
scpf.f that Z_N shows that negligible change is expected. There may be
other areas with numerical difficulty; I have not tried many values.
I have played around with a few examples using scpf.f and
ROOT. Kyle
has done more serious coverage studies. He finds that for the
sideband problem with tau=1 and with true mean background 100, Z_N
gives a 5-sigma result which is really 4.2-sigma (when evaluated using
the Poisson ensemble of backgrounds obtained with this mean).
Meanwhile, Z_Bi correctly gives 5-sigma by construction. (See Kyle's
Table 2.)
At this point, I would recommend a switch to Z_Bi as the recommended
procedure for S_cP plus uncertainty in the background, citing the papers
of Jim and Kyle "and references therein". (Technically the PRS
recommendation issued last October even allows for Z_Gamma, since the
possibility of posteriors other than Gaussian was mentioned. But in
practice Z_Gamma is not implemented in scpf.f.) Of course more studies
need to be done, but as far as I know, Z_N was adopted without study of
its coverage properties, and now we know that Z_Bi is on much firmer
theoretical ground which has been confirmed by some initial studies. I
don't know how big a effort switching would be, since I do not know how
much Z_N (i.e., scpf.f) has been used in studies which are not yet in
the PTDR draft. But at a minimum, someone should check that Z_N is not
being used in the parameter space where it is now known to seriously
over-estimate the significance.
--
MariaSpiropulu - 17 Feb 2006