/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Muon.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 
00003 class Muon:
00004     '''
00005        configure Muon generator
00006     '''
00007 
00008     def __init__(self,
00009                  stage='null',
00010                  name='Muon',
00011                  volume='/dd/Structure/AD/db-ade1',
00012                  start_time=0,
00013                  seed=1234567):
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 
00035         musicsite = 'DYB'
00036                 
00037         nevents=5000
00038 
00039         hepEvtDataSource = "Muon.exe -n 1000 -s %s -v ADE -seed %s -r Yes -music_dir /mnt/sda3/wangzhe/dybinst/data/trunk/NewMuonGenerator/data|"%(musicsite,seed)
00040         
00041         exe = hepEvtDataSource.split(' ')[0]
00042         NAME = exe[exe.rfind('/')+1:]
00043         dot = NAME.rfind('.')
00044         baseNAME = NAME
00045         if dot > 0: baseNAME = NAME[:dot]
00046         sanitized = baseNAME.replace('.','_')
00047         
00048         # If we got an executable and it is relative, look for it in the path
00049         if hepEvtDataSource[-1] == '|' and hepEvtDataSource[0] != '/':
00050             import os, os.path
00051             path = os.getenv('PATH')
00052             for p in path:
00053                 if (os.path.isfile(path+'/'+exe)):
00054                     hepEvtDataSource = path+'/'+exe + ' ' + ' '.join(hepEvtDataSource.split(' ')[1:])
00055                     break
00056                 continue
00057             pass
00058         
00059         #generator
00060         gen=GtHepEvtGenTool(name+'Gen',HepEvtDataSource = hepEvtDataSource)
00061         #gen.OutputLevel = 2
00062         gen.HepEvtDataSource = hepEvtDataSource
00063         
00064         # Set up positioner
00065         pos=GtPositionerTool(name+'Pos',Volume=volume)
00066         pos.Mode = "Relative"
00067         pos.Position = [0,0,0]
00068         
00069         # Set up timerator
00070         tim=GtTimeratorTool(name+'Tim')
00071         tim.LifeTime = 0.001123*units.s
00072         
00073         # transform
00074         tra=GtTransformTool(name+'Tra',Volume=volume)
00075         tra.Offset = [0., 0., 0.]
00076         
00077         pass
00078 
00079 if __name__ == "__main__":
00080     obj=Muon()
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:07:33 for Stage by doxygen 1.7.4