Skip to content

Commit 547b67a

Browse files
authored
Merge pull request #38 from legend-exp/aoe_ctc
Adjust A/E ctc recipe
2 parents b904a97 + 073f977 commit 547b67a

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

ext/LegendMakieLegendSpecFitsExt.jl

+5-5
Original file line numberDiff line numberDiff line change
@@ -809,12 +809,12 @@ module LegendMakieLegendSpecFitsExt
809809

810810
# plot report from ctc_aoe
811811
function LegendMakie.lplot!(
812-
report::NamedTuple{(:peak, :window, :fct, :bin_width, :bin_width_qdrift, :aoe_peak, :aoe_ctc, :qdrift_peak, :h_before, :h_after, :σ_before, :σ_after, :report_before, :report_after)};
812+
report::NamedTuple{(:peak, :window, :fct, :bin_width, :bin_width_qdrift, :aoe_peak, :aoe_ctc, :aoe_ctc_norm, :qdrift_peak, :h_before, :h_after, :h_after_norm, :σ_before, :σ_after, :σ_after_norm, :report_before, :report_after, :report_after_norm)};
813813
label_before = "Before correction", label_after = "After correction", levels = 15,
814814
xlims = (-9,5), ylims = StatsBase.quantile.(Ref(report.qdrift_peak), (0.005, 0.995)), xticks = Makie.WilkinsonTicks(6,k_min=5), yticks = Makie.WilkinsonTicks(6,k_min=4),
815-
title::AbstractString = "", titlesize = 18, titlegap = 0,
815+
title::AbstractString = "", titlesize = 18, titlegap = 0, norm::Bool = false,
816816
xlabel = "A/E classifier", ylabel = "Qdrift / E",
817-
watermark::Bool = true, kwargs...
817+
watermark::Bool = true, kwargs...
818818
)
819819

820820
# Best results for figsize (600,600)
@@ -824,7 +824,7 @@ module LegendMakieLegendSpecFitsExt
824824

825825
ax = Makie.Axis(g[1,1], limits = (xlims,(0,nothing)), ylabel = "Counts / $(round(step(first(report.h_before.edges)), digits = 2))")
826826
h_before = Makie.plot!(ax, report.h_before, color = :darkgrey)
827-
h_after = Makie.plot!(ax, report.h_after, color = (:purple, 0.5))
827+
h_after = Makie.plot!(ax, norm ? report.h_after_norm : report.h_after, color = (:purple, 0.5))
828828

829829
ax3 = Makie.Axis(g[1,2])
830830
Makie.hidedecorations!(ax3)
@@ -833,7 +833,7 @@ module LegendMakieLegendSpecFitsExt
833833

834834
ax2 = Makie.Axis(g[2,1]; limits = (xlims, ylims), xticks, yticks, xlabel, ylabel)
835835
k_before = KernelDensity.kde((report.aoe_peak, report.qdrift_peak))
836-
k_after = KernelDensity.kde((report.aoe_ctc, report.qdrift_peak))
836+
k_after = KernelDensity.kde((norm ? report.aoe_ctc_norm : report.aoe_ctc, report.qdrift_peak))
837837
Makie.contourf!(ax2, k_before.x, k_before.y, k_before.density, levels = levels, colormap = :binary)
838838
Makie.contour!(ax2, k_before.x, k_before.y, k_before.density, levels = levels - 1, color = :white)
839839
Makie.contour!(ax2, k_after.x, k_after.y, k_after.density, levels = levels - 1, colormap = :plasma)

test/test_lplot.jl

+9-4
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,17 @@ end
188188
@testset "A/E ctc correlation plot" begin
189189
# generate fake A/E and Qdrift/E distribution
190190
E0 = 550u"keV"
191-
e_cal = fill(E0, 10_000)
192-
aoe_corr = clamp.(vcat(-rand(Distributions.Exponential(5.0), 2_000), zeros(8_000)) .+ randn(10_000), -49.0, 7.0)
193-
qdrift_e = max.(0, randn(10_000) .+ 5)
194-
@test length(e_cal) == length(aoe_corr) == length(qdrift_e) == 10_000
191+
e_cal = fill(E0, 100_000)
192+
aoe_corr = clamp.(vcat(-rand(Distributions.Exponential(5.0), 20_000), zeros(80_000)) .+ randn(100_000), -49.0, 7.0)
193+
qdrift_e = max.(0, randn(100_000) .+ 5)
194+
# add some fake drift time dependency
195+
fct = 0.1
196+
aoe_corr .-= qdrift_e .* fct
197+
aoe_corr .-= StatsBase.median(aoe_corr)
198+
@test length(e_cal) == length(aoe_corr) == length(qdrift_e) == 100_000
195199
result_aoe_ctc, report_aoe_ctc = LegendSpecFits.ctc_aoe(aoe_corr, e_cal, qdrift_e, [E0-10u"keV"])
196200
@test_nowarn lplot(report_aoe_ctc, figsize = (600,600), title = "Test")
201+
@test_nowarn lplot(report_aoe_ctc, norm = true, figsize = (600,600), title = "Test")
197202
end
198203

199204
@testset "A/E survival fraction plots" begin

0 commit comments

Comments
 (0)