17 print(
"The input HEPEvt files needed to run SR MC sim are located in @kekcc:~igal/src/beast/SR")
19 if len(sys.argv) != 4:
20 print(
"Usage: requires 2 arguments")
21 print(
"Argument 1: (SynchRad_HER | SynchRad_LER | test)")
22 print(
"Argument 2: file number")
23 print(
"Argument 3: ROOT output directory path")
33 outputfilename = output_dir +
"/output_" + name +
"_" + num +
".root"
47 b2.set_log_level(b2.LogLevel.ERROR)
56 eventinfosetter = b2.register_module(
'EventInfoSetter')
57 hepevtreader = b2.register_module(
'HepevtInput')
62 if name ==
"SynchRad_HER":
65 FileIn =
"Ph2_dt_4_8HER21445M.HEPEvt"
67 hepevtreader.param(
'inputFileList', [FileIn] * 2340)
68 elif name ==
"SynchRad_LER":
71 FileIn =
"Ph2_dt_4_8LER35124M.HEPEvt"
73 hepevtreader.param(
'inputFileList', [FileIn] * 2340)
78 FileIn =
"Ph2_dt_4_8HER21445MK2M.HEPEvt"
80 hepevtreader.param(
'inputFileList', [FileIn] * 5)
87 gearbox = b2.register_module(
'Gearbox')
88 geometry = b2.register_module(
'Geometry')
89 simulation = b2.register_module(
'FullSim')
90 tagSetter = b2.register_module(
'BeamBkgTagSetter')
91 progress = b2.register_module(
'Progress')
96 eventinfosetter.param(
'evtNumList', [1000000000])
97 eventinfosetter.param(
'runList', [1])
98 eventinfosetter.param(
'expList', [1])
101 gearbox.param(
'fileName',
'/geometry/Beast2_phase2.xml')
107 geometry.set_log_level(b2.LogLevel.INFO)
110 simulation.param(
'PhysicsList',
"QGSP_BERT_EMV")
112 simulation.param(
'UICommandsAtIdle', [
"/process/inactivate nKiller"])
113 simulation.param(
"StoreAllSecondaries",
True)
115 simulation.param(
"SecondariesEnergyCut", 0.000001)
117 main = b2.create_path()
119 main.add_module(eventinfosetter)
120 main.add_module(progress)
121 main.add_module(hepevtreader)
123 main.add_module(gearbox)
124 main.add_module(geometry)
125 main.add_module(simulation)
128 tagSetter.param(
'backgroundType', tagname)
129 tagSetter.param(
'realTime', realTime)
130 main.add_module(tagSetter)
131 emptyPath = b2.create_path()
132 tagSetter.if_false(emptyPath)
133 b2.print_params(tagSetter)
136 rootoutput = b2.register_module(
'RootOutput')
137 rootoutput.param(
'outputFileName', outputfilename)
138 rootoutput.param(
'updateFileCatalog',
False)
142 rootoutput.param(
'branchNames',
145 "SVDTrueHitsToSVDSimHits",
147 "MCParticleToPXDSimHits",
164 MIP_to_PE = [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
165 he3digi = b2.register_module(
'He3Digitizer')
166 he3digi.param(
'conversionFactor', 0.303132019)
167 he3digi.param(
'useMCParticles',
False)
168 main.add_module(he3digi)
169 diadigi = b2.register_module(
'BeamDigitizer')
170 diadigi.param(
'WorkFunction', 13.25)
171 diadigi.param(
'FanoFactor', 0.382)
172 main.add_module(diadigi)
173 pindigi = b2.register_module(
'PinDigitizer')
174 pindigi.param(
'WorkFunction', 3.64)
175 pindigi.param(
'FanoFactor', 0.13)
176 main.add_module(pindigi)
177 clawsdigi = b2.register_module(
'ClawsDigitizer')
178 clawsdigi.param(
'ScintCell', 16)
179 clawsdigi.param(
'C_keV_to_MIP', 457.114)
180 clawsdigi.param(
'C_MIP_to_PE', MIP_to_PE)
181 clawsdigi.param(
'PEthres', 1.0)
182 main.add_module(clawsdigi)
183 qcssdigi = b2.register_module(
'QcsmonitorDigitizer')
184 qcssdigi.param(
'ScintCell', 40)
185 qcssdigi.param(
'C_keV_to_MIP', 1629.827)
186 qcssdigi.param(
'C_MIP_to_PE', 15.0)
187 qcssdigi.param(
'MIPthres', 0.5)
188 main.add_module(qcssdigi)
189 fangsdigi = b2.register_module(
'FANGSDigitizer')
190 main.add_module(fangsdigi)
191 tpcdigi = b2.register_module(
'TpcDigitizer')
192 main.add_module(tpcdigi)
194 main.add_module(rootoutput)