Public Member Functions | |
def | __init__ |
Configure GenTools, DetSim and DetSimVali for running neutrons only from IBD events distributed uniformly in an AD.
Definition at line 282 of file AD.py.
def DetSimValidation::AD::IBDNeutron::__init__ | ( | self, | ||
histogram_filename = 'IBDneutron.root' , |
||||
volume = "/dd/Structure/Sites/db-rock/db-ows/db-curtain/db-iws/db-ade1/db-sst1/db-oil1/db-oav1/db-lso1" , |
||||
seed = "0" , |
||||
nevts = "200" | ||||
) |
Construct the default configuration.
Definition at line 285 of file AD.py.
00286 : 00287 ''' Construct the default configuration. 00288 ''' 00289 import GaudiKernel.SystemOfUnits as units 00290 00291 # First GenTools 00292 ibd = "InverseBeta.exe -seed " + seed + " -n " + nevts + " -neutron_only |" 00293 from GenTools.Helpers import HepEVT 00294 he = HepEVT(hepEvtDataSource = ibd) 00295 he.positioner.Strategy = "FullVolume" 00296 he.positioner.Volume = volume 00297 he.positioner.Mode = "Uniform" 00298 he.positioner.Spread = 2.6*units.meter 00299 he.positioner.Position = [0,0,2.5*units.meter] 00300 he.transformer.Volume = volume 00301 import GenTools 00302 GenTools.Configure().register(he) 00303 self.hepevt = he 00304 00305 self.dumper = GenTools.Dumper() 00306 00307 # Then DetSim, with smaller than default configuration: 00308 import DetSim 00309 detsim = DetSim.Configure(site="dayabay") 00310 detsim.historian(trackSelection="(pdg == 2112)",vertexSelection="(pdg == 2112)") 00311 params = { 00312 'start' :"(start > 0)", 00313 'track1':"(id==1)", 00314 'track2':"(id==2)", 00315 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00316 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00317 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00318 'IAV': "DetectorElementName == 'db-iav1'", 00319 'OAV': "DetectorElementName == 'db-oav1'", 00320 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00321 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00322 'lastvtx': "IsStopping == 1", 00323 'firstvtx': "IsStarting == 1", 00324 'NeutronTrk': "pdg == 2112", 00325 'NeutronMom': "creator == 2112", 00326 'Gamma': "pdg == 22", 00327 'Muon': "(pdg == 13 or pdg == -13)" 00328 } 00329 00330 detsim.unobserver(stats=[ 00331 ["MuonTrkLengthInOws", "dx", "%(Muon)s and %(OWS)s"%params], 00332 ["MuonTrkLengthInIws", "dx", "%(Muon)s and %(IWS)s"%params], 00333 ["MuonTrkLengthInLS", "dx", "%(Muon)s and %(LS)s"%params], 00334 ["MuonTrkLengthInGdLS","dx", "%(Muon)s and %(GD)s"%params], 00335 ["dEInn","dE", "(pdg!=20022) and %(IWS)s"%params], 00336 ["dEOut","dE", "(pdg!=20022) and %(OWS)s"%params], 00337 ["MuonStop", "dx", "%(Muon)s and %(lastvtx)s"%params], 00338 00339 ["EDepInGdLS", "dE", "%(GD)s"%params], 00340 ["EDepInLS", "dE", "%(LS)s"%params], 00341 ["EDepInIAV", "dE", "%(IAV)s"%params], 00342 ["EDepInOAV", "dE", "%(OAV)s"%params], 00343 ["EDepInOIL", "dE", "%(MO)s"%params], 00344 00345 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00346 ["QEDepInLS", "qdE", "%(LS)s"%params], 00347 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00348 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00349 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00350 00351 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00352 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00353 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00354 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00355 00356 ["tQESumLS", "qEt", "%(LS)s"%params], 00357 ["xQESumLS", "qEx", "%(LS)s"%params], 00358 ["yQESumLS", "qEy", "%(LS)s"%params], 00359 ["zQESumLS", "qEz", "%(LS)s"%params], 00360 00361 ["tQESumMO", "qEt", "%(MO)s"%params], 00362 ["xQESumMO", "qEx", "%(MO)s"%params], 00363 ["yQESumMO", "qEy", "%(MO)s"%params], 00364 ["zQESumMO", "qEz", "%(MO)s"%params], 00365 00366 ["tGen", "t","%(NeutronTrk)s and %(firstvtx)s"%params], 00367 ["xGen", "x","%(NeutronTrk)s and %(firstvtx)s"%params], 00368 ["yGen", "y","%(NeutronTrk)s and %(firstvtx)s"%params], 00369 ["zGen", "z","%(NeutronTrk)s and %(firstvtx)s"%params], 00370 00371 ["tCap", "t","%(NeutronTrk)s and %(lastvtx)s"%params], 00372 ["xCap", "x","%(NeutronTrk)s and %(lastvtx)s"%params], 00373 ["yCap", "y","%(NeutronTrk)s and %(lastvtx)s"%params], 00374 ["zCap", "z","%(NeutronTrk)s and %(lastvtx)s"%params], 00375 00376 ["capTarget", "capTargetZ","%(track1)s and %(lastvtx)s"%params], 00377 00378 # track 1 00379 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00380 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00381 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00382 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00383 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00384 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00385 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00386 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00387 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00388 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00389 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00390 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00391 ["vx_Trk1", "lvx","%(track1)s and %(start)s"%params], 00392 ["vy_Trk1", "lvy","%(track1)s and %(start)s"%params], 00393 ["vz_Trk1", "lvz","%(track1)s and %(start)s"%params], 00394 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00395 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00396 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00397 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00398 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params], 00399 # track 2 00400 ["pdgId_Trk2","pdg","%(track2)s and %(start)s"%params], 00401 ["t_Trk2", "t" , "%(track2)s and %(start)s"%params], 00402 ["x_Trk2", "x", "%(track2)s and %(start)s"%params], 00403 ["y_Trk2", "y", "%(track2)s and %(start)s"%params], 00404 ["z_Trk2", "z", "%(track2)s and %(start)s"%params], 00405 ["tEnd_Trk2", "t" , "%(track2)s and %(lastvtx)s"%params], 00406 ["xEnd_Trk2", "x", "%(track2)s and %(lastvtx)s"%params], 00407 ["yEnd_Trk2", "y", "%(track2)s and %(lastvtx)s"%params], 00408 ["zEnd_Trk2", "z", "%(track2)s and %(lastvtx)s"%params], 00409 ["e_Trk2", "E", "%(track2)s and %(start)s"%params], 00410 ["p_Trk2", "p", "%(track2)s and %(start)s"%params], 00411 ["ke_Trk2", "KE", "%(track2)s and %(start)s"%params], 00412 ["vx_Trk2", "lvx","%(track2)s and %(start)s"%params], 00413 ["vy_Trk2", "lvy","%(track2)s and %(start)s"%params], 00414 ["vz_Trk2", "lvz","%(track2)s and %(start)s"%params], 00415 ["TrkLength_GD_Trk2", "dx","%(track2)s and %(GD)s"%params], 00416 ["TrkLength_iAV_Trk2", "dx","%(track2)s and %(IAV)s"%params], 00417 ["TrkLength_LS_Trk2", "dx","%(track2)s and %(LS)s"%params], 00418 ["TrkLength_oAV_Trk2", "dx","%(track2)s and %(OAV)s"%params], 00419 ["TrkLength_Oil_Trk2", "dx","%(track2)s and %(MO)s"%params] 00420 ]) 00421 00422 self.detsim = detsim 00423 00424 # Finally, DetSimVali itself 00425 from DetSimValidation.DetSimValidationConf import DetSimVali 00426 dsv = DetSimVali() 00427 dsv.Volume = volume 00428 self.detsimvali = dsv 00429 00430 from Gaudi.Configuration import ApplicationMgr 00431 theApp = ApplicationMgr() 00432 theApp.TopAlg.append(dsv) 00433 00434 from GaudiSvc.GaudiSvcConf import THistSvc 00435 histsvc = THistSvc() 00436 histsvc.Output =["file1 DATAFILE='%s' OPT='RECREATE' TYP='ROOT' "%histogram_filename] return