def main(): options,args = parser.parse_args(sys.argv[1:]) if (options.run is None or options.nbin is None): parser.print_help() sys.exit(1) run=options.run s2n_range=[float(s) for s in options.s2n.split(',')] sratio_range=[float(s) for s in options.sratio.split(',')] psfnums=[int(s) for s in options.psfnums.split(',')] s2n_field=options.field reader=files.Reader(run=run, psfnums=psfnums, s2n_range=s2n_range, sratio_range=sratio_range, setname=options.set, progress=True) data=reader.get_data() s2n_minvals, s2n_maxvals=get_s2n_ranges(options,args) fitters=[] for i in xrange(len(s2n_minvals)): import mcmc w,=where((data[s2n_field] > s2n_minvals[i]) & (data[s2n_field] < s2n_maxvals[i])) print s2n_minvals[i],s2n_maxvals[i],w.size bf=BiasFitter(data[w], s2n_field=options.field) fitters.append(bf) print bf.g1fit print bf.g2fit #print bf.g1fit.x,bf.g1fit.y #print bf.g2fit.x,bf.g2fit.y #plt1=mcmc.plot_results(bf.g1fit.trials) #plt2=mcmc.plot_results(bf.g2fit.trials) st = get_stats(fitters) aprint(st,fancy=True) doplot(run, st, s2n_field, options.set, s2n_range,sratio_range, psfnums, data.size)
def set_bindata(self): self.bindata=stats.logbin_shear_data(self.data, self.bin_field, nbin=self.nbin, min=self.s2n_range[0], max=self.s2n_range[1]) aprint(self.bindata, header=True, page=False, fancy=True)