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