def _loadBasicIOVRegistrationSvc(): """Loads the basic services for IOVRegistrationSvc""" ## make sure we have been -at least- minimally correctly configured import AthenaCommon.AtlasUnixStandardJob # add in service from AthenaCommon.AppMgr import ServiceMgr from RegistrationServices.RegistrationServicesConf import IOVRegistrationSvc ServiceMgr += IOVRegistrationSvc() # # Definitions and default values # # Min and max for run and LB numbers IOVRunNumberMin = 0 IOVRunNumberMax = 2147483647 #0x7FFFFFFF IOVLBNumberMin = 0 IOVLBNumberMax = 4294967295 #0xFFFFFFFF
Folder = "/LAR/OFC/OFCPhase" ObjectSpec = ["LArOFCBinComplete#" + KeyOutput + "#" + Folder] TagSpec = ["LArOFCPhase-01"] OutputDB = "sqlite://X;schema=OFCPhase.db;dbname=CONDBR2" OutputConditionsAlg = OutputConditionsAlg("OutputConditionsAlg", "./ofc_phase.pool.root", ObjectSpec, TagSpec, True) #OutputConditionsAlg.Run1 = 0 #OutputConditionsAlg.Run2 = 0 topSequence += OutputConditionsAlg from AthenaCommon.AppMgr import ServiceMgr from RegistrationServices.RegistrationServicesConf import IOVRegistrationSvc svcMgr += IOVRegistrationSvc() svcMgr.IOVRegistrationSvc.OutputLevel = DEBUG svcMgr.IOVRegistrationSvc.RecreateFolders = True svcMgr.IOVDbSvc.dbConnection = OutputDB #-------------------------------------------------------------- # initialize Athena, then go to first event #-------------------------------------------------------------- #theApp.initialize() #theApp.nextEvent() svcMgr.MessageSvc.OutputLevel = DEBUG svcMgr.MessageSvc.defaultLimit = 10000 svcMgr.MessageSvc.Format = "% F%20W%S%7W%R%T %0W%M" svcMgr += CfgMgr.AthenaEventLoopMgr(OutputLevel=ERROR)
] OutputConditionsAlg.WriteIOV = True #OutputConditionsAlg.Run1=1 #OutputConditionsAlg.LB1=4 #OutputConditionsAlg.Run2=1 #OutputConditionsAlg.LB2=9 OutputConditionsAlg.IOVTagList = ["PixMapOverlay-Test-00"] ### configure IOVRegistrationSvc from RegistrationServices.RegistrationServicesConf import IOVRegistrationSvc ServiceMgr += IOVRegistrationSvc() regSvc = ServiceMgr.IOVRegistrationSvc regSvc.OverrideNames = ["ModuleSpecialPixelMap_Clob"] regSvc.OverrideTypes = ["String4k"] ### configure the event selector from GaudiSvc.GaudiSvcConf import EventSelector ServiceMgr += EventSelector() EventSelector.RunNumber = 1 EventSelector.EventsPerRun = 5 EventSelector.FirstEvent = 1 EventSelector.InitialTimeStamp = 0
#MYIOVDbSvc = IOVDbSvc(dbConnection = "sqlite://X;schema=mytest.db;dbname=TESTCOOL") #MYIOVDbSvc = IOVDbSvc(dbConnection = "impl=cool;techno=oracle;schema=ATLAS_COOL_AAD;DEVDB10:DCSDEC:ATLAS_COOL_AAD") #MYIOVDbSvc = IOVDbSvc(dbConnection = "oracle://DEVDB10;schema=ATLAS_COOL_AAD;dbname=DCSTEST4") #MYIOVDbSvc = IOVDbSvc(dbConnection = "oracle://ATLAS_COOLWRITE;schema=ATLAS_COOLOFL_DCS;dbname=OFLP200") # atlas simulation #MYIOVDbSvc = IOVDbSvc(dbConnection = "oracle://ATLAS_COOLWRITE;schema=ATLAS_COOLOFL_DCS;dbname=COMP200") # cosmics MYIOVDbSvc = IOVDbSvc( dbConnection="sqlite://X;schema=mytest.db;dbname=OFLP200") IOVDbSvc.GlobalTag = "DEFAULTCOND" ServiceMgr += MYIOVDbSvc #theApp.Dlls += [ "RegistrationServices" ] ## include ( "RegistrationServices/RegistrationServices_jobOptions.py" ) from RegistrationServices.RegistrationServicesConf import IOVRegistrationSvc MYIOVRegistrationSvc = IOVRegistrationSvc(IOVDbTimeStamp=TRUE) MYIOVRegistrationSvc.OverrideNames += ['FSM_state', 'FSM_status'] MYIOVRegistrationSvc.OverrideTypes += ['String255', 'String255'] ServiceMgr += MYIOVRegistrationSvc ## include ( "RegistrationServices/IOVRegistrationSvc_jobOptions.py" ) import AthenaCommon.AtlasUnixGeneratorJob from AthenaCommon.AppMgr import ServiceMgr as svcMgr svcMgr.EventSelector.RunNumber = 0 svcMgr.EventSelector.EventsPerRun = 20 svcMgr.EventSelector.FirstEvent = 1 # initial time stamp - this is number of seconds since 1st Jan 1970 GMT svcMgr.EventSelector.InitialTimeStamp = 0
# To register the correction constants with cool. # This sets up writing the constants to a pool file. include("CaloClusterCorrection/CaloTopoEMCorrectionsToPool.py") include("RegistrationServices/IOVRegistrationSvc_jobOptions.py") # Now to handle the cool registration. # Set flag to register and run interval Run1/LB1 to Run2/LB2 # Usually, only need to set Run1, others go to default OutputConditionsAlg.WriteIOV = True OutputConditionsAlg.Run1 = IOVRunNumberMin OutputConditionsAlg.LB1 = IOVLBNumberMin OutputConditionsAlg.Run2 = IOVRunNumberMax OutputConditionsAlg.LB2 = IOVLBNumberMax # Tags need to be globally unique! OutputConditionsAlg.IOVTagList = tag_list # Set the connection string include("IOVDbSvc/IOVDbSvc_jobOptions.py") IOVDbSvc = Service("IOVDbSvc") #IOVDbSvc.OutputLevel=DEBUG from RegistrationServices.RegistrationServicesConf import IOVRegistrationSvc IOVRegistrationSvc().writeKeyInfo = False #IOVRegSvc.RecreateFolders = True IOVDbSvc.dbConnection = "sqlite://;schema=topoemcool.db;dbname=OFLP200"