Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TLimit.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/hist:$Id$
0002 // Author: Christophe.Delaere@cern.ch   21/08/2002
0003 
0004 #ifndef ROOT_TLimit
0005 #define ROOT_TLimit
0006 
0007 #include "Rtypes.h"
0008 
0009 #include "TVectorDfwd.h"
0010 
0011 class TConfidenceLevel;
0012 class TRandom;
0013 class TLimitDataSource;
0014 class TArrayD;
0015 class TOrdCollection;
0016 class TH1;
0017 class TObjArray;
0018 
0019 class TLimit {
0020  protected:
0021    static bool Fluctuate(TLimitDataSource * input, TLimitDataSource * output, bool init,TRandom *, bool stat=false);
0022    static Double_t LogLikelihood(Double_t s, Double_t b, Double_t b2, Double_t d);
0023 
0024 public:
0025    TLimit() {}
0026    virtual ~TLimit() {}
0027    static TConfidenceLevel *ComputeLimit(TLimitDataSource * data,
0028                                          Int_t nmc =50000,
0029                                          bool stat = false,
0030                                          TRandom * generator = nullptr);
0031    static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
0032                                          Int_t nmc =50000,
0033                                          bool stat = false,
0034                                          TRandom * generator = nullptr);
0035    static TConfidenceLevel *ComputeLimit(Double_t s, Double_t b, Int_t d,
0036                                          TVectorD* se, TVectorD* be, TObjArray*,
0037                                          Int_t nmc =50000,
0038                                          bool stat = false,
0039                                          TRandom * generator = nullptr);
0040    static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
0041                                          Int_t nmc =50000,
0042                                          bool stat = false,
0043                                          TRandom * generator = nullptr);
0044    static TConfidenceLevel *ComputeLimit(TH1* s, TH1* b, TH1* d,
0045                                          TVectorD* se, TVectorD* be, TObjArray*,
0046                                          Int_t nmc =50000,
0047                                          bool stat = false,
0048                                          TRandom * generator = nullptr);
0049  private:
0050    static TArrayD *fgTable;              ///< A log table... just to speed up calculation
0051    static TOrdCollection *fgSystNames;   ///< Collection of systematics names
0052    ClassDef(TLimit, 2)          // Class to compute 95% CL limits
0053 };
0054 
0055 #endif
0056