11 #ifndef ROOSTATS_TestStatSampler
12 #define ROOSTATS_TestStatSampler
27 class SamplingDistribution;
39 class TestStatSampler {
43 virtual ~TestStatSampler() {}
46 virtual SamplingDistribution* GetSamplingDistribution(RooArgSet& paramsOfInterest) = 0;
49 virtual Double_t EvaluateTestStatistic(RooAbsData& data, RooArgSet& paramsOfInterest) = 0;
52 virtual TestStatistic* GetTestStatistic()
const = 0;
55 virtual Double_t ConfidenceLevel()
const = 0;
58 virtual void Initialize(RooAbsArg& testStatistic, RooArgSet& paramsOfInterest, RooArgSet& nuisanceParameters) = 0;
61 virtual void SetPdf(RooAbsPdf&) = 0;
63 virtual void SetPriorNuisance(RooAbsPdf*) = 0;
66 virtual void SetParametersForTestStat(
const RooArgSet& ) = 0;
73 virtual void SetNuisanceParameters(
const RooArgSet&) = 0;
75 virtual void SetObservables(
const RooArgSet& ) = 0;
77 virtual void SetGlobalObservables(
const RooArgSet& ) = 0;
80 virtual void SetTestSize(Double_t size) = 0;
82 virtual void SetConfidenceLevel(Double_t cl) = 0;
85 virtual void SetTestStatistic(TestStatistic* testStatistic) = 0;
88 virtual void SetSamplingDistName(
const char* name) = 0;
92 ClassDef(TestStatSampler,1)