ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/scripts/CLs/TLimit.h
Revision: 1.1.1.1 (vendor branch)
Committed: Thu Apr 1 15:14:10 2010 UTC (15 years, 1 month ago) by auterman
Content type: text/plain
Branch: CLs, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
Log Message:
some cls demo plots

File Contents

# User Rev Content
1 auterman 1.1 // @(#)root/hist:$Id: TLimit.h 20882 2007-11-19 11:31:26Z rdm $
2     // Author: Christophe.Delaere@cern.ch 21/08/2002
3    
4     #ifndef ROOT_TLimit
5     #define ROOT_TLimit
6    
7     #ifndef ROOT_TObject
8     #include "TObject.h"
9     #endif
10    
11     #include "TVectorDfwd.h"
12    
13     class TConfidenceLevel;
14     class TRandom;
15     class TLimitDataSource;
16     class TArrayD;
17     class TOrdCollection;
18     class TH1;
19    
20     //____________________________________________________________________
21     //
22     // TLimit
23     //
24     // This class computes 95% Confidence Levels.
25     //
26     // Implemented by C. Delaere from the mclimit code written by Tom Junk.
27     // reference: HEP-EX/9902006
28     // See http://cern.ch/thomasj/searchlimits/ecl.html for more details.
29     //____________________________________________________________________
30    
31     class TLimit {
32     protected:
33     static bool Fluctuate(TLimitDataSource * input, TLimitDataSource * output, bool init,TRandom *, bool stat=false);
34     static Double_t LogLikelihood(Double_t s, Double_t b, Double_t b2, Double_t d);
35    
36     public:
37     TLimit() {}
38     virtual ~TLimit() {}
39     static TConfidenceLevel *ComputeLimit(TLimitDataSource * data,
40     Int_t nmc =50000,
41     bool stat = false,
42     TRandom * generator = 0);
43     static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
44     Int_t nmc =50000,
45     bool stat = false,
46     TRandom * generator = 0);
47     static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
48     TVectorD* se, TVectorD* be, TObjArray*,
49     Int_t nmc =50000,
50     bool stat = false,
51     TRandom * generator = 0);
52     static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
53     Int_t nmc =50000,
54     bool stat = false,
55     TRandom * generator = 0);
56     static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
57     TVectorD* se, TVectorD* be, TObjArray*,
58     Int_t nmc =50000,
59     bool stat = false,
60     TRandom * generator = 0);
61     private:
62     static TArrayD *fgTable; // a log table... just to speed up calculation
63     static TOrdCollection *fgSystNames; // Collection of systematics names
64     ClassDef(TLimit, 2) // Class to compute 95% CL limits
65     };
66    
67     #endif
68