Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
HybridCalculator.h
Go to the documentation of this file.
1// @(#)root/roostats:$Id$
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_HybridCalculator
12#define ROOSTATS_HybridCalculator
13
15
17
18
19
20namespace RooStats {
21
23
24 public:
26 const RooAbsData &data,
27 const ModelConfig &altModel,
28 const ModelConfig &nullModel,
29 TestStatSampler* sampler=0
30 ) :
31 HypoTestCalculatorGeneric(data, altModel, nullModel, sampler),
32 fPriorNuisanceNull(MakeNuisancePdf(nullModel, "PriorNuisanceNull")),
33 fPriorNuisanceAlt(MakeNuisancePdf(altModel, "PriorNuisanceAlt")),
36 fNToysNull(-1),
37 fNToysAlt(-1),
40 {
41 }
42
46 }
47
48
49 /// Override the distribution used for marginalizing nuisance parameters that is inferred from ModelConfig
50 virtual void ForcePriorNuisanceNull(RooAbsPdf& priorNuisance) {
52 fPriorNuisanceNull = &priorNuisance;
54 }
55 virtual void ForcePriorNuisanceAlt(RooAbsPdf& priorNuisance) {
57 fPriorNuisanceAlt = &priorNuisance;
59 }
60
61 virtual void SetNullModel(const ModelConfig &nullModel) {
62 fNullModel = &nullModel;
64 fPriorNuisanceNull = MakeNuisancePdf(nullModel, "PriorNuisanceNull");
66 }
67
68 virtual void SetAlternateModel(const ModelConfig &altModel) {
69 fAltModel = &altModel;
71 fPriorNuisanceAlt = MakeNuisancePdf(altModel, "PriorNuisanceAlt");
73 }
74
75 /// set number of toys
76 void SetToys(int toysNull, int toysAlt) { fNToysNull = toysNull; fNToysAlt = toysAlt; }
77
78 /// set least number of toys in tails
79 void SetNToysInTails(int toysNull, int toysAlt) { fNToysNullTail = toysNull; fNToysAltTail = toysAlt; }
80
81 protected:
82 /// check whether all input is consistent
83 int CheckHook(void) const;
84
85 /// configure TestStatSampler for the Null run
86 int PreNullHook(RooArgSet* /*parameterPoint*/, double obsTestStat) const;
87
88 /// configure TestStatSampler for the Alt run
89 int PreAltHook(RooArgSet* /*parameterPoint*/, double obsTestStat) const;
90
91 protected:
94
95 // these flags tell us if the nuisance pdfs came from an external resource (via ForcePriorNuisance)
96 // or were created internally and should be deleted
99
100 // different number of toys for null and alt
103
104 // adaptive sampling
107
108 protected:
110 };
111}
112
113#endif
#define ClassDef(name, id)
Definition Rtypes.h:325
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:82
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:35
Same purpose as HybridCalculatorOriginal, but different implementation.
HybridCalculator(const RooAbsData &data, const ModelConfig &altModel, const ModelConfig &nullModel, TestStatSampler *sampler=0)
virtual void ForcePriorNuisanceNull(RooAbsPdf &priorNuisance)
Override the distribution used for marginalizing nuisance parameters that is inferred from ModelConfi...
int PreAltHook(RooArgSet *, double obsTestStat) const
configure TestStatSampler for the Alt run
virtual void SetNullModel(const ModelConfig &nullModel)
virtual void ForcePriorNuisanceAlt(RooAbsPdf &priorNuisance)
int PreNullHook(RooArgSet *, double obsTestStat) const
configure TestStatSampler for the Null run
void SetToys(int toysNull, int toysAlt)
set number of toys
int CheckHook(void) const
check whether all input is consistent
void SetNToysInTails(int toysNull, int toysAlt)
set least number of toys in tails
virtual void SetAlternateModel(const ModelConfig &altModel)
Set the model for the alternate hypothesis (S+B)
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
RooAbsPdf * MakeNuisancePdf(RooAbsPdf &pdf, const RooArgSet &observables, const char *name)