ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/Limits/TConfidenceLevel.h
Revision: 1.2
Committed: Sun Mar 20 12:17:58 2011 UTC (14 years, 1 month ago) by auterman
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +8 -5 lines
Log Message:
Modification of CLs: Adding functunality to integrate until a given Test-statistic value, i.e. until a value determined by a no-signal hypotheses for expected observed

File Contents

# User Rev Content
1 auterman 1.2 // @(#)root/hist:$Id: TConfidenceLevel.h,v 1.1.1.1 2011/01/26 14:37:51 auterman Exp $
2 auterman 1.1 // 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 auterman 1.2 Double_t GetExpectedCLb_b_sigcont(Double_t IntLim, Int_t sigma = 0) const;
46     Double_t GetExpectedCLsb_b_sigcont(Double_t IntLim, Int_t sigma = 0) const;
47 auterman 1.1 inline Double_t GetExpectedCLs_b(Int_t sigma = 0) const { return (GetExpectedCLsb_b(sigma) / GetExpectedCLb_b(sigma)); }
48 auterman 1.2 inline Double_t GetExpectedCLs_b_sigcont(Double_t IntLim, Int_t sigma = 0) const { return (GetExpectedCLsb_b_sigcont(IntLim, sigma) / GetExpectedCLb_b_sigcont(IntLim, sigma)); }
49 auterman 1.1 Double_t GetAverageCLs() const;
50     Double_t GetAverageCLsb() const;
51     Double_t Get3sProbability() const;
52     Double_t Get5sProbability() const;
53     inline Int_t GetDtot() const { return fDtot; }
54     inline Double_t GetStot() const { return fStot; }
55     inline Double_t GetBtot() const { return fBtot; }
56     inline Double_t * GetTestStatistic_SB(){ return fTSS; }
57     inline Double_t * GetTestStatistic_B(){ return fTSB; }
58     inline Double_t * GetLikelihoodRatio_SB(){ return fLRS; }
59     inline Double_t * GetLikelihoodRatio_B(){ return fLRB; }
60     inline void SetSig(Double_t * sig=0){fSig=sig;};
61     inline void SetBgd(Double_t * bgd=0){fBgd=bgd;};
62     inline Double_t * GetSig(){return fSig;};
63     inline Double_t * GetBgd(){return fBgd;};
64    
65     private:
66     // data members used for the limits calculation
67     Int_t fNNMC;
68     Int_t fDtot;
69     Double_t fStot;
70     Double_t fBtot;
71     Double_t fTSD;
72     Double_t fNMC;
73     Double_t fMCL3S;
74     Double_t fMCL5S;
75 auterman 1.2 Double_t *fTSB; //[fNNMC] TestStatistic_B
76     Double_t *fTSS; //[fNNMC] TestStatistic_SB
77     Double_t *fLRS; //[fNNMC] LikelihoodRatio_SB
78     Double_t *fLRB; //[fNNMC] LikelihoodRatio_B
79 auterman 1.1 Int_t *fISS; //[fNNMC]
80     Int_t *fISB; //[fNNMC]
81     // cumulative probabilities for defining the bands on plots
82     static const Double_t fgMCLM2S;
83     static const Double_t fgMCLM1S;
84     static const Double_t fgMCLMED;
85     static const Double_t fgMCLP1S;
86     static const Double_t fgMCLP2S;
87     static const Double_t fgMCL3S1S;
88     static const Double_t fgMCL5S1S;
89     static const Double_t fgMCL3S2S;
90     static const Double_t fgMCL5S2S;
91    
92     //The random sig and bgd events within uncertainties:
93     Double_t *fSig;
94     Double_t *fBgd;
95    
96     ClassDef(TConfidenceLevel, 1) // output for TLimit functions
97     };
98    
99     #endif
100