exit() fitname = get_param("fitname") destdir = get_param("destdir") ensembles = get_param("ensembles") ensembles = ensembles.split(" ") fittingvar = int(get_param("fittingvar")) def is_fitensemble(name): for element in ensembles: if element == name: return 1 return 0 # ensure dest dir a.ensure_dir(destdir) # number of bootstraps used. Must be the same as used during the fits for the ensembles numBootstraps = 1500 numSys = 1500 #load data srcdir = "/hiskp2/oehm/averx/analysis/final_3" info = np.load(os.path.join(srcdir,"info.npy")) alluddata = np.load(os.path.join(srcdir,"udplotdata.npy")) allufdata = np.load(os.path.join(srcdir,"ufplotdata.npy")) allsuddata = np.load(os.path.join(srcdir,"sudplotdata.npy")) allsufdata = np.load(os.path.join(srcdir,"sufplotdata.npy")) # build arrays with the ensembles that should be used for the plot
import sys import numpy as np import math import os,inspect currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) parentdir = os.path.dirname(currentdir) sys.path.insert(0,parentdir) import a sigma = int(sys.argv[1]) print "sigma "+str(sigma) a.ensure_dir("/hiskp2/oehm/correlators/momentum/A40.24/O012/analysis/sigma"+str(sigma)+"/") numBootstraps = 1500 O012 = a.readcor("/hiskp2/oehm/correlators/momentum/A40.24/O012/sigma"+str(sigma)+"/O012_sigma"+str(sigma),48) xn = a.readcor("/hiskp2/oehm/correlators/momentum/A40.24/x/sigma"+str(sigma)+"/x"+str(sigma),48) O012 = a.asym(O012) xn = a.sym(xn) O012_bstraps = a.boot(O012,numBootstraps) O012_bstraps_mean = np.mean(O012_bstraps,axis=0) xn_bstraps = a.boot(xn,numBootstraps) xn_bstraps_mean = np.mean(xn_bstraps,axis=0) xn_result = np.zeros((21,numBootstraps,4)) effmass, effmass_error, effmass_nans = a.effmass(xn_bstraps)
_effmass2, effmass_error2, effmass_nans2 = a.effmass2(x_bstraps) _effmasswerr = np.zeros((2,_effmass.shape[0])) _effmasswerr[0] = _effmass _effmasswerr[1] = effmass_error np.save(os.path.join(destdir,correlator+"_effmass_50.npy"),_effmasswerr) a.nsettofile2(x_bstraps[0],np.std(x_bstraps,axis=0),os.path.join(destdir,correlator+"_mean_50")) a.nsettofile2(_effmass,effmass_error,os.path.join(destdir,correlator+"_effmass_50")) # plot corr log path = os.path.join(destdir,correlator+"_log_50.pdf") a.ensure_dir(path) plotpdf = PdfPages(path) cut = 0.158655254 orig = np.log(x_bstraps[0,:]) up = np.percentile(np.log(x_bstraps),(1-cut)*100,axis=0)-orig down = orig-np.percentile(np.log(x_bstraps),cut*100,axis=0) plt.errorbar(np.arange(0,x_bstraps.shape[1]),np.log(x_bstraps[0,:]),yerr = [up,down],fmt = 'x', color="r", label = "2pt-function") plt.xlabel("$t/a$") plt.ylabel("$\log(C_\mathrm{2pt}(t))$")
runr = MTAInputReader(os.path.join(runifpath,runif+".input")) taskr = MTAInputReader(os.path.join(taskifpath,taskif+".input")) task = taskr.rparam("task") op = taskr.rparam("operator") print "execting task "+str(task)+" on operator "+str(op) latT = int(runr.rparam("T")) numBstraps = int(taskr.param("bstraps",1500)) destdir = runr.getdest(op,sigma,taskr.param("dest","")) a.ensure_dir(destdir+"/") doasym = 0 if taskr.istrue("asym"): doasym = 1 if task == "fitplatval": doasym = 0 if taskr.istrue("asym"): doasym = 1 sigmaterm = runr.getsigma(sigma) if op == "O44": if sigma == 0 or sigma == None: valfunc = lambda x,y,z: -x/y/z