ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/scripts/CLs/TConfidenceLevel.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: TConfidenceLevel.h 20882 2007-11-19 11:31:26Z rdm $
2     // Author: Christophe.Delaere@cern.ch 21/08/2002
3    
4     #ifndef ROOT_TConfidenceLevel
5     #define ROOT_TConfidenceLevel
6    
7     #ifndef ROOT_TObject
8     #include "TObject.h"
9     #endif
10    
11     //____________________________________________________________________
12     //
13     // TConfidenceLevel
14     //
15     // This class serves as output for the TLimit::ComputeLimit method.
16     // It is created just after the time-consuming part and can be stored
17     // in a TFile for further processing. It contains
18     // light methods to return CLs, CLb and other interesting quantities.
19     //____________________________________________________________________
20    
21    
22     class TConfidenceLevel : public TObject {
23     public:
24     TConfidenceLevel();
25     TConfidenceLevel(Int_t mc, bool onesided = kTRUE);
26     virtual ~TConfidenceLevel();
27     inline void SetTSD(Double_t in) { fTSD = in; }
28     void SetTSB(Double_t * in);
29     void SetTSS(Double_t * in);
30     inline void SetLRS(Double_t * in) { fLRS = in; }
31     inline void SetLRB(Double_t * in) { fLRB = in; }
32     inline void SetBtot(Double_t in) { fBtot = in; }
33     inline void SetStot(Double_t in) { fStot = in; }
34     inline void SetDtot(Int_t in) { fDtot = in; }
35     inline Double_t GetStatistic() const { return -2 * (fTSD - fStot); }
36     void Draw(const Option_t *option="");
37     Double_t GetExpectedStatistic_b(Int_t sigma = 0) const;
38     Double_t GetExpectedStatistic_sb(Int_t sigma = 0) const;
39     Double_t CLb(bool use_sMC = kFALSE) const;
40     Double_t CLsb(bool use_sMC = kFALSE) const;
41     Double_t CLs(bool use_sMC = kFALSE) const;
42     Double_t GetExpectedCLb_sb(Int_t sigma = 0) const;
43     Double_t GetExpectedCLb_b(Int_t sigma = 0) const;
44     Double_t GetExpectedCLsb_b(Int_t sigma = 0) const;
45     inline Double_t GetExpectedCLs_b(Int_t sigma = 0) const { return (GetExpectedCLsb_b(sigma) / GetExpectedCLb_b(sigma)); }
46     Double_t GetAverageCLs() const;
47     Double_t GetAverageCLsb() const;
48     Double_t Get3sProbability() const;
49     Double_t Get5sProbability() const;
50     inline Int_t GetDtot() const { return fDtot; }
51     inline Double_t GetStot() const { return fStot; }
52     inline Double_t GetBtot() const { return fBtot; }
53     inline Double_t * GetTestStatistic_SB(){ return fTSS; }
54     inline Double_t * GetTestStatistic_B(){ return fTSB; }
55     inline Double_t * GetLikelihoodRatio_SB(){ return fLRS; }
56     inline Double_t * GetLikelihoodRatio_B(){ return fLRB; }
57    
58     private:
59     // data members used for the limits calculation
60     Int_t fNNMC;
61     Int_t fDtot;
62     Double_t fStot;
63     Double_t fBtot;
64     Double_t fTSD;
65     Double_t fNMC;
66     Double_t fMCL3S;
67     Double_t fMCL5S;
68     Double_t *fTSB; //[fNNMC]
69     Double_t *fTSS; //[fNNMC]
70     Double_t *fLRS; //[fNNMC]
71     Double_t *fLRB; //[fNNMC]
72     Int_t *fISS; //[fNNMC]
73     Int_t *fISB; //[fNNMC]
74     // cumulative probabilities for defining the bands on plots
75     static const Double_t fgMCLM2S;
76     static const Double_t fgMCLM1S;
77     static const Double_t fgMCLMED;
78     static const Double_t fgMCLP1S;
79     static const Double_t fgMCLP2S;
80     static const Double_t fgMCL3S1S;
81     static const Double_t fgMCL5S1S;
82     static const Double_t fgMCL3S2S;
83     static const Double_t fgMCL5S2S;
84     ClassDef(TConfidenceLevel, 1) // output for TLimit functions
85     };
86    
87     #endif
88