39using std::endl, std::string;
57 fDefaultSampler(nullptr),
58 fDefaultTestStat(nullptr),
115 oocoutE(
nullptr,Generation) <<
"Null model needs a snapshot. Set using modelconfig->SetSnapshot(poi)." << endl;
121 oocoutE(
nullptr,Generation) <<
"There was an error in CheckHook(). Stop." << endl;
126 oocoutE(
nullptr,InputArguments) <<
"Test Statistic Sampler or Test Statistics not defined. Stop." << endl;
145 std::unique_ptr<RooArgList>
allTS;
148 if (!
allTS)
return nullptr;
153 if (
allTS->size()<=1) {
172 oocoutE(
nullptr,Generation) <<
"PreNullHook did not return 0." << endl;
194 oocoutE(
nullptr,Generation) <<
"PreAltHook did not return 0." << endl;
226 string resultname =
"HypoTestCalculator_result";
237 if (
aset !=
nullptr) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Abstract base class for binned and unbinned datasets.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Container class to hold unbinned data.
static UInt_t integer(UInt_t max, TRandom *generator=randomGenerator())
Return an integer uniformly distributed from [0,n-1].
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
Variable that can be changed from the outside.
Common base class for the Hypothesis Test Calculators.
const ModelConfig * fAltModel
virtual void PreHook() const
HypoTestResult * GetHypoTest() const override
inherited methods from HypoTestCalculator interface
~HypoTestCalculatorGeneric() override
virtual int PreNullHook(RooArgSet *, double) const
void SetupSampler(const ModelConfig &model) const
common setup for both models
TestStatSampler * fTestStatSampler
unsigned int fAltToysSeed
virtual int PreAltHook(RooArgSet *, double) const
const ModelConfig * fNullModel
TestStatistic * fDefaultTestStat
virtual int CheckHook(void) const
virtual const RooArgSet * GetFitInfo() const
void UseSameAltToys()
Set this for re-using always the same toys for alternate hypothesis in case of calls at different nul...
TestStatSampler * fDefaultSampler
virtual void PostHook() const
HypoTestCalculatorGeneric(const RooAbsData &data, const ModelConfig &altModel, const ModelConfig &nullModel, TestStatSampler *sampler=nullptr)
Constructor.
HypoTestResult is a base class for results from hypothesis tests.
void SetAltDetailedOutput(RooDataSet *d)
void SetNullDetailedOutput(RooDataSet *d)
void SetAllTestStatisticsData(const RooArgList *tsd)
void SetNullDistribution(SamplingDistribution *null)
void SetTestStatisticData(const double tsd)
void SetFitInfo(RooDataSet *d)
void SetAltDistribution(SamplingDistribution *alt)
void SetPValueIsRightTail(bool pr)
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
const RooArgSet * GetNuisanceParameters() const
get RooArgSet containing the nuisance parameters (return nullptr if not existing)
void LoadSnapshot() const
load the snapshot from ws if it exists
RooAbsPdf * GetPdf() const
get model PDF (return nullptr if pdf has not been specified or does not exist)
TestStatistic that returns the ratio of profiled likelihoods.
This class simply holds a sampling distribution of some test statistic.
TestStatSampler is an interface class for a tools which produce RooStats SamplingDistributions.
virtual void SetObservables(const RooArgSet &)=0
specify the observables in the dataset (needed to evaluate the test statistic)
virtual TestStatistic * GetTestStatistic() const =0
Get the TestStatistic.
virtual void SetParametersForTestStat(const RooArgSet &)=0
specify the values of parameters used when evaluating test statistic
virtual double EvaluateTestStatistic(RooAbsData &data, RooArgSet ¶msOfInterest)=0
Main interface to evaluate the test statistic on a dataset.
virtual void SetNuisanceParameters(const RooArgSet &)=0
specify the nuisance parameters (eg. the rest of the parameters)
virtual SamplingDistribution * GetSamplingDistribution(RooArgSet ¶msOfInterest)=0
Main interface to get a ConfInterval, pure virtual.
virtual void SetSamplingDistName(const char *name)=0
Set the name of the sampling distribution used for plotting.
virtual void SetPdf(RooAbsPdf &)=0
Set the Pdf, add to the workspace if not already there.
ToyMCSampler is an implementation of the TestStatSampler interface.
const char * GetName() const override
Returns name of object.
Namespace for the RooStats classes.