5 from ROOT
import Belle2
15 """Returns 1 if current event contains at least one BEAST hit, 0 otherwise"""
18 """reimplementation of Module::initialize()."""
21 """reimplementation of Module::event()."""
27 if len(p.getRelationsTo(
'MicrotpcSimHits')) > 0 \
28 or len(p.getRelationsTo(
'He3tubeSimHits')) > 0 \
29 or len(p.getRelationsTo(
'PindiodeSimHits')) > 0 \
30 or len(p.getRelationsTo(
'BgoSimHits')) > 0 \
31 or len(p.getRelationsTo(
'CsiSimHits')) > 0:
38 d = datetime.datetime.today()
39 print(d.strftime(
'job start: %Y-%m-%d %H:%M:%S\n'))
50 print(
'./RunBGMC.py [(RBB,Touschek,Coulomb)_(HER,LER)(,_far)] [num]')
54 if name.find(
'LER') != -1:
56 elif name.find(
'HER') != -1:
59 print(
'name should include either of HER or LER')
69 if name.find(
'far') != -1:
75 inputfilename =
'forIgal/' + name +
'.root'
76 logfilename =
'log/' + name +
'_' + num +
'.log'
77 outputfilename =
'output/out_phase1_pos_TiN_' + name +
'_' + num +
'.root'
78 seed =
'1' + num + num +
'1'
92 if name ==
'Brems_LER':
94 elif name ==
'Touschek_LER':
97 elif name ==
'Coulomb_LER':
100 elif name ==
'Brems_HER':
103 elif name ==
'Touschek_HER':
106 elif name ==
'Coulomb_HER':
112 print(
'Unknown name!')
115 print(
'accring: ', accring,
'(0:LER, 1:HER)')
116 print(
'input: ', inputfilename)
117 print(
'log: ', logfilename)
118 print(
'output: ', outputfilename)
119 print(
'range: ', range)
120 print(
'seed: ', seed)
121 print(
'nevent: ', nevent)
122 print(
'readouttime:', readouttime)
163 set_log_level(LogLevel.WARNING)
166 set_random_seed(int(seed))
172 eventinfosetter = register_module(
'EventInfoSetter')
173 eventinfosetter.param({
'evtNumList': [nevent],
'runList': [1],
'expList': [1]})
177 touschekinput = register_module(
'SADInput')
178 touschekinput.param(
'Filename', inputfilename)
184 touschekinput.param(
'ReadMode', readmode)
189 touschekinput.param(
'AccRing', accring)
194 touschekinput.param(
'ReadoutTime', readouttime)
198 touschekinput.param(
'Range', range)
206 gearbox = register_module(
'Gearbox')
207 geometry = register_module(
'Geometry')
208 gearbox.param(
'fileName',
'/geometry/Beast2_phase1.xml')
209 fullsim = register_module(
'FullSim')
211 param_fullsim = {
'RegisterOptics': 1,
'PhotonFraction': 0.3}
212 fullsim.param(param_fullsim)
213 fullsim.param(
'PhysicsList',
'QGSP_BERT_HP')
214 fullsim.param(
'UICommandsAtIdle', [
'/process/inactivate nKiller'])
218 fullsim.param(
'StoreAllSecondaries',
True)
219 fullsim.param(
'SecondariesEnergyCut', 0.0)
224 progress = register_module(
'Progress')
227 rootoutput = register_module(
'RootOutput')
228 rootoutput.param(
'outputFileName', outputfilename)
229 rootoutput.param(
'updateFileCatalog',
False)
236 rootoutput.param(
'branchNames', [
'BgoSimHits',
'MicrotpcSimHits',
237 'PindiodeSimHits',
'He3tubeSimHits',
'CsiSimHits'])
241 main.add_module(eventinfosetter)
242 main.add_module(gearbox)
243 main.add_module(touschekinput)
244 main.add_module(geometry)
245 main.add_module(fullsim)
246 main.add_module(progress)
257 main.add_module(rootoutput)
269 print(
'Event Statistics:')
272 d = datetime.datetime.today()
273 print(d.strftime(
'job finish: %Y-%m-%d %H:%M:%S\n'))