2from __future__
import print_function
4import ROOT,os,sys,getopt,time
16theSeed = int(10000 * time.time() % 10000000)
18if momentum>5 : nEvents=1000
19if momentum>20 : nEvents=500
21print(
"FairShip setup for",simEngine,
"to produce",nEvents,
"events")
22if simEngine ==
"Ntuple" and not inputFile :
23 print(
'input file required if simEngine = Ntuple')
24if simEngine ==
"Pythia6" and not inputFile :
25 print(
'pythia6 requires inputfile')
26ROOT.gRandom.SetSeed(theSeed)
34os.system(
"rm params.root")
42timer = ROOT.TStopwatch()
47run = ROOT.FairRunSim()
49run.SetOutputFile(outFile)
50rtdb = run.GetRuntimeDb()
55primGen=ROOT.FairPrimaryGenerator()
56boxGen=ROOT.FairBoxGenerator(22,1);
57boxGen.SetPRange(momentum, momentum)
58boxGen.SetPhiRange(0,0)
59boxGen.SetThetaRange(0,0)
61boxGen.SetXYZ(0,0,2400)
62primGen.AddGenerator(boxGen)
63run.SetGenerator(primGen)
69if eventDisplay: run.SetStoreTraj(ROOT.kTRUE)
70else: run.SetStoreTraj(ROOT.kFALSE)
73fStack = ROOT.gMC.GetStack()
76if simEngine !=
"Genie" and simEngine !=
"Ntuple":
78 kParameterMerged = ROOT.kTRUE
79 parOut = ROOT.FairParRootFileIo(kParameterMerged)
81 rtdb.setOutput(parOut)
83 rtdb.printParamContexts()
87run.CreateGeometryFile(
"geofile_full.root")
90rtime = timer.RealTime()
91ctime = timer.CpuTime()
93print(
"Macro finished succesfully.")
94print(
"Output file is ", outFile)
95print(
"Parameter file is ",parFile)
96print(
"Real time ",rtime,
" s, CPU time ",ctime,
"s")
configure(darkphoton=None)