Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooStats::ToyMCImportanceSampler Class Reference

ToyMCImportanceSampler is an extension of the ToyMCSampler for Importance Sampling.

Implementation based on a work by Cranmer, Kreiss, Read (in Preparation)

Definition at line 22 of file ToyMCImportanceSampler.h.

Public Member Functions

 ToyMCImportanceSampler ()
 
 ToyMCImportanceSampler (TestStatistic &ts, Int_t ntoys)
 
virtual ~ToyMCImportanceSampler ()
 
void AddImportanceDensity (RooAbsPdf *p, const RooArgSet *s)
 
void AddNullDensity (RooAbsPdf *p, const RooArgSet *s=NULL)
 
int CreateImpDensitiesForOnePOIAdaptively (RooAbsPdf &pdf, const RooArgSet &allPOI, RooRealVar &poi, double nStdDevOverlap=0.5, double poiValueForBackground=0.0)
 poi has to be fitted beforehand. This function expects this to be the muhat value.
 
int CreateNImpDensitiesForOnePOI (RooAbsPdf &pdf, const RooArgSet &allPOI, RooRealVar &poi, int n, double poiValueForBackground=0.0)
 n is the number of importance densities
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint) const
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint, double &weight) const
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint, double &weight) const
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint, double &weight, RooAbsPdf &pdf) const
 This method generates a toy data set for the given parameter point taking global observables into account.
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint, double &weight, std::vector< double > &impNLLs, double &nullNLL) const
 
virtual RooAbsDataGenerateToyData (RooArgSet &paramPoint, RooAbsPdf &pdf) const
 
virtual RooAbsDataGenerateToyData (std::vector< double > &weights) const
 
virtual RooAbsDataGenerateToyData (std::vector< double > &weights, std::vector< double > &nullNLLs, std::vector< double > &impNLLs) const
 This method generates a toy data set for importance sampling for the given parameter point taking global observables into account.
 
virtual RooDataSetGetSamplingDistributionsSingleWorker (RooArgSet &paramPoint)
 This is the main function for serial runs.
 
void SetApplyVeto (bool b=true)
 
virtual void SetConditionalObservables (const RooArgSet &set)
 
void SetDensityToGenerateFromByIndex (unsigned int i, bool fromNull=false)
 specifies the pdf to sample from
 
void SetEqualNumToysPerDensity (void)
 
void SetExpIncreasingNumToysPerDensity (void)
 
void SetParametersForTestStat (const RooArgSet &nullpoi)
 
virtual void SetPdf (RooAbsPdf &pdf)
 
void SetReuseNLL (bool r=true)
 
- Public Member Functions inherited from RooStats::ToyMCSampler
 ToyMCSampler ()
 Proof constructor. Do not use.
 
 ToyMCSampler (TestStatistic &ts, Int_t ntoys)
 
virtual ~ToyMCSampler ()
 
virtual void AddTestStatistic (TestStatistic *t=NULL)
 
virtual SamplingDistributionAppendSamplingDistribution (RooArgSet &allParameters, SamplingDistribution *last, Int_t additionalMC)
 Extended interface to append to sampling distribution more samples.
 
Bool_t CheckConfig (void)
 only checks, no guessing/determination (do this in calculators, e.g.
 
virtual Double_t ConfidenceLevel () const
 
virtual RooArgListEvaluateAllTestStatistics (RooAbsData &data, const RooArgSet &poi)
 Evaluate all test statistics, returning result and any detailed output.
 
virtual Double_t EvaluateTestStatistic (RooAbsData &data, RooArgSet &nullPOI)
 
virtual Double_t EvaluateTestStatistic (RooAbsData &data, RooArgSet &nullPOI, int i)
 
virtual void GenerateGlobalObservables (RooAbsPdf &pdf) const
 
virtual Int_t GetNToys (void)
 
std::string GetSamplingDistName (void)
 
virtual SamplingDistributionGetSamplingDistribution (RooArgSet &paramPoint)
 
virtual RooDataSetGetSamplingDistributions (RooArgSet &paramPoint)
 Use for serial and parallel runs.
 
virtual TestStatisticGetTestStatistic (unsigned int i) const
 
virtual TestStatisticGetTestStatistic (void) const
 
virtual void Initialize (RooAbsArg &, RooArgSet &, RooArgSet &)
 
virtual void SetAsimovNuisancePar (Bool_t i=kTRUE)
 
virtual void SetConfidenceLevel (Double_t cl)
 
virtual void SetExpectedNuisancePar (Bool_t i=kTRUE)
 
void SetGenerateAutoBinned (Bool_t autoBinned=kTRUE)
 
void SetGenerateBinned (bool binned=true)
 
void SetGenerateBinnedTag (const char *binnedTag="")
 
virtual void SetGlobalObservables (const RooArgSet &o)
 
void SetMaxToys (Double_t t)
 
virtual void SetNEventsPerToy (const Int_t nevents)
 Forces the generation of exactly n events even for extended PDFs.
 
virtual void SetNToys (const Int_t ntoy)
 
virtual void SetNuisanceParameters (const RooArgSet &np)
 
virtual void SetObservables (const RooArgSet &o)
 
virtual void SetPriorNuisance (RooAbsPdf *pdf)
 
void SetProofConfig (ProofConfig *pc=NULL)
 
void SetProtoData (const RooDataSet *d)
 
void SetSamplingDistName (const char *name)
 
virtual void SetTestSize (Double_t size)
 
virtual void SetTestStatistic (TestStatistic *t)
 
virtual void SetTestStatistic (TestStatistic *testStatistic, unsigned int i)
 
void SetToysBothTails (Double_t toys, Double_t low_threshold, Double_t high_threshold)
 
void SetToysLeftTail (Double_t toys, Double_t threshold)
 
void SetToysRightTail (Double_t toys, Double_t threshold)
 
void SetUseMultiGen (Bool_t flag)
 
- Public Member Functions inherited from RooStats::TestStatSampler
virtual ~TestStatSampler ()
 

Protected Member Functions

virtual void ClearCache ()
 clear the cache obtained from the pdf used for speeding the toy and global observables generation needs to be called every time the model pdf (fPdf) changes
 
- Protected Member Functions inherited from RooStats::ToyMCSampler
const RooArgListEvaluateAllTestStatistics (RooAbsData &data, const RooArgSet &poi, DetailedOutputAggregator &detOutAgg)
 
RooAbsDataGenerate (RooAbsPdf &pdf, RooArgSet &observables, const RooDataSet *protoData=NULL, int forceEvents=0) const
 This is the generate function to use in the context of the ToyMCSampler instead of the standard RooAbsPdf::generate(...).
 

Protected Attributes

bool fApplyVeto
 
RooArgSet fConditionalObs
 
bool fGenerateFromNull
 
std::vector< RooAbsReal * > fImpNLLs
 
std::vector< RooAbsPdf * > fImportanceDensities
 
std::vector< const RooArgSet * > fImportanceSnapshots
 
unsigned int fIndexGenDensity
 
std::vector< RooAbsPdf * > fNullDensities
 
std::vector< RooAbsReal * > fNullNLLs
 
std::vector< const RooArgSet * > fNullSnapshots
 
bool fReuseNLL
 
toysStrategies fToysStrategy
 
- Protected Attributes inherited from RooStats::ToyMCSampler
std::unique_ptr< RooArgSet_allVars
 
std::unique_ptr< RooAbsPdf::GenSpec_gs1
 
std::unique_ptr< RooAbsPdf::GenSpec_gs2
 GenSpec #1.
 
std::unique_ptr< RooAbsPdf::GenSpec_gs3
 GenSpec #2.
 
std::unique_ptr< RooAbsPdf::GenSpec_gs4
 GenSpec #3.
 
std::vector< std::unique_ptr< RooAbsPdf::GenSpec > > _gsList
 
std::vector< std::unique_ptr< RooArgSet > > _obsList
 We don't own those objects.
 
std::vector< RooAbsPdf * > _pdfList
 
Double_t fAdaptiveHighLimit
 
Double_t fAdaptiveLowLimit
 
Bool_t fExpectedNuisancePar
 
Bool_t fGenerateAutoBinned
 
Bool_t fGenerateBinned
 
TString fGenerateBinnedTag
 
const RooArgSetfGlobalObservables
 
Double_t fMaxToys
 
Int_t fNEvents
 
Int_t fNToys
 
NuisanceParametersSamplerfNuisanceParametersSampler
 
const RooArgSetfNuisancePars
 
const RooArgSetfObservables
 
std::unique_ptr< const RooArgSetfParametersForTestStat
 
RooAbsPdffPdf
 
RooAbsPdffPriorNuisance
 
ProofConfigfProofConfig
 
const RooDataSetfProtoData
 
std::string fSamplingDistName
 
Double_t fSize
 
std::vector< TestStatistic * > fTestStatistics
 
Double_t fToysInTails
 
Bool_t fUseMultiGen
 

Additional Inherited Members

- Static Public Member Functions inherited from RooStats::ToyMCSampler
static void SetAlwaysUseMultiGen (Bool_t flag)
 
- Static Protected Attributes inherited from RooStats::ToyMCSampler
static Bool_t fgAlwaysUseMultiGen = kFALSE
 GenSpec #4.
 

#include <RooStats/ToyMCImportanceSampler.h>

Inheritance diagram for RooStats::ToyMCImportanceSampler:
[legend]

Constructor & Destructor Documentation

◆ ToyMCImportanceSampler() [1/2]

RooStats::ToyMCImportanceSampler::ToyMCImportanceSampler ( )
inline

Definition at line 25 of file ToyMCImportanceSampler.h.

◆ ToyMCImportanceSampler() [2/2]

RooStats::ToyMCImportanceSampler::ToyMCImportanceSampler ( TestStatistic ts,
Int_t  ntoys 
)
inline

Definition at line 36 of file ToyMCImportanceSampler.h.

◆ ~ToyMCImportanceSampler()

RooStats::ToyMCImportanceSampler::~ToyMCImportanceSampler ( )
virtual

Definition at line 37 of file ToyMCImportanceSampler.cxx.

Member Function Documentation

◆ AddImportanceDensity()

void RooStats::ToyMCImportanceSampler::AddImportanceDensity ( RooAbsPdf p,
const RooArgSet s 
)
inline

Definition at line 81 of file ToyMCImportanceSampler.h.

◆ AddNullDensity()

void RooStats::ToyMCImportanceSampler::AddNullDensity ( RooAbsPdf p,
const RooArgSet s = NULL 
)
inline

Definition at line 102 of file ToyMCImportanceSampler.h.

◆ ClearCache()

void RooStats::ToyMCImportanceSampler::ClearCache ( void  )
protectedvirtual

clear the cache obtained from the pdf used for speeding the toy and global observables generation needs to be called every time the model pdf (fPdf) changes

Reimplemented from RooStats::ToyMCSampler.

Definition at line 44 of file ToyMCImportanceSampler.cxx.

◆ CreateImpDensitiesForOnePOIAdaptively()

int RooStats::ToyMCImportanceSampler::CreateImpDensitiesForOnePOIAdaptively ( RooAbsPdf pdf,
const RooArgSet allPOI,
RooRealVar poi,
double  nStdDevOverlap = 0.5,
double  poiValueForBackground = 0.0 
)

poi has to be fitted beforehand. This function expects this to be the muhat value.

Definition at line 438 of file ToyMCImportanceSampler.cxx.

◆ CreateNImpDensitiesForOnePOI()

int RooStats::ToyMCImportanceSampler::CreateNImpDensitiesForOnePOI ( RooAbsPdf pdf,
const RooArgSet allPOI,
RooRealVar poi,
int  n,
double  poiValueForBackground = 0.0 
)

n is the number of importance densities

Definition at line 461 of file ToyMCImportanceSampler.cxx.

◆ GenerateToyData() [1/8]

virtual RooAbsData * RooStats::ToyMCSampler::GenerateToyData ( RooArgSet paramPoint) const
inlinevirtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 111 of file ToyMCSampler.h.

◆ GenerateToyData() [2/8]

virtual RooAbsData * RooStats::ToyMCSampler::GenerateToyData ( RooArgSet paramPoint,
double weight 
) const
inlinevirtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 114 of file ToyMCSampler.h.

◆ GenerateToyData() [3/8]

RooAbsData * RooStats::ToyMCImportanceSampler::GenerateToyData ( RooArgSet paramPoint,
double weight 
) const
virtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 135 of file ToyMCImportanceSampler.cxx.

◆ GenerateToyData() [4/8]

RooAbsData * RooStats::ToyMCSampler::GenerateToyData ( RooArgSet paramPoint,
double weight,
RooAbsPdf pdf 
) const
virtual

This method generates a toy data set for the given parameter point taking global observables into account.

The values of the generated global observables remain in the pdf's variables. They have to have those values for the subsequent evaluation of the test statistics.

Reimplemented from RooStats::ToyMCSampler.

Definition at line 113 of file ToyMCSampler.cxx.

◆ GenerateToyData() [5/8]

RooAbsData * RooStats::ToyMCImportanceSampler::GenerateToyData ( RooArgSet paramPoint,
double weight,
std::vector< double > &  impNLLs,
double nullNLL 
) const
virtual

Definition at line 177 of file ToyMCImportanceSampler.cxx.

◆ GenerateToyData() [6/8]

virtual RooAbsData * RooStats::ToyMCSampler::GenerateToyData ( RooArgSet paramPoint,
RooAbsPdf pdf 
) const
inlinevirtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 106 of file ToyMCSampler.h.

◆ GenerateToyData() [7/8]

RooAbsData * RooStats::ToyMCImportanceSampler::GenerateToyData ( std::vector< double > &  weights) const
virtual

Definition at line 216 of file ToyMCImportanceSampler.cxx.

◆ GenerateToyData() [8/8]

RooAbsData * RooStats::ToyMCImportanceSampler::GenerateToyData ( std::vector< double > &  weights,
std::vector< double > &  nullNLLs,
std::vector< double > &  impNLLs 
) const
virtual

This method generates a toy data set for importance sampling for the given parameter point taking global observables into account.

The values of the generated global observables remain in the pdf's variables. They have to have those values for the subsequent evaluation of the test statistics.

Definition at line 240 of file ToyMCImportanceSampler.cxx.

◆ GetSamplingDistributionsSingleWorker()

RooDataSet * RooStats::ToyMCImportanceSampler::GetSamplingDistributionsSingleWorker ( RooArgSet paramPointIn)
virtual

This is the main function for serial runs.

It is called automatically from inside GetSamplingDistribution when no ProofConfig is given. You should not call this function yourself. This function should be used by ToyMCStudy on the workers (ie. when you explicitly want a serial run although ProofConfig is present).

Reimplemented from RooStats::ToyMCSampler.

Definition at line 53 of file ToyMCImportanceSampler.cxx.

◆ SetApplyVeto()

void RooStats::ToyMCImportanceSampler::SetApplyVeto ( bool  b = true)
inline

Definition at line 143 of file ToyMCImportanceSampler.h.

◆ SetConditionalObservables()

virtual void RooStats::ToyMCImportanceSampler::SetConditionalObservables ( const RooArgSet set)
inlinevirtual

Definition at line 150 of file ToyMCImportanceSampler.h.

◆ SetDensityToGenerateFromByIndex()

void RooStats::ToyMCImportanceSampler::SetDensityToGenerateFromByIndex ( unsigned int  i,
bool  fromNull = false 
)
inline

specifies the pdf to sample from

Definition at line 61 of file ToyMCImportanceSampler.h.

◆ SetEqualNumToysPerDensity()

void RooStats::ToyMCImportanceSampler::SetEqualNumToysPerDensity ( void  )
inline

Definition at line 167 of file ToyMCImportanceSampler.h.

◆ SetExpIncreasingNumToysPerDensity()

void RooStats::ToyMCImportanceSampler::SetExpIncreasingNumToysPerDensity ( void  )
inline

Definition at line 168 of file ToyMCImportanceSampler.h.

◆ SetParametersForTestStat()

void RooStats::ToyMCImportanceSampler::SetParametersForTestStat ( const RooArgSet nullpoi)
inlinevirtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 128 of file ToyMCImportanceSampler.h.

◆ SetPdf()

virtual void RooStats::ToyMCImportanceSampler::SetPdf ( RooAbsPdf pdf)
inlinevirtual

Reimplemented from RooStats::ToyMCSampler.

Definition at line 118 of file ToyMCImportanceSampler.h.

◆ SetReuseNLL()

void RooStats::ToyMCImportanceSampler::SetReuseNLL ( bool  r = true)
inline

Definition at line 145 of file ToyMCImportanceSampler.h.

Member Data Documentation

◆ fApplyVeto

bool RooStats::ToyMCImportanceSampler::fApplyVeto
protected

Definition at line 177 of file ToyMCImportanceSampler.h.

◆ fConditionalObs

RooArgSet RooStats::ToyMCImportanceSampler::fConditionalObs
protected

Definition at line 179 of file ToyMCImportanceSampler.h.

◆ fGenerateFromNull

bool RooStats::ToyMCImportanceSampler::fGenerateFromNull
protected

Definition at line 176 of file ToyMCImportanceSampler.h.

◆ fImpNLLs

std::vector<RooAbsReal*> RooStats::ToyMCImportanceSampler::fImpNLLs
mutableprotected

Definition at line 194 of file ToyMCImportanceSampler.h.

◆ fImportanceDensities

std::vector<RooAbsPdf*> RooStats::ToyMCImportanceSampler::fImportanceDensities
protected

Definition at line 186 of file ToyMCImportanceSampler.h.

◆ fImportanceSnapshots

std::vector<const RooArgSet*> RooStats::ToyMCImportanceSampler::fImportanceSnapshots
protected

Definition at line 187 of file ToyMCImportanceSampler.h.

◆ fIndexGenDensity

unsigned int RooStats::ToyMCImportanceSampler::fIndexGenDensity
protected

Definition at line 175 of file ToyMCImportanceSampler.h.

◆ fNullDensities

std::vector<RooAbsPdf*> RooStats::ToyMCImportanceSampler::fNullDensities
protected

Definition at line 182 of file ToyMCImportanceSampler.h.

◆ fNullNLLs

std::vector<RooAbsReal*> RooStats::ToyMCImportanceSampler::fNullNLLs
mutableprotected

Definition at line 193 of file ToyMCImportanceSampler.h.

◆ fNullSnapshots

std::vector<const RooArgSet*> RooStats::ToyMCImportanceSampler::fNullSnapshots
mutableprotected

Definition at line 183 of file ToyMCImportanceSampler.h.

◆ fReuseNLL

bool RooStats::ToyMCImportanceSampler::fReuseNLL
protected

Definition at line 189 of file ToyMCImportanceSampler.h.

◆ fToysStrategy

toysStrategies RooStats::ToyMCImportanceSampler::fToysStrategy
protected

Definition at line 191 of file ToyMCImportanceSampler.h.

Libraries for RooStats::ToyMCImportanceSampler:

The documentation for this class was generated from the following files: