Пример #1
0
        ds_name = 'JpsiKK_bkgSWeight'
    data = input_file.Get(ds_name)
    if years == '2011_Reco14':
        data = data.reduce('runPeriod == runPeriod::p2011')
    elif years == '2012':
        data = data.reduce('runPeriod == runPeriod::p2012')
else:
    from P2VV.Utilities.Resolution import input_data
    from P2VV.CacheUtils import Cache
    cut = 'sel == 1 && hlt1_unbiased == 1 && hlt2_unbiased == 1 && '
    cut += ' && '.join(['%s < 4' % e for e in ['muplus_track_chi2ndof', 'muminus_track_chi2ndof', 'Kplus_track_chi2ndof', 'Kminus_track_chi2ndof']])
    cut += ' && sel_cleantail == 1'
    hash_str = cut
    hd = ('%d' % hash(hash_str)).replace('-', 'm')
    directory = '1bin_%4.2ffs_simple/%s' % (1000 * (t.getMax() - t.getMin()), hd)
    cache = Cache(input_data[years]['cache'].rsplit('/', 1), directory)
    data, sdatas = cache.read_data()
    if component == 'signal':
        data = single_bin_sig_sdata = sdatas['sig_sdata']
    else:
        data = single_bin_bkg_sdata = sdatas['bkg_sdata']

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

from P2VV.Parameterizations.SigmatPDFs import DoubleLogNormal
dln = DoubleLogNormal(st)
ln = dln.pdf()

# Fit
Пример #2
0

from P2VV.RooFitWrappers import *
from P2VV.Load import P2VVLibrary
from P2VV.Load import LHCbStyle

obj = RooObject( workspace = 'w')
w = obj.ws()

st = RealVar('sigmat',Title = '#sigma_{t}', Unit = 'ps', Observable = True, MinMax = (0.0001, 0.12))
tdiff = RealVar('time_diff', Unit = 'ps', Observable = True, MinMax = (-0.5, 0.5))

from P2VV.CacheUtils import Cache
directory = '1bin_19000.00fs_simple/m4074732224475561764'
refit_directory = '1bin_15500.00fs_simple/5583982615024427910'
cache = Cache(input_data[args[0]]['cache'].rsplit('/', 1), directory)
cache_files = cache.cache_files()
sig_sdata = cache_files.getFromCache(directory + '/sdata/sig_sdata')[0]
refit_sig_sdata = cache_files.getFromCache(refit_directory + '/sdata/sig_sdata')[0]

assert(sig_sdata and refit_sig_sdata)

from ROOT import RooFormulaVar
for pn, an in [('sigmat', 'sigmat_refit'), ('time_diff', 'time_diff_refit')]:
    arg = refit_sig_sdata.get().find(an)
    if not arg:
        print 'observable %s not in refit data, skipping' % an
    formula = RooFormulaVar(pn, pn, '@0', RooArgList(arg))
    refit_sig_sdata.addColumn(formula)

from ROOT import TPaveText