3 """Common functions for KLM calibration strategies."""
6 from caf.utils
import ExpRun, IoV
9 def calibration_result_string(result):
11 Convert calibration result to text message.
13 result (int): Calibration result.
18 res =
'iteration is necessary'
20 res =
'not enough data'
28 def get_lowest_exprun(number_of_experiments, experiment_index, run_list,
31 Get lowest experiment and run numbers.
33 number_of_experiments (int): Number of experiments.
34 experiment_index (int): 1-based experiment index.
35 run_list (list[ExpRun]): List of runs for the selected experiment.
36 iov_coverage (IoV): IOV coverage.
38 if iov_coverage
and experiment_index == 1:
39 lowest_exprun = ExpRun(iov_coverage.exp_low, iov_coverage.run_low)
40 if lowest_exprun > run_list[0]:
41 basf2.B2WARNING(f
'The lowest run {run_list[0]} of input data is '
42 f
'smaller than the lowest run {lowest_exprun} of '
43 'the requested IOV coverage. The IOV coverage is '
45 lowest_exprun = run_list[0]
47 lowest_exprun = run_list[0]
49 if (experiment_index > 1):
50 lowest_exprun = ExpRun(lowest_exprun.exp, 0)
54 def get_highest_exprun(number_of_experiments, experiment_index, run_list,
57 Get highest experiment and run numbers.
59 number_of_experiments (int): Number of experiments.
60 experiment_index (int): 1-based experiment index.
61 run_list (list[ExpRun]): List of runs for the selected experiment.
62 iov_coverage (IoV): IOV coverage.
64 if iov_coverage
and experiment_index == number_of_experiments:
65 highest_exprun = ExpRun(iov_coverage.exp_high, iov_coverage.run_high)
66 if (highest_exprun < run_list[-1]
and
67 not ((iov_coverage.exp_high == -1)
or
68 (iov_coverage.exp_high == run_list[-1].exp
and
69 iov_coverage.run_high == -1))):
70 basf2.B2WARNING(f
'The highest run {run_list[-1]} of input data is '
71 f
'larger than the highest run {highest_exprun} of '
72 'the requested IOV coverage. The IOV coverage is '
74 highest_exprun = run_list[-1]
76 highest_exprun = run_list[-1]
78 if (experiment_index < number_of_experiments):
79 highest_exprun = ExpRun(highest_exprun.exp, -1)