/usr/include/root/RooStats/FeldmanCousins.h is in libroot-roofit-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | // @(#)root/roostats:$Id$
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOSTATS_FeldmanCousins
#define ROOSTATS_FeldmanCousins
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
#ifndef ROOSTATS_IntervalCalculator
#include "RooStats/IntervalCalculator.h"
#endif
#include "RooStats/ToyMCSampler.h"
#include "RooStats/ConfidenceBelt.h"
#include "RooStats/PointSetInterval.h"
#include "RooAbsData.h"
#include "RooAbsPdf.h"
#include "RooArgSet.h"
#include "TList.h"
class RooAbsData;
namespace RooStats {
class ConfInterval;
class FeldmanCousins : public IntervalCalculator {
public:
// FeldmanCousins();
// Common constructor
FeldmanCousins(RooAbsData& data, ModelConfig& model);
virtual ~FeldmanCousins();
// Main interface to get a ConfInterval (will be a PointSetInterval)
virtual PointSetInterval* GetInterval() const;
// Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const {return fSize;}
// Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
// Set the DataSet
virtual void SetData(RooAbsData& /*data*/) {
std::cout << "DEPRECATED, set data in constructor" << std::endl;
}
// Set the Pdf
virtual void SetPdf(RooAbsPdf& /*pdf*/) {
std::cout << "DEPRECATED, use ModelConfig" << std::endl;
}
// specify the parameters of interest in the interval
virtual void SetParameters(const RooArgSet& /*set*/) {
std::cout << "DEPRECATED, use ModelConfig" << std::endl;
}
// specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(const RooArgSet& /*set*/) {
std::cout << "DEPRECATED, use ModelConfig" << std::endl;
}
// User-defined set of points to test
void SetParameterPointsToTest(RooAbsData& pointsToTest) {
fPointsToTest = &pointsToTest;
}
// User-defined set of points to test
void SetPOIPointsToTest(RooAbsData& poiToTest) {
fPOIToTest = &poiToTest;
}
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
virtual void SetTestSize(Double_t size) {fSize = size;}
// set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
virtual void SetModel(const ModelConfig &);
RooAbsData* GetPointsToScan() {
if(!fPointsToTest) CreateParameterPoints();
return fPointsToTest;
}
ConfidenceBelt* GetConfidenceBelt() {return fConfBelt;}
void UseAdaptiveSampling(bool flag=true){fAdaptiveSampling=flag;}
void AdditionalNToysFactor(double fact){fAdditionalNToysFactor = fact;}
void SetNBins(Int_t bins) {fNbins = bins;}
void FluctuateNumDataEntries(bool flag=true){fFluctuateData = flag;}
void SaveBeltToFile(bool flag=true){
fSaveBeltToFile = flag;
if(flag) fCreateBelt = true;
}
void CreateConfBelt(bool flag=true){fCreateBelt = flag;}
// Returns instance of TestStatSampler. Use to change properties of
// TestStatSampler, e.g. GetTestStatSampler.SetTestSize(Double_t size);
TestStatSampler* GetTestStatSampler() const;
private:
// initializes fPointsToTest data member (mutable)
void CreateParameterPoints() const;
// initializes fTestStatSampler data member (mutable)
void CreateTestStatSampler() const;
Double_t fSize; // size of the test (eg. specified rate of Type I error)
ModelConfig &fModel;
RooAbsData & fData; // data set
/*
RooAbsPdf * fPdf; // common PDF
RooArgSet fPOI; // RooArgSet specifying parameters of interest for interval
RooArgSet fNuisParams;// RooArgSet specifying nuisance parameters for interval
RooArgSet fObservables;// RooArgSet specifying nuisance parameters for interval
*/
mutable ToyMCSampler* fTestStatSampler; // the test statistic sampler
mutable RooAbsData* fPointsToTest; // points to perform the construction
mutable RooAbsData* fPOIToTest; // value of POI points to perform the construction
mutable ConfidenceBelt* fConfBelt;
Bool_t fAdaptiveSampling; // controls use of adaptive sampling algorithm
Double_t fAdditionalNToysFactor; // give user ability to ask for more toys
Int_t fNbins; // number of samples per variable
Bool_t fFluctuateData; // tell ToyMCSampler to fluctuate number of entries in dataset
Bool_t fDoProfileConstruction; // instead of full construction over nuisance parametrs, do profile
Bool_t fSaveBeltToFile; // controls use if ConfidenceBelt should be saved to a TFile
Bool_t fCreateBelt; // controls use if ConfidenceBelt should be saved to a TFile
protected:
ClassDef(FeldmanCousins,2) // Interface for tools setting limits (producing confidence intervals)
};
}
#endif
|