ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/SusyScan/Limits/TConfidenceLevel.h
Revision: 1.1.1.1 (vendor branch)
Committed: Wed Jan 26 14:37:51 2011 UTC (14 years, 3 months ago) by auterman
Content type: text/plain
Branch: Limits
CVS Tags: start
Changes since 1.1: +0 -0 lines
Log Message:
Limt calculation code

File Contents

# Content
1 // @(#)root/hist:$Id: TConfidenceLevel.h,v 1.2 2010/05/03 16:51:17 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 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 inline void SetSig(Double_t * sig=0){fSig=sig;};
58 inline void SetBgd(Double_t * bgd=0){fBgd=bgd;};
59 inline Double_t * GetSig(){return fSig;};
60 inline Double_t * GetBgd(){return fBgd;};
61
62 private:
63 // data members used for the limits calculation
64 Int_t fNNMC;
65 Int_t fDtot;
66 Double_t fStot;
67 Double_t fBtot;
68 Double_t fTSD;
69 Double_t fNMC;
70 Double_t fMCL3S;
71 Double_t fMCL5S;
72 Double_t *fTSB; //[fNNMC]
73 Double_t *fTSS; //[fNNMC]
74 Double_t *fLRS; //[fNNMC]
75 Double_t *fLRB; //[fNNMC]
76 Int_t *fISS; //[fNNMC]
77 Int_t *fISB; //[fNNMC]
78 // cumulative probabilities for defining the bands on plots
79 static const Double_t fgMCLM2S;
80 static const Double_t fgMCLM1S;
81 static const Double_t fgMCLMED;
82 static const Double_t fgMCLP1S;
83 static const Double_t fgMCLP2S;
84 static const Double_t fgMCL3S1S;
85 static const Double_t fgMCL5S1S;
86 static const Double_t fgMCL3S2S;
87 static const Double_t fgMCL5S2S;
88
89 //The random sig and bgd events within uncertainties:
90 Double_t *fSig;
91 Double_t *fBgd;
92
93 ClassDef(TConfidenceLevel, 1) // output for TLimit functions
94 };
95
96 #endif
97