Functions | |
def | configure |
def | run |
def SimACUNeutrons::configure | ( | argv = [] |
) |
Configure this module with ACU unit
Definition at line 13 of file SimACUNeutrons.py.
00013 : 00014 """Configure this module with ACU unit""" 00015 00016 import sys, getopt 00017 opts,args = getopt.getopt(argv,"a:") 00018 acuAxis = 'A' 00019 for opt,arg in opts: 00020 if opt == "-a": 00021 acuAxis = arg 00022 print "======================================================" 00023 print "ACU unit = ", acuAxis 00024 print "======================================================" 00025 00026 # Set run info 00027 from RunDataSvc.RunDataSvcConf import RunDataSvc 00028 runDataSvc = RunDataSvc() 00029 runDataSvc.SimRunType = "Physics" 00030 00031 # Generator 00032 import GaudiKernel.SystemOfUnits as units 00033 from GenTools.Helpers import Gun 00034 from GenTools.GenToolsConf import GtGunGenTool, GtPositionerTool 00035 volume = "/dd/Structure/CalibrationSources/db-ad1-acu"+acuAxis+"-amC" 00036 gun = Gun(volume, 00037 gun = GtGunGenTool("gun", 00038 ParticlesPerEvent = 1, 00039 ParticleName = "n0", 00040 Momentum = 4.25*units.MeV, 00041 MomentumMode = "Smeared", 00042 MomentumSpread = 0.6*units.MeV, 00043 MomentumInterpretation = "KineticEnergy", 00044 DirectionMode = "Uniform", 00045 Direction = [ 1, 0, 0 ], 00046 DirectionSpread = 3), 00047 positioner = GtPositionerTool("pos", 00048 Strategy = "FullVolume", 00049 Mode = "Uniform", 00050 Spread = 3*units.centimeter, 00051 Position = [0,0,0]) 00052 ) 00053 gun.timerator.LifeTime = 2.0*units.second 00054 import GenTools 00055 GenTools.Configure().register(gun) 00056 00057 # Detector Simulation 00058 import DetSim 00059 detsim = DetSim.Configure() 00060 detsim.historian(trackSelection="(pdg == 2112)",\ 00061 vertexSelection="(pdg == 2112)") 00062 params = { 00063 'start' :"(start > 0)", 00064 'track1':"(id==1)", 00065 'track2':"(id==2)", 00066 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00067 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00068 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00069 'IAV': "DetectorElementName == 'db-iav1'", 00070 'OAV': "DetectorElementName == 'db-oav1'", 00071 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00072 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00073 'lastvtx': "IsStopping == 1", 00074 'firstvtx': "IsStarting == 1", 00075 'Neutron': "pdg == 2112", 00076 'NeutronMom': "creator == 2112", 00077 'Gamma': "pdg == 22", 00078 'Muon': "(pdg == 13 or pdg == -13)" 00079 } 00080 00081 detsim.unobserver(stats=[ 00082 ["EDepInGdLS", "dE", "%(GD)s"%params], 00083 ["EDepInLS", "dE", "%(LS)s"%params], 00084 ["EDepInIAV", "dE", "%(IAV)s"%params], 00085 ["EDepInOAV", "dE", "%(OAV)s"%params], 00086 ["EDepInOIL", "dE", "%(MO)s"%params], 00087 00088 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00089 ["QEDepInLS", "qdE", "%(LS)s"%params], 00090 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00091 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00092 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00093 00094 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00095 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00096 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00097 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00098 00099 ["tQESumLS", "qEt", "%(LS)s"%params], 00100 ["xQESumLS", "qEx", "%(LS)s"%params], 00101 ["yQESumLS", "qEy", "%(LS)s"%params], 00102 ["zQESumLS", "qEz", "%(LS)s"%params], 00103 00104 ["tQESumMO", "qEt", "%(MO)s"%params], 00105 ["xQESumMO", "qEx", "%(MO)s"%params], 00106 ["yQESumMO", "qEy", "%(MO)s"%params], 00107 ["zQESumMO", "qEz", "%(MO)s"%params], 00108 00109 # track 1 00110 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00111 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00112 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00113 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00114 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00115 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00116 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00117 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00118 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00119 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00120 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00121 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00122 ["x_Trk1", "vx","%(track1)s and %(start)s"%params], 00123 ["y_Trk1", "vy","%(track1)s and %(start)s"%params], 00124 ["z_Trk1", "vz","%(track1)s and %(start)s"%params], 00125 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00126 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00127 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00128 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00129 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params], 00130 00131 ["capTarget", "capTargetZ","%(track1)s and %(lastvtx)s"%params] 00132 00133 ]) 00134 00135 import ElecSim 00136 elecsim = ElecSim.Configure() 00137 00138 import TrigSim 00139 trigsim = TrigSim.Configure() 00140 00141 import ReadoutSim 00142 rosim = ReadoutSim.Configure() 00143 def run(app):
def SimACUNeutrons::run | ( | app | ) |