jhpro.stat.limit
Class StatConfidence

java.lang.Object
  extended by jhpro.stat.limit.StatConfidence

public class StatConfidence
extends java.lang.Object

This is a class to give confidence intervals on various measurements calculated from the number of events observed, the acceptance factor, the background estimate and the associated errors. Results from different experiments (or different channels from the same experiment) can be combined. A complete description is given Computer Physics Communications 149 (2002) 97–102 by Roger Barlow.

After initializing this class, add data (addData()). Then run "run()" method. You can get probabilities using getProbabilyty method.

The user can iterate towards whatever limit type they choose, e.g., for a 90% upper limit they adjust the limit guess until the probability is shown as 0.10; for a 90% lower limit they would aim for 0.90.


Constructor Summary
StatConfidence(double sensitivity, double sigma, double limitguess, int NMCevents)
          Initialize the limit calculations
 
Method Summary
 void addData(ExpData data)
          Add experimental data
 void getDataSize()
          Get number of experiments
 java.util.ArrayList<ExpData> getExpData()
          Get experimental data
 double getLimitGuess()
          Get limit guess
 double getNMC()
          Get number of MC events
 double getProbabilityCH()
          get probability (Cousins+Highland) for the given limit.
 double getProbabilityJ()
          Probability (Jeffreys) for the given limit.
 double getProbabilitySWG()
          Get probability (BaBar SWG) for the given limit.
 double getSensitivity()
          Get sensitivity
 double getSensitivityError()
          Get error on sensitivity
 boolean run(boolean isUpper)
          Run limit calculations.
 void setLimitGuess(double limitguess)
          Set new limit
 void setNMC(double NMC)
          Set number of MC events
 void setSensitivity(double sensitivity)
          Set new sensitivity
 void setSensitivityError(double sigma)
          Set error on sensitivity
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatConfidence

public StatConfidence(double sensitivity,
                      double sigma,
                      double limitguess,
                      int NMCevents)
Initialize the limit calculations

Parameters:
sensitivity -
sigma -
limitguess -
NMCevents -
Method Detail

addData

public void addData(ExpData data)
Add experimental data

Parameters:
data - exp data

getDataSize

public void getDataSize()
Get number of experiments


run

public boolean run(boolean isUpper)
Run limit calculations. You can retrieve probabilities using getProbability* methods. The probabilities depend on guessed limit (which is input).

Parameters:
isUpper - set to true for the upper limit. Set to false for the lower limit.
Returns:

getProbabilityCH

public double getProbabilityCH()
get probability (Cousins+Highland) for the given limit.

Returns:

getProbabilitySWG

public double getProbabilitySWG()
Get probability (BaBar SWG) for the given limit.

Returns:

getProbabilityJ

public double getProbabilityJ()
Probability (Jeffreys) for the given limit.

Returns:

setLimitGuess

public void setLimitGuess(double limitguess)
Set new limit

Parameters:
limitguess -

setNMC

public void setNMC(double NMC)
Set number of MC events

Parameters:
NMC - number of MC events

setSensitivity

public void setSensitivity(double sensitivity)
Set new sensitivity

Parameters:
sensitivity -

setSensitivityError

public void setSensitivityError(double sigma)
Set error on sensitivity

Parameters:
sigma -

getLimitGuess

public double getLimitGuess()
Get limit guess

Returns:

getNMC

public double getNMC()
Get number of MC events

Returns:

getExpData

public java.util.ArrayList<ExpData> getExpData()
Get experimental data

Returns:

getSensitivity

public double getSensitivity()
Get sensitivity

Returns:

getSensitivityError

public double getSensitivityError()
Get error on sensitivity

Returns:


jHepWork 2.8 (©) S.Chekanov