11 #ifndef ROOSTATS_CombinedCalculator
12 #define ROOSTATS_CombinedCalculator
62 class CombinedCalculator :
public IntervalCalculator,
public HypoTestCalculator {
66 CombinedCalculator() :
72 CombinedCalculator(RooAbsData& data, RooAbsPdf& pdf,
const RooArgSet& paramsOfInterest,
73 Double_t size = 0.05,
const RooArgSet* nullParams = 0,
const RooArgSet* altParams = 0,
const RooArgSet* nuisParams = 0) :
77 fPOI(paramsOfInterest)
79 if (nullParams) fNullParams.add(*nullParams);
80 if (altParams) fAlternateParams.add(*altParams);
81 if (nuisParams) fNuisParams.add(*nuisParams);
86 CombinedCalculator(RooAbsData& data,
const ModelConfig& model,
87 Double_t size = 0.05) :
97 virtual ~CombinedCalculator() { }
102 virtual ConfInterval* GetInterval()
const = 0;
104 virtual HypoTestResult* GetHypoTest()
const = 0;
107 virtual void SetTestSize(Double_t size) {fSize = size;}
109 virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
111 virtual Double_t Size()
const {
return fSize;}
113 virtual Double_t ConfidenceLevel()
const {
return 1.-fSize;}
116 virtual void SetData(RooAbsData & data) {
121 virtual void SetModel(
const ModelConfig & model) {
122 fPdf = model.GetPdf();
123 if (model.GetParametersOfInterest()) SetParameters(*model.GetParametersOfInterest());
124 if (model.GetSnapshot()) SetNullParameters(*model.GetSnapshot());
125 if (model.GetNuisanceParameters()) SetNuisanceParameters(*model.GetNuisanceParameters());
126 if (model.GetConditionalObservables()) SetConditionalObservables(*model.GetConditionalObservables());
127 if (model.GetGlobalObservables()) SetGlobalObservables(*model.GetGlobalObservables());
130 virtual void SetNullModel(
const ModelConfig &) {
132 virtual void SetAlternateModel(
const ModelConfig &) {
138 virtual void SetPdf(RooAbsPdf& pdf) { fPdf = &pdf; }
141 virtual void SetParameters(
const RooArgSet& set) { fPOI.removeAll(); fPOI.add(set); }
144 virtual void SetNuisanceParameters(
const RooArgSet& set) {fNuisParams.removeAll(); fNuisParams.add(set);}
147 virtual void SetNullParameters(
const RooArgSet& set) {fNullParams.removeAll(); fNullParams.add(set);}
150 virtual void SetAlternateParameters(
const RooArgSet& set) {fAlternateParams.removeAll(); fAlternateParams.add(set);}
153 virtual void SetConditionalObservables(
const RooArgSet& set) {fConditionalObs.removeAll(); fConditionalObs.add(set);}
156 virtual void SetGlobalObservables(
const RooArgSet& set) {fGlobalObs.removeAll(); fGlobalObs.add(set);}
161 RooAbsPdf * GetPdf()
const {
return fPdf; }
162 RooAbsData * GetData()
const {
return fData; }
169 RooArgSet fNullParams;
170 RooArgSet fAlternateParams;
171 RooArgSet fNuisParams;
172 RooArgSet fConditionalObs;
173 RooArgSet fGlobalObs;
176 ClassDef(CombinedCalculator,2)