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
Error occurred while calculating annotation data.
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

# Content
1 // @(#)root/hist:$Id: TConfidenceLevel.h,v 1.1.1.1 2011/01/26 14:37:51 auterman Exp $
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 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 inline Double_t GetExpectedCLs_b(Int_t sigma = 0) const { return (GetExpectedCLsb_b(sigma) / GetExpectedCLb_b(sigma)); }
48 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 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 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 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