Logo ROOT  
Reference Guide
FrequentistCalculator.h
Go to the documentation of this file.
1// @(#)root/roostats:$Id: FrequentistCalculator.h 37084 2010-11-29 21:37:13Z moneta $
2// Author: Sven Kreiss, Kyle Cranmer Nov 2010
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_FrequentistCalculator
12#define ROOSTATS_FrequentistCalculator
13
14
16
18
20
21#include "RooFitResult.h"
22
23namespace RooStats {
24
26
27 public:
29 const RooAbsData &data,
30 const ModelConfig &altModel,
31 const ModelConfig &nullModel,
32 TestStatSampler* sampler=nullptr
33 ) :
34 HypoTestCalculatorGeneric(data, altModel, nullModel, sampler),
35 fConditionalMLEsNull(nullptr),
36 fConditionalMLEsAlt(nullptr),
37 fNToysNull(-1),
38 fNToysAlt(-1),
41 fFitInfo(nullptr),
42 fStoreFitInfo(false)
43 {
44 }
45
49 if( fFitInfo ) delete fFitInfo;
50 }
51
52
53 /// set number of toys
54 void SetToys(int toysNull, int toysAlt) { fNToysNull = toysNull; fNToysAlt = toysAlt; }
55
56 /// set least number of toys in tails
57 void SetNToysInTails(int toysNull, int toysAlt) { fNToysNullTail = toysNull; fNToysAltTail = toysAlt; }
58
59 /// set given nuisance parameters to a specific value that will be used instead of their
60 /// profiled value for Null toys
63
64 if( c ) fConditionalMLEsNull = (const RooArgSet*)c->snapshot();
65 else fConditionalMLEsNull = nullptr;
66 }
67
68 /// set given nuisance parameters to a specific value that will be used instead of their
69 /// profiled value for Alternate toys
72
73 if( c ) fConditionalMLEsAlt = (const RooArgSet*)c->snapshot();
74 else fConditionalMLEsAlt = nullptr;
75 }
76
77 void StoreFitInfo(bool val = true) {
78 fStoreFitInfo = val;
79 }
80
81 const RooArgSet* GetFitInfo() const override {
82 return fFitInfo;
83 }
84
85 protected:
86 /// configure TestStatSampler for the Null run
87 int PreNullHook(RooArgSet *parameterPoint, double obsTestStat) const override;
88
89 /// configure TestStatSampler for the Alt run
90 int PreAltHook(RooArgSet *parameterPoint, double obsTestStat) const override;
91
92 void PreHook() const override;
93 void PostHook() const override;
94
95 protected:
96 // MLE inputs
99
100 // different number of toys for null and alt
103
104 // adaptive sampling
107
108 private:
111
112 protected:
114 };
115}
116
117#endif
#define c(i)
Definition: RSha256.hxx:101
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:62
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56
Does a frequentist hypothesis test.
void SetConditionalMLEsNull(const RooArgSet *c)
set given nuisance parameters to a specific value that will be used instead of their profiled value f...
void SetConditionalMLEsAlt(const RooArgSet *c)
set given nuisance parameters to a specific value that will be used instead of their profiled value f...
void SetNToysInTails(int toysNull, int toysAlt)
set least number of toys in tails
int PreNullHook(RooArgSet *parameterPoint, double obsTestStat) const override
configure TestStatSampler for the Null run
int PreAltHook(RooArgSet *parameterPoint, double obsTestStat) const override
configure TestStatSampler for the Alt run
FrequentistCalculator(const RooAbsData &data, const ModelConfig &altModel, const ModelConfig &nullModel, TestStatSampler *sampler=nullptr)
const RooArgSet * GetFitInfo() const override
void SetToys(int toysNull, int toysAlt)
set number of toys
Common base class for the Hypothesis Test Calculators.
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
Definition: ModelConfig.h:30
TestStatSampler is an interface class for a tools which produce RooStats SamplingDistributions.
Namespace for the RooStats classes.
Definition: Asimov.h:19