9 print(
"The input HEPEvt files needed to run SR MC sim are located in @kekcc:~igal/src/beast/SR")
11 if len(sys.argv) != 4:
12 print(
"Usage: requires 2 arguments")
13 print(
"Argument 1: (SynchRad_HER | SynchRad_LER | test)")
14 print(
"Argument 2: file number")
15 print(
"Argument 3: ROOT output directory path")
25 outputfilename = output_dir +
"/output_" + name +
"_" + num +
".root"
40 set_log_level(LogLevel.ERROR)
48 eventinfosetter = register_module(
'EventInfoSetter')
49 hepevtreader = register_module(
'HepevtInput')
54 if name ==
"SynchRad_HER":
56 FileIn =
"Ph2_dt_4_8HER21445M.HEPEvt"
57 hepevtreader.param(
'inputFileList', [FileIn] * 2340)
58 elif name ==
"SynchRad_LER":
60 FileIn =
"Ph2_dt_4_8LER35124M.HEPEvt"
61 hepevtreader.param(
'inputFileList', [FileIn] * 2340)
64 FileIn =
"Ph2_dt_4_8HER21445MK2M.HEPEvt"
65 hepevtreader.param(
'inputFileList', [FileIn] * 5)
71 gearbox = register_module(
'Gearbox')
72 geometry = register_module(
'Geometry')
73 simulation = register_module(
'FullSim')
74 tagSetter = register_module(
'BeamBkgTagSetter')
75 progress = register_module(
'Progress')
79 eventinfosetter.param(
'evtNumList', [1000000000])
80 eventinfosetter.param(
'runList', [1])
81 eventinfosetter.param(
'expList', [1])
84 gearbox.param(
'fileName',
'/geometry/Beast2_phase2.xml')
90 geometry.set_log_level(LogLevel.INFO)
93 simulation.param(
'PhysicsList',
"QGSP_BERT_EMV")
95 simulation.param(
'UICommandsAtIdle', [
"/process/inactivate nKiller"])
96 simulation.param(
"StoreAllSecondaries",
True)
97 simulation.param(
"SecondariesEnergyCut", 0.000001)
101 main.add_module(eventinfosetter)
102 main.add_module(progress)
103 main.add_module(hepevtreader)
105 main.add_module(gearbox)
106 main.add_module(geometry)
107 main.add_module(simulation)
110 tagSetter.param(
'backgroundType', tagname)
111 tagSetter.param(
'realTime', realTime)
112 main.add_module(tagSetter)
113 emptyPath = create_path()
114 tagSetter.if_false(emptyPath)
115 print_params(tagSetter)
118 rootoutput = register_module(
'RootOutput')
119 rootoutput.param(
'outputFileName', outputfilename)
120 rootoutput.param(
'updateFileCatalog',
False)
124 rootoutput.param(
'branchNames', [
"SVDSimHits",
"SVDTrueHits",
"SVDTrueHitsToSVDSimHits",
125 "PXDSimHits",
"MCParticleToPXDSimHits",
126 "CLAWSSimHits",
"ClawsHits",
127 "FANGSSimHits",
"FANGSHits",
129 "BeamabortSimHits",
"BeamabortHits",
130 "PindiodeSimHits",
"PindiodeHits",
131 "QcsmonitorSimHits",
"QcsmonitorHits",
132 "He3tubeSimHits",
"He3tubeHits",
133 "MicrotpcSimHits",
"MicrotpcHits",
135 MIP_to_PE = [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
136 he3digi = register_module(
'He3Digitizer')
137 he3digi.param(
'conversionFactor', 0.303132019)
138 he3digi.param(
'useMCParticles',
False)
139 main.add_module(he3digi)
140 diadigi = register_module(
'BeamDigitizer')
141 diadigi.param(
'WorkFunction', 13.25)
142 diadigi.param(
'FanoFactor', 0.382)
143 main.add_module(diadigi)
144 pindigi = register_module(
'PinDigitizer')
145 pindigi.param(
'WorkFunction', 3.64)
146 pindigi.param(
'FanoFactor', 0.13)
147 main.add_module(pindigi)
148 clawsdigi = register_module(
'ClawsDigitizer')
149 clawsdigi.param(
'ScintCell', 16)
150 clawsdigi.param(
'C_keV_to_MIP', 457.114)
151 clawsdigi.param(
'C_MIP_to_PE', MIP_to_PE)
152 clawsdigi.param(
'PEthres', 1.0)
153 main.add_module(clawsdigi)
154 qcssdigi = register_module(
'QcsmonitorDigitizer')
155 qcssdigi.param(
'ScintCell', 40)
156 qcssdigi.param(
'C_keV_to_MIP', 1629.827)
157 qcssdigi.param(
'C_MIP_to_PE', 15.0)
158 qcssdigi.param(
'MIPthres', 0.5)
159 main.add_module(qcssdigi)
160 fangsdigi = register_module(
'FANGSDigitizer')
161 main.add_module(fangsdigi)
162 tpcdigi = register_module(
'TpcDigitizer')
163 main.add_module(tpcdigi)
165 main.add_module(rootoutput)