11 """ECL calibration to specify edges of each crystal."""
13 from prompt
import CalibrationSettings, INPUT_DATA_FILTERS
17 settings = CalibrationSettings(
19 expert_username=
"hearty",
21 input_data_formats=[
"cdst"],
22 input_data_names=[
"mumu_tight_or_highm_calib"],
24 "mumu_tight_or_highm_calib": [
25 INPUT_DATA_FILTERS[
"Data Tag"][
"mumu_tight_or_highm_calib"],
26 INPUT_DATA_FILTERS[
"Data Quality Tag"][
"Good"]]},
33 def get_calibrations(input_data, **kwargs):
35 from ROOT
import Belle2
36 from caf.utils
import IoV
37 from caf.framework
import Calibration
41 file_to_iov_mu_mu = input_data[
"mumu_tight_or_highm_calib"]
42 input_files_mu_mu = list(file_to_iov_mu_mu.keys())
48 ecledge_collector = basf2.register_module(
"eclEdgeCollector")
49 cal_ecl_edge =
Calibration(name=
"ecl_edge", collector=ecledge_collector, algorithms=algo_edge,
50 input_files=input_files_mu_mu[:1], max_collector_jobs=1)
53 ecl_edge_pre_path = basf2.create_path()
54 ecl_edge_pre_path.add_module(
"Gearbox")
55 ecl_edge_pre_path.add_module(
"Geometry")
56 cal_ecl_edge.pre_collector_path = ecl_edge_pre_path
60 requested_iov = kwargs.get(
"requested_iov",
None)
61 output_iov = IoV(requested_iov.exp_low, requested_iov.run_low, -1, -1)
62 for algorithm
in cal_ecl_edge.algorithms:
63 algorithm.params = {
"apply_iov": output_iov}
..Obtain payloads specifying the location of the edges of each ECL crystal