Public Member Functions | |
def | __init__ |
configure IBD generator
Definition at line 3 of file IBD.py.
def runIBD15::IBD::IBD::__init__ | ( | self, | ||
stage = 'null' , |
||||
name = 'IBD' , |
||||
volume = '/dd/Structure/AD/db-oil1' , |
||||
start_time = 0 , |
||||
seed = 1234567 | ||||
) |
Definition at line 6 of file IBD.py.
00013 : 00014 00015 # set up Gnrtr itself 00016 from Gnrtr.GnrtrConf import Gnrtr 00017 gnrtr = Gnrtr(name); 00018 00019 gnrtr.GenTools = [ "GtHepEvtGenTool/"+name+"Gen", 00020 "GtPositionerTool/"+name+"Pos", 00021 "GtTimeratorTool/"+name+"Tim", 00022 "GtTransformTool/"+name+"Tra"] 00023 00024 gnrtr.ThisStageName = "Kinematic" 00025 gnrtr.TimeStamp = start_time 00026 00027 if stage != 'null': 00028 stage.KinematicSequence.Members.append(gnrtr) 00029 00030 # set up each tools 00031 from GaudiKernel import SystemOfUnits as units 00032 from GenTools.GenToolsConf import GtPositionerTool, GtTransformTool, GtTimeratorTool, GtHepEvtGenTool 00033 # Set up Gen 00034 nevents=10000 00035 hepevt_source="InverseBeta.exe -seed %(seed)s -n %(nevents)s|" 00036 # Deal with executable 00037 if hepevt_source[-1] == "|": 00038 exe = hepevt_source.split(' ')[0] 00039 if exe[0] != '/': # Try to find full path 00040 import os, os.path 00041 path = os.getenv('PATH') 00042 for p in path: 00043 if (os.path.isfile(path+"/"+exe)): 00044 exe = path+"/"+exe 00045 break 00046 continue 00047 pass 00048 source = exe + ' ' + ' '.join(hepevt_source.split(' ')[1:]) 00049 if "%" in source: # Fill in any placemarks 00050 source = source%{'nevents':str(nevents), 00051 'seed':str(seed)} 00052 pass 00053 pass 00054 00055 00056 #generator 00057 gen=GtHepEvtGenTool(name+'Gen',HepEvtDataSource = source) 00058 #gen.OutputLevel = 2 00059 gen.HepEvtDataSource = source 00060 00061 # Set up positioner 00062 pos=GtPositionerTool(name+'Pos',Volume=volume) 00063 pos.Strategy = "FullVolume" # also "AvoidDaughters" and "Surface" 00064 pos.Mode = "Uniform" 00065 #pos.Mode = "Fixed" 00066 pos.Spread = 2.5*units.m 00067 pos.Position = [0,0,0.0*units.m] 00068 00069 # Set up timerator 00070 tim=GtTimeratorTool(name+'Tim') 00071 tim.LifeTime = int(27*units.s) 00072 00073 # transform 00074 tra=GtTransformTool(name+'Tra',Volume=volume) 00075 pass