コード例 #1
0
    ResolutionModel=tres.model(),
    Bins=bin_spec,
    Relative=rel_spec,
)

pdf = Single_Exponent_Time(Name="pdf", time=t, resolutionModel=res_model)
pdf = pdf.pdf()

gen_observables = [t, hlt1_excl_biased, hlt2_unbiased, hlt2_biased]

## Get proto data
proto_data = None
if options.protodata:
    proto_file = TFile.Open(options.protodata)
    if not proto_file.IsOpen():
        raise OSError
    for key in proto_file.GetListOfKeys():
        if key.GetClassName() == "RooDataSet":
            proto_data = key.ReadObj()
            break
    else:
        raise RunTimeError
    if not proto_data:
        raise RunTimeError

## run the toy
toy.set_fit_opts(**dict(Verbose=False))
toy.run(Observables=gen_observables, Pdf=pdf, GenPdf=pdf, ProtoData=proto_data)

toy.write_output()
コード例 #2
0
ファイル: gexp_toy.py プロジェクト: GerhardRaven/P2VV
gexp_frac = RealVar(Name = "gexp_frac", Value = 0.1, MinMax = (0.0001, 0.9999))
add_model = AddModel("add_model", Models = [gexp_model, gauss_model], Fractions = [gexp_frac], ConditionalObservables = [st])

from ROOT import RooDecay as Decay
peak_tau = RealVar(Name = "peak_tau", Value = 0, Constant = True)
peak = Pdf(Name = "peak", Type = Decay, Parameters = [t_diff, peak_tau, add_model, 'SingleSided'], ConditionalObservables = [st])

## peak2 = Pdf(Name = "peak2", Type = Decay, Parameters = [t_diff, peak_tau, gexp_model, 'SingleSided'], ConditionalObservables = [st])

## peak3 = Pdf(Name = "peak3", Type = Decay, Parameters = [t_diff, peak_tau, gauss_model, 'SingleSided'], ConditionalObservables = [st])

# signal component
from P2VV.Parameterizations.MassPDFs import LP2011_Signal_Mass as Signal_Mass
sig_m = Signal_Mass(Name = 'sig_m', mass = m) 
signal = Component('signal', (sig_m.pdf(), st_pdf, peak), Yield = (150000, 10000, 1000000))

sig_mass_pdf = buildPdf(Components = (signal, background), Observables = (m,), Name = 'sig_mass_pdf')
signal_name = signal.GetName()
mass_pdf = sig_mass_pdf

fitOpts = dict(NumCPU = 4, Timer = 1, Save = True, Minimizer = 'Minuit2', Optimize = 2, Offset = True,
               Verbose = False)

gen_pdf = buildPdf(Components = (signal,), Observables = (t_diff, st), Name = 'gen_pdf')
fit_pdf = buildPdf(Components = (signal,), Observables = (t_diff,), Name = 'fit_pdf')

toy.set_fit_opts(**dict(Verbose = False))
toy.run(Observables = [t_diff, st], Pdf = fit_pdf, GenPdf = gen_pdf)