Commit b593563d authored by Peter Jansweijer's avatar Peter Jansweijer

Default use Calibration Kit "open", adjusted Multi SFP crate default parameters,…

Default use Calibration Kit "open", adjusted Multi SFP crate default parameters, stripped result-file output
parent eefa9a9c
......@@ -54,6 +54,7 @@ Usage:
Options:
-h --help Show this screen.
-f --full full calibration (i.e. also take measurements A , B_TXP, B_TXN ,B_RXP, B_RXN, C into account)
-p open reference delay measured a physical open connector (not using calibration kit \"open\")
"""
......@@ -157,18 +158,22 @@ Usage:
Options:
-h --help Show this screen.
-f --full full calibration (i.e. also take measurements A , B_TXP, B_TXN ,B_RXP, B_RXN, C into account)
-p open reference delay measured a physical open connector (not using calibration kit \"open\")
"""
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("name", help="directory that contains the measurement files A, B_TXP, B_TXN, B_RXP, B_RXN, C, D_TXP_RXP, D_TXN_RXN, E_TXP_P, E_TXP_N, E_RXP_P, E_RXP_N")
parser.add_argument("-f", help="full calibration (i.e. including multi SFP crate measurements.", action='store_true')
parser.add_argument("-p", help="open reference delay measured a physical open connector (not using calibration kit \"open\")", action='store_true')
args = parser.parse_args()
name = args.name
use_pre_calibrated_setup_parameters = not bool(args.f)
NoCalKitOpen = bool(args.p)
files = []
......@@ -312,31 +317,32 @@ if __name__ == "__main__":
if use_pre_calibrated_setup_parameters:
# Hard code the delay and error for the Multi SFP Crate (port SFP0)
# Parameters taken from p:\App\ASTERICS_Cleopatra_WP5_1\WR_Calibration\wr-calibration\sw\eooe\data\data_190604\
A_meas_mean = 1.20894077e-09
A_meas_se = 9.78516962061e-15
A_se_max = 2.57716757556e-14
A_sem_max = 5.15433515112e-15
B_TXP_meas_mean = 4.61207614597e-09
B_TXP_meas_se = 7.16805399026e-14
B_TXP_se_max = 3.95850875804e-14
B_TXP_sem_max = 7.91701751608e-15
B_TXN_meas_mean = 4.61545252796e-09
B_TXN_meas_se = 1.32508667248e-13
B_TXN_se_max = 4.31867720749e-14
B_TXN_sem_max = 8.63735441498e-15
B_RXP_meas_mean = 4.96503455946e-09
B_RXP_meas_se = 4.38301316766e-14
B_RXP_se_max = 3.96830035821e-14
B_RXP_sem_max = 7.93660071642e-15
B_RXN_meas_mean = 4.96602602596e-09
B_RXN_meas_se = 1.20212384153e-13
B_RXN_se_max = 4.65143105165e-14
B_RXN_sem_max = 9.30286210331e-15
C_meas_mean = 6.88770495004e-10
C_meas_se = 0
C_se_max = 2.16409647305e-14
C_sem_max = 4.32819294609e-15
# Using Calibration Kit HP85052D "Open"
# Parameters taken from p:\App\ASTERICS_Cleopatra_WP5_1\WR_Calibration\wr-calibration\sw\eooe\data\data_190607_M14\
A_meas_mean = 1.26683014251e-09
A_meas_se = 9.11793010883e-14
A_se_max = 1.16805631635e-13
A_sem_max = 2.33611263269e-14
B_TXP_meas_mean = 4.62351501622e-09
B_TXP_meas_se = 2.08717437667e-13
B_TXP_se_max = 4.39957045798e-14
B_TXP_sem_max = 8.79914091596e-15
B_TXN_meas_mean = 4.62683214621e-09
B_TXN_meas_se = 8.7766337514e-14
B_TXN_se_max = 3.7833807262e-14
B_TXN_sem_max = 7.5667614524e-15
B_RXP_meas_mean = 4.97319089872e-09
B_RXP_meas_se = 2.82198513145e-13
B_RXP_se_max = 4.36273774516e-14
B_RXP_sem_max = 8.72547549032e-15
B_RXN_meas_mean = 4.97501201122e-09
B_RXN_meas_se = 1.99930084666e-13
B_RXN_se_max = 3.62052970579e-14
B_RXN_sem_max = 7.24105941159e-15
C_meas_mean = 6.91467162505e-10
C_meas_se = 5.07858478643e-14
C_se_max = 5.08699900438e-14
C_sem_max = 1.01739980088e-14
else:
# Check if all mandatory measurements are present:
try:
......@@ -581,6 +587,12 @@ if __name__ == "__main__":
D_f_se_max = 1.1e-13
D_f_sem_max = 1.1e-14
# Adjust open reference delay when measured using method 2 (i.e. using CalKitOpen)
if not NoCalKitOpen:
# Hard code the delay for a HP85052D Calibration "open"
CalKitOpenDelay = 29.243e-12
A_meas_mean = A_meas_mean - 2 * CalKitOpenDelay
# Calculate Multi SFP crate delays and errors
Multi_SFP_TxP = (B_TXP_meas_mean - A_meas_mean )/2
Multi_SFP_TxP_se = numpy.sqrt(B_TXP_se_max **2 + A_se_max **2 )/2
......@@ -733,19 +745,8 @@ if __name__ == "__main__":
result_file.write("Tx_to_Out {0:.4g}".format(Tx_to_Out) + "\n")
result_file.write("Rx_to_Out {0:.4g}".format(Rx_to_Out) + "\n")
result_file.write("# =============================================\n")
result_file.write("\n")
result_file.write("tloop_se {0:.4g}".format(tloop_se) + "\n")
result_file.write("tloop_rep {0:.4g}".format(tloop_rep) + "\n")
result_file.write("tloop_sem {0:.4g}".format(tloop_sem) + "\n")
result_file.write("\n")
result_file.write("Tx_to_Out_se {0:.4g}".format(Tx_to_Out_se) + "\n")
result_file.write("Tx_to_Out_rep {0:.4g}".format(Tx_to_Out_rep) + "\n")
result_file.write("Tx_to_Out_sem {0:.4g}".format(Tx_to_Out_sem) + "\n")
result_file.write("\n")
result_file.write("Rx_to_Out_se {0:.4g}".format(Rx_to_Out_se) + "\n")
result_file.write("Rx_to_Out_rep {0:.4g}".format(Rx_to_Out_rep) + "\n")
result_file.write("Rx_to_Out_sem {0:.4g}".format(Rx_to_Out_sem) + "\n")
# Hard coded uncertainty is chosen to be 20 ps
result_file.write("Uncertainty 20 ps\n")
result_file.close()
sys.exit()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment