diff --git a/airshower_beacon_simulation/dc_grid_power_time_fixes.py b/airshower_beacon_simulation/dc_grid_power_time_fixes.py index 2aef557..62aa99a 100755 --- a/airshower_beacon_simulation/dc_grid_power_time_fixes.py +++ b/airshower_beacon_simulation/dc_grid_power_time_fixes.py @@ -254,8 +254,10 @@ if __name__ == "__main__": fig = save_overlapping_traces_figure([0,0,0], ev, N_plot=1, wx=trace_zoom_wx, title_extra = plot_titling[case], fname_distinguish=f'single', fig_dir=fig_dir, figsize=figsize) plt.close(fig) + no_offset_maximum_power = None # set in below loop with joblib.parallel_backend("loky"): - for case in wanted_cases: + # always force no_offset first to determine the reference vmax in the colorbar + for case in ['no_offset'] + [c for c in wanted_cases if c != 'no_offset']: print(f"Starting {case} figure") # Repair clock offsets with the measured offsets transl_modes = {'no_offset':'orig', 'repair_phases':'phases', 'repair_full':'full'} @@ -278,6 +280,19 @@ if __name__ == "__main__": print("backup time, time with measured_offset, true clock offset, measured clock offset") print(bak_ants[i].t[0], ev.antennas[i].t[0], ev.antennas[i].attrs['clock_offset'], measured_offsets[i]) + # + # determine the maximum power for the true timing + # + if case == 'no_offset': + xx, yy, p, maxp_loc = rit.shower_plane_slice(ev, X=X, Nx=1, Ny=1, wx=0, wy=0, zgr=zgr) + + no_offset_maximum_power = p + + # we forced no_offset for determing the reference vmax + # simply continue with the rest + if case not in wanted_cases: + continue + # # Plot overlapping traces at 0,0,0 # @@ -295,15 +310,18 @@ if __name__ == "__main__": fig = save_overlapping_traces_figure(loc, ev, N_plot=N_plot, wx=trace_zoom_wx, title_extra = plot_titling[case], fname_distinguish=f'{case}.axis', location_text=f"on simulation axis, $X={X}$", fig_dir=fig_dir, figsize=figsize) plt.close(fig) + + # # Measure power on grid # and plot overlapping traces at position with highest power + # for scalename, scale in scales.items(): wx, wy = scale, scale print(f"Starting grid measurement for figure {case} with {scalename}") xx, yy, p, maxp_loc = rit.shower_plane_slice(ev, X=X, Nx=Nx, Ny=Nx, wx=wx, wy=wy, zgr=zgr) fig, axs = rit.slice_figure(ev, X, xx, yy, p, mode='sp', scatter_kwargs=dict( - vmax=1e5, + vmax=no_offset_maximum_power, vmin=0, s=250, cmap='inferno',