Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TLimit.h
Go to the documentation of this file.
1 // @(#)root/hist:$Id$
2 // Author: Christophe.Delaere@cern.ch 21/08/2002
3 
4 #ifndef ROOT_TLimit
5 #define ROOT_TLimit
6 
7 #include "TObject.h"
8 
9 #include "TVectorDfwd.h"
10 
11 class TConfidenceLevel;
12 class TRandom;
13 class TLimitDataSource;
14 class TArrayD;
15 class TOrdCollection;
16 class TH1;
17 
18 class TLimit {
19  protected:
20  static bool Fluctuate(TLimitDataSource * input, TLimitDataSource * output, bool init,TRandom *, bool stat=false);
21  static Double_t LogLikelihood(Double_t s, Double_t b, Double_t b2, Double_t d);
22 
23 public:
24  TLimit() {}
25  virtual ~TLimit() {}
26  static TConfidenceLevel *ComputeLimit(TLimitDataSource * data,
27  Int_t nmc =50000,
28  bool stat = false,
29  TRandom * generator = 0);
30  static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
31  Int_t nmc =50000,
32  bool stat = false,
33  TRandom * generator = 0);
34  static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
35  TVectorD* se, TVectorD* be, TObjArray*,
36  Int_t nmc =50000,
37  bool stat = false,
38  TRandom * generator = 0);
39  static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
40  Int_t nmc =50000,
41  bool stat = false,
42  TRandom * generator = 0);
43  static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
44  TVectorD* se, TVectorD* be, TObjArray*,
45  Int_t nmc =50000,
46  bool stat = false,
47  TRandom * generator = 0);
48  private:
49  static TArrayD *fgTable; // a log table... just to speed up calculation
50  static TOrdCollection *fgSystNames; // Collection of systematics names
51  ClassDef(TLimit, 2) // Class to compute 95% CL limits
52 };
53 
54 #endif
55