Belle II Software  release-06-00-14
pxdDataReductionClusters.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 import basf2 as b2
13 from tracking import add_tracking_reconstruction
14 from simulation import add_simulation
15 
16 numEvents = 100
17 
18 # first register the modules
19 
20 b2.set_random_seed(1)
21 
22 eventinfosetter = b2.register_module('EventInfoSetter')
23 eventinfosetter.param('expList', [0])
24 eventinfosetter.param('runList', [1])
25 eventinfosetter.param('evtNumList', [numEvents])
26 
27 eventinfoprinter = b2.register_module('EventInfoPrinter')
28 
29 evtgeninput = b2.register_module('EvtGenInput')
30 evtgeninput.logging.log_level = b2.LogLevel.INFO
31 
32 pxdROIFinder = b2.register_module('PXDROIFinder')
33 pxdROIFinder.logging.log_level = b2.LogLevel.DEBUG
34 # pxdROIFinder.logging.debug_level = 2
35 param_pxdROIFinder = {
36  'recoTrackListName': 'RecoTracks',
37  'PXDInterceptListName': 'PXDIntercepts',
38  'ROIListName': 'ROIs',
39  'tolerancePhi': 0.15,
40  'toleranceZ': 0.5,
41  # optimized performance
42  # 'sigmaSystU': 0.1,
43  # 'sigmaSystV': 0.1,
44  # 'numSigmaTotU': 10,
45  # 'numSigmaTotV': 10,
46  # 'maxWidthU': 2,
47  # 'maxWidthV': 6,
48  # official simulation
49  'sigmaSystU': 0.02,
50  'sigmaSystV': 0.02,
51  'numSigmaTotU': 10,
52  'numSigmaTotV': 10,
53  'maxWidthU': 0.5,
54  'maxWidthV': 0.5,
55 }
56 pxdROIFinder.param(param_pxdROIFinder)
57 
58 # PXD digitization module
59 PXDDIGI = b2.register_module('PXDDigitizer')
60 # PXD clusterizer
61 PXDCLUST = b2.register_module('PXDClusterizer')
62 
63 pxdClusterFilter = b2.register_module('PXDclusterFilter')
64 pxdClusterFilter.param({'ROIidsName': 'ROIs', 'CreateOutside': True, 'overrideDB': True, 'enableFiltering': True})
65 
66 # Create paths
67 main = b2.create_path()
68 
69 # Add modules to paths
70 main.add_module(eventinfosetter)
71 main.add_module(eventinfoprinter)
72 main.add_module(evtgeninput)
73 add_simulation(main, components=['PXD', 'SVD', 'CDC'], forceSetPXDDataReduction=True, usePXDDataReduction=False)
74 add_tracking_reconstruction(main, ['SVD', 'CDC'])
75 main.add_module(pxdROIFinder)
76 main.add_module(PXDDIGI)
77 main.add_module(PXDCLUST)
78 main.add_module(pxdClusterFilter)
79 # display = register_module("Display")
80 # main.add_module(display)
81 
82 main.add_module('RootOutput')
83 
84 # Process events
85 b2.process(main)
86 
87 print(b2.statistics)