11 #ifndef ROOSTATS_NeymanConstruction
12 #define ROOSTATS_NeymanConstruction
35 class NeymanConstruction :
public IntervalCalculator{
40 NeymanConstruction(RooAbsData& data, ModelConfig& model);
42 virtual ~NeymanConstruction();
45 virtual PointSetInterval* GetInterval()
const;
49 void SetTestStatSampler(TestStatSampler& sampler) {fTestStatSampler = &sampler;}
53 void SetLeftSideTailFraction(Double_t leftSideFraction = 0.) {fLeftSideFraction = leftSideFraction;}
56 void SetParameterPointsToTest(RooAbsData& pointsToTest) {
57 fPointsToTest = &pointsToTest;
58 fConfBelt =
new ConfidenceBelt(
"ConfBelt",pointsToTest);
68 virtual Double_t Size()
const {
return fSize;}
71 virtual Double_t ConfidenceLevel()
const {
return 1.-fSize;}
74 virtual void SetModel(
const ModelConfig &model) {fModel = model;}
77 virtual void SetData(RooAbsData& data) { fData = data; }
80 virtual void SetPdf(RooAbsPdf& ) {
81 std::cout <<
"DEPRECATED, use ModelConfig"<<std::endl;
85 virtual void SetParameters(
const RooArgSet& ) {
86 std::cout <<
"DEPRECATED, use ModelConfig"<<std::endl;
90 virtual void SetNuisanceParameters(
const RooArgSet& ) {
91 std::cout <<
"DEPRECATED, use ModelConfig"<<std::endl;
95 virtual void SetTestSize(Double_t size) {fSize = size;}
97 virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
100 ConfidenceBelt* GetConfidenceBelt() {
return fConfBelt;}
103 void UseAdaptiveSampling(
bool flag=
true){fAdaptiveSampling=flag;}
106 void AdditionalNToysFactor(
double fact){fAdditionalNToysFactor = fact;}
109 void SaveBeltToFile(
bool flag=
true){
110 fSaveBeltToFile = flag;
111 if(flag) fCreateBelt =
true;
114 void CreateConfBelt(
bool flag=
true){fCreateBelt = flag;}
118 TestStatSampler* GetTestStatSampler(
void) {
return fTestStatSampler; }
132 TestStatSampler* fTestStatSampler;
133 RooAbsData* fPointsToTest;
134 Double_t fLeftSideFraction;
135 ConfidenceBelt* fConfBelt;
136 bool fAdaptiveSampling;
137 Double_t fAdditionalNToysFactor;
138 bool fSaveBeltToFile;
142 ClassDef(NeymanConstruction,1)