00001 // @(#)root/roostats:$Id: TestStatistic.h 34109 2010-06-24 15:00:16Z moneta $ 00002 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke 00003 /************************************************************************* 00004 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * 00005 * All rights reserved. * 00006 * * 00007 * For the licensing terms see $ROOTSYS/LICENSE. * 00008 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00009 *************************************************************************/ 00010 00011 #ifndef ROOSTATS_TestStatistic 00012 #define ROOSTATS_TestStatistic 00013 00014 //_________________________________________________ 00015 /* 00016 BEGIN_HTML 00017 <p> 00018 TestStatistic is an interface class to provide a facility for construction test statistics 00019 distributions to the NeymanConstruction class. All the actual samplers inherit from this class. 00020 </p> 00021 END_HTML 00022 */ 00023 // 00024 00025 #ifndef ROOT_Rtypes 00026 #include "Rtypes.h" 00027 #endif 00028 00029 namespace RooStats { 00030 00031 class TestStatistic { 00032 00033 public: 00034 //TestStatistic(); 00035 virtual ~TestStatistic() { 00036 } 00037 00038 // Main interface to evaluate the test statistic on a dataset given the 00039 // values for the Null Parameters Of Interest. 00040 virtual Double_t Evaluate(RooAbsData& data, RooArgSet& nullPOI) = 0; 00041 00042 virtual const TString GetVarName() const = 0; 00043 00044 // Defines the sign convention of the test statistic. Overwrite function if necessary. 00045 virtual bool PValueIsRightTail(void) const { return true; } 00046 00047 protected: 00048 ClassDef(TestStatistic,1) // Interface for a TestStatistic 00049 }; 00050 00051 } // end namespace RooStats 00052 00053 00054 #endif