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