diff --git a/Simulation/SimulationJobOptions/share/cavern/preInclude.G4ReadCavern.py b/Simulation/SimulationJobOptions/share/cavern/preInclude.G4ReadCavern.py index 2754a7fbc8e83b10f6744dbbcba8f89a80d1a0a8..d6140fd9f207c989daac67df017f28358b1556b1 100644 --- a/Simulation/SimulationJobOptions/share/cavern/preInclude.G4ReadCavern.py +++ b/Simulation/SimulationJobOptions/share/cavern/preInclude.G4ReadCavern.py @@ -13,11 +13,10 @@ ServiceMgr += PartPropSvc() from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() -from CosmicGenerator.CosmicGeneratorConf import CosmicGenerator -topSequence += CosmicGenerator() -topSequence.CosmicGenerator.TRSmearing = -1 #in millimeters, e.g. 10 -topSequence.CosmicGenerator.TRPSmearing = -1 #in radians, e.g. 0.01 -topSequence.CosmicGenerator.TRCollection = "NeutronBG" -topSequence.CosmicGenerator.ReadTR = True -topSequence.CosmicGenerator.AtRndmGenSvc = simFlags.RandomSvc.get_Value() +from TrackRecordGenerator.TrackRecordGeneratorConf import TrackRecordGenerator +topSequence += TrackRecordGenerator() +topSequence.TrackRecordGenerator.TRSmearing = -1 #in millimeters, e.g. 10 +topSequence.TrackRecordGenerator.TRPSmearing = -1 #in radians, e.g. 0.01 +topSequence.TrackRecordGenerator.TRCollection = "NeutronBG" +topSequence.TrackRecordGenerator.AtRndmGenSvc = simFlags.RandomSvc.get_Value() simFlags.RandomSeedList.addSeed( "COSMICS", 2040160768, 80 ) diff --git a/Simulation/SimulationJobOptions/share/cosmics/preInclude.TRsmear10.py b/Simulation/SimulationJobOptions/share/cosmics/preInclude.TRsmear10.py index ef8a332b2b125140a780ccb45fb5e955cf854dda..2f63d48163be7d59ac9efded9db61626b7a2fc9c 100644 --- a/Simulation/SimulationJobOptions/share/cosmics/preInclude.TRsmear10.py +++ b/Simulation/SimulationJobOptions/share/cosmics/preInclude.TRsmear10.py @@ -10,8 +10,8 @@ # ######################################################### -from CosmicGenerator.CosmicGeneratorConf import CosmicGenerator -cg = CosmicGenerator() +from TrackRecordGenerator.TrackRecordGeneratorConf import TrackRecordGenerator +cg = TrackRecordGenerator() cg.TRSmearing = 10 #in millimeters cg.TRPSmearing = 0.001 #in radians diff --git a/Simulation/SimulationJobOptions/share/g4/preInclude.ParticleID.py b/Simulation/SimulationJobOptions/share/g4/preInclude.ParticleID.py index 75837e9048f5074096f438e54a5662efab60d311..b773abd475f9ef0b3291d114904a2268935752d6 100644 --- a/Simulation/SimulationJobOptions/share/g4/preInclude.ParticleID.py +++ b/Simulation/SimulationJobOptions/share/g4/preInclude.ParticleID.py @@ -13,11 +13,13 @@ def particleid_setupcalos(): plar = AtlasG4Eng.G4Eng.Dict_DetConfig.get('PyLArG4RunControl') plar.LArG4GlobalOptions.SetDoCalibHitParticleID(True) plar.LArG4GlobalOptions.printMe() - #atlasG4log.info("ParticleID Setting new TileG4SimOptions") - ptile = AtlasG4Eng.G4Eng.Dict_DetConfig.get('PyTileSimUtils') - ptile.TileG4SimOptions.SetDoCalibHitParticleID(True) - ptile.TileG4SimOptions.printMe() + from G4AtlasApps.SimFlags import simFlags + if not hasattr(simFlags, "ParticleID"): + #atlasG4log.info("ParticleID Setting new TileG4SimOptions") + ptile = AtlasG4Eng.G4Eng.Dict_DetConfig.get('PyTileSimUtils') + ptile.TileG4SimOptions.SetDoCalibHitParticleID(True) + ptile.TileG4SimOptions.printMe() from G4AtlasApps.SimFlags import simFlags simFlags.InitFunctions.add_function("preInitDetFacility", particleid_setupcalos) - +if hasattr(simFlags, "ParticleID"): simFlags.ParticleID=True diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py index c51574f32026092c63628b925a6a116a863912a8..5e9a0769c8f9075bc4542771509e9e8375f1b0d8 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py @@ -1,10 +1,5 @@ -################################################################# -# preInclude.AMSB.py - Chiara Debenedetti, 3 Jun 2011 # -################################################################# - - def get_and_fix_PDGTABLE(replace): - import os, shutil + import os, shutil, re # Download generic PDGTABLE (overwrite existing one if it exists) os.system('get_files -remove -data PDGTABLE.MeV') @@ -13,28 +8,27 @@ def get_and_fix_PDGTABLE(replace): # an example line to illustrate the fixed format, see PDGTABLE.MeV for more details # M 1000022 0.E+00 +0.0E+00 -0.0E+00 ~chi(0,1) 0 + lines = open('PDGTABLE.MeV.org').readlines() + for pdgid,mass,name,charge in replace: + if not re.search(r'[MW]\s+'+str(pdgid)+'\s+\S+', ''.join(lines)): + lines.append('M' + str(pdgid).rjust(8) +''.ljust(26) + + ('%11.5E' % mass).ljust(15) + + '+0.0E+00'.ljust(9) + '-0.0E+00'.ljust(9) + + name.strip() + ''.ljust(6) + charge.strip() + '\n') + lines.append('W' + str(pdgid).rjust(8) +''.ljust(26) + + '0.E+00'.ljust(15) + '+0.0E+00'.ljust(9) + '-0.0E+00'.ljust(9) + + name.strip() + ''.ljust(6) + charge.strip() + '\n') + else: + for i in xrange(len(lines)): + if re.search(r'M\s+'+str(pdgid)+'\s+\S+', lines[i]): + l = lines[i] + lines[i] = l[0:35] + ('%11.5E' % mass).ljust(14) + l[49:] + update = open('PDGTABLE.MeV', 'w') - for l in open('PDGTABLE.MeV.org'): - - for r in replace: - if l.find(r[1]) > -1: - ll = l.split() - - if ll[0] == r[0] and ll[1] == r[1]: - l = l[0:35] + ('%11.5E' % r[2]).strip().ljust(14) + l[49:] - continue - - update.write(l) + update.write(''.join(lines)) update.close() -def load_files_for_AMSB_scenario(simdict): - C1Mass = eval(simdict["AMSBC1Mass"]) - N1Mass = eval(simdict["AMSBN1Mass"]) - # patching PDGTABLE - get_and_fix_PDGTABLE([('M', '1000022', N1Mass), ('M', '1000024', C1Mass)]) - - doG4SimConfig = True from AthenaCommon.AthenaCommonFlags import athenaCommonFlags import PyUtils.AthFile as af @@ -52,14 +46,17 @@ except: from G4AtlasApps import AtlasG4Eng simdict = AtlasG4Eng.G4Eng.Dict_SpecialConfiguration -load_files_for_AMSB_scenario(simdict) +C1Mass = eval(simdict["AMSBC1Mass"]) +N1Mass = eval(simdict["AMSBN1Mass"]) +# patching PDGTABLE +get_and_fix_PDGTABLE([(1000022, N1Mass, '~chi(0,1)', '0'), (1000024, C1Mass, '~chi(+,1)', '+')]) if doG4SimConfig: from G4AtlasApps.SimFlags import simFlags def amsb_processlist(): from G4AtlasApps import AtlasG4Eng AtlasG4Eng.G4Eng.gbl.G4Commands().process.list() - + simFlags.InitFunctions.add_function("postInit", amsb_processlist) def amsb_setparams(): diff --git a/Simulation/SimulationJobOptions/share/susy/preInclude.ReadStoppedParticles.py b/Simulation/SimulationJobOptions/share/susy/preInclude.ReadStoppedParticles.py index b86a0624b2253ae9a50dcab8800b511e3af567f8..656de60436355ba340526baffa9fef623ea20a98 100644 --- a/Simulation/SimulationJobOptions/share/susy/preInclude.ReadStoppedParticles.py +++ b/Simulation/SimulationJobOptions/share/susy/preInclude.ReadStoppedParticles.py @@ -28,16 +28,15 @@ def readStoppedParticles(): simFlags.RandomSeedList.addSeed( "COSMICS", 2040160768, 443921183 ) from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() - if not hasattr(topSequence, 'CosmicGenerator'): - from CosmicGenerator.CosmicGeneratorConf import CosmicGenerator - topSequence += CosmicGenerator() + if not hasattr(topSequence, 'TrackRecordGenerator'): + from TrackRecordGenerator.TrackRecordGeneratorConf import TrackRecordGenerator + topSequence += TrackRecordGenerator() - topSequence.CosmicGenerator.TRSmearing = -1 #in millimeters, e.g. 10 - topSequence.CosmicGenerator.TRPSmearing = -1 #in radians, e.g. 0.01 - topSequence.CosmicGenerator.TRCollection = "StoppingPositions" - topSequence.CosmicGenerator.ReadTR = True - topSequence.CosmicGenerator.StopParticles = True - topSequence.CosmicGenerator.AtRndmGenSvc = simFlags.RandomSvc.get_Value() + topSequence.TrackRecordGenerator.TRSmearing = -1 #in millimeters, e.g. 10 + topSequence.TrackRecordGenerator.TRPSmearing = -1 #in radians, e.g. 0.01 + topSequence.TrackRecordGenerator.TRCollection = "StoppingPositions" + topSequence.TrackRecordGenerator.StopParticles = True + topSequence.TrackRecordGenerator.AtRndmGenSvc = simFlags.RandomSvc.get_Value() simFlags.InitFunctions.add_function("preInit", readStoppedParticles)