Belle II Software  release-05-01-25
svdROIFinding.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 = 2000
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 svdROIFinder = register_module('SVDROIFinder')
27 svdROIFinder.logging.log_level = LogLevel.DEBUG
28 # svdROIFinder.logging.debug_level = 2
29 param_svdROIFinder = {
30  'recoTrackListName': 'RecoTracks',
31  'SVDInterceptListName': 'SVDIntercepts',
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 svdROIFinder.param(param_svdROIFinder)
51 
52 svdROIFinderAnalysis = register_module('SVDROIFinderAnalysis')
53 svdROIFinderAnalysis.logging.log_level = LogLevel.RESULT
54 svdROIFinderAnalysis.logging.debug_level = 1
55 param_svdROIFinderAnalysis = {
56  'recoTrackListName': 'RecoTracks',
57  'SVDInterceptListName': 'SVDIntercepts',
58  'ROIListName': 'ROIs',
59  'writeToRoot': True,
60  'rootFileName': 'svdDataRedAnalysis_SVDCDC_MCTF_test',
61 }
62 svdROIFinderAnalysis.param(param_svdROIFinderAnalysis)
63 
64 # Create paths
65 main = 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=['MagneticField', 'SVD', 'CDC'], usePXDDataReduction=False)
72 add_tracking_reconstruction(main, ['CDC'], mcTrackFinding=True)
73 main.add_module(svdROIFinder)
74 # main.add_module(svdROIFinderAnalysis)
75 # display = register_module("Display")
76 # main.add_module(display)
77 
78 # Process events
79 process(main)
80 
81 print(statistics)