Public Member Functions | |
def | __init__ |
Configure GenTools, DetSim and DetSimVali for running positrons only from IBD events distributed uniformly in an AD.
Definition at line 125 of file AD.py.
def DetSimValidation::AD::IBDPositron::__init__ | ( | self, | ||
histogram_filename = 'IBDpositron.root' , |
||||
volume = "/dd/Structure/AD/far-lso2" , |
||||
seed = "0" , |
||||
nevts = "200" | ||||
) |
Construct the default configuration.
Definition at line 128 of file AD.py.
00129 : 00130 ''' Construct the default configuration. 00131 ''' 00132 import GaudiKernel.SystemOfUnits as units 00133 00134 # First GenTools 00135 ibd = "InverseBeta.exe -seed " + seed + " -n " + nevts + " -eplus_only |" 00136 from GenTools.Helpers import HepEVT 00137 he = HepEVT(hepEvtDataSource = ibd) 00138 he.positioner.Strategy = "FullVolume" 00139 he.positioner.Volume = volume 00140 he.positioner.Mode = "Uniform" 00141 he.positioner.Spread = 2.6*units.meter 00142 he.positioner.Position = [0,0,2.5*units.meter] 00143 he.transformer.Volume = volume 00144 import GenTools 00145 GenTools.Configure().register(he) 00146 self.hepevt = he 00147 00148 self.dumper = GenTools.Dumper() 00149 00150 # Then DetSim, with smaller than default configuration: 00151 import DetSim 00152 detsim = DetSim.Configure(site="far",physlist = DetSim.physics_list_basic) 00153 params = { 00154 'start' :"(start > 0)", 00155 'track1':"(id==1)", 00156 'track2':"(id==2)", 00157 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00158 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00159 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00160 'IAV': "DetectorElementName == 'db-iav1'", 00161 'OAV': "DetectorElementName == 'db-oav1'", 00162 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00163 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00164 'lastvtx': "IsStopping == 1", 00165 'firstvtx': "IsStarting == 1", 00166 'NeutronTrk': "pdg == 2112", 00167 'NeutronMom': "creator == 2112", 00168 'Gamma': "pdg == 22", 00169 'Muon': "(pdg == 13 or pdg == -13)" 00170 } 00171 00172 detsim.unobserver(stats=[ 00173 ["MuonTrkLengthInOws", "dx", "%(Muon)s and %(OWS)s"%params], 00174 ["MuonTrkLengthInIws", "dx", "%(Muon)s and %(IWS)s"%params], 00175 ["MuonTrkLengthInLS", "dx", "%(Muon)s and %(LS)s"%params], 00176 ["MuonTrkLengthInGdLS","dx", "%(Muon)s and %(GD)s"%params], 00177 ["dEInn","dE", "(pdg!=20022) and %(IWS)s"%params], 00178 ["dEOut","dE", "(pdg!=20022) and %(OWS)s"%params], 00179 ["MuonStop", "dx", "%(Muon)s and %(lastvtx)s"%params], 00180 00181 ["EDepInGdLS", "dE", "%(GD)s"%params], 00182 ["EDepInLS", "dE", "%(LS)s"%params], 00183 ["EDepInIAV", "dE", "%(IAV)s"%params], 00184 ["EDepInOAV", "dE", "%(OAV)s"%params], 00185 ["EDepInOIL", "dE", "%(MO)s"%params], 00186 00187 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00188 ["QEDepInLS", "qdE", "%(LS)s"%params], 00189 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00190 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00191 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00192 00193 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00194 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00195 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00196 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00197 00198 ["tQESumLS", "qEt", "%(LS)s"%params], 00199 ["xQESumLS", "qEx", "%(LS)s"%params], 00200 ["yQESumLS", "qEy", "%(LS)s"%params], 00201 ["zQESumLS", "qEz", "%(LS)s"%params], 00202 00203 ["tQESumMO", "qEt", "%(MO)s"%params], 00204 ["xQESumMO", "qEx", "%(MO)s"%params], 00205 ["yQESumMO", "qEy", "%(MO)s"%params], 00206 ["zQESumMO", "qEz", "%(MO)s"%params], 00207 00208 ["tGen", "t","%(NeutronTrk)s and %(firstvtx)s"%params], 00209 ["xGen", "x","%(NeutronTrk)s and %(firstvtx)s"%params], 00210 ["yGen", "y","%(NeutronTrk)s and %(firstvtx)s"%params], 00211 ["zGen", "z","%(NeutronTrk)s and %(firstvtx)s"%params], 00212 00213 ["tCap", "t","%(NeutronTrk)s and %(lastvtx)s"%params], 00214 ["xCap", "x","%(NeutronTrk)s and %(lastvtx)s"%params], 00215 ["yCap", "y","%(NeutronTrk)s and %(lastvtx)s"%params], 00216 ["zCap", "z","%(NeutronTrk)s and %(lastvtx)s"%params], 00217 00218 ["capTarget", "capTargetZ","%(track1)s and %(lastvtx)s"%params], 00219 00220 # track 1 00221 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00222 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00223 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00224 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00225 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00226 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00227 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00228 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00229 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00230 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00231 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00232 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00233 ["vx_Trk1", "lvx","%(track1)s and %(start)s"%params], 00234 ["vy_Trk1", "lvy","%(track1)s and %(start)s"%params], 00235 ["vz_Trk1", "lvz","%(track1)s and %(start)s"%params], 00236 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00237 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00238 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00239 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00240 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params], 00241 # track 2 00242 ["pdgId_Trk2","pdg","%(track2)s and %(start)s"%params], 00243 ["t_Trk2", "t" , "%(track2)s and %(start)s"%params], 00244 ["x_Trk2", "x", "%(track2)s and %(start)s"%params], 00245 ["y_Trk2", "y", "%(track2)s and %(start)s"%params], 00246 ["z_Trk2", "z", "%(track2)s and %(start)s"%params], 00247 ["tEnd_Trk2", "t" , "%(track2)s and %(lastvtx)s"%params], 00248 ["xEnd_Trk2", "x", "%(track2)s and %(lastvtx)s"%params], 00249 ["yEnd_Trk2", "y", "%(track2)s and %(lastvtx)s"%params], 00250 ["zEnd_Trk2", "z", "%(track2)s and %(lastvtx)s"%params], 00251 ["e_Trk2", "E", "%(track2)s and %(start)s"%params], 00252 ["p_Trk2", "p", "%(track2)s and %(start)s"%params], 00253 ["ke_Trk2", "KE", "%(track2)s and %(start)s"%params], 00254 ["vx_Trk2", "lvx","%(track2)s and %(start)s"%params], 00255 ["vy_Trk2", "lvy","%(track2)s and %(start)s"%params], 00256 ["vz_Trk2", "lvz","%(track2)s and %(start)s"%params], 00257 ["TrkLength_GD_Trk2", "dx","%(track2)s and %(GD)s"%params], 00258 ["TrkLength_iAV_Trk2", "dx","%(track2)s and %(IAV)s"%params], 00259 ["TrkLength_LS_Trk2", "dx","%(track2)s and %(LS)s"%params], 00260 ["TrkLength_oAV_Trk2", "dx","%(track2)s and %(OAV)s"%params], 00261 ["TrkLength_Oil_Trk2", "dx","%(track2)s and %(MO)s"%params] 00262 ]) 00263 00264 self.detsim = detsim 00265 00266 # Finally, DetSimVali itself 00267 from DetSimValidation.DetSimValidationConf import DetSimVali 00268 dsv = DetSimVali() 00269 dsv.Volume = volume 00270 self.detsimvali = dsv 00271 00272 from Gaudi.Configuration import ApplicationMgr 00273 theApp = ApplicationMgr() 00274 theApp.TopAlg.append(dsv) 00275 00276 from GaudiSvc.GaudiSvcConf import THistSvc 00277 histsvc = THistSvc() 00278 histsvc.Output =["file1 DATAFILE='%s' OPT='RECREATE' TYP='ROOT' "%histogram_filename] return