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