3 """ECL calibration to specify edges of each crystal."""
5 from prompt
import CalibrationSettings, input_data_filters
9 settings = CalibrationSettings(name=
"ecl_edge",
10 expert_username=
"hearty",
12 input_data_formats=[
"cdst"],
13 input_data_names=[
"mumutight_calib"],
14 input_data_filters={
"mumutight_calib": [input_data_filters[
"Data Tag"][
"mumutight_calib"],
15 input_data_filters[
"Data Quality Tag"][
"Good"]]},
22 def get_calibrations(input_data, **kwargs):
24 from ROOT
import Belle2
25 from caf.utils
import IoV
26 from caf.framework
import Calibration
30 file_to_iov_mu_mu = input_data[
"mumutight_calib"]
31 input_files_mu_mu = list(file_to_iov_mu_mu.keys())
37 ecledge_collector = basf2.register_module(
"eclEdgeCollector")
38 cal_ecl_edge =
Calibration(name=
"ecl_edge", collector=ecledge_collector, algorithms=algo_edge,
39 input_files=input_files_mu_mu[:1], max_collector_jobs=1)
42 ecl_edge_pre_path = basf2.create_path()
43 ecl_edge_pre_path.add_module(
"Gearbox")
44 ecl_edge_pre_path.add_module(
"Geometry")
45 cal_ecl_edge.pre_collector_path = ecl_edge_pre_path
49 requested_iov = kwargs.get(
"requested_iov",
None)
50 output_iov = IoV(requested_iov.exp_low, requested_iov.run_low, -1, -1)
51 for algorithm
in cal_ecl_edge.algorithms:
52 algorithm.params = {
"apply_iov": output_iov}