Numeric algorithm tuning: configuration and customization of how MC sampling algorithms on specific pdfs are executed
import ROOT
x = ROOT.RooRealVar("x", "x", 0, 10)
model = ROOT.RooChebychev("model", "model", x, [0.0, 0.5, -0.1])
ROOT.RooAbsPdf.defaultGeneratorConfig().method1D(False, False).setLabel("RooAcceptReject")
data_ar = model.generate({x}, 10000, Verbose=True)
data_ar.Print()
model.specialGeneratorConfig(True).method1D(False, False).setLabel("RooFoamGenerator")
ROOT.RooAbsPdf.defaultGeneratorConfig().getConfigSection("RooAcceptReject").setRealValue("nTrial1D", 2000)
model.specialGeneratorConfig().getConfigSection("RooFoamGenerator").setRealValue("chatLevel", 1)
data_foam = model.generate({x}, 10000, Verbose=True)
data_foam.Print()
[#0] ERROR:InputArguments -- Trying to set invalid state label 'RooAcceptReject' for category method1D
--- RooGenContext ---
Using PDF RooChebychev::model[ x=x coefList=(0,0.5,-0.1) ]
Use PDF generator for ()
Use MC sampling generator RooFoamGenerator for (x)
RooDataSet::modelData[x] = 10000 entries
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
F F
F **************************************** F
F ****** TFoam::Initialize ****** F
F **************************************** F
F TFOAM F
F Version = 1.02M = Release date: 2005.04.10 F
F kDim = 1 = Dimension of the hyper-cubical space F
F nCells = 30 = Requested number of Cells (half of them active) F
F nSampl = 200 = No of MC events in exploration of a cell F
F nBin = 8 = No of bins in histograms, MC exploration of cell F
F EvPerBin = 25 = Maximum No effective_events/bin, MC exploration F
F OptDrive = 2 = Type of Driver =1,2 for Sigma,WtMax F
F OptRej = 1 = MC rejection on/off for OptRej=0,1 F
F MaxWtRej = 1.1 = Maximum wt in rejection for wt=1 evts F
F F
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
11
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
F F
F *** TFoam::Initialize FINISHED!!! *** F
F nCalls = 5800 = Total number of function calls F
F XPrime = 0.10992972 = Primary total integral F
F XDiver = 0.010000374 = Driver total integral F
F mcResult = 0.099929343 = Estimate of the true MC Integral F
F F
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
--- RooGenContext ---
Using PDF RooChebychev::model[ x=x coefList=(0,0.5,-0.1) ]
Use PDF generator for ()
Use MC sampling generator RooFoamGenerator for (x)
RooDataSet::modelData[x] = 10000 entries
- Date
- February 2018
- Authors
- Clemens Lange, Wouter Verkerke (C++ version)
Definition in file rf902_numgenconfig.py.