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