def loadFiles(pat, max_files=400, cl_ix=1, calParam=None, rescale=1): d, name = os.path.split(pat + '_?_*') pars = [] cls = [] ls = None for f in os.listdir(d): if fnmatch.fnmatch(f, name + '.theory_cl'): fname = f.replace('.theory_cl', '') params = types.BestFit(os.path.join(d, fname + '.pars')) pars.append(params) cl = np.loadtxt(os.path.join(d, fname + '.theory_cl')) if calParam: cal = params.parWithName(calParam).best_fit else: cal = 1 cls.append(cl[:, cl_ix] / cal ** 2 * rescale) if ls is None: ls = cl[:, 0] if len(pars) == max_files: break if not len(pars): raise Exception('No files found: ' + pat) return ls, pars, cls
def chainBestfit(self, paramNameFile=None): bf_file = self.chainRoot + '.minimum' if nonEmptyFile(bf_file): return types.BestFit(bf_file, paramNameFile) return None
'scalar_nrun(1)': 'nrun', 'initial_ratio(1)': 'r', 're_optical_depth': 'tau', 're_delta_redshift': 'deltazrei', 'massless_neutrinos': 'nnu' } ini = IniFile() ini.params['re_use_optical_depth'] = True ini.params['temp_cmb'] = 2.7255 ini.params['CMB_outputscale'] = 2.7255e6**2. ini.defaults.append('params.ini') bf = types.BestFit(root + '.minimum', setParamNameFile=root + '.paramnames', want_fixed=True) for camb, cosmomc in list(pars.items()): par = bf.parWithName(cosmomc) if par is not None: ini.params[camb] = par.best_fit ini.params['scalar_amp(1)'] = float(ini.params['scalar_amp(1)']) / 1e9 nmassive = 1 neffstandard = 3.046 / 3 ini.params['massless_neutrinos'] = float( ini.params['massless_neutrinos']) - neffstandard * nmassive ini.params['massive_neutrinos'] = int(round(neffstandard * nmassive)) ini.params['nu_mass_degeneracies'] = neffstandard * nmassive ini.params['share_delta_neff'] = False