Belle II Software  release-06-02-00
klm_alignment.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 """Custom calibration strategy for KLM alignment."""
13 
14 from caf.strategies import SequentialRunByRun
15 from caf.utils import IoV
16 
17 
18 class KLMAlignment(SequentialRunByRun):
19  """
20  Custom stragery for KLM alignment. Based on SequentialRunByRun strategy,
21  but requires custom experiment-dependent settings.
22  """
23 
25  usable_params = {
26  "has_experiment_settings": bool, # Used in SequentialRunByRun.
27  "iov_coverage": IoV, # Used in SequentialRunByRun.
28  "millepede_entries": int,
29  "millepede_entries_exp7": int,
30  "step_size": int # Used in SequentialRunByRun.
31  }
32 
33 
34  allowed_granularities = ["run"]
35 
36  def __init__(self, algorithm):
37  """
38  """
39  super().__init__(algorithm)
40 
41  self.millepede_entriesmillepede_entries = 0
42 
43  self.millepede_entries_exp7millepede_entries_exp7 = 0
44 
45  def apply_experiment_settings(self, algorithm, experiment):
46  """
47  Apply experiment-dependent settings.
48  """
49  if "millepede_entries" in self.algorithm.params:
50  self.millepede_entriesmillepede_entries = self.algorithm.params["millepede_entries"]
51 
52  if "millepede_entries_exp7" in self.algorithm.params:
53  self.millepede_entries_exp7millepede_entries_exp7 = self.algorithm.params["millepede_entries_exp7"]
54  if experiment == 7:
55  algorithm.setMinEntries(self.millepede_entries_exp7millepede_entries_exp7)
56  else:
57  algorithm.setMinEntries(self.millepede_entriesmillepede_entries)
def apply_experiment_settings(self, algorithm, experiment)
millepede_entries_exp7
Number of Millepede entries for experiment 7.
millepede_entries
Number of Millepede entries.
def __init__(self, algorithm)