#!/usr/bin/env python
from numpy import *
import numpy as np
import math
from mpmath import *
from scipy.optimize import curve_fit
import scipy.integrate
import scipy
import glob
import os.path
import sys
import os
import matplotlib
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
from matplotlib.ticker import MultipleLocator
from matplotlib.ticker import ScalarFormatter
from matplotlib.ticker import NullFormatter
import numpy.ma as ma
import matplotlib.lines as lines
from matplotlib.lines import Line2D

mp.dps = 15; mp.pretty = False;

class nf(float):
	def __repr__(self):
		s = f'{self:.1f}'
		return f'{self:.0f}' if s[-1] == '0' else s
		
def read_traj(filename):
	x = np.zeros(shape=(20000001))
	y = np.zeros(shape=(20000001))
	f=open(filename,'r')
	ind = 0
	for line in f:
		p = line.split()
		x[ind] = float(p[0])
		y[ind] = float(p[1])
		ind += 1
	f.close()
	# ~ i = 0
	# ~ while i < 
	return x,y
		
def read_traj1(filename):
	x = np.zeros(shape=(10000000))
	y = np.zeros(shape=(10000000))
	f=open(filename,'r')
	lines = f.readlines()
	ind = 0
	for line in lines[1:]:
		p = line.split()
		x[ind-1] = (float(p[1])-600.)/490.					#CHANGE THE VALUES SUBTRACTED (CENTER COORDINATES) AND THE RADIUS (DENOMINATOR)
		y[ind-1] = (float(p[2])-518.)/490.
		ind += 1
	f.close()
	return x,y
	
def read_traj2(filename):
	x = np.zeros(shape=(10000000))
	y = np.zeros(shape=(10000000))
	f=open(filename,'r')
	lines = f.readlines()
	ind = 0
	for line in lines[1:]:
		p = line.split()
		x[ind-1] = (float(p[1])-616.)/467.					#CHANGE THE VALUES SUBTRACTED (CENTER COORDINATES) AND THE RADIUS (DENOMINATOR)
		y[ind-1] = (float(p[2])-476.)/467.
		ind += 1
	f.close()
	return x,y

def read_traj3(filename):
	x = np.zeros(shape=(10000000))
	y = np.zeros(shape=(10000000))
	f=open(filename,'r')
	lines = f.readlines()
	ind = 0
	for line in lines[1:]:
		p = line.split()
		x[ind-1] = (float(p[1])-512.)/464.					#CHANGE THE VALUES SUBTRACTED (CENTER COORDINATES) AND THE RADIUS (DENOMINATOR)
		y[ind-1] = (float(p[2])-530.)/464.
		ind += 1
	f.close()
	return x,y
	
def read_traj4(filename):
	x = np.zeros(shape=(10000000))
	y = np.zeros(shape=(10000000))
	f=open(filename,'r')
	lines = f.readlines()
	ind = 0
	for line in lines[1:]:
		p = line.split()
		x[ind-1] = (float(p[1])-555.)/464.5					#CHANGE THE VALUES SUBTRACTED (CENTER COORDINATES) AND THE RADIUS (DENOMINATOR)
		y[ind-1] = (float(p[2])-548.)/464.5
		ind += 1
	f.close()
	return x,y

def read_TPT_downsampling(filename,l):
	lines=[]
	count=0
	f=open(filename,'r')
	#~ lines = f.readlines()
	#~ f.close()
	TPT=[]
	ind = 0
	for line in f:
		if ((ind+1)%l == 0):
			p = line.split()
			TPT.append(float(p[0]))
		ind += 1
	#~ k=0
	#~ for line in lines[20000:]: #5000 for vanilla, 1500 for entropy and new090120, 15000 for dt = 0.05, 2500 for dt = 0.002
		#~ k+=1
		#~ if (k%l == 0):
			#~ p = line.split()
			#~ TPT.append(float(p[0]))
			#~ count += 1
			#~ k=0
	TPT = np.asarray(TPT)
	return TPT
	
def function (x,y,kx,ky):
	return 	0.5*ky*y**2 + kx*(x*x-1.)**2
	
def function1 (x,y):
	return 	-11.*np.exp(-1.2*(x-1.7)**2 + 0.*(x-1.7)*(y-0.) -6.*(y-0.)**2) -5.*np.exp(-1.2*(x+0.7)**2 + 0.*(x+0.7)*(y-0.3) -8.5*(y-0.3)**2) -10.*np.exp(-3.*(x-0.5)**2 + 6.*(x-0.5)*(y-2.) -5.*(y-2.)**2) + 1.*np.exp(0.7*(x+0.)**2 + 0.6*(x+0.)*(y-1.) + 0.7*(y-1.)**2)

def make_figure_paper1 (x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8):
	with PdfPages('Fig3.pdf') as pdf:
		
		if plt.rcParams["text.usetex"]:
			fmt = r'%r \%%'
		else:
			fmt = '%r %%'
		
		fig = plt.figure(figsize=(7.,3.),dpi=600)
		plt.rc('text', usetex=True)
		
		panel = fig.add_axes([0.07, 0.57, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x1,y1,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(a)$",fontsize=axislabelfontsize-2)
		
		panel = fig.add_axes([0.28, 0.57, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x2,y2,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(b)$",fontsize=axislabelfontsize-2)
		panel.text(-3.,1.3,r"$\mathrm{Experiments}$",fontsize=axislabelfontsize+3)
		
		yl = np.arange(-8.,2.,0.01)
		xl = -2.3 + 0*yl
		
		panel = fig.add_axes([0.51, 0.57, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x5,y5,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(e)$",fontsize=axislabelfontsize-2)
		ll = panel.plot(xl,yl,color='k')
		ll[0].set_clip_on(False)
		panel.text(1.,1.3,r"$\mathrm{Models}$",fontsize=axislabelfontsize+3)
		
		panel = fig.add_axes([0.72, 0.57, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x6,y6,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(f)$",fontsize=axislabelfontsize-2)
		panel.text(1.3,0.,r"$\mathrm{Standard \; ABP}$",fontsize=axislabelfontsize)
		
		panel = fig.add_axes([0.07, 0.12, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x3,y3,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(c)$",fontsize=axislabelfontsize-2)
		
		panel = fig.add_axes([0.28, 0.12, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x4,y4,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(d)$",fontsize=axislabelfontsize-2)
		
		panel = fig.add_axes([0.51, 0.12, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x8,y8,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(g)$",fontsize=axislabelfontsize-2)
		
		panel = fig.add_axes([0.72, 0.12, 0.13, 0.31])
		yt = np.linspace(-0.59,0.59,2000)
		xt = np.zeros(shape=(2000))
		i = 0
		for el in yt:
			xt[i] = -0.8
			i+=1
		panel.plot(xt,yt,linewidth=1.0,color='black')
		circle = plt.Circle((0, 0), 1., color='black', fill=False)
		circle1 = plt.Circle((0, 0), 0.1, color='black', fill=False)
		# ~ circle2 = plt.Circle((-0.5, 0), 0.1, color='red', fill=False)
		circle3 = plt.Circle((0, 0.5), 0.1, color='green', fill=False)
		# ~ circle4 = plt.Circle((0.5, 0), 0.1, color='blue', fill=False)
		panel.add_patch(circle)
		panel.add_patch(circle1)
		# ~ panel.add_patch(circle2)
		panel.add_patch(circle3)
		# ~ panel.add_patch(circle4)
		panel.text(-0.05,-0.05,"R",fontsize=axislabelfontsize-6)
		panel.text(-0.95,-0.04,"T",fontsize=axislabelfontsize-6)
		# ~ panel.text(-0.54,-0.04,"1")
		panel.text(-0.04,0.46,"2",fontsize=axislabelfontsize-6)
		# ~ panel.text(0.46,-0.04,"3")
		plt.plot(x7,y7,color='red',linewidth=0.5)
		panel.set_xlabel(r'$x/\sigma$',fontsize=axislabelfontsize-2,labelpad=2)
		for tick in panel.xaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_xlim(-1.1,1.1)
		panel.xaxis.set_major_locator(MultipleLocator(0.5))
		panel.xaxis.set_minor_locator(MultipleLocator(0.1))
		panel.set_ylabel(r'$y/\sigma$',fontsize=axislabelfontsize-2,labelpad=2,rotation='horizontal')
		for tick in panel.yaxis.get_major_ticks(): tick.label.set_fontsize(axisticslabelfontsize-3)
		panel.set_ylim(-1.1,1.1)
		panel.yaxis.set_major_locator(MultipleLocator(0.5))
		panel.yaxis.set_minor_locator(MultipleLocator(0.1))
		panel.text(-1.05,0.75,r"$(h)$",fontsize=axislabelfontsize-2)
		panel.text(1.5,0.,r"$\mathrm{Chiral \; ABP}$",fontsize=axislabelfontsize)
		
		pdf.savefig(fig)
		
	return
	
def global_variables ():
	# setto anche alcune variabili comuni utili per le varie figure
	global axisticslabelfontsize
	global axisticslabelfontsizeinset
	global axislabelfontsize
	global axislabelfontsizeinset
	global legendfontsize
	global lineswidth
	axisticslabelfontsize=9
	axisticslabelfontsizeinset=7
	axislabelfontsize=11
	axislabelfontsizeinset=9
	legendfontsize=11
	lineswidth = 2
	return
	
def main():
	global_variables ()

	# ~ TPTfromTPS = read_TPT_downsampling('TPTfromTPS_active_dr_double.dat',1)
	# ~ print("read1")
	
	# ~ TPTfromTPS = TPTfromTPS + 0.01
	# ~ print(TPTfromTPS)
	# ~ TPTfromBruteForce = read_TPT_downsampling('TPTfromBruteForce_pe5_dr2x0.dat',1)
	# ~ print("read2")
	# ~ TPT3 = read_TPT_downsampling('TPTfromTPS_active_dr_half.dat',1)
	# ~ print("read3")
	# ~ TPT4 = read_TPT_downsampling('TPTfromBruteForce_pe5_dr05x0.dat',1)
	# ~ print("read4")
	# ~ TPT5 = read_TPT_downsampling('TPTfromTPS_active_dr_pe10.dat',1)
	# ~ print("read5")
	# ~ TPT6 = read_TPT_downsampling('TPTfromBruteForce_pe5_dr025x0.dat',1)
	# ~ print("read6")
	# ~ TPT7 = read_TPT_downsampling('TPTfromTPS_active_pe5_reduced.dat',1)
	# ~ print("read7")
	# ~ TPT8 = read_TPT_downsampling('TPTfromBruteForce_active_B3_dt001pe5rho0_reduced.dat',1)
	# ~ print("read8")
	
	traj= read_traj1("1_traj.txt")
	x1 = traj[0]
	y1 = traj[1]
	traj= read_traj2("2_traj.txt")
	x2 = traj[0]
	y2 = traj[1]
	traj= read_traj3("3_traj.txt")
	x3 = traj[0]
	y3 = traj[1]
	traj= read_traj4("4_traj.txt")
	x4 = traj[0]
	y4 = traj[1]
	traj= read_traj("trajectory_final_par_v001Dr005_correct.dat")
	x = traj[0]
	y = traj[1]
	traj= read_traj("trajs_circle.dat")
	xc = traj[0]
	yc = traj[1]

	make_figure_paper1 (x1[67352:68512],y1[67352:68512],x2[10787:10934],y2[10787:10934],x3[195600:197035],y3[195600:197035],x4[21608:22338],y4[21608:22338],x[5902:6720],y[5902:6720],x[10930:12822],y[10930:12822],xc[2556647:2557085],yc[2556647:2557085],xc[2557159:2558045],yc[2557159:2558045])

main()
