5from pathlib
import Path
6from initialise
import load_pueoEvent_Dataset
8from calibration
import generate_antenna_phase_center_pairs_with_placeholders, load_dataset_and_measure_time_delays
9from calibration
import retrieve_relevant_antennas_from_all_pairs, compute_time_delay_residuals
11from scipy.optimize
import minimize
12import matplotlib.pyplot
as plt
16if __name__ ==
"__main__":
18 from scipy.optimize
import minimize
19 import matplotlib.pyplot
as plt
30 "gndcal_pass3_corrected.csv",
38 (data[
"run"] == run) &
39 (data[
"source"] ==
"TD") &
43 event_list = data[
"event_number"][mask].tolist()
45 print(
"event_list=", event_list)
49 task_id = int(os.environ.get(
"SLURM_ARRAY_TASK_ID", 0))
51 start_idx = task_id * CHUNK_SIZE
52 end_idx = start_idx + CHUNK_SIZE
54 chunk = event_list[start_idx:end_idx]
57 print(f
"No events for task {task_id}")
63 print(f
"Processing events {start} -> {end}")
70 j26: Path = os.environ.get(
"PUEO_UTIL_INSTALL_DIR") / Path(
"share/pueo/geometry/jan26/qrh.dat")
71 offset_inSIM: Path = os.environ.get(
"PUEO_UTIL_INSTALL_DIR") / Path(
"share/pueo/geometry/jun25/phase_center_offset_MI.dat")
73 j26: Path = os.environ.get(
"PUEO_UTIL_INSTALL_DIR") / Path(
"share/pueo/geometry/jan26/lf.dat")
74 offset_inSIM: Path = os.environ.get(
"PUEO_UTIL_INSTALL_DIR") / Path(
"share/pueo/geometry/jan26/phase_center_offset_LF.dat")
76 print(
"Ant type doesn't exist!")
78 nominal_pairs = generate_antenna_phase_center_pairs_with_placeholders(qrh_dot_dat=j26, offset_inSIM=offset_inSIM, ant_type=ant_type)
79 ds: ROOT.pueo.Dataset = load_pueoEvent_Dataset(run_number = run, MC=MC)
81 pulser_directions_and_pairwise_time_delays = (
82 load_dataset_and_measure_time_delays(dataset=ds, phase_center_pairs=nominal_pairs, MC=MC, AntType=ant_type, singlerun=run, event_list=event_list, UPSAMPLE=10)
86 pulser_directions_and_pairwise_time_delays.write_ipc(f
"feather_data/pulser_directions_and_pairwise_time_delays_run{run}_{start}_{end}.feather")