Logo ROOT  
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
19class RooArgSet;
20class RooAbsData;
21
22namespace 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
33public:
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
57protected:
58 ClassDef(TestStatistic,1) /// Interface for a TestStatistic
59};
60
61} // end namespace RooStats
62
63
64#endif
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:326
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:39
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
TestStatistic is an interface class to provide a facility for construction test statistics distributi...
Definition: TestStatistic.h:31
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 bool PValueIsRightTail(void) const
Defines the sign convention of the test statistic. Overwrite function if necessary.
Definition: TestStatistic.h:45
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
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
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 const TString GetVarName() const =0
Basic string class.
Definition: TString.h:131
Namespace for the RooStats classes.
Definition: Asimov.h:20