Functions | |
def | configure |
def | run |
Variables | |
string | DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S' |
def CalibrationGe68::configure | ( | argv = [] |
) |
Configure this module with source position
Definition at line 14 of file CalibrationGe68.py.
00014 : 00015 """Configure this module with source position""" 00016 00017 import sys, getopt 00018 import GaudiKernel.SystemOfUnits as units 00019 from time import gmtime, mktime, strftime, strptime, timezone 00020 opts,args = getopt.getopt(argv, 00021 "z:a:") 00022 wallTime = 0 00023 axis = 'A' 00024 acuName = 'ACU_A_Center' 00025 xpos = 0.0 00026 ypos = 0.0 00027 zpos = 0.0 00028 pmtDataPath = None 00029 for opt,arg in opts: 00030 if opt == "-z": 00031 zpos = float(arg) * units.cm 00032 print "======================================================" 00033 print "Source Z position = ", zpos / units.cm, " cm" 00034 print "======================================================" 00035 if opt == "-a": 00036 axis = arg 00037 print "======================================================" 00038 print "ACU Axis = ", axis 00039 print "======================================================" 00040 if axis == 'B': 00041 xpos = 135.0 * math.cos(112.5 * math.pi / 180.) * units.cm 00042 ypos = 135.0 * math.sin(112.5 * math.pi / 180.) * units.cm 00043 acuName = 'ACU_B_GdlsEdge' 00044 elif axis == 'C': 00045 xpos = 177.25*math.cos( (112.5 + 180) * math.pi / 180.)*units.cm 00046 ypos = 177.25*math.sin( (112.5 + 180) * math.pi / 180.)*units.cm 00047 acuName = 'ACU_C_GammaCatcher' 00048 00049 # Set run info 00050 from RunDataSvc.RunDataSvcConf import RunDataSvc 00051 runDataSvc = RunDataSvc() 00052 runDataSvc.SimRunType = "Calibration" 00053 sourceName = "DayaBayAD1_"+acuName+"_Germanium_68" 00054 runDataSvc.SimCalibSources = [ sourceName ] 00055 runDataSvc.SimCalibZPosition = { sourceName : zpos } 00056 00057 import GenTools 00058 from GenTools.Helpers import Gun 00059 mygun = Gun() 00060 mygun.gun.ParticleName = 'e+' 00061 mygun.gun.Momentum = 1.0*units.eV 00062 mygun.gun.DirectionMode = "Uniform" 00063 mygun.gun.DirectionSpread = 3 00064 mygun.setVolume("/dd/Structure/AD/db-oil1") 00065 mygun.positioner.Position = [xpos, ypos, zpos] 00066 mygun.timerator.LifeTime = 0.020*units.second 00067 gtc = GenTools.Configure() 00068 gtc.generator.TimeStamp = int(wallTime) 00069 gtc.register(mygun) 00070 00071 import DetSim 00072 detsim = DetSim.Configure(physlist = DetSim.physics_list_basic) 00073 detsim.historian(trackSelection="(pdg == -11)",\ 00074 vertexSelection="(pdg == -11)") 00075 params = { 00076 'start' :"(start > 0)", 00077 'track1':"(id==1)", 00078 'track2':"(id==2)", 00079 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00080 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00081 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00082 'IAV': "DetectorElementName == 'db-iav1'", 00083 'OAV': "DetectorElementName == 'db-oav1'", 00084 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00085 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00086 'lastvtx': "IsStopping == 1", 00087 'firstvtx': "IsStarting == 1", 00088 'Neutron': "pdg == 2112", 00089 'NeutronMom': "creator == 2112", 00090 'Gamma': "pdg == 22", 00091 'Positron': "pdg == -11", 00092 'Muon': "(pdg == 13 or pdg == -13)" 00093 } 00094 00095 detsim.unobserver(stats=[ 00096 ["EDepInGdLS", "dE", "%(GD)s"%params], 00097 ["EDepInLS", "dE", "%(LS)s"%params], 00098 ["EDepInIAV", "dE", "%(IAV)s"%params], 00099 ["EDepInOAV", "dE", "%(OAV)s"%params], 00100 ["EDepInOIL", "dE", "%(MO)s"%params], 00101 00102 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00103 ["QEDepInLS", "qdE", "%(LS)s"%params], 00104 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00105 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00106 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00107 00108 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00109 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00110 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00111 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00112 00113 ["tQESumLS", "qEt", "%(LS)s"%params], 00114 ["xQESumLS", "qEx", "%(LS)s"%params], 00115 ["yQESumLS", "qEy", "%(LS)s"%params], 00116 ["zQESumLS", "qEz", "%(LS)s"%params], 00117 00118 ["tQESumMO", "qEt", "%(MO)s"%params], 00119 ["xQESumMO", "qEx", "%(MO)s"%params], 00120 ["yQESumMO", "qEy", "%(MO)s"%params], 00121 ["zQESumMO", "qEz", "%(MO)s"%params], 00122 00123 # track 1 00124 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00125 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00126 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00127 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00128 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00129 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00130 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00131 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00132 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00133 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00134 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00135 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00136 ["vx_Trk1", "vx","%(track1)s and %(start)s"%params], 00137 ["vy_Trk1", "vy","%(track1)s and %(start)s"%params], 00138 ["vz_Trk1", "vz","%(track1)s and %(start)s"%params], 00139 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00140 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00141 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00142 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00143 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params] 00144 ]) 00145 00146 import ElecSim 00147 elecsim = ElecSim.Configure() 00148 00149 import TrigSim 00150 trigsim = TrigSim.Configure() 00151 00152 import ReadoutSim 00153 rosim = ReadoutSim.Configure() 00154 def run(app):
def CalibrationGe68::run | ( | app | ) |
string CalibrationGe68::DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S' [static] |
Definition at line 10 of file CalibrationGe68.py.