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 440 of file AD.py.
def DetSimValidation::AD::IBDevents::__init__ | ( | self, | ||
histogram_filename = 'IBDevents.root' , |
||||
volume = "/dd/Structure/Sites/db-rock/db-ows/db-curtain/db-iws/db-ade1/db-sst1/db-oil1" , |
||||
seed = "0" , |
||||
nevts = "200" | ||||
) |
Construct the default configuration.
Definition at line 443 of file AD.py.
00444 : 00445 ''' Construct the default configuration. 00446 ''' 00447 import GaudiKernel.SystemOfUnits as units 00448 00449 # First GenTools 00450 ibd = "InverseBeta.exe -seed " + seed + " -n " + nevts + " |" 00451 from GenTools.Helpers import HepEVT 00452 he = HepEVT(hepEvtDataSource = ibd) 00453 he.positioner.Strategy = "FullVolume" 00454 he.positioner.Volume = volume 00455 he.positioner.Mode = "Uniform" 00456 he.positioner.Spread = 2.6*units.meter 00457 he.positioner.Position = [0,0,2.5*units.meter] 00458 he.transformer.Volume = volume 00459 import GenTools 00460 GenTools.Configure().register(he) 00461 self.hepevt = he 00462 00463 self.dumper = GenTools.Dumper() 00464 00465 # Then DetSim, with smaller than default configuration: 00466 import DetSim 00467 detsim = DetSim.Configure(site="dayabay") 00468 detsim.historian(trackSelection="(pdg == 2112)",vertexSelection="(pdg == 2112)") 00469 params = { 00470 'start' :"(start > 0)", 00471 'track1':"(id==1)", 00472 'track2':"(id==2)", 00473 'GD': "MaterialName == '/dd/Materials/GdDopedLS'", 00474 'LS': "MaterialName == '/dd/Materials/LiquidScintillator'", 00475 'MO': "MaterialName == '/dd/Materials/MineralOil'", 00476 'IAV': "DetectorElementName == 'db-iav1'", 00477 'OAV': "DetectorElementName == 'db-oav1'", 00478 'IWS': "MaterialName == '/dd/Materials/IwsWater'", 00479 'OWS': "MaterialName == '/dd/Materials/OwsWater'", 00480 'lastvtx': "IsStopping == 1", 00481 'firstvtx': "IsStarting == 1", 00482 'NeutronTrk': "pdg == 2112", 00483 'NeutronMom': "creator == 2112", 00484 'Gamma': "pdg == 22", 00485 'Muon': "(pdg == 13 or pdg == -13)" 00486 } 00487 00488 detsim.unobserver(stats=[ 00489 ["MuonTrkLengthInOws", "dx", "%(Muon)s and %(OWS)s"%params], 00490 ["MuonTrkLengthInIws", "dx", "%(Muon)s and %(IWS)s"%params], 00491 ["MuonTrkLengthInLS", "dx", "%(Muon)s and %(LS)s"%params], 00492 ["MuonTrkLengthInGdLS","dx", "%(Muon)s and %(GD)s"%params], 00493 ["dEInn","dE", "(pdg!=20022) and %(IWS)s"%params], 00494 ["dEOut","dE", "(pdg!=20022) and %(OWS)s"%params], 00495 ["MuonStop", "dx", "%(Muon)s and %(lastvtx)s"%params], 00496 00497 ["EDepInGdLS", "dE", "%(GD)s"%params], 00498 ["EDepInLS", "dE", "%(LS)s"%params], 00499 ["EDepInIAV", "dE", "%(IAV)s"%params], 00500 ["EDepInOAV", "dE", "%(OAV)s"%params], 00501 ["EDepInOIL", "dE", "%(MO)s"%params], 00502 00503 ["QEDepInGdLS", "qdE", "%(GD)s"%params], 00504 ["QEDepInLS", "qdE", "%(LS)s"%params], 00505 ["QEDepInIAV", "qdE", "%(IAV)s"%params], 00506 ["QEDepInOAV", "qdE", "%(OAV)s"%params], 00507 ["QEDepInOIL", "qdE", "%(MO)s"%params], 00508 00509 ["tQESumGdLS", "qEt", "%(GD)s"%params], 00510 ["xQESumGdLS", "qEx", "%(GD)s"%params], 00511 ["yQESumGdLS", "qEy", "%(GD)s"%params], 00512 ["zQESumGdLS", "qEz", "%(GD)s"%params], 00513 00514 ["tQESumLS", "qEt", "%(LS)s"%params], 00515 ["xQESumLS", "qEx", "%(LS)s"%params], 00516 ["yQESumLS", "qEy", "%(LS)s"%params], 00517 ["zQESumLS", "qEz", "%(LS)s"%params], 00518 00519 ["tQESumMO", "qEt", "%(MO)s"%params], 00520 ["xQESumMO", "qEx", "%(MO)s"%params], 00521 ["yQESumMO", "qEy", "%(MO)s"%params], 00522 ["zQESumMO", "qEz", "%(MO)s"%params], 00523 00524 ["tGen", "t","%(NeutronTrk)s and %(firstvtx)s"%params], 00525 ["xGen", "x","%(NeutronTrk)s and %(firstvtx)s"%params], 00526 ["yGen", "y","%(NeutronTrk)s and %(firstvtx)s"%params], 00527 ["zGen", "z","%(NeutronTrk)s and %(firstvtx)s"%params], 00528 00529 ["tCap", "t","%(NeutronTrk)s and %(lastvtx)s"%params], 00530 ["xCap", "x","%(NeutronTrk)s and %(lastvtx)s"%params], 00531 ["yCap", "y","%(NeutronTrk)s and %(lastvtx)s"%params], 00532 ["zCap", "z","%(NeutronTrk)s and %(lastvtx)s"%params], 00533 00534 ["capTarget", "capTargetZ","%(track1)s and %(lastvtx)s"%params], 00535 00536 # track 1 00537 ["pdgId_Trk1","pdg","%(track1)s and %(start)s"%params], 00538 ["t_Trk1", "t" , "%(track1)s and %(start)s"%params], 00539 ["x_Trk1", "x", "%(track1)s and %(start)s"%params], 00540 ["y_Trk1", "y", "%(track1)s and %(start)s"%params], 00541 ["z_Trk1", "z", "%(track1)s and %(start)s"%params], 00542 ["tEnd_Trk1", "t" , "%(track1)s and %(lastvtx)s"%params], 00543 ["xEnd_Trk1", "x", "%(track1)s and %(lastvtx)s"%params], 00544 ["yEnd_Trk1", "y", "%(track1)s and %(lastvtx)s"%params], 00545 ["zEnd_Trk1", "z", "%(track1)s and %(lastvtx)s"%params], 00546 ["e_Trk1", "E", "%(track1)s and %(start)s"%params], 00547 ["p_Trk1", "p", "%(track1)s and %(start)s"%params], 00548 ["ke_Trk1", "KE", "%(track1)s and %(start)s"%params], 00549 ["vx_Trk1", "lvx","%(track1)s and %(start)s"%params], 00550 ["vy_Trk1", "lvy","%(track1)s and %(start)s"%params], 00551 ["vz_Trk1", "lvz","%(track1)s and %(start)s"%params], 00552 ["TrkLength_GD_Trk1", "dx","%(track1)s and %(GD)s"%params], 00553 ["TrkLength_iAV_Trk1", "dx","%(track1)s and %(IAV)s"%params], 00554 ["TrkLength_LS_Trk1", "dx","%(track1)s and %(LS)s"%params], 00555 ["TrkLength_oAV_Trk1", "dx","%(track1)s and %(OAV)s"%params], 00556 ["TrkLength_Oil_Trk1", "dx","%(track1)s and %(MO)s"%params], 00557 # track 2 00558 ["pdgId_Trk2","pdg","%(track2)s and %(start)s"%params], 00559 ["t_Trk2", "t" , "%(track2)s and %(start)s"%params], 00560 ["x_Trk2", "x", "%(track2)s and %(start)s"%params], 00561 ["y_Trk2", "y", "%(track2)s and %(start)s"%params], 00562 ["z_Trk2", "z", "%(track2)s and %(start)s"%params], 00563 ["tEnd_Trk2", "t" , "%(track2)s and %(lastvtx)s"%params], 00564 ["xEnd_Trk2", "x", "%(track2)s and %(lastvtx)s"%params], 00565 ["yEnd_Trk2", "y", "%(track2)s and %(lastvtx)s"%params], 00566 ["zEnd_Trk2", "z", "%(track2)s and %(lastvtx)s"%params], 00567 ["e_Trk2", "E", "%(track2)s and %(start)s"%params], 00568 ["p_Trk2", "p", "%(track2)s and %(start)s"%params], 00569 ["ke_Trk2", "KE", "%(track2)s and %(start)s"%params], 00570 ["vx_Trk2", "lvx","%(track2)s and %(start)s"%params], 00571 ["vy_Trk2", "lvy","%(track2)s and %(start)s"%params], 00572 ["vz_Trk2", "lvz","%(track2)s and %(start)s"%params], 00573 ["TrkLength_GD_Trk2", "dx","%(track2)s and %(GD)s"%params], 00574 ["TrkLength_iAV_Trk2", "dx","%(track2)s and %(IAV)s"%params], 00575 ["TrkLength_LS_Trk2", "dx","%(track2)s and %(LS)s"%params], 00576 ["TrkLength_oAV_Trk2", "dx","%(track2)s and %(OAV)s"%params], 00577 ["TrkLength_Oil_Trk2", "dx","%(track2)s and %(MO)s"%params] 00578 ]) 00579 00580 self.detsim = detsim 00581 00582 # Finally, DetSimVali itself 00583 from DetSimValidation.DetSimValidationConf import DetSimVali 00584 dsv = DetSimVali() 00585 dsv.Volume = volume 00586 self.detsimvali = dsv 00587 00588 from Gaudi.Configuration import ApplicationMgr 00589 theApp = ApplicationMgr() 00590 theApp.TopAlg.append(dsv) 00591 00592 from GaudiSvc.GaudiSvcConf import THistSvc 00593 histsvc = THistSvc() 00594 histsvc.Output =["file1 DATAFILE='%s' OPT='RECREATE' TYP='ROOT' "%histogram_filename] return