Computes decay constant using the PCVC relation for twisted mass fermions. The decay constant is computed in the plateau `plat`.
Computes decay constant using the PCVC relation for twisted mass fermions. The decay constant is computed in the plateau `plat`.
Correlator can be passed as an `Corr` struct or `Vector{uwreal}`. If it is passed as a uwreal vector, vector of twisted masses `mu` and source position `y0`
Correlator can be passed as an `Corr` struct or `Vector{uwreal}`. If it is passed as a uwreal vector, vector of twisted masses `mu` and source position `y0`
...
@@ -59,9 +239,10 @@ must be specified.
...
@@ -59,9 +239,10 @@ must be specified.
The flags `pl` and `data` allow to show the plots and return data as an extra result.
The flags `pl` and `data` allow to show the plots and return data as an extra result.
**The method assumes that the source is in the bulk.**
```@example
```@example
data = read_mesons(path, "G5", "G5")
data = read_mesons(path, "G5", "G5")
corr_pp = corr_obs.(data)
corr_pp = corr_obs.(data, L=32)
m = meff(corr_pp[1], [50, 60], pl=false)
m = meff(corr_pp[1], [50, 60], pl=false)
f = dec_const_pcvc(corr_pp[1], [50, 60], m, pl=false)
f = dec_const_pcvc(corr_pp[1], [50, 60], m, pl=false)
```
```
...
@@ -105,8 +286,11 @@ function dec_const_pcvc(corr::Vector{uwreal}, plat::Vector{Int64}, m::uwreal, mu
...
@@ -105,8 +286,11 @@ function dec_const_pcvc(corr::Vector{uwreal}, plat::Vector{Int64}, m::uwreal, mu
This function read a mesons dat file at a given path and returns a vector of `CData` structures for different masses and Dirac structures.
This function read a mesons dat file at a given path and returns a vector of `CData` structures for different masses and Dirac structures.
Dirac structures `g1` and/or `g2` can be passed as string arguments in order to filter correaltors.
Dirac structures `g1` and/or `g2` can be passed as string arguments in order to filter correaltors.
ADerrors id can be specified as argument. If is not specified, the `id` is fixed according to the ensemble name (example: "H400"-> id = 400)
ADerrors id can be specified as argument. If is not specified, the `id` is fixed according to the ensemble name (example: "H400"-> id = "H400")
*For the old version (without smearing, distance preconditioning and theta) set legacy=true.
*For the old version (without smearing, distance preconditioning and theta) set legacy=true.
...
@@ -97,17 +97,18 @@ read_mesons(path)
...
@@ -97,17 +97,18 @@ read_mesons(path)
read_mesons(path, "G5")
read_mesons(path, "G5")
read_mesons(path, nothing, "G5")
read_mesons(path, nothing, "G5")
read_mesons(path, "G5", "G5")
read_mesons(path, "G5", "G5")
read_mesons(path, "G5", "G5", id=1)
read_mesons(path, "G5", "G5", id="H100")
read_mesons(path, "G5_d2", "G5_d2", legacy=true)
read_mesons(path, "G5_d2", "G5_d2", legacy=true)
```
```
"""
"""
function read_mesons(path::String,g1::Union{String,Nothing}=nothing,g2::Union{String,Nothing}=nothing;id::Union{Int64,Nothing}=nothing,legacy::Bool=false)
function read_mesons(path::String,g1::Union{String,Nothing}=nothing,g2::Union{String,Nothing}=nothing;id::Union{String,Nothing}=nothing,legacy::Bool=false)
@@ -171,7 +172,7 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union
...
@@ -171,7 +172,7 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union
returnres
returnres
end
end
function read_mesons(path::Vector{String},g1::Union{String,Nothing}=nothing,g2::Union{String,Nothing}=nothing;id::Union{Int64,Nothing}=nothing,legacy::Bool=false)
function read_mesons(path::Vector{String},g1::Union{String,Nothing}=nothing,g2::Union{String,Nothing}=nothing;id::Union{String,Nothing}=nothing,legacy::Bool=false)
res=read_mesons.(path,g1,g2,id=id,legacy=legacy)
res=read_mesons.(path,g1,g2,id=id,legacy=legacy)
nrep=length(res)
nrep=length(res)
ncorr=length(res[1])
ncorr=length(res[1])
...
@@ -274,28 +275,32 @@ function read_md(path::String)
...
@@ -274,28 +275,32 @@ function read_md(path::String)