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
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