def _setupAtlasUnixStandardJob(): from AppMgr import theApp from AppMgr import ServiceMgr as svcMgr import SystemOfUnits as Units from Constants import VERBOSE, DEBUG, INFO, ERROR ## basic Gaudi services import GaudiSvc.GaudiSvcConf as GaudiSvcConf svcMgr += GaudiSvcConf.IncidentSvc() svcMgr += GaudiSvcConf.EvtPersistencySvc( "EventPersistencySvc" ) svcMgr += GaudiSvcConf.HistogramSvc( "HistogramDataSvc" ) svcMgr += GaudiSvcConf.NTupleSvc() svcMgr += GaudiSvcConf.ToolSvc() svcMgr += GaudiSvcConf.RndmGenSvc() svcMgr += GaudiSvcConf.ChronoStatSvc() import GaudiAud.GaudiAudConf as GaudiAudConf svcMgr.AuditorSvc += GaudiAudConf.AlgContextAuditor() # make sure StatusCodeSvc messages are always printed svcMgr += GaudiSvcConf.StatusCodeSvc() svcMgr.StatusCodeSvc.OutputLevel = INFO svcMgr.StatusCodeSvc.Filter += [ "Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)", "ROOT::Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)", ] # make sure StatusCodes are always checked svcMgr.StatusCodeSvc.AbortOnError=True # make the message service available # from GaudiSvc.GaudiSvcConf import MessageSvc svcMgr.MessageSvc = theApp.service( "MessageSvc" ) # already instantiated # StoreGate services configuration import StoreGate.StoreGateConf as StoreGateConf svcMgr += StoreGateConf.StoreGateSvc() svcMgr += StoreGateConf.StoreGateSvc("DetectorStore") svcMgr += StoreGateConf.StoreGateSvc("HistoryStore") #ClassIDSvc configuration import CLIDComps.CLIDCompsConf as CLIDCompsConf svcMgr += CLIDCompsConf.ClassIDSvc() svcMgr.ClassIDSvc.CLIDDBFiles += [ "Gaudi_clid.db" ] #Ignore certain Service loops try: theApp.InitializationLoopCheck = False ## theApp.LoopCheckIgnore += [ ## "StoreGateSvc", "DetectorStore", ## "PerfMonSvc", "AuditorSvc", "GeoModelSvc", ## "IOVSvc" ## ] except AttributeError: # gaudi v19r9... were art thou ? pass # dictionary services # the dict loader import AthenaServices.AthenaServicesConf as AthenaServicesConf if not hasattr(svcMgr, 'AthDictLoaderSvc'): svcMgr += AthenaServicesConf.AthDictLoaderSvc() theApp.CreateSvc += [svcMgr.AthDictLoaderSvc.getFullJobOptName()] # the dict checker if not hasattr(svcMgr, 'AthenaSealSvc'): svcMgr += AthenaServicesConf.AthenaSealSvc() theApp.CreateSvc += [svcMgr.AthenaSealSvc.getFullJobOptName()] # add-in a service to handle core-dumps if not hasattr(svcMgr, 'CoreDumpSvc'): svcMgr += AthenaServicesConf.CoreDumpSvc() theApp.CreateSvc += [ svcMgr.CoreDumpSvc.getFullJobOptName() ]
def toolSvc(self, name='ToolSvc'): if '_toolsvc' not in self.__dict__: self.__dict__['_toolsvc'] = GaudiSvcConf.ToolSvc(name) return self._toolsvc