Belle II Software  release-06-02-00
pxdDataReductionDigits.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 
61 pxdDigitFilter = b2.register_module('PXDdigiFilter')
62 pxdDigitFilter.param({'ROIidsName': 'ROIs', 'CreateOutside': True, 'overrideDB': True, 'usePXDDataReduction': True})
63 
64 # Create paths
65 main = b2.create_path()
66 
67 # Add modules to paths
68 main.add_module(eventinfosetter)
69 main.add_module(eventinfoprinter)
70 main.add_module(evtgeninput)
71 add_simulation(main, components=['PXD', 'SVD', 'CDC'], forceSetPXDDataReduction=True, usePXDDataReduction=False)
72 add_tracking_reconstruction(main, ['SVD', 'CDC'])
73 main.add_module(pxdROIFinder)
74 main.add_module(PXDDIGI)
75 main.add_module(pxdDigitFilter)
76 # display = register_module("Display")
77 # main.add_module(display)
78 
79 main.add_module('RootOutput')
80 
81 # Process events
82 b2.process(main)
83 
84 print(b2.statistics)