#+TITLE: 2 Higgs - SU(2) Simulations

Compute Averages, Flow Averages, Scale Setting, Plaquette, Clover,...
Study phase space with Higgs and W masses

#+startup: num
#+STARTUP: latexpreview

#+LaTeX_HEADER: \usepackage{pdfpages}
#+LATEX_HEADER: \usepackage{physics}
#+LATEX_HEADER: \usepackage{mathtools}
* Log
** SCHEDULED: <2023-05-15 Mon>
- The simulations done at k1=k2 indicate that the phase transition occurs at the
  same k_c for both cases (bet = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01)
- It also indicates that the W mass obtained with H1 and H2 starts to separate
  for lower k1=k2 in the symmetric phase -  this means that W_{11}=W_{22}
  indicates we are safely in the broken phase
- The next step is to keep one of the kappas fixed in the broken phase (where
  W_{11}=W_{22}) and scan the other kappa
- we want to gauge the possibility of having one of the higgs broken and the
  other not
** SCHEDULED: <2023-05-16 Tue>
- The simulations done at;
  + beta = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01;
    xi4=0.01
  show mW > mH.
- It seems that mW2 ($\eta_2>\eta_1$) is slightly larger than mW1 (this
  shouldn't happen ? both interpolators should return the same mass ? how is
  this possible ?)
- [Attempt] keep $\mu$ and the $\xi$ fixed - change $\eta_2$ see how the W mass
  changes with this coupling. Keep all parameters unchanged (for k_c to remain
  the same)
- Maybe I should've set xi1=xi2=xi3=xi4 since all these terms mix both Higgs

** SCHEDULED: <2023-05-17 Wed>
- From yesterday's idea, it seems that the ratio mH/mW grows when $\eta_2$
  increases, so it should be possible to reverse the mass ordering
** SCHEDULED: <2023-05-18 Thu>
- As a test, I also checked the mass dependence on $\eta_1$.
  The behaviour seems to indicate that to reverse the orderings we need to
  increase also $\eta_1$ at a fixed $\eta_2$. However, when it increases too much
  it seems that $m_{W_1}$ becomes different from $m_{W_2}$, which indicates a
  phase transition (?) However, for this beta and k1=k2 the k_crit should be far
  away. Could the eta change k_crit that much? - ver fig. 4.18 & 4.14 Wurtz thesis
- This seems to be confirmed by plotting also the value of $L_{\alpha}$ that
  DECREASES with $\eta_1$ and thus indicates that were crossing to the symmetric
  phase
- Then, if the change in the masses and mass ratios with the $\eta$ are due to
  getting close to the phase transition, this means that the mass ordering will
  only approach 1 (when all masses are zero) but not become larger than one in
  the broken phase
- Reminder that all this is for k1=k2. It should be possible to reverse the mass
  ordering by changing the ks. However, it is puzzling that for k1=k2 we get an
  inverse mass ordering from the Single Higgs case.

** SCHEDULED: <2023-05-19 Fri>
- Changing $\eta_1$ I confirmed that we simply change our fixed $k$ to be closer
  to the new $k_c=k_c(\eta,\xi,...)$
- the way to reverse the mass ordering is by tuning the parameters using the
  masses obtained by the Higgs mechanics applied to our action
** SCHEDULED: <2023-05-23 Tue>
- Should redo smearing tests by plotting as a function of $N\hat r$ and not only $N$
- For k1=k2 both Higgs are in the same phase all the time because the quartic
  couplings affect $k_c^{(i)}$ very little. Thus, for k1=k2 the W-boson receives
  contributions from both vevs in the broken phase, this means that it gets more
  massive.
  To get the *correct mass order* we should find a region where only one Higgs
  is in the broken phase.
  However, also the remaining Higgs (after SSB) gets its mass from the sum of
  both VEVs...
  So I should be still able to find mH>mW even when both Higgs are broken...
- From Branco's review I noticed that the scalar masses are all proportional to
  the coupling $\mu^2$ at tree level. It means that by changing its value we can
  make the Higgs mass larger: Run scan for $\mu^2$
  - [EDIT] by increasing $\mu$ the ratio mH/mW grows and approaches 1. However, it
    seems to stabilize around one even if one increases $\mu$ furter (keeping all
    other couplings constant)

- Notice also that Branco's reviews and the other papers assume always that both
  Higgs are broken. This is not the most general case. It is possible that one
  is broken and the other is not. What are the conditions on the parameters for
  this? For the single Higgs this means $m^2<0$
  Require minimization problem?

- In the single higgs case, when the symmetry is broken there are 3 goldstone
  bosons that are eaten by the Ws and Z, otherwise they would remain massless.
  This would be due to the fact that we can still rotate the choice of vacuum in
  3 different ways (mexican hat potential corresponds to 1 massless direction).
  if this would be the case it would mean that we would have 3 massless
  states in the theory - this could be checked, and we would have large FV
  effects.
  Does this mean that in the 2HDM if 3 dofs are eaten by the Ws and Z there remain
  massless directions? I don't think so because the massless directions come
  from remaining symmetries of the Lagrangian even after choosing the vacuum.
*** TODO understand this
** SCHEDULED: <2023-05-24 Wed>
- I think it makes little sense to wander through this model at random, without
  any analytical idea. I will focus on a simpler case - no CP violation terms
  and no Z2 violation terms - For now I will follow
  [cite:@deshpande_pattern_1978]. This is called
  in [cite:@ivanov_algorithmic_2018] the Inert Doublet model.

- Smaller quartic couplings - same order as for single higgs

- inequalities with lattice couplings

** SCHEDULED: <2023-05-29 Mon>
- Keeping k1=0.133 fixed and scanning k2 seems to show that the m1 masses are
  constant (shouldnt be totally constant due to renormalization) while m2 changes and goes through the phase transition
- Im scanning k2 for a range that is too large - need to go closer to PH
  + Looking at the previous scans, *k_c ~0.1322* (beta=6.0 and other quartic
    couplings, but shouldnt change much)
  + Going to scan k2 around this value
- Looking at the global observables it is noticeable that Lalpha=const for Higgs1
- Also, now mH > mW for the whole range of k2
- *[NOTE]* now the W-Mass extracted with H2 is very large meaning that the
  'W' interpolator built with $\phi_2$ is coupling to another state that is not
  the W - this also means that for the whole k2 range is still in phase (C)
  + need larger k2
** SCHEDULED: <2023-05-30 Tue>
- W12 seems to show some good signal close to the phase transition for k1 dif.
  than k2 ???
  + *tem massa muito pequena e aparentementa constante com k2 - GOLDSTONE???*
** SCHEDULED: <2023-06-02 Fri>
- No scan de k2 com k1 fixo a transição de k2 sym.-> broken, a massa mW2 não vai
  a zero em nenhum momento. No entanto mH2 sim.
- Mesmo com a massa de mH2 a ir perto de zero, nunca tive problemas de
  termalização como ocorre na transição de fase com k1=k2
  [edit] W12 mostra problemas grandes de termalização por ser tão leve.
- O interpoladores de W1 e W2 oscilam em torno de zero em todo o espaço de
  parametros. Por outro lado, W12 oscila em torno de zero quando k2 < kc, mas
  quando ambos os Higgs são quebrados, W12 passa a oscilar em torno de um valor
  dif. zero (negativo ou positivo dependendo da Run, apesar de não ter detetado
  saltos entre os dois vácuos). Isto é uma *quebra de Z2* - mas porquê?
- Nos estamos a testar o Inert Higgs Model de [cite:@deshpande_pattern_1978].
  O que estou a ver é que na fase (C), onde
  $\expval{\phi_1}\neq0,~\expval{\phi_2}=0$, observa-se
  $\expval{\phi_1^\dagger\phi_2}\neq 0$. A simetria $\mathbb{Z}_2$ associada
  a phi2 mantém-se. Na fase (D) esta Z2 também é quebrada. Assim, mesmo não
  tendo os termos no lagrangiano que quebram explicitamente
  $\mathbb{Z}_2\times\mathbb{Z}_2$, esta é quebrada totalmente na fase (D)

- Para continuar as runs, vou ligar os couplings $\mu,\xi_3,\xi_4$ e assumir que
  não afetam muito k_c. Estes couplings quebram explicitamente Z2xZ2

- Finally convinced David to look at the definitions of the terms in the
  lagrangian - we should put back $\lambda_5$
** SCHEDULED: <2023-06-05 Mon>
- See section 5.10 [cite:@branco_theory_2012-1] - Mass matrix for Neutral
  minima - Inert
** SCHEDULED: <2023-06-19 Mon>
- I've been trying to understand how to write the 2HDM using the quaternion
  formulation to match the usual doublet formulation used in the continuum
  literature.
  What seems to be the question right now is: what is the global symmetry that
  is broken in the Higgs mechanism? Is it the global gauge SU(2), or is it a
  global O(4) associated with the four components of the higgs? If its the
  latter, our potential should always have an O(4) symmetry that is not broken
  explicitly
  Reminder: SU(2)xSU(2) ~ O(4)
- Should read Axel Maas review!
** SCHEDULED: <2023-06-26 Mon>
- As runs com
  + bet = 5.5; k1=0.133; et1=0.003; et2=0.001; mu=0.001; xi1=0.0001; xi2=0.0001;
    xi3=0.0005; xi4=0.0001
  parecem ter o K_crit num valor diferente das runs anteriores com
  + bet = 5.5; k1=0.133; et1=0.003; et2=0.001; mu=0.0; xi1=0.0001; xi2=0.0001;
    xi3=0.0; xi4=0.0
- Vou lançar k1=k2 scan com os mesmos valores dos quartic couplings para estimar
  k_crit

** SCHEDULED: <2023-06-27 Tue>
- the transition doesnt seem to happen anywhere in the region 0.11-0.13 but for
  larger values of k1=k2 - launched a new simulation for larger k1=k2 values
** SCHEDULED: <2023-06-29 Thu>
- As simulações com k1=k2 com L=16 aparentam ter k_crit > 0.131
- No entanto, as simulações com k1=0.133 fixo estão todas na fase (D)
- Pode ser o volume? ou o facto de ter k1 dif. de k2?
** SCHEDULED: <2023-06-30 Fri>
- A transição entre a fase (C) para (D) com a presença de todos os termos tem a
  transição para k_crit mais baixo do que sem os termos (mu,eta6,eta7)
  (Convenção antiga - eta4=eta5 continuum
  bet = 5.5; k1=0.133; et1=0.003; et2=0.001; mu=0.001; xi1=0.0001; xi2=0.0001;
  xi3=0.0005; xi4=0.0001)
- Além disso, a transição entre estas duas fases parece ser mais suave




* Functions
** Packages

#+begin_src jupyter-julia :session h2ps
cd("/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/")
print(pwd(),"\n\n")
import Pkg
Pkg.activate("/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/latticegpu.jl")
using Plots, MTH229, LaTeXStrings, Latexify,PlotThemes, ColorSchemes,Printf,LsqFit,BDIO, ADerrors, Colors, LatticeGPU
Pkg.status()
global markers = [:rect ,:circle,:utriangle, :xcross , :cross]
global msize = [4, 4, 3, 5, 5]
#+end_src

#+RESULTS:
#+begin_example
/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs

     Project LatticeGPU v0.1.0
      Status `~/PhD/LatGPU/SU2proj/code/runs_su2higgs/latticegpu.jl/Project.toml`
  [5e92007d] ADerrors v0.1.0 `https://igit.ific.uv.es/alramos/aderrors.jl#master`
  [375f315e] BDIO v0.1.0 `https://gitlab.ift.uam-csic.es/alberto/bdio.jl.git#master`
  [052768ef] CUDA v3.6.2
  [09ab397b] StructArrays v0.6.15
  [a759f4b9] TimerOutputs v0.5.13
  [9a3f8284] Random
  [fa267f1f] TOML
  Activating project at `~/PhD/LatGPU/SU2proj/code/runs_su2higgs/latticegpu.jl`
┌ Info: Precompiling LatticeGPU [958c3683-801a-4582-9cfa-2d6e2ae1763b]
└ @ Base loading.jl:1423
#+end_example

** Functions - Read Simulation Parameters/Data
#+begin_src  jupyter-julia :session h2ps
function readparams(fb)
    #move read position to the first record
    BDIO_seek!(fb,0)
    let nth, niter, NSC, flw_steps, flw_dtr, flw_iter, sus, sss, beta, k1, k2, eta1, eta2, mu, xi1, xi2, xi3, xi4, flw_dt, sdt, srs
        while BDIO_seek!(fb)
            # Simulation parameters
            if BDIO_get_uinfo(fb) == 1
                int_array = similar(Array{Int64, 1}, 8)
                BDIO_read(fb, int_array)
                nth       = int_array[1]
                niter     = int_array[2]
                NSC       = int_array[3]
                flw_steps = int_array[4]
                flw_dtr   = int_array[5]
                flw_iter  = int_array[6]
                sus       = int_array[7]
                sss       = int_array[8]
            end
            if BDIO_get_uinfo(fb) == 2

                flt_array = similar(Array{Float64, 1}, 13)
                BDIO_read(fb, flt_array)
                beta       = flt_array[1]
                k1         = flt_array[2]
                k2         = flt_array[3]
                eta1       = flt_array[4]
                eta2       = flt_array[5]
                mu         = flt_array[6]
                xi1        = flt_array[7]
                xi2        = flt_array[8]
                xi3        = flt_array[9]
                xi4        = flt_array[10]
                flw_dt     = flt_array[11]
                sdt        = flt_array[12]
                srs        = flt_array[13]
            end
        end
        gp = GaugeParm{Float64}(SU2{Float64}, beta, 1.0)
        sp = ScalarParm((k1,k2), (eta1,eta2), mu, (xi1, xi2, xi3, xi4))
        return nth, niter, flw_steps, flw_dtr, flw_iter, sus, sss, flw_dt, gp, sp, sdt, srs
    end
end

function readdata(fb,nth, niter, flw_iter, flw_steps)
    #move read position to the first record
    k_index = 0
    BDIO_seek!(fb,0)
    let pl, rho1, rho2, Lphi1, Lphi2, Lalp1, Lalp2, dh, flwtime, Echain, Eclchain, h2, w1r, w1i
        flwtime  = Vector{Float64}(undef, flw_steps)
        Echain   = Array{Float64,2}(undef, flw_iter, flw_steps)
        Eclchain = Array{Float64,2}(undef, flw_iter, flw_steps)
        h2       = Array{Float64,3}(undef, 2, tim, niter)
        w1       = Array{Float64,5}(undef, 3, 3, 3, tim, niter)

        while BDIO_seek!(fb)
            #observables
            #Plaquette
            if BDIO_get_uinfo(fb) == 3
                k_index += 1
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                pl = db_array
            end
            # Rho
            if BDIO_get_uinfo(fb) == 4
                db_array1 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array1)
                rho1 = db_array1
                db_array2 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array2)
                rho2 = db_array2
            end
            # Lphi
            if BDIO_get_uinfo(fb) == 5
                db_array1 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array1)
                Lphi1 = db_array1
                db_array2 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array2)
                Lphi2 = db_array2
            end
            # Lalp
            if BDIO_get_uinfo(fb) == 6
                db_array1 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array1)
                Lalp1 = db_array1
                db_array2 = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array2)
                Lalp2 = db_array2
            end

            #dh
            if BDIO_get_uinfo(fb) == 8
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                dh = db_array
            end

            # FLOW
            # Flow time
            if BDIO_get_uinfo(fb) == 9
                db_array = similar(Array{Float64, 1}, flw_steps)
                BDIO_read(fb, db_array)
                flwtime = db_array
            end
            #Flow E
            if BDIO_get_uinfo(fb) == 10
                db_array = similar(Array{Float64, 1}, flw_iter)
                for i in 1:flw_steps
                    BDIO_read(fb, db_array)
                    Echain[:,i] .= db_array
                end
            end
            #Flow E - Clover
            if BDIO_get_uinfo(fb) == 11
                db_array = similar(Array{Float64, 1}, flw_iter)
                for i in 1:flw_steps
                    BDIO_read(fb, db_array)
                    Eclchain[:,i] .= db_array
                end
            end

            #Correlation functions
            #Higgs
            if BDIO_get_uinfo(fb) == 12
                db_array = similar(Array{Float64, 1}, tim)
                for i in 1:niter
                    BDIO_read(fb, db_array)
                    h2[1,:,i] .= db_array[1:tim]
                end
                for i in 1:niter
                    BDIO_read(fb, db_array)
                    h2[2,:,i] .= db_array[1:tim]
                end
            end
            #W-Boson
            if BDIO_get_uinfo(fb) == 13
                db_array = similar(Array{Float64, 1}, tim)
                for k in 1:niter
                    for mu in 1:3
                        for i in 1:3
                            BDIO_read(fb, db_array)
                            w1[1,mu,i,:,k] .= db_array
                        end
                    end
                end
                for k in 1:niter
                    for mu in 1:3
                        for i in 1:3
                            BDIO_read(fb, db_array)
                            w1[2,mu,i,:,k] .= db_array
                        end
                    end
                end
                for k in 1:niter
                    for mu in 1:3
                        for i in 1:3
                            BDIO_read(fb, db_array)
                            w1[3,mu,i,:,k] .= db_array
                        end
                    end
                end
            end
        end
        return pl, rho1, rho2, Lphi1, Lphi2, Lalp1, Lalp2, dh, flwtime, Echain, Eclchain, h2, w1
    end
end

function generate_run_tag(fname::String, id::Union{Nothing, Int64}=nothing)


    fb  = BDIO_open(fname, "r")

    nth, niter, flw_s, flw_steps, flw_dtr, flw_iter, beta, flw_dt, k1, et1 = readparams(fb)

    tag = fname*string(nth)*string(niter)*string(flw_s)*string(flw_steps)*string(flw_dtr)*string(flw_iter)*string(beta)*string(flw_dt)*string(k1)*string(et1)
    if id != nothing
        tag = tag*"_id"*string(id)
    end
    return tag
end


function correlator(interpol_chain::Array{T,2}, tag::String, niter_vec::Vector{Int64},wpm=Dict{String,Vector{Float64}}()) where T
    # interpol_chain: 2x2 array [time, niter]

    L = length(interpol_chain[:,1])
    chainsize = length(interpol_chain[1,:])
    #average of interpolator
    mean = Vector{uwreal}(undef, L)
    for i in 1:L
        mean[i] = uwreal( interpol_chain[i,:], tag, niter_vec )
        try
            uwerr(mean[i],wpm)
        catch e
            println("uwerr fails computing the mean, take a look at the correlation function - fix window!!")
            cf = rho(mean[i],tag)
            p = scatter(cf[1:100])
            display(p)
            return nothing
        end
    end

    #build chain of differences
    dif_chain = similar(interpol_chain)
    for k in 1:chainsize
        dif_chain[:,k] .= interpol_chain[:,k] .- value.(mean)
    end

    #correlations
    ct = Vector{uwreal}(undef, L)
    for i in 1:L
        # ct[i] = dif[i]*dif[1]
        ct[i] = uwreal( dif_chain[i,:].*dif_chain[1,:] , tag, niter_vec)
        try
            uwerr(ct[i],wpm)
        catch e
            println("uwerr fails computing the differences, take a look at the correlation function - fix window!!")
            cf = rho(ct[i],tag)
            p = scatter(cf[1:100])
            display(p)
        end
    end
    return ct
end

function symmass(corr::Vector{uwreal}, d::Int64)

    L = length(corr)

    quot = 1/2 * ( corr[d+1] + corr[L-d-1] + corr[d-1] + corr[L-d+1] )  / ( corr[d] + corr[L-d] )
    amd = acosh(quot)
    uwerr(amd)
    return amd

end

function effsymmass(corr::Vector{uwreal})

    L = length(corr)
    l2 = convert(Int64, L/2+1)
    emass = Vector{uwreal}(undef, L-3)
    #save indices that have a proper value
    ind = Vector{Int32}()

    for t in 2:L-2
        quot = 1/2 * ( corr[t+1] + corr[L-t-1] + corr[t-1] + corr[L-t+1] )  / ( corr[t] + corr[L-t] )
        if value(quot)>1.0
            emass[t-1] = acosh(quot)
            if t<=l2
                push!(ind, t-1)
            end
        else
            emass[t-1] = uwreal([0.0,Inf],"")
            # emass[t-1] = uwreal([0.0,0.0],"")
        end
        uwerr(emass[t-1])
    end
    return emass,ind

end


function massfit(m::Vector{uwreal}, xdata::Vector{Int64})

    @. linfunc(x, p) = p[1] + x*0
    # xdata = collect(1:length(value.(m)))
    ydata = value.(m)
    dydata = err.(m)
    #lower bound
    lb = [0.0]
    #upper bound
    ub = [Inf]
    #starting values
    p0_bounds = [0.0]
    #fit
    fit_bounds = curve_fit(linfunc, xdata, ydata, p0_bounds, lower=lb, upper=ub)

    #chisquared
    chisq(p, d) = sum( (d .- ( linfunc(xdata,p) ) ) .^ 2 ./ (dydata) .^2 )
    #propagate
    (fitp, csqexp) = fit_error(chisq, coef(fit_bounds), m)
    chi = chisq(coef(fit_bounds),ydata)

    mass = fitp[1]
    uwerr(mass)
    return mass, chi, dof(fit_bounds)
end


function fullcorrelator(interpol_chain::Array{T,2}, tag::String) where T
    #does not remove disconnected component
    # interpol_chain: 2x2 array [time, niter]

    L = length(interpol_chain[:,1])

    #correlations
    ct = Vector{uwreal}(undef, L)
    for i in 1:L
        # ct[i] = dif[i]*dif[1]
        ct[i] = uwreal( interpol_chain[i,:].*interpol_chain[1,:] , tag)
        uwerr(ct[i])
    end
    return ct
end

function fullcorrelator(interpol_chain1::Array{T,2}, interpol_chain2::Array{T,2}, tag::String) where T
    #does not remove disconnected component
    # interpol_chain: 2x2 array [time, niter]

    L = length(interpol_chain1[:,1])

    #correlations
    ct = Vector{uwreal}(undef, L)
    for i in 1:L
        # ct[i] = dif[i]*dif[1]
        ct[i] = uwreal( interpol_chain1[i,:].*interpol_chain2[1,:] , tag)
        uwerr(ct[i])
    end
    return ct
end

"""
    Linear Extrapolation
"""

function lin_extrap(xdata::Vector{Float64}, uydata::Vector{uwreal})
    @. linfunc(x, p) = p[1]*x + p[2]
    ydata = value.(uydata)
    dydata = err.(uydata)

    #bounds for parameters p[i]
    #lower bound
    lb = [-Inf, -Inf]
    #upper bound
    ub = [Inf, Inf]
    #starting values
    p0 = [0.1, -0.1]
    #fit
    fit_bounds = curve_fit(linfunc, xdata, ydata, p0, lower=lb, upper=ub)

    #chisquared
    chisq(p, d) = sum( (d .- ( linfunc(xdata,p) ) ) .^ 2 ./ (dydata) .^2 )

    #propagate
    (fitp, csqexp) = fit_error(chisq, coef(fit_bounds), uydata)
    chi = chisq(coef(fit_bounds),ydata)

    return fitp, chi, fit_bounds
end

"""
Quadratic fit
"""
function quad_extrap(xdata::Vector{Float64}, uydata::Vector{uwreal})
    @. linfunc(x, p) = p[1]*x^2 + p[2]*x + p[3]
    ydata = value.(uydata)
    dydata = err.(uydata)

    #bounds for parameters p[i]
    #lower bound
    lb = [-Inf, -Inf,-Inf]
    #upper bound
    ub = [Inf, Inf,Inf]
    #starting values
    p0 = [0.1, -0.1,0.1]
    #fit
    fit_bounds = curve_fit(linfunc, xdata, ydata, p0, lower=lb, upper=ub)

    #chisquared
    chisq(p, d) = sum( (d .- ( linfunc(xdata,p) ) ) .^ 2 ./ (dydata) .^2 )

    #propagate
    (fitp, csqexp) = fit_error(chisq, coef(fit_bounds), uydata)
    chi = chisq(coef(fit_bounds),ydata)

    return fitp, chi, fit_bounds
end

"""
    Exponential Extrapolation
"""

function exp_extrap(xdata::Vector{Float64}, uydata::Vector{uwreal})
    @. expfunc(x, p) = p[1]*exp(p[2]*x) + p[3]
    ydata = value.(uydata)
    dydata = err.(uydata)

    #bounds for parameters p[i]
    #lower bound
    lb = [-Inf, -Inf, -Inf]
    #upper bound
    ub = [Inf, Inf, Inf]
    #starting values
    p0 = [0.1, -0.1, 0.1]
    #fit
    fit_bounds = curve_fit(expfunc, xdata, ydata, p0, lower=lb, upper=ub)

    #chisquared
    chisq(p, d) = sum( (d .- ( expfunc(xdata,p) ) ) .^ 2 ./ (dydata) .^2 )

    #propagate
    (fitp, csqexp) = fit_error(chisq, coef(fit_bounds), uydata)
    chi = chisq(coef(fit_bounds),ydata)

    return fitp, chi, fit_bounds
end



"""
Plot and calculate root of interpolation with systematic error
"""
function interpolate_root(c::Float64,xdata::Vector{Float64}, uydata::Vector{uwreal},tag::String,plt::Bool)

    # npoints closer to t0

    totpoints = length(xdata)

    function find_points(y,np)

        #not using adaptative step integrator
        #only need to find the first point closest to c
        lastn = totpoints
        for n in totpoints:-1:2
            if value(uydata[n]) < y && value(uydata[n-1]) > y
                lastn = n
                break
            end
            #
            if n<div(totpoints,2) && value(uydata[n]) > y && value(uydata[n-1]) < y
                break
            end
        end

        xi = [lastn-i+1 for i in 1:np]

        return xi
    end

    #linear and quadratic
    p=plot(reuse=false)
    let t01,t02
        for n in 1:2

            #find indices to fit
            ind = find_points(c,n+1)
            if n == 1
                fit1,chi1,bounds1 = lin_extrap(xdata[ind],uydata[ind])
                t01 = (c - fit1[2])/fit1[1]
                uwerr(t01,wpm)
                if plt
                    print("\nchi^2 / d.o.f.: \n\t", chi1, " / ", dof(bounds1), " = $(chi1/dof(bounds1))\n")
                    print("Distance of interpolation:\t",abs(xdata[ind[1]] - xdata[ind[2]]),"\n")
                    print("Root:\n\t",t01)
                end
                f(x)=c
                g(x) = value(fit1[1])*x+value(fit1[2])
                p=plot(xdata[ind],value.(uydata[ind]),yerr=err.(uydata[ind]))
                p=plot!(f,minimum(xdata[ind]),maximum(xdata[ind]))
                p=plot!(g,minimum(xdata[ind]),maximum(xdata[ind]),label="Linear")

            elseif n == 2
                fit2,chi2,bounds2 = quad_extrap(xdata[ind],uydata[ind])
                if value(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c))>0.0
                    root1 = (-fit2[2]+sqrt(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c)))/(2.0*fit2[1])
                    root2 = (-fit2[2]-sqrt(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c)))/(2.0*fit2[1])
                else
                    root1 = t01
                    root2 = t01
                    print("\n ---- Could not find quadratic root! ----")
                end

                if abs(value(root1 - t01)) <= abs(value(root2 - t01))
                    t02 = root1
                else
                    t02 = root2
                end
                p=plot!(xdata[ind],value.(uydata[ind]),yerr=err.(uydata[ind]))
                h(x) = value(fit2[1])*x^2+value(fit2[2])*x+value(fit2[3])
                p=plot!(h,minimum(xdata[ind]),maximum(xdata[ind]),label="Quadratic")

                uwerr(t02,wpm)
            end
        end
        sys = value(t01-t02)
        if plt
            display(p)
            print(" [",sys,"]\n")
        else
            print("\nRoot for $c:\n\t",t01)
            print(" [",sys,"]\n")
        end

        return t01,sys
    end
end

"""
Plot and calculate root of interpolation with systematic error - same as the SCALING project
"""
function interpolate_root_s(c::Float64,xdata::Vector{Float64}, uydata::Vector{uwreal},tag::String,plt::Bool)

    # npoints closer to t0

    totpoints = length(xdata)

    function find_points(y,np)
        xi = Vector{Int64}(undef,np)
        #store indices for the points
        mindif = 0.0
        xindex = 1
        for i in 1:np
            maxdif = Inf
            ndif = 0.0
            for n in 1:totpoints
                ndif = abs(value(uydata[n]) - y)
                if ndif > mindif && ndif < maxdif
                    xindex = n
                    xi[i] = n
                    maxdif = ndif
                end
            end
            mindif = abs(value(uydata[xi[i]]) - y)
        end
        return xi
    end

    #linear and quadratic
    p=plot(reuse=false)
    let t01,t02
        for n in 1:2

            #find indices to fit
            ind = find_points(c,n+1)
            if n == 1
                fit1,chi1,bounds1 = lin_extrap(xdata[ind],uydata[ind])
                t01 = (c - fit1[2])/fit1[1]
                uwerr(t01)
                if plt
                    print("\nchi^2 / d.o.f.: \n\t", chi1, " / ", dof(bounds1), " = $(chi1/dof(bounds1))\n")
                    print("Distance of interpolation:\t",abs(xdata[ind[1]] - xdata[ind[2]]),"\n")
                    print("Root:\n\t",t01)
                end
                f(x)=c
                g(x) = value(fit1[1])*x+value(fit1[2])
                p=plot(xdata[ind],value.(uydata[ind]),yerr=err.(uydata[ind]))
                p=plot!(f,minimum(xdata[ind]),maximum(xdata[ind]))
                p=plot!(g,minimum(xdata[ind]),maximum(xdata[ind]),label="Linear")

            elseif n == 2
                fit2,chi2,bounds2 = quad_extrap(xdata[ind],uydata[ind])
                if value(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c))>0.0
                    root1 = (-fit2[2]+sqrt(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c)))/(2.0*fit2[1])
                    root2 = (-fit2[2]-sqrt(fit2[2]^2 - 4.0*fit2[1]*(fit2[3]-c)))/(2.0*fit2[1])
                else
                    root1 = t01
                    root2 = t01
                    print("\n ---- Could not find quadratic root! ----")
                end

                if abs(value(root1 - t01)) <= abs(value(root2 - t01))
                    t02 = root1
                else
                    t02 = root2
                end
                p=plot!(xdata[ind],value.(uydata[ind]),yerr=err.(uydata[ind]))
                h(x) = value(fit2[1])*x^2+value(fit2[2])*x+value(fit2[3])
                p=plot!(h,minimum(xdata[ind]),maximum(xdata[ind]),label="Quadratic")

                uwerr(t02)
            end
        end
        sys = value(t01-t02)
        if plt
            display(p)
            print(" [",sys,"]\n")
        else
            print("\nRoot for $c:\n\t",t01)
            print(" [",sys,"]\n")
        end

        return t01,sys
    end
end

mutable struct h2sim{T}
    #specific struct for 2HDM simulations
    gp::GaugeParm{T,SU2{T},0}
    sp::ScalarParm{2,T}
    mH::Vector{uwreal} #mH1, mH2
    mW::Vector{uwreal} #mW1, mW2, mW12
    t0::Vector{uwreal} #t0, t1, ..
    w0::Vector{uwreal}
    flwtime::Vector{Float64}
    tEpl::Vector{uwreal}
    tEcl::Vector{uwreal}
    glb::Vector{uwreal} #plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
    dim::NTuple{2,Int64} #space, time
    sm::smr{T} #smearing
end

mutable struct h2runs{T}
    #specific struct for 2HDM simulations
    gp::GaugeParm{T,SU2{T},0}
    sp::ScalarParm{2,T}
    mH::Vector{uwreal} #mH1, mH2
    mW::Vector{uwreal} #mW1, mW2, mW12
    t0::Vector{uwreal} #t0, t1, ..
    w0::Vector{uwreal}
    flwtime::Vector{Float64}
    tEpl::Vector{uwreal}
    tEcl::Vector{uwreal}
    glb::Vector{uwreal} #plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
end

"""
Save masses and gradient flow measurements for various couplings
"""
function write_cruns_bdio(fname::String, runs::Vector{h2sim})

    fb = BDIO_open(fname, "d", string(""))

    for i in 1:length(runs)
        r = runs[i]
        sp = r.sp
        beta = (r.gp).beta
        BDIO_start_record!(fb, BDIO_BIN_F64LE, 2)
        BDIO_write!(fb,[beta, sp.kap[1], sp.kap[2],
               sp.eta[1], sp.eta[2], sp.muh,
               sp.xi[1], sp.xi[2], sp.xi[3], sp.xi[4],
               r.sm.dt, r.sm.r])
        BDIO_start_record!(fb, BDIO_BIN_F64LE, 3)
        BDIO_write!(fb,[r.dim[1], r.dim[2], r.sm.sus, r.sm.n])
        #mH
        for i in 1:2
            write_uwreal(r.mH[i],fb,4)
        end
        #mW
        for i in 1:3
            write_uwreal(r.mW[i],fb,5)
        end
        #t0, w0
        for i in 1:length(r.t0)
            try
                write_uwreal(r.t0[i],fb,6)
            catch e
                @warn string("No t0 to save.")
            end
        end
        for i in 1:length(r.w0)
            try
                write_uwreal(r.w0[i],fb,8)
            catch e
                @warn string("No w0 to save.")
            end
        end
        #flow times
        BDIO_start_record!(fb, BDIO_BIN_F64LE, 9)
        BDIO_write!(fb,r.flwtime)
        #write all flow measurements
        len = length(r.flwtime)
        try
            for i in 1:length(value.(r.tEpl))
                write_uwreal(r.tEpl[i],fb,10)
            end
        catch e
            @warn string("Plaquette not written")
        end
        try
            for i in 1:length(value.(r.tEcl))
                write_uwreal(r.tEcl[i],fb,11)
            end
        catch e
            @warn string("Clover not written")
        end
        for i in 1:7
            write_uwreal(r.glb[i],fb,12)
        end
    end
    BDIO_close!(fb)
end

function read_cruns_bdio(fname::String)

    #add to vector
    oldruns = Vector{h2sim}()

    fb = BDIO_open(fname, "r")

    let flen, fin, glb_count
        cplgs = Vector{Float64}(undef, 12) #10= nr couplings for 2HDM, 2 smearing parameters
        ints = Vector{Float64}(undef, 4)
        mHvec = Vector{uwreal}()
        mWvec = Vector{uwreal}()
        t0vec = Vector{uwreal}()
        w0vec = Vector{uwreal}()
        flwtime = Vector{Float64}()
        tEpl = Vector{uwreal}()
        tEcl = Vector{uwreal}()
        glbvec = Vector{uwreal}()
        glb_count = 0
        while BDIO_seek!(fb)
            sav = false

            if BDIO_get_uinfo(fb) == 2
                mHvec = Vector{uwreal}()
                mWvec = Vector{uwreal}()
                t0vec = Vector{uwreal}()
                w0vec = Vector{uwreal}()
                flwtime = Vector{Float64}()
                tEpl = Vector{uwreal}()
                tEcl = Vector{uwreal}()
                cplgs = Vector{Float64}(undef, 12)
                BDIO_read(fb, cplgs)
                nmH = 0
            end
            if BDIO_get_uinfo(fb) == 3
                ints = Vector{Int64}(undef, 4)
                BDIO_read(fb, ints)
            end
            if BDIO_get_uinfo(fb) == 4
                mH=read_uwreal(fb)
                push!(mHvec,mH)
            end
            if BDIO_get_uinfo(fb) == 5
                mW=read_uwreal(fb)
                push!(mWvec,mW)
            end
            if BDIO_get_uinfo(fb) == 6
                r = true
                while r
                    try
                        t0=read_uwreal(fb)
                        push!(t0vec,t0)
                    catch e
                        r = false
                    end
                end
            end
            if BDIO_get_uinfo(fb) == 8
                r = true
                while r
                    try
                        w0=read_uwreal(fb)
                        push!(w0vec,w0)
                    catch e
                        r = false
                    end
                end
            end
            if BDIO_get_uinfo(fb) == 9
                flen = round(Int64, BDIO_get_len(fb)/8)
                f = Vector{Float64}(undef, flen)
                try
                    BDIO_read(fb, f)
                    push!(flwtime,f)
                catch e
                    @warn string("No flowtime")
                end
            end
            if BDIO_get_uinfo(fb) == 10
                try
                    e=read_uwreal(fb)
                    push!(tEpl,e)
                catch e
                    @warn string("No flowtime")
                end
                if length(tEpl) == flen
                    push!(tEplvec, tEpl)
                end
            end
            if BDIO_get_uinfo(fb) == 11
                try
                    e=read_uwreal(fb)
                    push!(tEcl,e)
                catch e
                    @warn string("No flowtime")
                end
                if length(tEcl) == flen
                    push!(tEclvec, tEcl)
                end
            end
            if BDIO_get_uinfo(fb) == 12
                glb_count += 1
                glb=read_uwreal(fb)
                push!(glbvec,glb)
            end
            #print after measuring the last uinfo - 7 global observables
            if glb_count == 7
                sav = true
                glb_count = 0
            end
            if sav
                gp = GaugeParm{Float64}(SU2{Float64}, cplgs[1],1.0)
                sp = ScalarParm((cplgs[2],cplgs[3]),
                                (cplgs[4],cplgs[5]),
                                cplgs[6],
                                (cplgs[7],cplgs[8],cplgs[9],cplgs[10]))
                dm = (ints[1],ints[2])
                smear = smr{Float64}(ints[3], cplgs[11], ints[4], cplgs[12])
                sim = h2sim(gp, sp, mHvec, mWvec, t0vec, w0vec, flwtime, tEpl, tEcl,glbvec,dm,smear)
                push!(oldruns, sim)
                glbvec = Vector{uwreal}()
            end
        end
    end
    BDIO_close!(fb)

    return oldruns
end


"""
    Model average - compute effective mass
"""
## mpi is a uwreal vector containing your effective mass as a function of the euclidean time
## tmin = [1,2,3,4,5,10,15]
## tmax = [20]
## @.model(x,p) = p[1] + p[2] * exp(-p[3] * x) + ...
## you are interested in p[1], which is the ground state signal of the effective mass (or any other observable actually), i.e. it is what you would extract from a plateau
## k = 3
## k has to be the number of parameters of "model"
## meff_average, systematic_error = bayesian_av(model, mpi, tmin, tmax, k, plot_bayesian=true)
## meff_average will have inside the statistichal error handled by ADerrors, and you must add the systematic uncertainty coming from the fit range variation, which is stored in systematic_error. You can do that e.g. by p1_mean + uwreal([0.0,value(systematic_error)], "systematic uncertainty")

function fit_defs(f::Function,x,W) ## uncorrelated fit
	chisq(p,d) = sum((d .- f(x,p)).^2 .* W)
	return chisq
end

function bayesian_av(fun::Function,
                    y::Array{uwreal},
                    tmin_array::Array{Int64},
                    tmax_array::Array{Int64},
                    k::Int64;
                    plot_bayesian::Bool=false,
                    wpm::Union{Dict{Int64,Vector{Float64}},Dict{String,Vector{Float64}}, Nothing}=nothing)

    weight_model = Array{Float64,1}() ## here you save the weight of each fit
    AIC = Array{Float64,1}() ## information criterium to get the weight of each fit
    chi2chi2exp = Array{Float64,1}() ## here you will save chi2/chi2_exp
    p1 = Array{uwreal,1}() ## here you will save the result of p[1] for each fit
    mods = Array{String,1}() ## a label for the fit range used in each fit

    total = length(y) ## total number of points in the effective mass
    isnothing(wpm) ? uwerr.(y) : for i in 1:length(y) uwerr(y[i],wpm) end

    for INDEX in tmin_array ## vary tmin
        for j in tmax_array ## vary tmax, in your case you may want to leave tmax fixed, so you use tmax_array = [a] with a some fixed value
            try
                x = [i for i in INDEX+1:1:j]
                yy = y[INDEX+1:1:j]
                #remove points where meff is ill defined
                for i in 1:length(yy)
                    if (value(yy[i]) == 0.0 && err(yy[i]) == 0.0)
                        deleteat!(yy, i)
                        deleteat!(x, i)
                    end
                end
                Ncut = total - length(x) ## number of points not included in the fit
                dy = err.(yy)
                W = 1 ./ dy .^2 ## uncorrelated fit so you use the diagonal part of the inverse covariance matrix as weight for the fits

                p00 = [0.5 for i in 1:1:k] ## initial guess for the fit parameters
                chisq = fit_defs(fun,x,W)
                fit = curve_fit(fun,x,value.(yy),W,p00)
                isnothing(wpm) ? (up,chi_exp) = fit_error(chisq,coef(fit),yy) : (up,chi_exp) = fit_error(chisq,coef(fit),yy,wpm)
                isnothing(wpm) ? uwerr(up[1]) : uwerr(up[1],wpm)
                chi2 = sum(fit.resid.^2) * dof(fit) / chi_exp ## or chi2 = sum(fit.resid.^2)
                if isnan(chi2)
                    continue
                end
                push!(AIC, chi2 + 2*k + 2*Ncut) ## compute the info criterium of this individual fit
                push!(chi2chi2exp, chi2 / dof(fit))
                push!(p1, up[1]) ## save the result of your fit parameter of interest for each individual fit (you can modify this to save all fit parameters actually)
                push!(mods,string("[", INDEX+1, ",", j, "]")) ## label to identify later the different fit ranges you explored
            catch e
                # @warn string(":/ error propagation ill at tmin = ", INDEX, ", tmax = ", j) ## sometimes for tmin very close to the boundary/source of your lattice, uwerr() fails (maybe including more exponentials in the fit it will not)
            end
        end
    end

    offset = minimum(AIC)
    AIC = AIC .- offset
    # print(AIC)
    weight_model = exp.(-0.5 .* AIC)

    p1_mean = sum(p1 .* weight_model)/sum(weight_model)
    isnothing(wpm) ? uwerr(p1_mean) : uwerr(p1_mean,wpm)
    weight_model = weight_model ./ sum(weight_model) ## normalize weights
    systematic_err = sqrt(sum(p1 .^ 2 .* weight_model) - (sum(p1 .* weight_model)) ^ 2) #; uwerr(systematic_err) ## systematic error coming from the fit range variation, you must add this to p1_mean, which will have the statistical error handled by ADerrors

    if plot_bayesian == true
        x = 1:length(p1)
        yv = value.(p1)
        dyv = err.(p1)
        v = value(p1_mean)
        e = err(p1_mean)

        #plot value with correlation function
        p=plot(reuse=false)
        mf(x) = v
        dmf(x) = e
        ylabel = L"$m_{eff}(t)$"
        xlabel = L"t"
        l2 = maximum(tmax_array)
        p=plot(value.(y[begin:l2]),yerr=err.(y[begin:l2]),label=L"m_{eff}")
        p=plot!(mf,ribbon=dmf,1,l2,label="",xlabel=xlbl,ylabel=ylbl,legend=:bottomright)
        display(p)

        #plot average for each range
        q=plot(value.(p1),yerror=err.(p1),xticks=([i for i in 1:length(p1)], [mods[i] for i in 1:length(p1)]),ylabel=L"p_1",label="Model result")
        q=plot!(mf,ribbon=dmf,1,length(p1),label="Range average")
        display(q)

        k=plot(reuse=false)
        k=plot!(weight_model,xticks=([i for i in 1:length(p1)], [mods[i] for i in 1:length(p1)]),ylabel=L"p_1",label="Weight")
        display(k)

        # fig = figure(figsize = (14.0,6.0))
        # fill_between(1:length(p1), v-e, v+e, color="green", alpha=0.75)
        # errorbar(mods, yv, dyv, fmt="x", color="black")
        # ylabel(L"$p_1$")
        # xlabel(L"model")
        # # xticks(rotation=90)

        # fig = figure(figsize = (14.0,6.0))
        # errorbar(mods, weight_model, 0*dyv, color="green")
        # ylabel(L"$weight$")
        # xlabel(L"model")
        # # xticks(rotation=90)
    end

    return (p1_mean, systematic_err)
end


        #TODO REDEFINIR ISTO
function obs(n::h2runs, L::Int64)
    a = sqrt(8*n.t0)*n.mH
    uwerr(a,wpm)
    b = sqrt(8*n.t0)*n.mW
    uwerr(b,wpm)
    c = n.mH/n.mW
    uwerr(c,wpm)
    uwerr(n.mH,wpm)
    uwerr(n.mW,wpm)
    d = n.w0/n.t0
    uwerr(d,wpm)
    uwerr(n.t0,wpm)
    uwerr(n.w0,wpm)
    f = n.mW*L
    uwerr(f)
    gg = sqrt(8*n.t0)/L
    uwerr(gg)

    return n.bt,n.k,n.l,a,b,c,n.mH,n.mW,d,n.t0,n.w0,f,gg
end

"""
Time derivative
"""
function timederiv(xdata::Vector,ydata::Vector{uwreal},dx, wpm)

    dydx = Vector{uwreal}()
    Ct = Vector{uwreal}()
    times = Vector{Float64}()
    for i in 3:length(xdata)-1
        dif = maximum([abs(xdata[i+1]-xdata[i]);abs(xdata[i-1]-xdata[i])])
        if dif > 2*dx
            continue
        else
            t = xdata[i]
            push!(times,t)
            W = t*( ydata[i+1] - ydata[i-1] )/(2.0*dx)
            uwerr(W, wpm)
            push!(dydx,W)
            C = ydata[i]^2/W
            uwerr(C,wpm)
            push!(Ct,C)
        end
    end
    return times, dydx, Ct
end

#weighted average
function w_ave(a::uwreal,b::uwreal)
    wa = 1/err(a)^2
    wb = 1/err(b)^2
    ave = (wa*a + wb*b)/(wa+wb)
    uwerr(ave)
    return ave
end

"""
    Higgs masses
"""

function get_higgs(h::Array{T,2}, tag, niter_vec, cs, ce) where {T<:AbstractFloat}
    #h : interpolator [time; Markov chain]
    #niter_vec : replica vector
    #cs : cut start time for the fit
    #ce : cut end time for the fit


    print("getting correlator.\n")
    #Average Correlator
    Chiggs1 = correlator(h[:,:], tag, niter_vec)
    for t in 1:length(h2[1,:,1])
        Chiggs1[t] *= 1/(Chiggs1[end])
        uwerr(Chiggs1[t])
    end
    print("Done.\n")
    print("getting effective mass.\n")
    #Effective Mass
    emass = effsymmass(Chiggs1)
    print("Done.\n")
    return emass
    # #Model average - Fit constant
    # @.funn(x,p) = p[1] + x*0.0
    # l2 = convert(Int64, length(h)/2)+1
    # tstart = collect(ce:l2-cs)
    # tend   = collect(ce:l2)
    # print("getting mass.\n")
    # (mH,sysH) = bayesian_av(funn, emass, tstart, tend, 1, plot_bayesian=false)
    # print("Done.\n")
    # mH = mH + uwreal([0.0,value(sysH)], "systematic uncertainty")
    # uwerr(mH)
    # print("Model average - Effective Mass:\n",mH,"\n",sysH)
    # return mH
    # return nothing
end


"""
    W-boson mass
"""

function get_w(w::Array{T,4}, tag, niter_vec, cs, ce) where {T<:AbstractFloat}
    #w : w-boson interpolator [ Link direction; Colour index; time; Markov chain]

    CW = Array{uwreal,3}(undef,3, 3, tim)
    for mu in 1:3
        for i in 1:3
            #correlator for each Direction and Colour
            CW[mu,i,:] = correlator(w[1,mu,i,:,:], tag, niter_vec)
            for t in 1:tim
                CW[mu,i,t] *= 1/(CW[mu,i,end])
                uwerr(CW[mu,i,t])
            end
        end
    end

    #average over mu and i
    CWmean = Vector{uwreal}(undef, tim)
    for t in 1:tim
        CWmean[t] = sum(CW[:,:,t])/(3*3)
        uwerr(CWmean[t])
    end

    Wemass = effsymmass(CWmean)
    L = length(value.(CWmean[1,:]))
    l2 = convert(Int64, L/2)+1
    @.funn(x,p) = p[1] + x*0.0
    tstart = collect(4:l2-cs)
    tend   = collect(ce:l2)
    (mW,sysW) = bayesian_av(funn, Wemass, tstart, tend, 1, plot_bayesian=true)
    mW = mW + uwreal([0.0,value(sysH)], "systematic uncertainty")
    uwerr(mW)
    print("Model average - Effective Mass:\n",mW,"\n",sysW)
    return mW
end
#+end_src

#+RESULTS:

** Functions - full GF
*** TODO THIS WAS NOT UPDATED FROM THE 1-HIGGS CODE!
#+begin_src  jupyter-julia :session h2ps
function readparams(fb)
    #move read position to the first record
    BDIO_seek!(fb,0)
    let nth, niter, flw_s, flw_steps, flw_dtr, flw_iter, beta, flw_dt, k1,et1
        while BDIO_seek!(fb)
            # Simulation parameters
            if BDIO_get_uinfo(fb) == 1
                int_array = similar(Array{Int64, 1}, 6)
                BDIO_read(fb, int_array)
                nth       = int_array[1]
                niter     = int_array[2]
                flw_s     = int_array[3]
                flw_steps = int_array[4]
                flw_dtr   = int_array[5]
                flw_iter  = int_array[6]
            end
            if BDIO_get_uinfo(fb) == 2
                flt_array = similar(Array{Float64, 1}, 4)
                BDIO_read(fb, flt_array)
                beta       = flt_array[1]
                flw_dt     = flt_array[2]
                k1         = flt_array[3]
                et1        = flt_array[4]
            end
        end
        return nth, niter, flw_s, flw_steps, flw_dtr, flw_iter, beta, flw_dt, k1, et1
    end
end

function readdata(fb,nth, niter, flw_iter, flw_steps)
    #move read position to the first record
    k_index = 0
    BDIO_seek!(fb,0)
    let pl, rho1, rho2, Lphi1, Lphi2, Lalp1, Lalp2, dh, flwtime, Echain, Eclchain, h2, w1r, w1i
        flwtime  = Vector{Float64}(undef, flw_steps)
        Echain   = Array{Float64,2}(undef, flw_iter, flw_steps)
        Eclchain = Array{Float64,2}(undef, flw_iter, flw_steps)
        h2       = Array{Float64,3}(undef, 1, tim, niter)
        w1       = Array{Float64,5}(undef, 1, 3, 3, tim, niter)

        while BDIO_seek!(fb)
            #observables
            #Plaquette
            if BDIO_get_uinfo(fb) == 3
                k_index += 1
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                pl = db_array
            end
            # Rho
            if BDIO_get_uinfo(fb) == 4
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                rho1 = db_array
            end
            # Lphi
            if BDIO_get_uinfo(fb) == 5
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                Lphi1 = db_array
            end
            # Lalp
            if BDIO_get_uinfo(fb) == 6
                db_array = similar(Array{Float64, 1}, nth+niter)
                BDIO_read(fb, db_array)
                Lalp1 = db_array
            end

            #dh
            if BDIO_get_uinfo(fb) == 8
                db_array = similar(Array{Float64, 1}, nth)
                BDIO_read(fb, db_array)
                dh = db_array
            end

            # FLOW
            # Flow time
            if BDIO_get_uinfo(fb) == 9
                db_array = similar(Array{Float64, 1}, flw_steps)
                BDIO_read(fb, db_array)
                flwtime = db_array
            end
            #Flow E
            if BDIO_get_uinfo(fb) == 10
                db_array = similar(Array{Float64, 1}, flw_iter)
                for i in 1:flw_steps
                    BDIO_read(fb, db_array)
                    Echain[:,i] .= db_array
                end
            end
            #Flow E - Clover
            if BDIO_get_uinfo(fb) == 11
                db_array = similar(Array{Float64, 1}, flw_iter)
                for i in 1:flw_steps
                    BDIO_read(fb, db_array)
                    Eclchain[:,i] .= db_array
                end
            end

            #Correlation functions
            #Higgs
            if BDIO_get_uinfo(fb) == 12
                db_array = similar(Array{Float64, 1}, tim)
                for i in 1:niter
                    BDIO_read(fb, db_array)
                    h2[1,:,i] .= db_array[1:tim]
                end
            end
            #W-Boson
            if BDIO_get_uinfo(fb) == 13
                db_array = similar(Array{Float64, 1}, tim)
                for k in 1:niter
                    for mu in 1:3
                        for i in 1:3
                            BDIO_read(fb, db_array)
                            w1[1,mu,i,:,k] .= db_array
                        end
                    end
                end
            end
        end
        return pl, rho1, Lphi1, Lalp1, dh, flwtime, Echain, Eclchain, h2, w1
    end
end

function generate_run_tag(fname::String, id::Union{Nothing, Int64}=nothing)


    fb  = BDIO_open(fname, "r")

    nth, niter, flw_s, flw_steps, flw_dtr, flw_iter, beta, flw_dt, k1, et1 = readparams(fb)

    tag = fname*string(nth)*string(niter)*string(flw_s)*string(flw_steps)*string(flw_dtr)*string(flw_iter)*string(beta)*string(flw_dt)*string(k1)*string(et1)
    if id != nothing
        tag = tag*"_id"*string(id)
    end
    return tag
end
#+end_src

#+RESULTS:

* Main code
** Read File; Global Arrays
#+begin_src  jupyter-julia :session h2ps
global lat=24
global tim=24
global dims=(lat,tim)
files = [
        "h2_2_24x24x24x24_beta6.0_k10.133_k20.1288_etas0.003_0.001_mu0.001_xis0.0001_0.0001_0.0005_0.0001_niter12000_eps0.05_nsteps35_SM_us_20_0.01_ss_40_0.02.bdio"
        ]
tag = ""
sdims="$(lat)x$(lat)x$(lat)x$(tim)"
if !occursin(sdims, files[1])
    throw("Check Lattice Dimensions")
end
nr_rep = length(files)
niter_vec = Vector{Int64}(undef,nr_rep)
global nth,niter,flw_steps,flw_dtr,flw_iter,sus,sss=0,0,0,0,0,0,0
global gp, sp
global flw_s = 0
global flw_dt,sdt,srs = 0.0,0.0,0.0
#MC chain length for GF
tot_flw_iter = 0
for i in 1:nr_rep
    filename = "simulations/"*files[i]
    print("\n",filename,"\n\n")
    tag *= generate_run_tag(filename)
    fb  = BDIO_open(filename, "r")
    nth, niter, flw_steps, flw_dtr, flw_iter, sus, sss, flw_dt, gp, sp, sdt, srs = readparams(fb)
    niter_vec[i] = niter
    tot_flw_iter += flw_iter
    print(sp)
    @printf("\n ## GLOBAL:\n\t Niter: %d \n\t Ntherm: %d ", niter, nth)
    @printf("\n\n ## FLOW:\n\t Flow Observations: %d \n\t Flow Trajectory: %d \n\t Flow Step-size: %1.3f \n\t Time between measurements: %.3f \n", flw_iter,flw_steps,flw_dt, flw_dt)
    BDIO_close!(fb)
end

smear = smr{Float64}(sus,sdt,sss,srs)
tot_conf = sum(niter_vec)
global pl      = Vector{Float64}(undef, tot_conf)
global rho1    =  Vector{Float64}(undef, tot_conf)
global rho2    =  Vector{Float64}(undef, tot_conf)
global Lphi1   =  Vector{Float64}(undef, tot_conf)
global Lphi2   =  Vector{Float64}(undef, tot_conf)
global Lalp1   =  Vector{Float64}(undef, tot_conf)
global Lalp2   =  Vector{Float64}(undef, tot_conf)
global dh      = Vector{Float64}(undef, tot_conf)
#corr
global h2      = Array{Float64,3}(undef,2, tim, tot_conf)
global w1      = Array{Float64,5}(undef,3, 3, 3, tim, tot_conf)
# flow
global flwtime = Vector{Float64}(undef, flw_steps)
global Echain       = Array{Float64, 2}(undef, tot_flw_iter, flw_steps)
global dEchain      = Array{Float64, 2}(undef, tot_flw_iter, flw_steps)
global Eclchain      = Array{Float64, 2}(undef, tot_flw_iter, flw_steps)
global dEclchain      = Array{Float64, 2}(undef, tot_flw_iter, flw_steps)

nconf = 0
GF_iter = 0
for i in 1:nr_rep

    filename = "simulations/"*files[i]
    fb  = BDIO_open(filename, "r")
    nth, niter, flw_steps, flw_dtr, flw_iter, sus, sss, flw_dt, gp, sp, sdt, srs = readparams(fb)
    #data
    rpl, rrho1, rrho2, rLphi1, rLphi2, rLalp1, rLalp2, rdh, flwtime, rEchain, rEclchain, rh2, rw1 = readdata(fb, nth, niter, flw_iter, flw_steps)

    beg = nconf+1
    fin = nconf+niter
    pl[beg:fin] = rpl[nth+1:end]
    rho1[beg:fin] = rrho1[nth+1:end]
    rho2[beg:fin] = rrho2[nth+1:end]
    Lphi1[beg:fin] = rLphi1[nth+1:end]
    Lphi2[beg:fin] = rLphi2[nth+1:end]
    Lalp1[beg:fin] = rLalp1[nth+1:end]
    Lalp2[beg:fin] = rLalp2[nth+1:end]
    dh[beg:fin] = rdh[nth+1:end]
    Echain[GF_iter+1:GF_iter+flw_iter,:] = rEchain
    Eclchain[GF_iter+1:GF_iter+flw_iter,:] = rEclchain
    h2[:,:,beg:fin] = rh2
    w1[:,:,:,:,beg:fin] = rw1
    nconf += niter
    GF_iter += flw_iter
    BDIO_close!(fb)
end
#TODO MUDAR ISTO A CADA RUN
thm = 100
tag = tag*string(thm)
#+end_src

#+RESULTS:
#+begin_example

simulations/h2_2_24x24x24x24_beta6.0_k10.133_k20.1288_etas0.003_0.001_mu0.001_xis0.0001_0.0001_0.0005_0.0001_niter12000_eps0.05_nsteps35_SM_us_20_0.01_ss_40_0.02.bdio


 - etas:
 - mu12:
 - xi:

Number of scalar fields: 2
 - Kappas:  0.133 0.1288
 - etas:    0.003 0.001
 - mu12:    0.001
 - xi:     (0.0001, 0.0001, 0.0005, 0.0001)


 ## GLOBAL:
	 Niter: 12000
	 Ntherm: 1000

 ## FLOW:
	 Flow Observations: 1200
	 Flow Trajectory: 25
	 Flow Step-size: 0.005
	 Time between measurements: 0.005
#+end_example
** Histories
*** Energy Conservation
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
p=plot(dh[begin:10:end])
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/9e0a96f6fbf1faac0e1a85db9efd9334f54b2aa3.svg]]

*** Global
**** $P$
#+begin_src jupyter-julia :session h2ps
s=1
c=niter
p=plot(pl[s:10:end])
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/91d4afd27efad26b41dac1b49dd08ec393af9007.svg]]

**** $\rho$

#+begin_src jupyter-julia :session h2ps
s=1
c=10
p=plot(rho2[s:10:c],label=L"\rho_1")
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/4b760d940ec2f8a49d4f4c17f356181fcb05ea1b.svg]]

**** $L_\phi$

#+begin_src jupyter-julia :session h2ps
s=1
c=niter
p=plot(Lphi1[s:1:c],label=L"{L_\phi}_1")
p=plot!(Lphi2[s:1:c],label=L"{L_\phi}_1")
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/f4641690eb483df60a121554c1145046dd3ff2dd.svg]]

**** $L_\alpha$

#+begin_src jupyter-julia :session h2ps
s=1
p=plot(Lalp1[s:10:end],label=L"{L_\alpha}_1")
p=plot!(Lalp2[s:10:end],label=L"{L_\alpha}_1")
# print(Lalp1[100:200])
display(p)
# outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/mcchain_Lalp_beta$(beta)_kappa$(k1)_l$(eta).png"
# print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/5d01bfaf3f730f4ddabddd146e66a3e7809941bf.svg]]


*** Flow
**** Plaquette
***** E(t)
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
t=50
it=1
iT=1000
p = plot!(Echain[begin:end,t])
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/21d7f07161aa229d2a7009c6afcd649ace3b632c.svg]]

***** dE(t)/dt
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
# p = scatter!(dEchain[1,:])
s=1
c=flw_steps
for i in 2:flw_iter
    p = scatter!(dEchain[i,s:c],legend=false)
end
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/afe6958be5d73416b6574df3177788844bfcba34.svg]]
***** Numerical derivative
#+begin_src jupyter-julia :session h2ps
nrdv = []
iter = 10
for i in 2:flw_steps
    dedt = (Echain[iter,i] - Echain[iter,i-1])/(flw_dt*flw_s)
    push!(nrdv, dedt)
end
s=15
c=flw_steps-1
q = scatter(flwtime[s+1:c].-(flw_dt*flw_s/2.0), nrdv[s:c],label="Numerical - midpoint")
q = scatter!(flwtime[s:c],dEchain[iter,s:c],label="Explicit",grid=:show,gridstyle=:dot,legend=:bottomright)
display(q)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/67332cfb3f0d192894d3967e6acb90d1cb0118c5.svg]]

**** Clover
***** E(t)
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
t=40
it=1
iT=
p = plot!(Eclchain[it:end,t])
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/bae781b13eec35185466dbf7686770d087238fe5.svg]]

[[file:./.ob-jupyter/181ca19d7c0869ebc5721926daeef8c66064dd9f.svg]]

***** dE(t)/dt
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
# p = scatter!(dEchain[1,:])
for i in 2:niter
    p = scatter!(dEclchain[i,:])
end
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/12f27276cdaa663d754e30f88fad89cfae666290.svg]]
[[file:./

***** Numerical derivative
#+begin_src jupyter-julia :session h2ps
nrdv = []
iter = 10
for i in 2:flw_steps
    dedt = -0.05*(Eclchain[iter,i] - Eclchain[iter,i-1])/(flw_dt*flw_s)
    push!(nrdv, dedt)
end
s=1
cut=flw_steps-1
q = scatter(flwtime[s+1:cut].-(flw_dt*flw_s/2.0), nrdv[s:cut],label="Numerical - midpoint")
q = scatter!(flwtime[s:cut],dEclchain[iter,s:cut],label="Explicit",grid=:show,gridstyle=:dot)
display(q)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/2110dccb301890c2f5076cb6e324ca8e41255096.svg]]

**** Clover VS Plaquette
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
iter=20
p = scatter(flwtime,flwtime.^2 .*Echain[iter,:],label="Plaq.")
p = scatter!(flwtime,flwtime.^2 .*Eclchain[iter,:],label="Clover")
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/90ac57492656d3ae480f29551cf83c6d24d9c614.svg]]
*** Correlators
**** Higgs
#+begin_src jupyter-julia :session h2ps
t=3
ttl = latexstring("t=$(t),~\\kappa_1 = \\kappa_2 = $(sp.kap[1])")
ylbl = latexstring("H(t)")
s = 1
p = plot(h2[1,t,s:1:end],label=L"H_1",title=ttl,ylabel=ylbl, xlabel="#",legend=:topleft)
p = plot!(h2[2,t,s:1:end],label=L"H_2")
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/therm_h1_h2_k1_$(sp.kap[1])_k2_$(sp.kap[2])_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/173816933808c2850ee88a290f5cf4ba8b9e5fed.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/therm_h1_h2_k1_0.133_k2_0.1292_lat24x24_b5.5.png
:END:

**** W-Boson
#+begin_src jupyter-julia :session h2ps
t=1
ttl = latexstring("t=$(t),~\\kappa_1 = \\kappa_2 = $(sp.kap[1])")
ylbl = latexstring("W_{\\mu,i}(t)")
p = plot(w1[1,1,3,t,begin:1:end],label=L"W_1",title=ttl,ylabel=ylbl, xlabel="#")
p = plot!(w1[2,1,3,t,begin:1:end],label=L"W_2")
# p = plot!(w1[3,1,3,t,begin:1:end],label=L"W_2")
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/therm_w1_w2_k1_$(sp.kap[1])_k2_$(sp.kap[2])_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/ba0f7d1b69f94be1007eb46f03a5f0132acf9247.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/therm_w1_w2_k1_0.133_k2_0.1287_lat24x24_b5.5.png
:END:

** Averages
*** Global Observables
#+begin_src jupyter-julia :session h2ps
plmean = uwreal(pl[thm:end],tag,niter_vec .- (thm-1))
rho1mean = uwreal(rho1[thm:end],tag,niter_vec .- (thm-1))
rho2mean = uwreal(rho2[thm:end],tag,niter_vec .- (thm-1))
Lphi1mean = uwreal(Lphi1[thm:end],tag, niter_vec .- (thm-1))
Lphi2mean = uwreal(Lphi2[thm:end],tag, niter_vec .- (thm-1))
Lalp1mean = uwreal(Lalp1[thm:end],tag,niter_vec .- (thm-1))
Lalp2mean = uwreal(Lalp2[thm:end],tag,niter_vec .- (thm-1))

glbvec = [plmean, rho1mean, rho2mean, Lphi1mean, Lphi2mean, Lalp1mean, Lalp2mean]
uwerr.(glbvec)
print.(glbvec,"\n")
#+end_src

#+RESULTS:
: 1.7495596100891508 +/- 7.494998100001513e-6
: 5.90671202089584 +/- 0.0013810784044758035
: 3.5599691364105492 +/- 0.0016502924069776563
: 3.873923347555751 +/- 0.0013592035175061436
: 1.5339459251948406 +/- 0.0016064107563622915
: 1.7849646935623054 +/- 0.00020126825718718049
: 1.1567202545031519 +/- 0.0007148555800680899

**** Plaquette

#+begin_src jupyter-julia :session h2ps
plmean = uwreal(pl[begin:end],tag,niter_vec)
uwerr(plmean)
print("Observable <P> = < Tr Up>\n\t - Value:\t", plmean )
#+end_src

#+RESULTS:
: Observable <P> = < Tr Up>
: 	 - Value:	1.7403978232882378 +/- 6.26358158551182e-5

**** $\rho^2$

#+begin_src jupyter-julia :session h2ps
rhomean = uwreal(rho1[begin:end],tag,niter_vec)
uwerr(rhomean)
print("Observable <r>\n\t - Value:\t", rhomean )
#+end_src

#+RESULTS:
: Observable <r>
: 	 - Value:	2.0420459089918257 +/- 0.001454007694729225

**** $L_\phi$

#+begin_src jupyter-julia :session h2ps
Lphimean = uwreal(Lphi1[begin:end],tag, niter_vec)
uwerr(Lphimean)
print("Observable <R>\n\t - Value:\t", Lphimean )
#+end_src

#+RESULTS:
: Observable <R>
: 	 - Value:	0.37574020158664523 +/- 0.00162917447528644

**** $L_\alpha$

#+begin_src jupyter-julia :session h2ps
Lalpmean = uwreal(Lalp1[begin:end],tag,niter_vec)
uwerr(Lalpmean)
print("Observable <L>\n\t - Value:\t", Lalpmean )
#+end_src

#+RESULTS:
: Observable <L>
: 	 - Value:	0.6719116569850095 +/- 0.0005483092687432931

*** Flow Average $\dv{t^2 <E(t)>}{t} = 2t<E(t)> + t^2\dv{<E(t)>}{t}$

#+begin_src jupyter-julia :session h2ps
global E = Vector{uwreal}(undef, flw_steps)
global Ecl = Vector{uwreal}(undef, flw_steps)
therm = 0
wpm = Dict{String,Vector{Float64}}()
uncorr_id = string("noncorrelated_",therm,flw_iter)
wpm[uncorr_id] = [1.0, -1.0, -1.0, -1.0]

# ID = string("therm",therm,c,filename,flw_iter)
ID = tag
# ID = uncorr_id
for t in 1:flw_steps
    # E[t] = uwreal( flwtime[t]^2*Echain[(therm+1):c,t], ID )
    # uwerr(E[t],wpm)
    Ecl[t] = uwreal(flwtime[t].^2 .*Eclchain[begin:end,t], ID, niter_vec, collect(flw_dtr:flw_dtr:sum(niter_vec)), sum(niter_vec))
    uwerr(Ecl[t],wpm)
    # print(taui(Ecl[t],ID),"\n")
end


global dEdt = Vector{uwreal}(undef, flw_steps-1)
global dEcldt = Vector{uwreal}(undef, flw_steps-1)
global dflwtime = Vector{Float64}(undef, flw_steps-1)


# t0pl,t0spl = interpolate_root_s(0.0036, flwtime, E, ID, true)
t0pl,t0spl = interpolate_root_s(0.0036, flwtime, Ecl, ID, true)
t0oL = sqrt(8*t0pl)/lat
uwerr(t0oL)
print("\n sqrt{8t0}/L:\t",t0oL)
#+end_src

#+RESULTS:
:RESULTS:
: ID:         simulations/h2_2_16x16x16x24_beta5.5_k10.1324_k20.1324_etas0.001_0.01_mu0.005_xis0.0001_0.0001_0.0005_0.0005_niter8000_eps0.05_nsteps35_SM_us_20_0.01_ss_60_0.1.bdio10008000251080020600.005Group:  SU2{Float64}
:  - beta:              5.5
:  - c0:                1.0
:  - cG:                (0.0, 0.0)
: Number of scalar fields: 2
:  - Kappas:  0.1324 0.1324 0.001 0.01 0.005 (0.0001, 0.0001, 0.0005, 0.0005)100
: DB  length: 7901
: obs length: 8000
# [goto error]
#+begin_example
Mistmatch in data length for the same ensemble ID

Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] add_maps(id::Int64, ws::ADerrors.wspace, iv::Vector{Int64})
   @ ADerrors ~/.julia/packages/ADerrors/yII7Y/src/ADerrorsCF.jl:128
 [3] add_DB(delta::Vector{Float64}, id::Int64, iv::Vector{Int64}, ws::ADerrors.wspace, do_maps::Bool)
   @ ADerrors ~/.julia/packages/ADerrors/yII7Y/src/ADerrorsCF.jl:178
 [4] add_DB
   @ ~/.julia/packages/ADerrors/yII7Y/src/ADerrorsCF.jl:144 [inlined]
 [5] uwcls_gaps(data::Vector{Float64}, id::Int64, ws::ADerrors.wspace, iv::Vector{Int64}, idm::Vector{Int64}, nms::Int64)
   @ ADerrors ~/.julia/packages/ADerrors/yII7Y/src/ADerrorsCF.jl:228
 [6] uwreal(data::Vector{Float64}, str::String, iv::Vector{Int64}, idm::Vector{Int64}, nms::Int64)
   @ ADerrors ~/.julia/packages/ADerrors/yII7Y/src/ADerrorsCF.jl:932
 [7] top-level scope
   @ ./In[7]:14
 [8] eval
   @ ./boot.jl:373 [inlined]
 [9] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
   @ Base ./loading.jl:1196
#+end_example
:END:

*** Numerical derivative $W(t) = t \dv{}{t}\left( t^2E(t) \right)$
**** Adapt. GF

#+begin_src jupyter-julia :session h2ps
dflwtime, dEcldt, C = timederiv(flwtime, Ecl, flw_dt,wpm)
w0pl,w0spl = interpolate_root_s(-0.00066, dflwtime, dEcldt, ID, true)
#+end_src

**** Full GF
#+begin_src jupyter-julia :session h2ps
for i in 2:flw_steps
    # dEdt[i-1] = (flwtime[i]-(flw_dt*flw_s/2.0))*(E[i] - E[i-1])/(flw_dt*flw_s)
    # uwerr(dEdt[i-1], wpm)
    # print(i," ")
    dEcldt[i-1] = (flwtime[i]-(flw_dt*flw_s/2.0))*(Ecl[i] - Ecl[i-1])/(flw_dt*flw_s)
    dflwtime[i-1] = flwtime[i]-(flw_dt*flw_s/2.0)
    uwerr(dEcldt[i-1], wpm)
    # try
    # catch e
    #     @warn string(": ill error propagation at t_index = ", i)
    # end
end

# w0pl,w0spl = interpolate_root(-0.001, dflwtime, dEdt, ID, true)
w0pl,w0spl = interpolate_root(-0.00066, dflwtime, dEcldt, ID, true)
#+end_src

#+RESULTS:
:RESULTS:
:
: chi^2 / d.o.f.:
: 	1.6218543362323661e-15 / 0 = Inf
: Distance of interpolation:	0.0400000000000027
: Root:
: 	17.199756453647524 +/- 0.16620421079631298
[[file:./.ob-jupyter/1eb2b87a0d2460af64add26718afbbdc31565340.svg]]
:  [-3.88420509267462e-6]
:END:
*** Correlation functions

**** $m_H$

***** Average & Plot

#+begin_src jupyter-julia :session h2ps
L=length(h2[1,:,1])
ttl = latexstring("\\kappa_1 = \\kappa_2 = $(sp.kap[1])")
xlbl = L"t"
ylbl = L"C(t)"
Chiggs = Array{uwreal,2}(undef, 2, L)
p=plot(reuse=false)
for hgs in 1:2
    Chiggs[hgs,:] = correlator(h2[hgs,:,thm:end], tag, niter_vec .- (thm-1))
    for t in 1:L
        Chiggs[hgs,t] *= 1/(Chiggs[hgs,end])
        uwerr(Chiggs[hgs,t])
    end
    lbl = latexstring("H_$(hgs)")
    p=plot!(value.(Chiggs[hgs,:]),yerr=err.(Chiggs[hgs,:]), ylabel=ylbl, xlabel=xlbl,label=lbl, title=ttl)
end
display(p)
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/corrfunc_h1_h2_k1_$(sp.kap[1])_k2_$(sp.kap[2])_lat$(lat)x$(tim)_b$(bet).png"
# print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/9ba61f71b72a1891f7ed909c1a2215883a632c69.svg]]

***** Effective Mass

#+begin_src jupyter-julia :session h2ps
emass = Array{uwreal,2}(undef,2, L-3)
l2 = convert(Int64, L/2-1)-0
p=plot(reuse=false)
for hgs in 1:2
    emass[hgs,:], ind = effsymmass(Chiggs[hgs,:])
    p=plot!(value.(emass[hgs,begin:l2]),yerr=err.(emass[hgs,begin:l2]))
end
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/a5ad0951847197bcadafc5cf5764c47795003097.svg]]

***** Mass extraction

#+begin_src jupyter-julia :session h2ps
@.funn(x,p) = p[1] + x*0.0
mHvec = Vector{uwreal}(undef,2)
sysHvec = Vector{uwreal}(undef,2)
for hgs in 1:2
    emass, indH = effsymmass(Chiggs[hgs,:])
    l2 = length(indH)
    tstart = collect(1:l2)
    tend   = collect(2:l2)
    (mH,sysH) = bayesian_av(funn, emass[indH], tstart, tend, 1, plot_bayesian=true)
    mH = mH + uwreal([0.0,value(sysH)], "systematic uncertainty")
    uwerr(mH)
    mHvec[hgs] = mH
    sysHvec[hgs] = sysH
end
for hgs in 1:2
    print("Model average - Effective Mass:\n",mHvec[hgs],"\n",sysHvec[hgs])
end
# mH=mH[1] #APAGAR ISTO DEPOIS
# sysH = sysH[1]
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/551d3087d3543cf940853223898d35dfa14cd1da.svg]]
[[file:./.ob-jupyter/c7a6eb9b7442e192eca2d17cc18fca3451dc7a7c.svg]]
[[file:./.ob-jupyter/d8fd5d9b22c9bfa3b1d4e57784dd59207f1e96f5.svg]]
[[file:./.ob-jupyter/c5dee4a57b408ea2463d896103b6f86175e5d938.svg]]
[[file:./.ob-jupyter/a7ccc88970c943c351db57de1c8578e75997c15a.svg]]
[[file:./.ob-jupyter/d857aadde1187a9500478b15a68c610995bd9e68.svg]]
: Model average - Effective Mass:
: 0.5275947747557567 +/- 0.09519505426442436
: 0.08600046214506923 (Error not available... maybe run uwerr)Model average - Effective Mass:
: 0.3484659435818859 +/- 0.0783437948455635
: 0.06828067355826857 (Error not available... maybe run uwerr)
:END:

**** $m_w$
***** $W_{\mu,i}$

#+begin_src jupyter-julia :session h2ps
#choose window
wpm = Dict{String, Vector{Float64}}()
# ALWAYS ATTEMPT TO RUN WITHOUT CUSTOM wpm
# wpm[tag] = [50.0, -1.0, -1.0, -1.0]
hgs = 1
CW = Array{uwreal,4}(undef, 3, 3, 3, tim)
for hgs in 1:3
    for mu in 1:3
        for i in 1:3
            CW[hgs,mu,i,:] = correlator(w1[hgs,mu,i,:,thm:end], tag, niter_vec .- (thm-1),wpm)
            for t in 1:tim
                CW[hgs, mu,i,t] *= 1/(CW[hgs, mu,i,end])
                uwerr(CW[hgs, mu,i,t])
            end
        end
    end
end

#average over mu and i
CWmean = Array{uwreal,2}(undef, 3, tim)
for hgs in 1:3
    for t in 1:tim
        CWmean[hgs,t] = sum(CW[hgs,:,:,t])/(3*3)
        uwerr(CWmean[hgs,t])
    end
end
#+end_src

#+RESULTS:
****** Plot $W_{\mu,i}$

#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
for mu in 1:3
    for i in 1:3
        p=plot!(value.(CW[mu,i,st:end]),yerr=err.(CW[mu,i,st:end]), ylabel=ylbl, xlabel=xlbl, label=latexstring("W_{$(mu),$(i)}(t)"))
    end
end
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/0e9e19147a53c04ed57b2cec3b21ed5765568d57.svg]]

****** Plot Average in $\mu,i$

#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
ttl = latexstring("\\kappa_1 = \\kappa_2 = $(sp.kap[1])")
xlbl = L"t"
ylbl = L"C(t)"
p=plot(reuse=false)
for hgs in 1:3
    lbl = latexstring("W_$(hgs)")
    p=plot!(value.(CWmean[hgs,1:end]),yerr=err.(CWmean[hgs,1:end]), ylabel=ylbl, xlabel=xlbl, label=lbl,title=ttl)
end
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/corrfunc_w1_w2_k1_$(sp.kap[1])_k2_$(sp.kap[2])_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/622ec150b24b74a391d658ab6d16c9508b93ec64.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/corrfunc_w1_w2_k1_0.133_k2_0.1307_lat24x24_b5.5.png
:END:

***** Effective Mass

#+begin_src jupyter-julia :session h2ps
Wemass = Array{uwreal,2}(undef, 3, L-3)
p=plot(reuse=false)
for hgs in 1:3
    l2 = convert(Int64, L/2-1)-0
    Wemass[hgs,:],indW = effsymmass(CWmean[hgs,:])
    p=plot!(value.(Wemass[hgs,begin:l2]),yerr=err.(Wemass[hgs,begin:l2]))
end
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/1c8e08aca7858d8e55e833406a54095843062a99.svg]]

***** Mass extraction

#+begin_src jupyter-julia :session h2ps
mWvec = Vector{uwreal}(undef,3)
sysWvec = Vector{uwreal}(undef,3)
@.funn(x,p) = p[1] + x*0.0
for hgs in 1:3
    Wemass,indW = effsymmass(CWmean[hgs,:])
    l2 = length(indW)
    tstart = collect(1:l2)
    tend   = collect(2:l2)
    (mW,sysW) = bayesian_av(funn, Wemass[indW], tstart, tend, 1, plot_bayesian=true)
    mW = mW + uwreal([0.0,value(sysW)], "systematic uncertainty")
    uwerr(mW)
    mWvec[hgs] = mW
    sysWvec[hgs] = sysW
end
for hgs in 1:3
    print("Model average - Effective Mass:\n",mWvec[hgs],"\n",sysWvec[hgs])
end
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/725de978af1d922cee9bb7ba929ce43f59b747d1.svg]]
[[file:./.ob-jupyter/7b96c5774c90509fd61d0dcadd3e4a9e5d0896f3.svg]]
[[file:./.ob-jupyter/543467caa3dc4fb13ab2ace37b4cb5f4401dcc5d.svg]]
[[file:./.ob-jupyter/64210f44e5382e0c229b32cd643a523d10fc2c18.svg]]
[[file:./.ob-jupyter/76d5eb59a5c6373ff93a336fa6f4e167a633deda.svg]]
[[file:./.ob-jupyter/64c7525ff140441dbbdf5c81a002b4b5a0b0e9f3.svg]]
[[file:./.ob-jupyter/db159a38392d7fb96d1ae9f8ed0a99abef5ff1c0.svg]]
[[file:./.ob-jupyter/45089f338613d016bb76a659c58a9ccee53a53ca.svg]]
[[file:./.ob-jupyter/587855736668f9f3d4270054f9d68f745d3e18c4.svg]]
: Model average - Effective Mass:
: 0.5027293997421788 +/- 0.013874664433300472
: 0.009946717489634107 (Error not available... maybe run uwerr)Model average - Effective Mass:
: 0.4981406113311257 +/- 0.012477947064081464
: 0.010182442956749768 (Error not available... maybe run uwerr)Model average - Effective Mass:
: 0.3140066229415764 +/- 0.01491577376244547
: 0.006677459600208518 (Error not available... maybe run uwerr)
:END:


** Simulations & Plots
*** Plot Gradient Flow
**** Plaquette
***** E(t)
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
s=1
for i in 1:length(flwtime)
    if flwtime[i]>2.0
        # s=i
        break
    end
end
c=flw_steps
ttl=latexstring("\\beta=$(beta),~k_1=k_2=$(k1)")
xax = latexstring("t/a^2")
yax = latexstring("t^{2}<E(t)>")
# plot(reuse=false)
f(x)=0.0036
p=plot!(f,flwtime[s],flwtime[c])
p=scatter!(flwtime[s:c],value.(E[s:c]),yerror=err.(E[s:c]),label="Plaq.",title=ttl, xlabel=xax,ylabel=yax, legend=:topleft)
# p=scatter!(flwtime[s:c],value.(Ecl[s:c]),yerror=err.(Ecl[s:c]), label="Clover")#,ylims=(0.0005,0.0075)
display(p)
outputname="reports/figs/GF_k1k2$(k1)_beta$(beta)_$(lat)to4.png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/5683b881e0a7fa3426cc5a287614b788bff54417.svg]]
: reports/figs/GF_k1k20.1298_beta9.1_20to4.png
:END:

***** dE(t)
#+begin_src jupyter-julia :session h2ps
#numerical derivative
plot(reuse=false)
s=1
c=100
q = scatter!(dflwtime[s:end], value.(dEdt[s:end]),yerr=err.(dEdt[s:end]),label="Numerical - midpoint - Plaq.")
# q = scatter!(dflwtime[s:end], value.(dEcldt[s:end]),yerr=err.(dEcldt[s:end]),label="Numerical - midpoint - Clover")
f(x)=-0.001
q = plot!(f, 0, dflwtime[end])
display(q)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/a29056e81ce8c0c2a128b8c1158804ffd4cd4420.svg]]
***** Extraction of $t_0$

#+begin_src jupyter-julia :session h2ps
t0pl,t0spl = interpolate_root(0.0036, flwtime, E, ID, true)
#+end_src

#+RESULTS:
:RESULTS:
:
: chi^2 / d.o.f.:
: 	1.056305073614457e-19 / 0 = Inf
: Distance of interpolation:	0.20999999999999996
: Root:
: 	4.326324465315498 +/- 0.02828546755021743
[[file:./.ob-jupyter/c435c8a9733e4c08c3c267c272bff932b34f376b.svg]]
:  [0.00043613505600337277]
:END:

***** Extraction of $w_0$

Find Fit limits

#+begin_src jupyter-julia :session h2ps
c=0.2
f(x)=c
#find time index corresponding to max E(t) < c
tb = 0
for i in 1:flw_steps-1
    if (value(dEdt[i]) < c && value(dEdt[i+1]) > c)
      tb = i
    end
end
# 6 fit points: 3 below, 3 above
xmin=tb-2
xmax=tb+3
p=plot(flwtime[xmin:xmax], value.(dEdt[xmin:xmax]),yerr=err.(dEdt[xmin:xmax]))
p=scatter!(flwtime[xmin:xmax], value.(dEdt[xmin:xmax]),yerr=err.(dEdt[xmin:xmax]),legend=:bottomright)
p=plot!(f,flwtime[xmin],flwtime[xmax])
display(p)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/a071eb90b333a8fef9a4df40de7ae933b8e55a3e.svg]]



Linear fit $y(x)=ax+b$

#+begin_src jupyter-julia :session h2ps
print("PLAQUETTE\n")
#linear function
@. linfunc(x, p) = p[1]*x + p[2]
#xmin, xmax
xdata = flwtime[xmin:xmax]
ydata = value.(dEdt[xmin:xmax])
dydata = err.(dEdt[xmin:xmax])

#bounds for parameters p[i]
#lower bound
lb = [0.0, -Inf]
#upper bound
ub = [Inf, Inf]
#starting values
p0_bounds = [0.1, -0.1]
#fit
fit_bounds = curve_fit(linfunc, xdata, ydata, p0_bounds, lower=lb, upper=ub)
print("D.O.F.: ",dof(fit_bounds),"\na,b: ",coef(fit_bounds),"\n")

#chisquared
chisq(p, d) = sum( (d .- ( linfunc(xdata,p) ) ) .^ 2 ./ (dydata) .^2 )

# t0
print("t_0: ",(c - coef(fit_bounds)[2])/coef(fit_bounds)[1])
#propagate
(fitp, csqexp) = fit_error(chisq, coef(fit_bounds), dEdt[xmin:xmax])
chi = chisq(coef(fit_bounds),ydata)
print("\nchi^2 / d.o.f.: \n\t", chi, " / ", dof(fit_bounds), " = $(chi/dof(fit_bounds))\n")
a = fitp[1]
b = fitp[2]
# t_0  = (0.1 - b)/a
t0 = (c - b)/a
uwerr(t0)
t0plq_vol[1] = t0
print("FINAL w_0^2:\n\t",t0)
st0 = sqrt(t0)
uwerr(st0)
print("\nFINAL w_0:\n\t",st0)
sst0 = sqrt(st0)
uwerr(sst0)
print("\nFINAL sqrt(w_0):\n\t",sst0)
#+end_src

#+RESULTS:
#+begin_example
PLAQUETTE
D.O.F.: 4
a,b: [0.05797578884293657, -0.08117864230366377]
t_0: 4.849932151253876
chi^2 / d.o.f.:
	0.022836833607156284 / 4 = 0.005709208401789071
FINAL w_0^2:
	4.849932151253876 +/- 0.018764735781375927
FINAL w_0:
	2.2022561502363605 +/- 0.004260343597942041
FINAL sqrt(w_0):
	1.484000050618719 +/- 0.0014354256915846439
#+end_example

Add to Volume arrays

#+begin_src jupyter-julia :session h2ps
push!(w0plq_vol,t0)
#+end_src

#+RESULTS:

**** Clover
***** E(t)
#+begin_src jupyter-julia :session h2ps
plot(reuse=false)
f(x)=0.0036
k=1
for i in 1:length(flwtime)
    if flwtime[i]>1.0
        k=i
        break
    end
end
# p=plot!(f,flwtime[k],flwtime[end],legend=:bottomright)
# p=scatter!(flwtime[k:end],value.(Ecl[k:end]),yerror=err.(Ecl[k:end]),label="Clover")
p=scatter!(flwtime[k:end],value.(Ecl[k:end]),yerror=err.(Ecl[k:end]),label="Clover")
# p=scatter!(flwtime,value.(E[begin:end]),yerror=err.(E[begin:end]),label="Plaq.")
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/GF_beta$(beta)_kappa$(k1)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/2a35423c2368ad56b1fd43ff06c13aaba85a1e70.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/GF_beta9.1_kappa0.12967_leta.png
:END:

***** dE(t)/dt
#+begin_src jupyter-julia :session h2ps
#numerical derivative
plot(reuse=false)
s=1
c=100
f(x) = -0.001
q = scatter!(dflwtime[s:end], value.(dEcldt[s:end]),yerr=err.(dEcldt[s:end]),label="Numerical - midpoint - Clover")
q = plot!(f,dflwtime[s],dflwtime[end])
display(q)
#+end_src

#+RESULTS:
[[file:./.ob-jupyter/a8b50dd51fa69d6e89858aa4290d8b18fe7ad20c.svg]]

*** Save simulation $(\beta,\kappa,\lambda)$
**** Reset Vector
#+begin_src jupyter-julia :session h2ps :results output silent
runs = Vector{h2runs}()
#+end_src
**** Save measurement

#+begin_src jupyter-julia :session h2ps
t0vec = Vector{uwreal}(undef,1)
w0vec = Vector{uwreal}(undef,1)
E = Vector{uwreal}(undef,1)
Ecl = Vector{uwreal}(undef,1)
a = h2sim(gp, sp, mHvec, mWvec, t0vec, w0vec, flwtime, E, Ecl, glbvec,dims,smear)
# add run to vector
# first check if this beta is already there
append = true
rr = sims
for i in 1:length(rr)
    rgp = rr[i].gp
    rsp = rr[i].sp
    if rgp.beta == gp.beta && rsp.kap[1] == sp.kap[1] && rsp.kap[2] == sp.kap[2] && rsp.eta[1] == sp.eta[1] && rsp.eta[2] == sp.eta[2] && rsp.muh == sp.muh && rsp.xi[1] == sp.xi[1] && rsp.xi[2] == sp.xi[2] && rsp.xi[3] == sp.xi[3] && rsp.xi[4] == sp.xi[4]
        rr[i] = a
        append = false
    end
end
if append
    push!(rr, a)
    print("append")
end
#+end_src

#+RESULTS:
: append


***** Copy vector without repetitions
#+begin_src jupyter-julia :session h2ps
newruns = Vector{h2runs}()

unique_ks = []
for n in runs

    k = n.sp.kap[1]
    sv = false
    if k in unique_ks
        sv = false
    else
        sv = true
    end

    if sv
        push!(unique_ks, k)
        push!(newruns,n)
    end
end
#+end_src

#+RESULTS:

#+begin_src jupyter-julia :session h2ps
print(length(newruns))
#+end_src

#+RESULTS:
: 9


**** TODO (update) Print info
#+begin_src jupyter-julia :session h2ps
for n in runs
    if n.bt == b && n.k == k && n.l == l
        global mH = n.mH
        global mW = n.mW

        a = sqrt(8*n.t0)*n.mH
        uwerr(a,wpm)
        b = sqrt(8*n.t0)*n.mW
        uwerr(b,wpm)
        c = n.mH/n.mW
        uwerr(c,wpm)
        uwerr(n.mH,wpm)
        uwerr(n.mW,wpm)
        uwerr(n.t0)
        uwerr(n.w0)
        print("old t0\t:",n.t0)
        print("\nnew t0\t:",t0pl)
        print("\nold w0\t:",n.w0)
        print("\nnew w0\t:",w0pl)
        d = w0pl/t0pl
        uwerr(d,wpm)
        uwerr(t0pl,wpm)
        uwerr(w0pl,wpm)
        mWL = mW*lat
        uwerr(mWL)
        gg = sqrt(8*t0pl)/lat
        uwerr(gg)
        print("\n",n.bt, " | ", n.k, " | ", n.l , " | ", a, " | ", b, " | ",c , " | ", n.mH, " | ", n.mW, " | ", d, " | ", t0pl, " | ", w0pl, " | ",  mWL, " | ", gg)
    end
end

#+end_src

#+RESULTS:
: old t0	:9.165930974618949 +/- 0.11002790028464296
: new t0	:9.165930974618936 +/- 0.10322476440146872
: old w0	:15.776620491832308 +/- 0.11942887368449177
: new w0	:11.254329531219438 +/- 0.08595226551577581
: 8.8 | 0.1301 | 0.0032 |        1.611(89) |        0.941(55) |        1.713(88) |        0.188(10) |       0.1099(64) |        1.228(11) |         9.17(10) |       11.254(86) |         3.52(20) |       0.2676(15)

**** TODO (update) Remove measurement


#+begin_src jupyter-julia :session h2ps
rm = true
kp = 0.1315
for i in 1:length(runs)
    if (runs[i].sp).kap[1] == kp
        print((runs[i].sp).kap,"\n")
        # deleteat!(runs, i)
    end
end
#+end_src

#+RESULTS:

#+begin_src jupyter-julia :session h2ps
for n in runs
    print(n,"\n")
end
#+end_src

#+RESULTS:
#+begin_example
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.133 0.133
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.3266602619173014 +/- 0.043305315572180904, 0.3398703401743157 +/- 0.04709181286023165], uwreal[0.4097991295579195 +/- 0.009612187019466317, 0.4135236051061287 +/- 0.013719725833586181, 0.7838032424207018 +/- 0.14639252297225644], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.134 0.134
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5247241693044553 +/- 0.08043321210811183, 0.5600932889910963 +/- 0.04489114365671268], uwreal[0.6113483052326071 +/- 0.07303251522424217, 0.5968202954776942 +/- 0.03964185813731235, 1.0167882202423273 +/- 0.10594595681276923], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1345 0.1345
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5161410487332492 +/- 0.13732389761374, 0.6671936445705801 +/- 0.0649084208275662], uwreal[0.6421539115807234 +/- 0.03359802483591346, 0.643203246299235 +/- 0.035489003635800334, 0.9104955145826528 +/- 0.11661373393488784], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.135 0.135
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6833659953411675 +/- 0.19189543489279884, 0.7936722915883625 +/- 0.1645107097856962], uwreal[0.6949299419795532 +/- 0.04093822120877493, 0.6920154749974967 +/- 0.03844657466677778, 0.9445195904855038 +/- 0.051353773476049594], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1355 0.1355
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6832377253446192 +/- 0.0537213310577472, 0.75565443496379 +/- 0.18228246186528813], uwreal[0.7705869340495459 +/- 0.048963100043085676, 0.7768407134608469 +/- 0.03982568826831638, 1.0627720009920576 +/- 0.18455841729750172], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.136 0.136
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7381970051547233 +/- 0.17030346918733455, 0.7383813442525676 +/- 0.1329308216559864], uwreal[0.8560123544848621 +/- 0.11300186635874171, 0.8794888589847879 +/- 0.14386095370613644, 1.014029543055941 +/- 0.07257451124476401], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1325 0.1325
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.2073439255915157 +/- 0.020507319848849077, 0.2658166650167719 +/- 0.04695603175647445], uwreal[0.2589628746146604 +/- 0.00694335700333698, 0.26711261945214226 +/- 0.012799921666165925, 0.9192827816283349 +/- 0.19534857054845028], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1318 0.1318
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.6742417956351455 +/- 0.31349310709383615, 1.0904882424054887 +/- 0.2245139131021689], uwreal[1.2828806654768519 +/- 0.44263400094310823, 1.4268749256558169 +/- 1.9985581048737624, 1.4268749256558169 +/- 1.9985581048737624], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1322 0.1322
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.23195738082338238 +/- 0.03933186735296764, 0.4257900827744041 +/- 0.08037735651129799], uwreal[0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743, 0.8889583750572612 +/- 0.09558585229971743], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1328 0.1328
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.33586592684449856 +/- 0.06700517915174804, 0.3284966150688644 +/- 0.05956254215553113], uwreal[0.3393422458923846 +/- 0.009363259790719261, 0.34791876675004535 +/- 0.009133466158336977, 0.96135230176371 +/- 0.28515849693195144], uwreal[], uwreal[], Float64[], uwreal[], uwreal[])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1315 0.1315
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.7034313637344539 +/- 0.10301758959839283, 0.914034777418048 +/- 0.2447899199449841], uwreal[0.8894021486084969 +/- 0.5258404416709271, 1.7438680449057962 +/- 0.20312410591738433, 1.5345206062503527 +/- 0.22319019320713085], uwreal[#undef], uwreal[#undef], [6.95104524557654e-310, 6.95100875756537e-310, 6.95104524546113e-310, 6.9510452454627e-310, 6.9510452454643e-310, 6.95104524546587e-310, 6.95104524546903e-310, 6.9510452454706e-310, 6.95104524547377e-310, 6.9510452454801e-310, 6.9510452454817e-310, 6.95104524548326e-310, 6.9510452454864e-310, 6.9510452552381e-310, 6.9511414704713e-310, 6.95100875788315e-310, 6.951045245488e-310, 6.9510087576966e-310, 6.9511490148604e-310, 6.9510452455038e-310, 6.9510452455117e-310, 6.95104524552595e-310, 6.95104524554176e-310, 6.95100875981673e-310, 0.0], uwreal[#undef], uwreal[#undef])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.132 0.132
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.5489508260234942 +/- 0.0661122114216399, 0.9447180505985463 +/- 0.14264822786791875], uwreal[0.8849591765891759 +/- 0.07457940844020193, 1.24160729026234 +/- 0.45825346280051754, 0.9447180505985463 +/- 0.14264822786791875], uwreal[#undef], uwreal[#undef], [-0.008127751098824102, 0.000828110634833442, -0.002889906438474466, 0.0009104944128808163, 0.00384785124580064, -0.002982834444909155, 0.005928740294683068, -0.00725563800474393, -0.01198399014676348, -0.0010500787271761362, 0.005111270108291018, 0.0017900073582518246, 0.0003365890318593467, 3.057624960631588e-5, 0.0027802919920645536, 0.001456761142657014, -0.007261427898294045, -0.002536740310277763, -0.0018033895720405422, -0.007031479885340497, -0.0006106686260242858, -0.000343489196675588, 0.004870644789895715, -0.005711289102333973, 0.0], uwreal[#undef], uwreal[#undef])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1327 0.1327
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.27170443016805573 +/- 0.02716371479605193, 0.34936997858120783 +/- 0.08107658974764084], uwreal[0.31889546071944147 +/- 0.00585209962010578, 0.3324607531296575 +/- 0.008498156710565804, 0.7646804325478338 +/- 0.13527321894645059], uwreal[#undef], uwreal[#undef], [2.1219957915e-314, 2.1219957915e-314, 2.1219957915e-314, 2.1219957915e-314, 2.1219957915e-314, 2.1219957915e-314, 6.3659873734e-314, 6.3659873744e-314, 8.4879831653e-314, 8.487983166e-314, 8.487983166e-314, 8.487983166e-314, 8.487983166e-314, 1.06099789573e-313, 1.06099789573e-313, 1.48539705397e-313, 1.485397054e-313, 1.485397054e-313, 1.485397054e-313, 1.6975966331e-313, 1.69759663317e-313, 1.69759663317e-313, 1.69759663317e-313, 2.12199579136e-313, 0.0], uwreal[#undef], uwreal[#undef])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1324 0.1324
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.1710457337782237 +/- 0.016683160708291834, 0.22288558978679684 +/- 0.045576750464175954], uwreal[0.2179068545264541 +/- 0.005817623980632494, 0.2378861323912228 +/- 0.014077801695814955, 0.9057809605692666 +/- 0.12981509673569563], uwreal[#undef], uwreal[#undef], [0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0, 6.95113812778913e-310, 6.95114097557402e-310, 0.0, 6.95114097556296e-310, 6.95114097556296e-310, 0.0, 6.9511409755598e-310, 6.9511409755598e-310, 0.0, 6.95114097555663e-310, 6.95114097555663e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0], uwreal[#undef], uwreal[#undef])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1323 0.1323
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.12508383165279127 +/- 0.020269171659453907, 0.1367845784064862 +/- 0.018086069353228696], uwreal[0.17327214520650672 +/- 0.0061544388057530805, 0.24980003188108987 +/- 0.06010711358492358, 0.8564757107856912 +/- 0.18128705760204095], uwreal[#undef], uwreal[#undef], [0.0, 6.95113812778913e-310, 6.9511387450771e-310, 0.0, 6.9511490164869e-310, 6.9511490164869e-310, 0.0, 6.95114018825394e-310, 6.95114018825394e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0, 6.95113812778913e-310, 6.95114018835117e-310, 0.0, 6.95113812778913e-310, 6.9511381871837e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0, 6.95113812778913e-310, 6.95113810577435e-310, 0.0], uwreal[#undef], uwreal[#undef])
h2runs{Float64}(Group:  SU2{Float64}
 - beta:              6.0
 - c0:                1.0
 - cG:                (0.0, 0.0)
, Number of scalar fields: 2
 - Kappas:  0.1326 0.1326
 - etas:    0.01 0.05
 - mu12:    0.01
 - xi:     (0.005, 0.005, 0.01, 0.01)

, uwreal[0.228988694882946 +/- 0.022846774075704804, 0.28332638134015736 +/- 0.027191266294877576], uwreal[0.29481349727941925 +/- 0.006217980815922042, 0.3132613293834663 +/- 0.00994857104952149, 0.8434542356450345 +/- 0.2072933710846273], uwreal[#undef], uwreal[#undef], [1.182994722033473, 1.154840556761539, 1.1723602224478837, 1.2034056361944352, 1.2216597174664279, 1.1551367566559625, 1.1790404254946676, 1.1934347224807826, 1.2100423156279225, 1.2025872137109053, 1.1858175291175066, 1.2007589116003747, 1.2107955035760083, 1.2345259910571194, 1.2047613707589944, 1.1770983771477395, 1.1345715216474033, 1.1133502674132665, 1.1037581931943703, 1.136643623193269, 1.1589649082989948, 1.1824135955210129, 1.19006636837246, 1.203126163472724, 6.95113810577435e-310], uwreal[#undef], uwreal[#undef])
#+end_example


**** Save BDIO
#+begin_src jupyter-julia :session h2ps :results output silent
save = true
# save = false
if save
    write_cruns_bdio("saved_sim/su2_phasespace_simulations_glb_dims.bdio", sims)
end
#+end_src

**** Read BDIO

#+begin_src jupyter-julia :session h2ps
read = true
#test reading runs
if read
    sims = read_cruns_bdio("saved_sim/su2_phasespace_simulations_glb_dims.bdio")
end
#+end_src

#+RESULTS:
#+begin_example
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759
┌ Warning: No flowtime
└ @ Main In[2]:759

 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:


 - etas:
 - mu12:
 - xi:
#+end_example
**** Print simulation details
#+begin_src jupyter-julia :session h2ps
rr = newsims
for r in rr
    # print(r.gp,"\n",r.sp,"\n\n")
end
#+end_src

#+RESULTS:


**** Plots - $\kappa_1=\kappa_2$
***** Tables
#+begin_src jupyter-julia :session h2ps
bet = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ks = Vector{Float64}()
rr = runs
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(ks,rsp.kap[1])
    end
end
sort!(ks)

L=24
LmHs = Array{uwreal,2}(undef, 2, length(ks))
LmWs = Array{uwreal,2}(undef, 3, length(ks))

plt = plot(reuse=false, xlabel=L"k",ylabel=ylbl, title=ttl,)
rr = runs
for i in 1:length(ks)
    k=ks[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.kap[1] == k && rsp.kap[2]==k
            print(k, " & ")
            LmHs[:,i] = r.mH*L
            uwerr.(LmHs[:,i])
            for h in 1:length(LmHs[:,i])
                print(LmHs[h,i]," & ")
            end
            LmWs[:,i] = r.mW*L
            uwerr.(LmWs[:,i])
            for h in 1:length(LmWs[:,i])-2
                print(LmWs[h,i]," & ")
            end
            print(LmWs[end-1,i]," \\\\ ")
            print("\n")
        end
    end
end

#+end_src

#+RESULTS:
#+begin_example
0.132 & 14.470003130131833 +/- 3.3072176771200588 & 22.88387286992193 +/- 5.1969310870367345 & 21.04368102169744 +/- 2.0824780708894917 & 31.50946223409074 +/- 14.89656217985309 \\
0.1322 & 5.683665292957693 +/- 0.8294259899696295 & 11.068897107316968 +/- 1.8034923346846474 & 20.74026238560398 +/- 2.439604258812843 & 20.74026238560398 +/- 2.439604258812843 \\
0.13222 & 1.3400392350595223 +/- 0.16894541700432145 & 3.211486448335398 +/- 0.5867881988352427 & 9.945853952134023 +/- 1.7162370525980872 & 20.220353389892754 +/- 6.617003348758613 \\
0.13223 & 1.6204041802451683 +/- 0.23148129908107345 & 2.521949063726735 +/- 0.39248351436508655 & 4.381286519106243 +/- 0.7461263940118501 & 13.586846439687433 +/- 3.325607163381904 \\
0.13224 & 1.4436864624031462 +/- 0.12004165866355693 & 2.941969086913296 +/- 0.6076050404779466 & 3.734430873140795 +/- 0.6711585902304625 & 11.573202259615826 +/- 2.072917208159276 \\
0.13225 &         1.95(13) &         2.86(31) &         4.17(46) &          8.5(16) \\
0.1323 & 2.7451319081499395 +/- 0.5368877415849318 & 3.180877122084287 +/- 0.48731956581963787 & 4.119033714020283 +/- 0.15506943567716472 & 6.433554584659282 +/- 1.1560182396803018 \\
0.13235 & 3.3382596004952245 +/- 0.2965944344493117 & 5.008714008126448 +/- 0.633057896326169 & 4.539745565774503 +/- 0.17403235987341512 & 5.716735302522827 +/- 0.5134140961574658 \\
0.1324 & 4.136751545332277 +/- 0.3334915844549371 & 5.735139246118315 +/- 0.8778743752464501 & 5.210574956379992 +/- 0.13393051690850594 & 5.695720924948221 +/- 0.3251005586120681 \\
0.1325 & 4.925022606229531 +/- 0.4610944851322006 & 7.8734630801001995 +/- 1.0874555182123968 & 6.2034964472548255 +/- 0.16473644177211086 & 6.446034462877304 +/- 0.3162824614379969 \\
0.1326 & 5.76560712222295 +/- 0.5925587047977615 & 7.231572734129321 +/- 0.6520162501062319 & 7.082456665799546 +/- 0.15327340839492729 & 7.514953286258399 +/- 0.2720412641688018 \\
0.1328 & 7.266947742407748 +/- 0.6864342917340789 & 8.396712897406356 +/- 1.1512354458709761 & 8.187105511400791 +/- 0.24530529754040487 & 8.385689009130102 +/- 0.2579485136912785 \\
#+end_example

***** $aM_W(\kappa)$

#+begin_src jupyter-julia :session h2ps
bet = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = latexstring("am")
ks = Vector{Float64}()
rr = sims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(ks,rsp.kap[1])
    end
end
sort!(ks)

mHs = Array{uwreal,2}(undef, 2, length(ks))
mWs = Array{uwreal,2}(undef, 3, length(ks))

plt = plot(reuse=false, xlabel=L"k",ylabel=ylbl, title=ttl,)
for i in 1:length(ks)
    k=ks[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.kap[1] == k && rsp.kap[2]==k
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
            mWs[:,i] = r.mW
            uwerr.(mWs[:,i])
        end
    end
end
st=3
fc=0
p=scatter!(ks[st:end-fc], value.(mHs[1,st:end-fc]), yerr=err.(mHs[1,st:end-fc]), label=L"m_{H_1}", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(ks[st:end-fc], value.(mHs[2,st:end-fc]), yerr=err.(mHs[2,st:end-fc]), label=L"m_{H_2}")
p=scatter!(ks[st:end-fc], value.(mWs[1,st:end-fc]), yerr=err.(mWs[1,st:end-fc]), label=L"m_{W_1}", markershape=:diamond)
# p=scatter!(ks[st:end-fc], value.(mWs[2,st:end-fc]), yerr=err.(mWs[2,st:end-fc]), label=L"m_{W_2}")
# p=scatter!(ks[st:end-fc], value.(mWs[3,st:end-fc]), yerr=err.(mWs[3,st:end-fc]), label=L"m_{W_{12}}")
print(ks[st:end-fc])
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).png"
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mW1_lat$(lat)x$(tim)_b$(bet).png"
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mW1_mW2_lat$(lat)x$(tim)_b$(bet).png"
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mW12_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.13222, 0.13223, 0.13224, 0.13225, 0.1323, 0.13235, 0.1324, 0.1325, 0.1326, 0.1328]
[[file:./.ob-jupyter/6189056a16dfbee33f2c23602d637e78112c1c7d.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mW12_lat24x24_b6.0.png
:END:

***** Mass Ratios


#+begin_src jupyter-julia :session h2ps
bet = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = latexstring("m/m")
ks = Vector{Float64}()
rr = newsims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(ks,rsp.kap[1])
    end
end

mHmH = Vector{uwreal}(undef, length(ks))
mHmW = Array{uwreal,2}(undef, 4, length(ks))
mWmW = Vector{uwreal}(undef, length(ks))

plt = plot(reuse=false, xlabel=L"k",ylabel=ylbl, title=ttl,)
rr = newsims
for i in 1:length(ks)
    k=ks[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.kap[1] == k && rsp.kap[2]==k
            mHmH[i] = r.mH[1]/r.mH[2]
            uwerr(mHmH[i])
            mHmW[1,i] = r.mH[1]/r.mW[1]
            mHmW[2,i] = r.mH[2]/r.mW[2]
            mHmW[3,i] = r.mH[1]/r.mW[2]
            mHmW[4,i] = r.mH[2]/r.mW[1]
            uwerr.(mHmW[:,i])
            mWmW[i] = r.mW[1]/r.mW[2]
            uwerr(mWmW[i])
        end
    end
end
p=scatter!(ks, value.(mHmH[:]), yerr=err.(mHmH[:]), label=L"m_{H_1}/m_{H_2}",xlims=(0.1319,0.1331))
# p=scatter!(ks, value.(mWmW[:]), yerr=err.(mWmW[:]), label=L"m_{W_1}/m_{W_2}",xlims=(0.1319,0.1331))
r=1
# p=scatter!(ks, value.(mHmW[r,:]), yerr=err.(mHmW[r,:]), label=L"m_{H}/m_{W}",xlims=(0.1319,0.1331))
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1mH2_lat$(lat)x$(tim)_b$(bet).png"
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mW1_lat$(lat)x$(tim)_b$(bet).png"
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mW1_mW2_lat$(lat)x$(tim)_b$(bet).png"
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mW12_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/6c23082dc1d9657636e6de3e881fbf9cc2c4a7fb.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1mH2_lat16x24_b6.0.png
:END:

***** Global Obs.

#+begin_src jupyter-julia :session h2ps
bet = 6.0; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = latexstring("am")
ks = Vector{Float64}()
rr = sims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(ks,rsp.kap[1])
    end
end
sort!(ks)

#plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
glb = Array{uwreal,2}(undef, 7, length(ks))
mHs = Array{uwreal,2}(undef, 2, length(ks))

plt = plot(reuse=false, xlabel=L"k",ylabel=ylbl, title=ttl,)
for i in 1:length(ks)
    k=ks[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.kap[1] == k && rsp.kap[2]==k
            glb[:,i] = r.glb
            uwerr.(glb[:,i])
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
        end
    end
end
st=1
fc=0
g = 6
p=scatter!(ks[st:end-fc], value.(glb[g,st:end-fc]), yerr=err.(glb[g,st:end-fc]), label=L"glb", markershape=:utriangle)#,xlims=(0.1319,0.1331))
print(ks[st:end-fc])
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.132, 0.1322, 0.13222, 0.13223, 0.13224, 0.13225, 0.1323, 0.13235, 0.1324, 0.1325, 0.1326, 0.1328]
[[file:./.ob-jupyter/3b159721e9383525ae100610eb3559389357d689.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat24x24_b6.0.png
:END:

**** Scan $k_2$ - ($k_1$ fixed)
***** Mass & Mass ratios

#+begin_src jupyter-julia :session h2ps
# bet = 5.5; k1=0.133; et1=0.003; et2=0.001; mu=0.0; xi1=0.0001; xi2=0.0001; xi3=0.0; xi4=0.0
bet = 6.0; k1=0.133; et1=0.003; et2=0.001; mu=0.001; xi1=0.0001; xi2=0.0001; xi3=0.0005; xi4=0.0001
ttl = latexstring("\\beta=$(bet);~k_1=$(k1)")
ylbl = ""
k2vec = Vector{Float64}()
rr = sims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.muh==mu && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(k2vec,rsp.kap[2])
    end
end
sort!(k2vec)

#plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
glb = Array{uwreal,2}(undef, 7, length(k2vec))
mHs = Array{uwreal,2}(undef, 2, length(k2vec))
mWs = Array{uwreal,2}(undef, 3, length(k2vec))
mHmW = Array{uwreal,2}(undef, 4, length(k2vec))

plt = plot(reuse=false, xlabel=L"\kappa_2",ylabel=ylbl, title=ttl)
for i in 1:length(k2vec)
    k2=k2vec[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.muh==mu && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.kap[2] == k2
            glb[:,i] = r.glb
            uwerr.(glb[:,i])
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
            mWs[:,i] = r.mW
            uwerr.(mWs[:,i])
            mHmW[1,i] = r.mH[1]/r.mW[1]
            mHmW[2,i] = r.mH[2]/r.mW[2]
            mHmW[3,i] = r.mH[1]/r.mW[2]
            mHmW[4,i] = r.mH[2]/r.mW[1]
            uwerr.(mHmW[:,i])
        end
    end
end
st=1
fc=0
print(k2vec)
g = 6
# vspan!([k2vec[st], 0.1302], linecolor = :black, fillcolor = :red1,label="",alpha=0.1)
# vspan!([0.1302, k2vec[end-fc]], linecolor = :grey, fillcolor = :aqua,label="",alpha=0.1)
# p=scatter!([(0.128, 1.6), (0.131, 1.6)]; texts=["(C)","(D)"],label="",markersize=0)
#glb
# p=scatter!(k2vec[st:end-fc], value.(glb[g,st:end-fc]), yerr=err.(glb[g,st:end-fc]), label=L"L_{\alpha,1}", markershape=:utriangle,legend=:bottomright)#,xlims=(0.1319,0.1331))
# p=scatter!(k2vec[st:end-fc], value.(glb[g+1,st:end-fc]), yerr=err.(glb[g+1,st:end-fc]), label=L"L_{\alpha,2}")#,xlims=(0.1319,0.1331))
#masses
# p=scatter!(k2vec[st:end-fc], value.(mHs[1,st:end-fc]), yerr=err.(mHs[1,st:end-fc]), label=L"m_{H_1}", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(k2vec[st:end-fc], value.(mHs[2,st:end-fc]), yerr=err.(mHs[2,st:end-fc]), label=L"m_{H_2}")
p=scatter!(k2vec[st:end-fc], value.(mWs[1,st:end-fc]), yerr=err.(mWs[1,st:end-fc]), label=L"\textrm{Vector}-\Phi_1", markershape=:diamond,markercolor=:red,markerstrokecolor = :red)
p=scatter!(k2vec[st:end-fc], value.(mWs[2,st:end-fc]), yerr=err.(mWs[2,st:end-fc]), label=L"\textrm{Vector}-\Phi_2", markershape=:utriangle,markercolor=:black,markerstrokecolor = :black)
p=scatter!(k2vec[st:end-fc], value.(mWs[3,st:end-fc]), yerr=err.(mWs[3,st:end-fc]), label=L"\textrm{Vector}-\Phi_1\Phi_2",markercolor=:green,markerstrokecolor = :green)
#mass ratios
# p=scatter!(k2vec[st:end-fc], value.(mHmW[1,st:end-fc]), yerr=err.(mHmW[1,st:end-fc]), label=L"m_{H_1}/m_{W_1}", markershape=:square,markercolor=:black,markerstrokecolor=:black)
# p=scatter!(k2vec[st:end-fc], value.(mHmW[2,st:end-fc]), yerr=err.(mHmW[2,st:end-fc]), label=L"m_{H_2}/m_{W_2}", markershape=:circle)
# p=scatter!(k2vec[st:end-fc], value.(mHmW[3,st:end-fc]), yerr=err.(mHmW[3,st:end-fc]), label=L"m_{H_1}/m_{W_2}", markershape=:utriangle)
# p=scatter!(k2vec[st:end-fc], value.(mHmW[4,st:end-fc]), yerr=err.(mHmW[4,st:end-fc]), label=L"m_{H_2}/m_{W_1}", markershape=:diamond,legend=:topleft)
display(p)
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_Lalp12_lat$(lat)x$(tim)_b$(bet).pdf"
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_mW1_mW2_mW12_lat$(lat)x$(tim)_b$(bet).pdf"
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_mH1_mW1_lat$(lat)x$(tim)_b$(bet).pdf"
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_mH1omW1_lat$(lat)x$(tim)_b$(bet).pdf"
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).pdf"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.1265, 0.127, 0.1275, 0.1285, 0.1287, 0.1288, 0.129, 0.1293]
[[file:./.ob-jupyter/39ca44cefccd9111e1ffca84409f718ef674a129.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/presentations/ncts_2023/ps_mH1omW1_lat24x24_b6.0.pdf
:END:





**** $\eta_2$ plots
***** Mass & Mass ratios

#+begin_src jupyter-julia :session h2ps
bet = 6.0; k1=0.1324; k2=k1; et1=0.01; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = latexstring("am")
et2vec = Vector{Float64}()
rr = newsims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(et2vec,rsp.eta[2])
    end
end
sort!(et2vec)

#plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
glb = Array{uwreal,2}(undef, 7, length(et2vec))
mHs = Array{uwreal,2}(undef, 2, length(et2vec))
mWs = Array{uwreal,2}(undef, 3, length(et2vec))
mHmW = Array{uwreal,2}(undef, 4, length(et2vec))

plt = plot(reuse=false, xlabel=L"\eta_2",ylabel=ylbl, title=ttl,)
for i in 1:length(et2vec)
    et2=et2vec[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.eta[2] == et2
            glb[:,i] = r.glb
            uwerr.(glb[:,i])
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
            mWs[:,i] = r.mW
            uwerr.(mWs[:,i])
            mHmW[1,i] = r.mH[1]/r.mW[1]
            mHmW[2,i] = r.mH[2]/r.mW[2]
            mHmW[3,i] = r.mH[1]/r.mW[2]
            mHmW[4,i] = r.mH[2]/r.mW[1]
            uwerr.(mHmW[:,i])
        end
    end
end
st=1
fc=1
print(et2vec)
g = 6
p=scatter!(et2vec[st:end-fc], value.(glb[g,st:end-fc]), yerr=err.(glb[g,st:end-fc]), label=L"glb", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(et2vec[st:end-fc], value.(mHs[1,st:end-fc]), yerr=err.(mHs[1,st:end-fc]), label=L"m_{H_1}", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(et2vec[st:end-fc], value.(mHs[2,st:end-fc]), yerr=err.(mHs[2,st:end-fc]), label=L"m_{H_2}")
# p=scatter!(et2vec[st:end-fc], value.(mWs[1,st:end-fc]), yerr=err.(mWs[1,st:end-fc]), label=L"m_{W_1}", markershape=:diamond)
# p=scatter!(et2vec[st:end-fc], value.(mWs[2,st:end-fc]), yerr=err.(mWs[2,st:end-fc]), label=L"m_{W_2}")
#mass ratios
p=scatter!(et2vec[st:end-fc], value.(mHmW[1,st:end-fc]), yerr=err.(mHmW[1,st:end-fc]), label=L"m_{H_1}/m_{W_1}", markershape=:square)
# p=scatter!(et2vec[st:end-fc], value.(mHmW[2,st:end-fc]), yerr=err.(mHmW[2,st:end-fc]), label=L"m_{H_2}/m_{W_2}", markershape=:circle)
# p=scatter!(et2vec[st:end-fc], value.(mHmW[3,st:end-fc]), yerr=err.(mHmW[3,st:end-fc]), label=L"m_{H_1}/m_{W_2}", markershape=:utriangle)
# p=scatter!(et2vec[st:end-fc], value.(mHmW[4,st:end-fc]), yerr=err.(mHmW[4,st:end-fc]), label=L"m_{H_2}/m_{W_1}", markershape=:diamond,legend=:topleft)

display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.03, 0.04, 0.05, 0.055]
[[file:./.ob-jupyter/02df85d60cff472187942ad70df08b9960e8f28d.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat16x24_b6.0.png
:END:




**** $\eta_1$ plots
***** Mass & Mass ratios

#+begin_src jupyter-julia :session h2ps
bet = 6.0; k1=0.1324; k2=k1; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = ""
et1vec = Vector{Float64}()
rr = runs
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(et1vec,rsp.eta[1])
    end
end
sort!(et1vec)

#plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
glb = Array{uwreal,2}(undef, 7, length(et1vec))
mHs = Array{uwreal,2}(undef, 2, length(et1vec))
mWs = Array{uwreal,2}(undef, 3, length(et1vec))
mHmW = Array{uwreal,2}(undef, 4, length(et1vec))

plt = plot(reuse=false, xlabel=L"\eta_1",ylabel=ylbl, title=ttl,)
for i in 1:length(et1vec)
    et1=et1vec[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.eta[1] == et1
            glb[:,i] = r.glb
            uwerr.(glb[:,i])
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
            mWs[:,i] = r.mW
            uwerr.(mWs[:,i])
            mHmW[1,i] = r.mH[1]/r.mW[1]
            mHmW[2,i] = r.mH[2]/r.mW[2]
            mHmW[3,i] = r.mH[1]/r.mW[2]
            mHmW[4,i] = r.mH[2]/r.mW[1]
            uwerr.(mHmW[:,i])
        end
    end
end
st=2
fc=1
print(et1vec)
g = 7
# p=scatter!(et1vec[st:end-fc], value.(glb[g,st:end-fc]), yerr=err.(glb[g,st:end-fc]), label=L"glb", markershape=:utriangle)#,xlims=(0.1319,0.1331))
p=scatter!(et1vec[st:end-fc], value.(mHs[1,st:end-fc]), yerr=err.(mHs[1,st:end-fc]), label=L"m_{H_1}", markershape=:utriangle)#,xlims=(0.1319,0.1331))
p=scatter!(et1vec[st:end-fc], value.(mHs[2,st:end-fc]), yerr=err.(mHs[2,st:end-fc]), label=L"m_{H_2}")
p=scatter!(et1vec[st:end-fc], value.(mWs[1,st:end-fc]), yerr=err.(mWs[1,st:end-fc]), label=L"m_{W_1}", markershape=:diamond)
p=scatter!(et1vec[st:end-fc], value.(mWs[2,st:end-fc]), yerr=err.(mWs[2,st:end-fc]), label=L"m_{W_2}")
#mass ratios
# p=scatter!(et1vec[st:end-fc], value.(mHmW[1,st:end-fc]), yerr=err.(mHmW[1,st:end-fc]), label=L"m_{H_1}/m_{W_1}", markershape=:square)
# p=scatter!(et1vec[st:end-fc], value.(mHmW[2,st:end-fc]), yerr=err.(mHmW[2,st:end-fc]), label=L"m_{H_2}/m_{W_2}", markershape=:circle)
# p=scatter!(et1vec[st:end-fc], value.(mHmW[3,st:end-fc]), yerr=err.(mHmW[3,st:end-fc]), label=L"m_{H_1}/m_{W_2}", markershape=:utriangle)
# p=scatter!(et1vec[st:end-fc], value.(mHmW[4,st:end-fc]), yerr=err.(mHmW[4,st:end-fc]), label=L"m_{H_2}/m_{W_1}", markershape=:diamond,legend=:topleft)

display(p)
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).png"
# print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.008, 0.009, 0.01, 0.0102, 0.0104, 0.0106, 0.011, 0.012]
[[file:./.ob-jupyter/03aecaf2331c22572718260b21dc7d38ed256d95.svg]]
:END:

**** $\mu$ plots
***** Mass & Mass ratios

#+begin_src jupyter-julia :session h2ps
bet = 5.5; k1=0.1324; k2=k1; et1=0.01; et2=0.05; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
ttl = latexstring("\\beta=$(bet);~k_1=k_2")
ylbl = ""
muvec = Vector{Float64}()
rr = sims
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4
        push!(muvec,rsp.muh)
    end
end
sort!(muvec)

#plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
glb = Array{uwreal,2}(undef, 7, length(muvec))
mHs = Array{uwreal,2}(undef, 2, length(muvec))
mWs = Array{uwreal,2}(undef, 3, length(muvec))
mHmW = Array{uwreal,2}(undef, 4, length(muvec))

plt = plot(reuse=false, xlabel=L"\mu",ylabel=ylbl, title=ttl,)
for i in 1:length(muvec)
    mu=muvec[i]
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1 && rsp.eta[2] == et2 && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && rsp.muh == mu
            glb[:,i] = r.glb
            uwerr.(glb[:,i])
            mHs[:,i] = r.mH
            uwerr.(mHs[:,i])
            mWs[:,i] = r.mW
            uwerr.(mWs[:,i])
            mHmW[1,i] = r.mH[1]/r.mW[1]
            mHmW[2,i] = r.mH[2]/r.mW[2]
            mHmW[3,i] = r.mH[1]/r.mW[2]
            mHmW[4,i] = r.mH[2]/r.mW[1]
            uwerr.(mHmW[:,i])
        end
    end
end
st=1
fc=0
print(muvec)
g = 7
# p=scatter!(muvec[st:end-fc], value.(glb[g,st:end-fc]), yerr=err.(glb[g,st:end-fc]), label=L"glb", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(muvec[st:end-fc], value.(mHs[1,st:end-fc]), yerr=err.(mHs[1,st:end-fc]), label=L"m_{H_1}", markershape=:utriangle)#,xlims=(0.1319,0.1331))
# p=scatter!(muvec[st:end-fc], value.(mHs[2,st:end-fc]), yerr=err.(mHs[2,st:end-fc]), label=L"m_{H_2}")
# p=scatter!(muvec[st:end-fc], value.(mWs[1,st:end-fc]), yerr=err.(mWs[1,st:end-fc]), label=L"m_{W_1}", markershape=:diamond)
# p=scatter!(muvec[st:end-fc], value.(mWs[2,st:end-fc]), yerr=err.(mWs[2,st:end-fc]), label=L"m_{W_2}")
#mass ratios
p=scatter!(muvec[st:end-fc], value.(mHmW[1,st:end-fc]), yerr=err.(mHmW[1,st:end-fc]), label=L"m_{H_1}/m_{W_1}", markershape=:square)
p=scatter!(muvec[st:end-fc], value.(mHmW[2,st:end-fc]), yerr=err.(mHmW[2,st:end-fc]), label=L"m_{H_2}/m_{W_2}", markershape=:circle)
p=scatter!(muvec[st:end-fc], value.(mHmW[3,st:end-fc]), yerr=err.(mHmW[3,st:end-fc]), label=L"m_{H_1}/m_{W_2}", markershape=:utriangle)
p=scatter!(muvec[st:end-fc], value.(mHmW[4,st:end-fc]), yerr=err.(mHmW[4,st:end-fc]), label=L"m_{H_2}/m_{W_1}", markershape=:diamond,legend=:topleft)

display(p)
# outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_mH1_mH2_lat$(lat)x$(tim)_b$(bet).png"
# print(outputname)
# savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
: [0.012, 0.014, 0.016, 0.018, 0.02, 0.024]
[[file:./.ob-jupyter/1ef0d9d3d2a5d69e40902f89fd618168c045a3e8.svg]]
:END:

*** Smearing test
**** Define struct
#+begin_src jupyter-julia :session h2ps
mutable struct h2smruns{T}
    #specific struct for 2HDM simulations
    gp::GaugeParm{T,SU2{T},0}
    sp::ScalarParm{2,T}
    mH::Vector{uwreal} #mH1, mH2
    mW::Vector{uwreal} #mW1, mW2, mW12
    glb::Vector{uwreal} #plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
    sus::Int64
    sdt::Float64
    sss::Int64
    srs::Float64
end
#+end_src

#+RESULTS:

#+begin_src jupyter-julia :session h2ps
smruns = Vector{h2smruns}()
#+end_src

#+RESULTS:

**** Save measurements

#+begin_src jupyter-julia :session h2ps
a = h2smruns(gp, sp, mHvec, mWvec, glbvec, sus, sdt, sss, srs)
# add run to vector
# first check if this beta is already there
append = true
rr = smruns
for i in 1:length(rr)
    if rr[i].sus == sus && rr[i].sdt == sdt && rr[i].sss == sss && rr[i].srs == srs
        rr[i] = a
        append = false
    end
end
if append
    push!(rr, a)
    print("append")
end
#+end_src

#+RESULTS:

**** Plots
***** Table

#+begin_src jupyter-julia :session h2ps
srsvec = Vector{Float64}()
rr = smruns
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && r.sus == sus && r.sdt==sdt
        if r.srs in srsvec
            continue
        else
            push!(srsvec,r.srs)
        end
    end
end
sort!(sssvec)
for sr in srsvec
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && r.sus == sus && r.sdt==sdt && r.srs == sr
            invmH = 1 ./ (2 .* r.mH .^2 )
            uwerr.(invmH)
            invmW = 1 ./ (2 .* r.mW .^2 )
            uwerr.(invmW)
            Nr = r.srs*r.sss
            print(r.srs,"&",r.sss," & ",Nr,"&",invmH[1],"&",invmH[2],"&",invmW[1],"&",invmW[2],"\\\\ \n")
        end
    end
end

#+end_src

#+RESULTS:
#+begin_example
0.05&20 & 1.0&1.9916473030639963 +/- 0.5596566649234749&0.6877201208306659 +/- 0.3570935440439374&0.46874472753028895 +/- 0.14822760705865895&0.22482569852231915 +/- 0.06481581823207333\\
0.05&40 & 2.0&1.0240083759969287 +/- 0.6463852813505994&0.6470451311196749 +/- 0.260386923138997&0.8031237140936393 +/- 0.16391558967955802&0.3133371109869641 +/- 0.06930460336283135\\
0.05&60 & 3.0&2.8298731045610444 +/- 1.2053114638154308&0.941062338189833 +/- 0.3549976529059656&1.3701871074665077 +/- 0.4273152336926474&0.6797580159382732 +/- 0.2615353306462885\\
0.05&80 & 4.0&3.266729242786265 +/- 0.809630545896083&1.3603692985112523 +/- 0.38959739085053813&1.415586975820989 +/- 0.2646962578362908&0.665186932429922 +/- 0.3058478714286901\\
0.05&100 & 5.0&2.462751068737411 +/- 1.052164286556168&1.1230920876896264 +/- 0.346509144925387&1.6567966966123011 +/- 0.2538180645578262&0.6397020835767105 +/- 0.23354564786661186\\
0.1&80 & 8.0&3.8998432980121 +/- 0.9298012815223701&2.1608905925853636 +/- 0.8868273200379838&1.57542583806349 +/- 0.17924740363899513&0.8189974242001009 +/- 0.2770073855088487\\
0.1&60 & 6.0&3.5961634869238104 +/- 1.115711868631567&1.9334547838377563 +/- 1.0140535680777276&3.196841535615 +/- 0.9293884908758987&1.660991571244219 +/- 0.6271102826752062\\
0.1&100 & 10.0&4.51060626579237 +/- 1.0391523356833294&3.194237395274354 +/- 0.749979295373112&2.8433313346510176 +/- 0.3619817796097922&1.7948102567532578 +/- 0.689087770010343\\
0.1&40 & 4.0&3.5498194673363797 +/- 1.028103609068106&1.6233849726552545 +/- 0.47909915283233906&1.0935662560074622 +/- 0.5556417601461453&0.6150446995203238 +/- 0.22489116962707614\\
0.1&20 & 2.0&2.026153467466278 +/- 0.5131520366313931&0.6308445331254703 +/- 0.5097556230686798&1.1110272983818288 +/- 0.2207896900968592&0.39899097599448335 +/- 0.12258537208034473\\
0.15&20 & 3.0&3.0806214681318065 +/- 0.9772684760737412&1.2449355188755002 +/- 0.5822872019453588&1.206778804312939 +/- 0.27834089066163487&0.5614091980977342 +/- 0.13101234228263917\\
0.15&40 & 6.0&2.7386246528519487 +/- 0.6730032594241981&1.2832749807521713 +/- 0.42876553057675015&2.096654416069448 +/- 0.4616722575851653&1.0393807043647028 +/- 0.48695356468653783\\
0.15&60 & 9.0&6.780229596013154 +/- 1.3524727310105498&4.258876234363233 +/- 1.0298811147187266&2.214704890845852 +/- 0.3953995471816991&1.2167780230366239 +/- 0.4309873595596708\\
#+end_example

***** Scalar Smearing Steps -& Scalar $r$

#+begin_src jupyter-julia :session h2ps
bet = 5.5; k1=0.1324; k2=k1; et1=0.01; et2=0.05; mu=0.01; xi1=0.005; xi2=0.005; xi3=0.01; xi4=0.01
# sus = 20; sdt = 0.01; srs = 0.05
ttl = latexstring("\\beta=$(bet)")
ylbl = ""
srsvec = Vector{Float64}()
rr = smruns
for r in rr
    rgp = r.gp
    rsp = r.sp
    if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && r.sus == sus && r.sdt==sdt
        if r.srs in srsvec
            continue
        else
            push!(srsvec,r.srs)
        end
    end
end
sort!(sssvec)
ds = [1, 0, -1]

plt = plot(reuse=false, xlabel="# scalar smearing",ylabel=ylbl, title=ttl,)
ct = 0
mname=""
for sr in srsvec
    ct += 1
    #plaquette, rho1, rho2, Lphi1, Lphi2, Lalpha1, Lalpha2
    mH1 = Vector{uwreal}(); mH2 = Vector{uwreal}()
    mW1 = Vector{uwreal}(); mW2 = Vector{uwreal}()
    sssvec = Vector{Int64}()
    for r in rr
        rgp = r.gp
        rsp = r.sp
        if rgp.beta == bet && rsp.kap[1]==k1 && rsp.kap[2]==k2 && rsp.eta[1] == et1  && rsp.eta[2] == et2  && rsp.muh == mu && rsp.xi[1] == xi1 && rsp.xi[2] == xi2 && rsp.xi[3] == xi3 && rsp.xi[4] == xi4 && r.sus == sus && r.sdt==sdt && r.srs == sr
            push!(sssvec,r.sss + ds[ct])
            push!(mH1, r.mH[1])
            push!(mH2, r.mH[2])
            push!(mW1, r.mW[1])
            push!(mW2, r.mW[2])
            uwerr.(mH1); uwerr.(mH2)
            uwerr.(mW1); uwerr.(mW2)
        end
    end
    st=1
    fc=0
    # p=scatter!(sssvec[st:end-fc], value.(mH1[st:end-fc]), yerr=err.(mH1[st:end-fc]), label=latexstring("r_{smear}=$(sr)"),title=latexstring("m_{H_1}")); mname = "mH1"
    # p=scatter!(sssvec[st:end-fc], value.(mH2[st:end-fc]), yerr=err.(mH2[st:end-fc]), label=latexstring("r_{smear}=$(sr)"),title=latexstring("m_{H_2}")); mname = "mH2"
    # p=scatter!(sssvec[st:end-fc], value.(mW1[st:end-fc]), yerr=err.(mW1[st:end-fc]), label=latexstring("r_{smear}=$(sr)"),title=latexstring("m_{W_1}")); mname = "mW1"
    # p=scatter!(sssvec[st:end-fc], value.(mW2[st:end-fc]), yerr=err.(mW2[st:end-fc]), label=latexstring("r_{smear}=$(sr)"),title=latexstring("m_{W_2}")); mname = "mW2"
end
display(p)
outputname="/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_smearing_$(mname)_lat$(lat)x$(tim)_b$(bet).png"
print(outputname)
savefig(outputname)
#+end_src

#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/a83d17178ddf048d3714307a1af1ca65a0020068.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/ps_smearing_mW2_lat16x24_b5.5.png
:END:




* Copy data h2runs-> h2sim

#+begin_src jupyter-julia :session h2ps
# sims = Vector{h2sim}()
smear = smr{Float64}(20, 0.01, 40, 0.02)
dm = (24,24)
for r in newsims
    # a = h2sim(r.gp, r.sp, r.mH, r.mW, r.t0, r.w0, r.flwtime, r.tEpl, r.tEcl, r.glb, dm, smear)
    # push!(sims,a)
    # print(r.dim,"\n")
end
#+end_src

#+RESULTS:

* Test Bare Phase conditions


#+begin_src jupyter-julia :session h2ps
#condition C
kp1 = 0.132
kp2 = 0.126
eta1 = 0.003
eta2 = 0.001
xi1 = 0.0001 #eta3!
xi2 = 0.0001 #eta4!
xi3 = 0.0
xi4 = 0.0


print("BOUNDEDNESS:\nη3 > -(η1η2)^1/2\n")
print(xi1,"\t\t",-sqrt(eta1*eta2),"\n")
print("η3+η4 > -(η1η2)^1/2\n")
print(xi1+xi2,"\t\t",-sqrt(eta1*eta2),"\n")


print("\nCONDITION C:\n")
m1c = 1.0/8.0 - eta1/4.0
l1mu2 = eta1*(1-2.0*eta2-8*kp2)
l3mu1 = xi1*(1-2.0*eta1-8*kp1)
l34mu1 = (xi1+xi2)*(1-2.0*eta1-8*kp1)
print("k > 1/8 - η1/4:\n")
print(kp1, "\t\t", m1c,"\n")
print("η1(1-2η2-8k2) > η3(1-2η1-8k1)\n")
print(l1mu2,"\t\t",l3mu1,"\n")
print("η1(1-2η2-8k2) > (η3+η4)(1-2η1-8k1)\n")
print(l1mu2,"\t\t",l34mu1,"\n")
#+end_src

#+RESULTS:
#+begin_example
BOUNDEDNESS:
η3 > -(η1η2)^1/2
0.0001		-0.0017320508075688774
η3+η4 > -(η1η2)^1/2
0.0002		-0.0017320508075688774

CONDITION C:
k > 1/8 - η1/4:
0.132		0.12425
η1(1-2η2-8k2) > η3(1-2η1-8k1)
-3.0000000000000028e-5		-6.200000000000006e-6
η1(1-2η2-8k2) > (η3+η4)(1-2η1-8k1)
-3.0000000000000028e-5		-1.2400000000000012e-5
#+end_example