11 #ifndef ROOSTATS_FrequentistCalculator
12 #define ROOSTATS_FrequentistCalculator
25 class FrequentistCalculator :
public HypoTestCalculatorGeneric {
28 FrequentistCalculator(
29 const RooAbsData &data,
30 const ModelConfig &altModel,
31 const ModelConfig &nullModel,
32 TestStatSampler* sampler=0
34 HypoTestCalculatorGeneric(data, altModel, nullModel, sampler),
35 fConditionalMLEsNull(NULL),
36 fConditionalMLEsAlt(NULL),
46 ~FrequentistCalculator() {
47 if( fConditionalMLEsNull )
delete fConditionalMLEsNull;
48 if( fConditionalMLEsAlt )
delete fConditionalMLEsAlt;
49 if( fFitInfo )
delete fFitInfo;
54 void SetToys(
int toysNull,
int toysAlt) { fNToysNull = toysNull; fNToysAlt = toysAlt; }
57 void SetNToysInTails(
int toysNull,
int toysAlt) { fNToysNullTail = toysNull; fNToysAltTail = toysAlt; }
61 void SetConditionalMLEsNull(
const RooArgSet* c ) {
62 if( fConditionalMLEsNull )
delete fConditionalMLEsNull;
64 if( c ) fConditionalMLEsNull = (
const RooArgSet*)c->snapshot();
65 else fConditionalMLEsNull = NULL;
70 void SetConditionalMLEsAlt(
const RooArgSet* c ) {
71 if( fConditionalMLEsAlt )
delete fConditionalMLEsAlt;
73 if( c ) fConditionalMLEsAlt = (
const RooArgSet*)c->snapshot();
74 else fConditionalMLEsAlt = NULL;
77 void StoreFitInfo(
bool val =
true) {
81 const RooArgSet* GetFitInfo()
const {
87 int PreNullHook(RooArgSet *parameterPoint,
double obsTestStat)
const;
90 int PreAltHook(RooArgSet *parameterPoint,
double obsTestStat)
const;
93 void PostHook()
const;
97 const RooArgSet* fConditionalMLEsNull;
98 const RooArgSet* fConditionalMLEsAlt;
109 mutable RooArgSet* fFitInfo;
113 ClassDef(FrequentistCalculator,1)