Functions | |
def | configure |
def | run |
Variables | |
string | DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S' |
def runIBD::__init__::configure | ( | argv = [] |
) |
Definition at line 15 of file __init__.py.
00015 : 00016 00017 import sys, getopt 00018 from time import localtime, gmtime, mktime, strftime, strptime, timezone 00019 opts,args = getopt.getopt(argv,"p:w:s:n:v:") 00020 wallTime = 0 00021 gammaE = 1.0 00022 seed = "42" 00023 nevts = "10000" 00024 pmtDataPath = None 00025 volume = "/dd/Structure/Sites/db-rock/db-ows/db-curtain/db-iws/db-ade1/db-sst1/db-oil1" 00026 for opt,arg in opts: 00027 if opt == "-s": 00028 seed = arg 00029 if opt == "-n": 00030 nevts = arg 00031 if opt == "-v": 00032 volume = arg 00033 if opt == "-p": 00034 pmtDataPath = arg 00035 if opt == "-w": 00036 if -1 != arg.find('T'): 00037 wallTime = int(mktime(strptime(arg, 00038 DATETIME_FORMAT)) - timezone) 00039 else: 00040 wallTime = int(arg) 00041 00042 print "======================================================" 00043 print "Begin JOB TIME = ", strftime(DATETIME_FORMAT, 00044 gmtime()) 00045 print "IBD random seed: ", seed 00046 print "Number of IBD events: ", nevts 00047 print "Target volume: ", volume 00048 print "======================================================" 00049 00050 import GenTools 00051 import GaudiKernel.SystemOfUnits as units 00052 00053 #GenTools 00054 #ibd = "InverseBeta.exe -seed " + seed + " -n " + nevts + " |" 00055 print "InverseBeta.exe -n " + nevts + " -seed " + seed + " |" 00056 ibd = "InverseBeta.exe -n " + nevts + " -seed " + seed + " |" 00057 from GenTools.Helpers import HepEVT 00058 he = HepEVT(hepEvtDataSource = ibd) 00059 he.positioner.Volume = volume 00060 he.positioner.Strategy = "FullVolume" 00061 he.positioner.Mode = "Uniform" 00062 # he.positioner.Position = [0,0,2.5*units.m] 00063 he.positioner.Position = [0,0,0] 00064 he.positioner.Spread = 2.6*units.meter 00065 he.transformer.Volume = volume 00066 00067 import GenTools 00068 gtc = GenTools.Configure() 00069 gtc.generator.TimeStamp = int(wallTime) 00070 gtc.register(he) 00071 00072 # Then DetSim, with smaller than default configuration: 00073 import DetSim 00074 detsim = DetSim.Configure(site="dayabay") 00075 detsim.historian(trackSelection="(pdg == 2112)",vertexSelection="(pdg == 2112)") 00076 params = { 00077 'start' :"(start > 0)", 00078 'track1':"(id==1)", 00079 'track2':"(id==2)", 00080 'inGdLS':"DetectorElementName == 'db-gds1'", 00081 'inLS': "DetectorElementName == 'db-lso1'", 00082 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00083 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00084 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00085 'IAV': "DetectorElementName == 'db-iav1'", 00086 'OAV': "DetectorElementName == 'db-oav1'", 00087 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00088 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00089 'lastvtx': "IsStopping == 1", 00090 'firstvtx': "IsStarting == 1", 00091 'NeutronTrk': "pdg == 2112", 00092 'NeutronMom': "creator == 2112", 00093 'NCap': "ProcessName == 'nCapture'", 00094 'Gamma': "pdg == 22", 00095 'Muon': "(pdg == 13 or pdg == -13)" 00096 } 00097 00098 detsim.unobserver(stats=[ 00099 ["EDepInGdLS", "dE", "%(GD)s"%params], 00100 ["EDepInLS", "dE", "%(LS)s"%params], 00101 ["EDepInIAV", "dE", "%(IAV)s"%params], 00102 ["EDepInOAV", "dE", "%(OAV)s"%params], 00103 ["EDepInOIL", "dE", "%(MO)s"%params], 00104 00105 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00106 ["QEDepInLS", "qdE", "%(LS)s"%params], 00107 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00108 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00109 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00110 00111 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00112 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00113 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00114 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00115 00116 ["tQESumLS", "qEt", "%(LS)s"%params], 00117 ["xQESumLS", "qEx", "%(LS)s"%params], 00118 ["yQESumLS", "qEy", "%(LS)s"%params], 00119 ["zQESumLS", "qEz", "%(LS)s"%params], 00120 00121 ["tQESumMO", "qEt", "%(MO)s"%params], 00122 ["xQESumMO", "qEx", "%(MO)s"%params], 00123 ["yQESumMO", "qEy", "%(MO)s"%params], 00124 ["zQESumMO", "qEz", "%(MO)s"%params], 00125 00126 ["tGen", "t","%(track2)s and %(firstvtx)s"%params], 00127 ["xGen", "x","%(track2)s and %(firstvtx)s"%params], 00128 ["yGen", "y","%(track2)s and %(firstvtx)s"%params], 00129 ["zGen", "z","%(track2)s and %(firstvtx)s"%params], 00130 00131 ["tCap", "t","%(track2)s and %(NCap)s"%params], 00132 ["xCap", "x","%(track2)s and %(NCap)s"%params], 00133 ["yCap", "y","%(track2)s and %(NCap)s"%params], 00134 ["zCap", "z","%(track2)s and %(NCap)s"%params], 00135 00136 ["capTarget", "capTargetZ","%(track2)s and %(NCap)s"%params], 00137 00138 # track 1 00139 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00140 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00141 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00142 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00143 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00144 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00145 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00146 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00147 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00148 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00149 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00150 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00151 ["vx_Trk1", "lvx","%(track1)s and %(start)s"%params], 00152 ["vy_Trk1", "lvy","%(track1)s and %(start)s"%params], 00153 ["vz_Trk1", "lvz","%(track1)s and %(start)s"%params], 00154 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00155 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00156 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00157 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00158 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params], 00159 # track 2 00160 ["pdgId_Trk2","pdg","%(track2)s and %(start)s"%params], 00161 ["t_Trk2", "t" , "%(track2)s and %(start)s"%params], 00162 ["x_Trk2", "x", "%(track2)s and %(start)s"%params], 00163 ["y_Trk2", "y", "%(track2)s and %(start)s"%params], 00164 ["z_Trk2", "z", "%(track2)s and %(start)s"%params], 00165 ["tEnd_Trk2", "t" , "%(track2)s and %(lastvtx)s"%params], 00166 ["xEnd_Trk2", "x", "%(track2)s and %(lastvtx)s"%params], 00167 ["yEnd_Trk2", "y", "%(track2)s and %(lastvtx)s"%params], 00168 ["zEnd_Trk2", "z", "%(track2)s and %(lastvtx)s"%params], 00169 ["e_Trk2", "E", "%(track2)s and %(start)s"%params], 00170 ["p_Trk2", "p", "%(track2)s and %(start)s"%params], 00171 ["ke_Trk2", "KE", "%(track2)s and %(start)s"%params], 00172 ["vx_Trk2", "lvx","%(track2)s and %(start)s"%params], 00173 ["vy_Trk2", "lvy","%(track2)s and %(start)s"%params], 00174 ["vz_Trk2", "lvz","%(track2)s and %(start)s"%params], 00175 ["TrkLength_GD_Trk2", "dx","%(track2)s and %(GD)s"%params], 00176 ["TrkLength_iAV_Trk2", "dx","%(track2)s and %(IAV)s"%params], 00177 ["TrkLength_LS_Trk2", "dx","%(track2)s and %(LS)s"%params], 00178 ["TrkLength_oAV_Trk2", "dx","%(track2)s and %(OAV)s"%params], 00179 ["TrkLength_Oil_Trk2", "dx","%(track2)s and %(MO)s"%params] 00180 ]) 00181 00182 # import ElecSim 00183 # elecsim = ElecSim.Configure() 00184 # if pmtDataPath != None: 00185 # change PMT properties 00186 # elecsim.dataSvc.setPmtSimData( pmtDataPath ) 00187 00188 # import TrigSim 00189 # trigsim = TrigSim.Configure() 00190 00191 # import ReadoutSim 00192 # rosim = ReadoutSim.Configure() 00193 def run(app):
def runIBD::__init__::run | ( | app | ) |
string runIBD::__init__::DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S' [static] |
Definition at line 11 of file __init__.py.