11 #ifndef ROOSTATS_HypoTestCalculatorGeneric
12 #define ROOSTATS_HypoTestCalculatorGeneric
34 class HypoTestCalculatorGeneric :
public HypoTestCalculator {
37 HypoTestCalculatorGeneric(
38 const RooAbsData &data,
39 const ModelConfig &altModel,
40 const ModelConfig &nullModel,
41 TestStatSampler* sampler=0
45 ~HypoTestCalculatorGeneric();
51 virtual HypoTestResult* GetHypoTest()
const;
54 virtual void SetNullModel(
const ModelConfig &nullModel) { fNullModel = &nullModel; }
55 const RooAbsData * GetData(
void)
const {
return fData; }
56 const ModelConfig* GetNullModel(
void)
const {
return fNullModel; }
57 virtual const RooArgSet* GetFitInfo()
const {
return NULL; }
59 virtual void SetAlternateModel(
const ModelConfig &altModel) { fAltModel = &altModel; }
60 const ModelConfig* GetAlternateModel(
void)
const {
return fAltModel; }
62 virtual void SetData(RooAbsData &data) { fData = &data; }
66 TestStatSampler* GetTestStatSampler(
void)
const {
return fTestStatSampler; }
71 void UseSameAltToys();
76 virtual int CheckHook(
void)
const {
return 0; }
77 virtual int PreNullHook(RooArgSet* ,
double )
const {
return 0; }
78 virtual int PreAltHook(RooArgSet* ,
double )
const {
return 0; }
79 virtual void PreHook()
const { }
80 virtual void PostHook()
const { }
83 const ModelConfig *fAltModel;
84 const ModelConfig *fNullModel;
85 const RooAbsData *fData;
86 TestStatSampler *fTestStatSampler;
87 TestStatSampler *fDefaultSampler;
88 TestStatistic *fDefaultTestStat;
90 unsigned int fAltToysSeed;
93 void SetupSampler(
const ModelConfig& model)
const;
94 void SetAdaptiveLimits(Double_t obsTestStat, Bool_t forNull)
const;
95 SamplingDistribution* GenerateSamplingDistribution(
96 ModelConfig *thisModel,
98 RooAbsPdf *impDens=NULL,
99 const RooArgSet *impSnapshot=NULL
104 ClassDef(HypoTestCalculatorGeneric,2)