Public Member Functions | |
def | __init__ |
configure Muon generator
Definition at line 3 of file GunMuon.py.
def GunMuon::GunMuon::__init__ | ( | self, | ||
stage = 'null' , |
||||
name = 'Muon' , |
||||
volume = '/dd/Structure/Pool/db-ows' , |
||||
start_time = 0 , |
||||
seed = 1234567 | ||||
) |
Definition at line 6 of file GunMuon.py.
00013 : 00014 00015 # set up Gnrtr itself 00016 from Gnrtr.GnrtrConf import Gnrtr 00017 gnrtr = Gnrtr(name); 00018 00019 gnrtr.GenTools = [ "GtGunGenTool/"+name+"GunGen", 00020 "GtPositionerTool/"+name+"Pos", 00021 "GtTimeratorTool/"+name+"Tim", 00022 "GtTransformTool/"+name+"Tra", 00023 "MuonProphet/"+name+"Prophet" 00024 ] 00025 00026 gnrtr.ThisStageName = "Kinematic" 00027 gnrtr.TimeStamp = start_time 00028 00029 if stage != 'null': 00030 stage.KinematicSequence.Members.append(gnrtr) 00031 00032 # set up each tools 00033 from GaudiKernel import SystemOfUnits as units 00034 from GenTools.GenToolsConf import GtGunGenTool,GtPositionerTool, GtTransformTool, GtTimeratorTool, GtHepEvtGenTool 00035 from MuonProphet.MuonProphetConf import MuonProphet 00036 # Set up Gen 00037 gun = GtGunGenTool(name+"GunGen", 00038 ParticlesPerEvent = 1, 00039 ParticleName = "mu+", 00040 Momentum = 5*units.GeV, 00041 MomentumMode = "Fixed", 00042 MomentumSpread = 4*units.MeV, 00043 DirectionMode = "Fixed", 00044 Direction = [ 0, 0, -1 ], 00045 DirectionSpread = 3) 00046 00047 # Set up positioner 00048 pos=GtPositionerTool(name+'Pos',Volume=volume) 00049 # I should use relateiv 00050 #pos.Mode = "Relative" 00051 pos.Mode = "Fixed" 00052 pos.Position = [1*units.meter, 00053 1*units.meter 00054 ,10*units.meter] 00055 00056 # Set up timerator 00057 tim=GtTimeratorTool(name+'Tim') 00058 tim.LifeTime = 0.001123*units.s 00059 00060 # transform 00061 tra=GtTransformTool(name+'Tra',Volume=volume) 00062 tra.Offset = [0., 0., (0.042)*units.meter] 00063 00064 ## More surprise from muon starts from here. 00065 # muon prophet 00066 prophet=MuonProphet(); 00067 #prophet.Active=False; 00068 prophet.Site = "DayaBay" 00069 prophet.GenTools = [ "Li9He8Decayerator/Li9He8" ] 00070 prophet.GenYields = [ 0.5*units.cm2/units.gram ] 00071 prophet.GenYieldMeasuredAt = [260*units.GeV] 00072 prophet.GenLifetimes = [ 0.002*units.s ] 00073 00074 # trigger related configuration 00075 prophet.TrkLengthInWaterThres = 20*units.cm 00076 prophet.WaterPoolTriggerEff = 0.9999 00077 00078 prophet.OutputLevel=2 00079 00080 # Set false, otherwise all times will be reset so the signal vertex is at t=0. 00081 from G4DataHelpers.G4DataHelpersConf import HepMCtoG4 00082 convertor = HepMCtoG4() 00083 convertor.ZeroTime = False 00084 00085 pass