33 from background
import add_output
74 print(
'basf2', argvs[0],
75 '(Touschek,Coulomb,Brems) (HER,LER) equivTime_us num [(study,usual,ECL,PXD) phase outdir]')
81 subdir =
'phase3-15th/'
83 subdir =
'phase3-early/'
87 print(
'phase ', phase,
'not supported')
90 bgType = bgType +
'_' + accRing
91 sadFile =
'input/' + subdir + bgType +
'.root'
92 realTime = float(equivTime) * 1000
93 fname = bgType +
'_' + sampleType +
'-phase' + str(phase) +
'-' + num
94 outputFile = outdir +
'/' + fname +
'.root'
98 if not os.path.exists(sadFile):
99 b2.B2ERROR(
'SAD file ' + sadFile +
' not found')
104 if not os.path.exists(outdir):
108 b2.B2RESULT(
'Output file: ' + outputFile)
109 b2.B2RESULT(
'Corresponds to ' + equivTime +
' us of running phase ' + str(phase))
112 b2.set_log_level(b2.LogLevel.RESULT)
115 main = b2.create_path()
119 eventinfosetter = b2.register_module(
'EventInfoSetter')
120 eventinfosetter.param(
'evtNumList', [10000000])
121 main.add_module(eventinfosetter)
124 gearbox = b2.register_module(
'Gearbox')
126 gearbox.param(
'fileName',
'geometry/Beast2_phase2.xml')
128 gearbox.param(
'fileName',
'geometry/Belle2_earlyPhase3.xml')
129 if sampleType ==
'study':
130 gearbox.param(
'override', [
131 (
"/DetectorComponent[@name='PXD']//ActiveChips",
'true',
''),
132 (
"/DetectorComponent[@name='PXD']//SeeNeutrons",
'true',
''),
133 (
"/DetectorComponent[@name='SVD']//ActiveChips",
'true',
''),
134 (
"/DetectorComponent[@name='SVD']//SeeNeutrons",
'true',
''),
135 (
"/DetectorComponent[@name='TOP']//BeamBackgroundStudy",
'1',
''),
136 (
"/DetectorComponent[@name='ARICH']//BeamBackgroundStudy",
'1',
''),
137 (
"/DetectorComponent[@name='ECL']//BeamBackgroundStudy",
'1',
''),
138 (
"/DetectorComponent[@name='KLM']//BeamBackgroundStudy",
'1',
''),
140 main.add_module(gearbox)
143 generator = b2.register_module(
'BeamBkgGenerator')
144 generator.param(
'fileName', sadFile)
145 generator.param(
'ringName', accRing)
146 generator.param(
'realTime', realTime)
147 main.add_module(generator)
150 geometry = b2.register_module(
'Geometry')
151 geometry.param(
'useDB',
False)
153 if phase == 31
and sampleType ==
'study':
154 geometry.param(
'additionalComponents', [
"BEAMABORT",
"MICROTPC",
"CLAWS",
"HE3TUBE"])
155 main.add_module(geometry)
158 fullsim = b2.register_module(
'FullSim')
159 if sampleType ==
'study':
160 fullsim.param(
'PhysicsList',
'FTFP_BERT_HP')
161 fullsim.param(
'UICommandsAtIdle', [
'/process/inactivate nKiller'])
162 fullsim.param(
'StoreAllSecondaries',
True)
163 fullsim.param(
'SecondariesEnergyCut', 0.000001)
164 main.add_module(fullsim)
167 progress = b2.register_module(
'Progress')
168 main.add_module(progress)
173 add_output(main, bgType, realTime, sampleType, phase, fileName=outputFile)