Logo ROOT   6.14/05
Reference Guide
TestStatistic.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id$
2 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
3 /*************************************************************************
4  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 
11 #ifndef ROOSTATS_TestStatistic
12 #define ROOSTATS_TestStatistic
13 
14 
15 
16 
17 #include "Rtypes.h"
18 
19 class RooArgSet;
20 class RooAbsData;
21 
22 namespace RooStats {
23 
24 /** \class RooStats::TestStatistic
25  \ingroup Roostats
26 
27  TestStatistic is an interface class to provide a facility for construction test statistics
28  distributions to the NeymanConstruction class. All the actual samplers inherit from this class.
29 */
30 
32 
33 public:
34  //TestStatistic();
35  virtual ~TestStatistic() {
36  }
37 
38  /// Main interface to evaluate the test statistic on a dataset given the
39  /// values for the Null Parameters Of Interest.
40  virtual Double_t Evaluate(RooAbsData& data, RooArgSet& nullPOI) = 0;
41 
42  virtual const TString GetVarName() const = 0;
43 
44  /// Defines the sign convention of the test statistic. Overwrite function if necessary.
45  virtual bool PValueIsRightTail(void) const { return true; }
46 
47  /// return detailed output: for fits this can be pulls, processing time, ... The returned pointer will not loose validity until another call to Evaluate.
48  virtual const RooArgSet* GetDetailedOutput() const { return NULL; }
49 
50  /// interface to set conditional observables. If a test statistics needs them it will re-implement this function
51  virtual void SetConditionalObservables(const RooArgSet& ) {}
52 
53  /// interface to set global observables. If a test statistics needs them it will re-implement this function
54  virtual void SetGlobalObservables(const RooArgSet& ) {}
55 
56 
57 protected:
58  ClassDef(TestStatistic,1) /// Interface for a TestStatistic
59 };
60 
61 } // end namespace RooStats
62 
63 
64 #endif
virtual void SetGlobalObservables(const RooArgSet &)
interface to set global observables. If a test statistics needs them it will re-implement this functi...
Definition: TestStatistic.h:54
Basic string class.
Definition: TString.h:131
virtual const RooArgSet * GetDetailedOutput() const
return detailed output: for fits this can be pulls, processing time, ... The returned pointer will no...
Definition: TestStatistic.h:48
#define ClassDef(name, id)
Definition: Rtypes.h:320
virtual void SetConditionalObservables(const RooArgSet &)
interface to set conditional observables. If a test statistics needs them it will re-implement this f...
Definition: TestStatistic.h:51
virtual Double_t Evaluate(RooAbsData &data, RooArgSet &nullPOI)=0
Main interface to evaluate the test statistic on a dataset given the values for the Null Parameters O...
virtual bool PValueIsRightTail(void) const
Defines the sign convention of the test statistic. Overwrite function if necessary.
Definition: TestStatistic.h:45
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:37
Namespace for the RooStats classes.
Definition: Asimov.h:20
double Double_t
Definition: RtypesCore.h:55
virtual const TString GetVarName() const =0
TestStatistic is an interface class to provide a facility for construction test statistics distributi...
Definition: TestStatistic.h:31