Belle II Software  release-08-01-10
trainRealisticTrackRelationFilter.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 import os
13 import sys
14 import os.path
15 
16 from tracking.run.event_generation import ReadOrGenerateEventsRun
17 from trackfindingcdc.run.training import TrainingRunMixin
18 
19 
21  """Run to record track relations encountered at the TrackLinker after the feasible filter and retrain its mva method"""
22 
23 
24  n_events = 10000
25 
26  generator_module = "generic"
27 
28  bkg_files = os.path.join(os.environ["VO_BELLE2_SW_DIR"], "bkg")
29 
30 
31  truth = "truth_positive"
32 
33  @property
34  def identifier(self):
35  """Database identifier of the filter being trained"""
36  return "trackfindingcdc_RealisticTrackRelationFilter.xml"
37 
38  def create_path(self):
39  """Setup the recording path after the simulation"""
40  path = super().create_path()
41  path.add_module("TFCDC_WireHitPreparer",
42  flightTimeEstimation="outwards")
43 
44  path.add_module('TFCDC_ClusterPreparer',
45  SuperClusterDegree=3,
46  SuperClusterExpandOverApogeeGap=True)
47 
48  path.add_module("TFCDC_SegmentFinderFacetAutomaton")
49 
50 
51  if self.tasktask == "train":
52  varSets = [
53  "realistic",
54  "filter(truth)",
55  ]
56  skim = "feasible"
57 
58  elif self.tasktask == "eval":
59  varSets = [
60  "filter(feasible)",
61  "filter(realistic)",
62  "filter(truth)",
63  ]
64  skim = ""
65 
66  elif self.tasktask == "explore":
67  varSets = [
68  "realistic",
69  "hit_gap",
70  "fit",
71  "filter(truth)",
72  ]
73  skim = "feasible"
74 
75  else:
76  raise ValueError("Unknown task " + self.tasktask)
77 
78  path.add_module("TFCDC_TrackFinderSegmentPairAutomaton",
79  TrackRelationFilter="unionrecording",
80  TrackRelationFilterParameters={
81  "rootFileName": self.sample_file_name,
82  "varSets": varSets,
83  "skim": skim,
84  })
85 
86  return path
87 
88 
89 def main():
91  run.configure_and_execute_from_commandline()
92 
93 
94 if __name__ == "__main__":
95  import logging
96  logging.basicConfig(stream=sys.stdout, level=logging.INFO, format='%(levelname)s:%(message)s')
97  main()
task
Process each event according to the user's desired task (train, eval, explore)
Definition: main.py:1
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:91