def _do_jobproperties(self): """ Place to handle JobProperties . """ AtlasG4Eng.G4Eng.log.info('SimSkeleton :: _do_JobProperties starting') ## Import extra flags if it hasn't already been done from G4AtlasApps.SimFlags import simFlags if not simFlags.extra_flags: simFlags.load_ctb_flags() # - switch off tasks DetFlags.pileup.all_setOff() DetFlags.simulateLVL1.all_setOff() DetFlags.digitize.all_setOff() DetFlags.overlay.all_setOff() DetFlags.readRDOPool.all_setOff() DetFlags.makeRIO.all_setOff() DetFlags.writeBS.all_setOff() DetFlags.readRDOBS.all_setOff() DetFlags.readRIOBS.all_setOff() DetFlags.readRIOPool.all_setOff() DetFlags.writeRIOPool.all_setOff() DetFlags.writeRDOPool.all_setOff() # - see if there are beam-conditions if (simFlags.BeamConditions.statusOn and simFlags.BeamConditions.get_Value()): try: AtlasG4Eng.G4Eng.log.info(' SimCtbKernel: '+\ ' loading CTB beam-conditions from the'+\ ' CTB run-condition file !!') BeamCond = __import__(modulepath, globals(), locals(), prepath).BeamCond beam_cond_obj = BeamCond.retrieve_Run( simFlags.RunNumber.get_Value()) beam_cond_obj._map() except: AtlasG4Eng.G4Eng.log.warning(' SimCtbKernel: '+ 'No particular beam conditions found for the run '+\ str(simFlags.RunNumber.get_Value())) # - switch off non-existing detectors DetFlags.FCal_setOff() DetFlags.HEC_setOff() # - Muons off for 13.0.0 release DetFlags.Muon_setOff() AtlasG4Eng.G4Eng.log.info( 'SimCtbKernel : Muons are not supported in releases >= 13.0.0') # - photon runs under run-conditions. For all the photon runs with # run number > 2860 SCT and Pixel were not at the beam # -- LAr material studies if (simFlags.SimLayout.get_Value() == 'ctbh8_lar-material'): DetFlags.SCT_setOff() DetFlags.Muon_setOff() if (simFlags.SimLayout.get_Value() == 'ctbh8_calodata'): DetFlags.ID_setOff() DetFlags.Muon_setOff() # # Note: for combined runs tag 04 in IDET # photon runs tag 08 # larmaterial runs tag 01 if simFlags.SimLayout.get_Value( ) == 'ctbh8_combined' and not simFlags.IdetOracleTag.statusOn: simFlags.IdetOracleTag = "InnerDetector-CTB-04-01" elif simFlags.SimLayout.get_Value( ) == 'ctbh8_phothon' and not simFlags.IdetOracleTag.statusOn: simFlags.IdetOracleTag = "InnerDetector-CTB-08-01" elif simFlags.SimLayout.get_Value( ) == 'ctbh8_lar-material' and not simFlags.IdetOracleTag.statusOn: simFlags.IdetOracleTag = "InnerDetector-CTB-01-01" else: simFlags.IdetOracleTag.set_On() # globalflags.DataSource = "geant4" globalflags.DetGeo = "ctbh8" ## mgallas this is a hack! needed for GeoModel and IOVDbSvc # TODO: Wow! Is this really still needed? import __main__ __main__.DetDescrVersion = 'CTB' __main__.globalflags = globalflags globalflags.DetDescrVersion = 'CTB' ## Translate conditions tag into IOVDbSvc global tag: must be done before job properties are locked!!! from AthenaCommon.AppMgr import ServiceMgr from IOVDbSvc.IOVDbSvcConf import IOVDbSvc ServiceMgr += IOVDbSvc() if not hasattr( globalflags, "ConditionsTag") or not globalflags.ConditionsTag.get_Value(): msg = "AtlasSimSkeleton._do_jobproperties :: conditions tag has not been set and is no longer guessed by SimAtlasKernel. " msg += "You must set the globaltags.ConditionsTag flag in your job options." AtlasG4Eng.G4Eng.log.error(msg) raise SystemExit( "AtlasSimSkeleton._do_jobproperties :: Global ConditionsTag not set" ) if not hasattr(ServiceMgr.IOVDbSvc, 'GlobalTag') or not ServiceMgr.IOVDbSvc.GlobalTag: ServiceMgr.IOVDbSvc.GlobalTag = globalflags.ConditionsTag.get_Value( ) if not simFlags.ISFRun: from G4AtlasApps.G4Atlas_Metadata import checkForSpecialConfigurationMetadata checkForSpecialConfigurationMetadata() ## Print out flags if AtlasG4Eng.G4Eng.log.getEffectiveLevel() < 40: AtlasG4Eng.G4Eng.log.info( 'SimCtbKernel : printing detector flags DetFlags') DetFlags.Print() AtlasG4Eng.G4Eng.log.info( 'SimCtbKernel : printing simulation flags simFlags') jobproperties.print_JobProperties('tree&value') jobproperties.lock_JobProperties() AtlasG4Eng.G4Eng.log.info('SimSkeleton :: _do_JobProperties done')
EvtMax = 10000 theApp.EvtMax = EvtMax # get a handle on topalg from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() #--- Detector flags ------------------------------------------- from AthenaCommon.DetFlags import DetFlags # - Select detectors DetFlags.ID_setOff() DetFlags.Calo_setOn() DetFlags.em_setOff() DetFlags.FCal_setOff() DetFlags.HEC_setOff() DetFlags.Tile_setOn() DetFlags.Muon_setOff() DetFlags.Truth_setOn() #============================================================== # Job configuration #============================================================== # - switch off tasks DetFlags.pileup.all_setOff() DetFlags.simulate.all_setOff() DetFlags.makeRIO.all_setOff() DetFlags.writeBS.all_setOff() DetFlags.readRDOBS.all_setOff() DetFlags.readRIOBS.all_setOff()
def _do_jobproperties(self): """ Place to handle JobProperties . """ AtlasG4Eng.G4Eng.log.info('SimSkeleton :: _do_JobProperties starting') ## Import extra flags if it hasn't already been done from G4AtlasApps.SimFlags import simFlags if not simFlags.extra_flags: simFlags.load_tbtile_flags() # - switch off tasks DetFlags.pileup.all_setOff() DetFlags.simulateLVL1.all_setOff() DetFlags.digitize.all_setOff() DetFlags.overlay.all_setOff() DetFlags.readRDOPool.all_setOff() DetFlags.makeRIO.all_setOff() DetFlags.writeBS.all_setOff() DetFlags.readRDOBS.all_setOff() DetFlags.readRIOBS.all_setOff() DetFlags.readRIOPool.all_setOff() DetFlags.writeRIOPool.all_setOff() DetFlags.writeRDOPool.all_setOff() # not needed detectors DetFlags.ID_setOff() DetFlags.Muon_setOff() DetFlags.FCal_setOff() DetFlags.HEC_setOff() DetFlags.em_setOff() # globalflags.DataSource = "geant4" globalflags.DetGeo = "ctbh8" # mgallas this is a hack! needed for GeoModel and IOVDbSvc # TODO: Wow! Is this really still needed? import __main__ __main__.DetDescrVersion = 'CTB' __main__.globalflags = globalflags globalflags.DetDescrVersion = 'CTB' ## Translate conditions tag into IOVDbSvc global tag: must be done before job properties are locked!!! from AthenaCommon.AppMgr import ServiceMgr from IOVDbSvc.IOVDbSvcConf import IOVDbSvc ServiceMgr += IOVDbSvc() if not hasattr( globalflags, "ConditionsTag") or not globalflags.ConditionsTag.get_Value(): msg = "AtlasSimSkeleton._do_jobproperties :: conditions tag has not been set and is no longer guessed by SimAtlasKernel. " msg += "You must set the globaltags.ConditionsTag flag in your job options." AtlasG4Eng.G4Eng.log.error(msg) raise SystemExit( "AtlasSimSkeleton._do_jobproperties :: Global ConditionsTag not set" ) if not hasattr(ServiceMgr.IOVDbSvc, 'GlobalTag') or not ServiceMgr.IOVDbSvc.GlobalTag: ServiceMgr.IOVDbSvc.GlobalTag = globalflags.ConditionsTag.get_Value( ) if not simFlags.ISFRun: from G4AtlasApps.G4Atlas_Metadata import checkForSpecialConfigurationMetadata checkForSpecialConfigurationMetadata() ## Print flags if AtlasG4Eng.G4Eng.log.getEffectiveLevel() < 40: AtlasG4Eng.G4Eng.log.info( 'SimCtbKernel : printing detector flags DetFlags') DetFlags.Print() AtlasG4Eng.G4Eng.log.info( 'SimCtbKernel : printing simulation flags simFlags') jobproperties.print_JobProperties('tree&value') jobproperties.lock_JobProperties() AtlasG4Eng.G4Eng.log.info('SimSkeleton :: _do_JobProperties done')