Belle II Software  release-05-01-25
runCoGTimeError.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import os
5 from basf2 import *
6 from tracking import *
7 from svd import *
8 from rawdata import add_unpackers
9 from simulation import add_simulation
10 from tracking import add_tracking_reconstruction
11 from ROOT import Belle2
12 
13 from basf2 import conditions as b2conditions
14 
15 # data = True
16 data = False
17 
18 if data:
19  b2conditions.override_globaltags()
20  b2conditions.globaltags = ['klm_alignment_testing', 'online']
21 
22 numEvents = 10
23 
24 set_random_seed(1)
25 files = [' /group/belle2/dataprod/Data/Raw/e0010/r04925/sub00/beam.0010.04925.HLT*.root']
26 
27 # old cDST
28 # files=["/group/belle2/dataprod/Data/release-04-00-02/DB00000523/Unofficial/e0010/4S/r04295/skim/hlt_hadron/cdst/sub00/cdst.physics.0010.04295.HLT1*.root","/group/belle2/dataprod/Data/release-04-00-02/DB00000523/Unofficial/e0010/4S/r04295/skim/hlt_bhabha/cdst/sub00/cdst.physics.0010.04295.HLT1.*.root","/group/belle2/dataprod/Data/release-04-00-02/DB00000523/Unofficial/e0010/4S/r04295/skim/hlt_mumu_2trk/cdst/sub00/cdst.physics.0010.04295.HLT1.*.root"]
29 
30 
31 eventinfosetter = register_module('EventInfoSetter')
32 eventinfosetter.param('expList', [0])
33 eventinfosetter.param('runList', [1])
34 eventinfosetter.param('evtNumList', [numEvents])
35 
36 eventinfoprinter = register_module('EventInfoPrinter')
37 
38 evtgeninput = register_module('EvtGenInput')
39 evtgeninput.logging.log_level = LogLevel.INFO
40 
41 
42 # Create paths
43 main = create_path()
44 
45 
46 # read input rootfile
47 if data:
48  main.add_module("RootInput", inputFileNames=files)
49 
50 else:
51  main.add_module(eventinfosetter)
52  main.add_module(eventinfoprinter)
53  main.add_module(evtgeninput)
54 
55 main.add_module('Gearbox')
56 main.add_module('Geometry')
57 
58 if data:
59  add_unpackers(main, components=['SVD', 'CDC'])
60 else:
61  main.add_module('FullSim')
62  add_simulation(main)
63 
64 add_tracking_reconstruction(main, components=['SVD', 'CDC'])
65 
66 # Select Strips form Tracks
67 fil = register_module('SVDShaperDigitsFromTracks')
68 fil.param('outputINArrayName', 'SVDShaperDigitsFromTracks')
69 main.add_module(fil)
70 
71 fitter = register_module('SVDCoGTimeEstimator')
72 fitter.set_name('post_SVDCoGTimeEstimator')
73 fitter.param('ShaperDigits', 'SVDShaperDigitsFromTracks')
74 fitter.param('RecoDigits', 'SVDRecoDigitsFromTracks')
75 main.add_module(fitter)
76 
77 clusterizer = register_module('SVDSimpleClusterizer')
78 clusterizer.set_name('post_SVDSimpleClusterizer')
79 clusterizer.param('RecoDigits', 'SVDRecoDigitsFromTracks')
80 clusterizer.param('Clusters', 'SVDClustersFromTracks')
81 clusterizer.param('useDB', True)
82 main.add_module(clusterizer)
83 
84 input_branches = [
85  'EventT0',
86  'SVDShaperDigits',
87  'SVDShaperDigitsFromTracks',
88  'SVDRecoDigits',
89  'SVDRecoDigitsFromTracks',
90  'SVDClusters',
91  'SVDClustersFromTracks',
92 ]
93 
94 if data:
95  input_branches.append('SVDEventInfo')
96 else:
97  input_branches.append('SVDEventInfoSim')
98 
99 if data:
100  main.add_module("RootOutput", branchNames=input_branches, outputFileName="RootOutput_CoGerror_FromTracks_DATA.root")
101 else:
102  main.add_module("RootOutput", branchNames=input_branches, outputFileName="RootOutput_CoGerror_FromTracks.root")
103 
104 print_path(main)
105 
106 # Process events
107 process(main)
108 
109 print(statistics)