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

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2006-02-17 - MariaSpiropulu
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback