ROOT logo
ROOT » ROOFIT » ROOSTATS » RooStats::HybridCalculatorGeneric

class RooStats::HybridCalculatorGeneric: public RooStats::HypoTestCalculator

Function Members (Methods)

protected:
virtual intPreAltHook(double) const
virtual intPreNullHook(double) const
private:
RooStats::SamplingDistribution*GenerateSamplingDistribution(RooStats::ModelConfig* thisModel, double obsTestStat, RooAbsPdf* impDens = NULL, const RooArgSet* impSnapshot = NULL) const
voidSetAdaptiveLimits(Double_t obsTestStat, Bool_t forNull) const
voidSetupSampler(const RooStats::ModelConfig& model) const

Data Members

private:
const RooStats::ModelConfig*fAltModel
const RooAbsData*fData
RooStats::TestStatSampler*fDefaultSampler
RooStats::TestStatistic*fDefaultTestStat
const RooStats::ModelConfig*fNullModel
RooAbsPdf*fPriorNuisanceAlt
RooAbsPdf*fPriorNuisanceNull
RooStats::TestStatSampler*fTestStatSampler

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HybridCalculatorGeneric(const RooAbsData& data, const RooStats::ModelConfig& altModel, const RooStats::ModelConfig& nullModel, RooStats::TestStatSampler* sampler = 0)
 Constructor. When test stat sampler is not provided
 uses ToyMCSampler and RatioOfProfiledLikelihoodsTestStat
 and nToys = 1000.
 User can : GetTestStatSampler()->SetNToys( # )
void SetupSampler(const RooStats::ModelConfig& model) const
 common setup for both models
~HybridCalculatorGeneric()
HypoTestResult* GetHypoTest() const
HybridCalculatorGeneric(const RooAbsData& data, const RooStats::ModelConfig& altModel, const RooStats::ModelConfig& nullModel, RooStats::TestStatSampler* sampler = 0)
void SetNullModel(const RooStats::ModelConfig& nullModel)
 set the model for the null hypothesis (only B)
{ fNullModel = &nullModel; }
const ModelConfig* GetNullModel(void)
 set the model for the alternate hypothesis  (S+B)
{ return fNullModel; }
void SetAlternateModel(const RooStats::ModelConfig& altModel)
{ fAltModel = &altModel; }
const ModelConfig* GetAlternateModel(void)
 Set the DataSet
{ return fAltModel; }
void SetData(RooAbsData& data)
{ fData = &data; }
void ForcePriorNuisanceNull(RooAbsPdf& priorNuisance)
 Override the distribution used for marginalizing nuisance parameters that is infered from ModelConfig
{ fPriorNuisanceNull = &priorNuisance; }
void ForcePriorNuisanceAlt(RooAbsPdf& priorNuisance)
{ fPriorNuisanceAlt = &priorNuisance; }
TestStatSampler* GetTestStatSampler(void)
 Returns instance of TestStatSampler. Use to change properties of
 TestStatSampler, e.g. GetTestStatSampler.SetTestSize(Double_t size);
{ return fTestStatSampler; }
int PreNullHook(double ) const
 should return zero (to be used later for conditional flow)
{ return 0; }
int PreAltHook(double ) const
{ return 0; }
void SetAdaptiveLimits(Double_t obsTestStat, Bool_t forNull) const
SamplingDistribution* GenerateSamplingDistribution(RooStats::ModelConfig* thisModel, double obsTestStat, RooAbsPdf* impDens = NULL, const RooArgSet* impSnapshot = NULL) const