How often does an expected background fluctuate up to some number of events? Silverlight 3 program that graphically calculates this (gaussian background expectation, poisson sampling for # of events).
Getting A Running Version
You can find this application by pointing your web browser at
A Bit More Information
I had this idea when I didn't really understand the
dark matter search results
. They had expected 0.8 events +/- 0.3 (these results were released just before Christmas 2009). They claimed 23% probability of this fluctating up to 2 events. About 10 minutes
with a calculatator will show you this is right, but I thought it might be nice to make a plot. And an interactive one (feature creep!). This was also one of my first attempts to use SliverLight as an aid in my science.
Usage is pretty simple:
You enter the # of background events, the width of the background (always taken to be a gaussian) first. Then you enter either the probability or the # of events (and
will calculate the other one). It will also update the plot to show the gaussian background and the resulting Poisson distribution, with a shaded portion to indicate where the probability you entered lies.
More info can be found in the Documentation section.
This was my second (and much simpler) attempt at using Silverlight for some very basic science. For the version 1.0 release, I had the following difficulties:
- I have the Probability and Number of events set up as items in the GUI. These are 100% correlated. So I had to have special logic that would prevent circular changes - modify the probability, which would modify the # of events, which would modify the probability,
etc. In general, it would be very nice to have some framework that would allow one to write the calculations off in another thread, and not worry about GUI. The framework would do data flow analysis and properly hook everything up to the GUI.
- The Silverlight Toolkit contains some fantastic graphing code. It is pretty trivial to make a good looking plot. However, performance is not that good (updating 100 bins line plot can take close to 1/2 a
second), and there are some basic things that need fixing (like the ymax of an axis). I had to add a bunch of extra code in order to work around the performance problems.