Belle II Software  release-05-02-19
segment_quad_tree.py
1 import basf2
2 from ROOT import Belle2
3 
4 from tracking.run.event_generation import StandardEventGenerationRun
5 from trackfindingcdc.quadtree.quadTreePlotter import SegmentQuadTreePlotter
6 from trackfindingcdc.cdcdisplay import CDCSVGDisplayModule
7 from trackfinderoutputcombiner.validation import add_mc_track_finder
8 
9 import logging
10 import sys
11 
12 
14 
15  """ Create segments and plot them in a segment quad tree """
16 
17 
18  display_module_segments = CDCSVGDisplayModule(interactive=True)
19 
20  display_module_segments.draw_gftrackcand_trajectories = False
21 
22  display_module_segments.draw_gftrackcands = True
23 
24  display_module_segments.draw_clusters = False
25 
26  display_module_segments.track_cands_store_array_name = "MCTrackCands"
27 
28 
29  display_module_tracks = CDCSVGDisplayModule(interactive=True)
30 
31  display_module_tracks.draw_gftrackcands = True
32 
33  display_module_tracks.track_cands_store_array_name = "TrackCands"
34 
35 
36  display_module_mc = CDCSVGDisplayModule(interactive=True)
37 
38  display_module_mc.draw_gftrackcand_trajectories = True
39 
40  display_module_mc.draw_segments_mctrackid = True
41 
42  display_module_mc.track_cands_store_array_name = "MCTrackCands"
43 
44 
45  plotter_module = SegmentQuadTreePlotter()
46 
47  plotter_module.draw_quad_tree_content = True
48 
49  plotter_module.draw_segment_intersection = True
50 
51  plotter_module.draw_mc_information = True
52 
53  def create_path(self):
54  """ Make SegmentFinding and QuadTreeFinding and plotting/display/validation"""
55  main_path = super(SegmentQuadTreeRun, self).create_path()
56 
57  add_mc_track_finder(main_path)
58  main_path.add_module("TFCDC_WireHitPreparer")
59  main_path.add_module("TFCDC_ClusterPreparer")
60 
61  segment_finder = basf2.register_module("TFCDC_SegmentFinderFacetAutomaton")
62  segment_finder.param({
63  "WriteFacets": True,
64  "SegmentOrientation": "none",
65  })
66  main_path.add_module(segment_finder)
67 
68  main_path.add_module(Filler())
69 
70  segment_quad_tree = basf2.register_module("SegmentQuadTree")
71  segment_quad_tree.param({
72  "Level": 4,
73  "MinimumItems": 1,
74  "DoPostprocessing": True,
75  })
76  segment_quad_tree.set_log_level(basf2.LogLevel.DEBUG)
77  segment_quad_tree.set_debug_level(100)
78  main_path.add_module(segment_quad_tree)
79  main_path.add_module(self.display_module_tracks)
80 
81  return main_path
82 
83 
84 def main():
85  run = SegmentQuadTreeRun()
86  run.configure_and_execute_from_commandline()
87 
88 if __name__ == "__main__":
89  logging.basicConfig(stream=sys.stdout, level=logging.INFO, format='%(levelname)s:%(message)s')
90  main()
segment_quad_tree.SegmentQuadTreeRun.create_path
def create_path(self)
Definition: segment_quad_tree.py:53
trackfindingcdc.cdcdisplay.CDCSVGDisplayModule
Definition: __init__.py:25
trackfindingcdc.cdcdisplay
Definition: __init__.py:1
tracking.run.event_generation.StandardEventGenerationRun
Definition: event_generation.py:188
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
segment_quad_tree.SegmentQuadTreeRun
Definition: segment_quad_tree.py:13
tracking.run.event_generation
Definition: event_generation.py:1
segment_quad_tree.SegmentQuadTreeRun.display_module_tracks
display_module_tracks
Use CDCSVGDisplay to draw the TrackCand information.
Definition: segment_quad_tree.py:29