ATLAS Offline Software
Loading...
Searching...
No Matches
IOVDbTestAlgConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5from AthenaConfiguration.AllConfigFlags import initConfigFlags
6from AthenaConfiguration.ComponentFactory import CompFactory
7from AthenaCommon.Constants import DEBUG
8
9
11 """Create default set of flags for tests"""
12
13 flags = initConfigFlags()
14 flags.Common.MsgSuppression = False
15 flags.Exec.OutputLevel = DEBUG
16 flags.Input.Files = []
17 flags.Input.isMC = True
18 flags.IOVDb.DBConnection = "sqlite://;schema=mytest.db;dbname=TESTCOOL"
19 flags.IOVDb.DatabaseInstance = ""
20 flags.IOVDb.GlobalTag = ""
21
22 return flags
23
24
25def IOVDbTestAlgWriteCfg(flags, registerIOV = False):
26 # Basic services
27 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
28 acc = MainServicesCfg(flags)
29
30 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg
31 acc.merge( IOVDbSvcCfg(flags) )
32
33 if registerIOV:
34 acc.addService( CompFactory.IOVRegistrationSvc(OutputLevel = DEBUG) )
35
36 # Setup MC EventSelector and POOL
37 from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
38 acc.merge( McEventSelectorCfg(flags,
39 RunNumber = 1,
40 EventsPerRun = 5,
41 FirstEvent = 1,
42 EventsPerLB = 1,
43 FirstLB = 1,
44 InitialTimeStamp = 0,
45 TimeStampInterval = 5) )
46
47 from AthenaPoolCnvSvc.PoolCommonConfig import AthenaPoolCnvSvcCfg
48 acc.merge( AthenaPoolCnvSvcCfg(flags,
49 PoolContainerPrefix = "CollectionTree",
50 StorageTechnology = {"*":"ROOTTREE"},
51 TopLevelContainerName = "<type>",
52 SubLevelBranchName = "") )
53
54 # Testing algorithm
55 acc.addEventAlgo( CompFactory.IOVDbTestAlg(
56 "IOVDbTestAlg",
57 OutputLevel = DEBUG,
58 StreamName = "CondStream2",
59 RegTime = 0, # Set time to register - used for IOVDbTestAmdbCorrection
60 WriteCondObjs = True,
61 RegisterIOV = registerIOV,
62 ReadWriteCool = True,
63 TagID = "COOL-TEST-001",
64 PrintLB = True) )
65
66 acc.addPublicTool( CompFactory.AthenaOutputStreamTool("CondStream2",
67 OutputFile = "SimplePoolFile.root") )
68 return acc
69
70
71def IOVDbTestAlgReadCfg(flags, overrideTag=True):
72 # Basic services
73 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
74 acc = MainServicesCfg(flags)
75
76 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg, addFolders
77 acc.merge( IOVDbSvcCfg(flags) )
78
79 # Setup input services
80 if len(flags.Input.Files) > 0:
81 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
82 acc.merge( PoolReadCfg(flags) )
83 else:
84 from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
85 acc.merge( McEventSelectorCfg(flags,
86 RunNumber = 1,
87 EventsPerRun = 5,
88 FirstEvent = 1,
89 EventsPerLB = 1,
90 FirstLB = 1,
91 InitialTimeStamp = 0,
92 TimeStampInterval = 5) )
93 # Testing algorithm
94 acc.addEventAlgo( CompFactory.IOVDbTestAlg(
95 "IOVDbTestAlg",
96 OutputLevel = DEBUG,
97 WriteCondObjs = False,
98 RegisterIOV = False,
99 ReadWriteCool = True,
100 PrintLB = True) )
101
102 t = "COOL-TEST-001"
103 acc.merge( addFolders(flags, "/IOVDbTest/IOVDbTestMDTEleMap",
104 tag = f"MDTEleMap_{t}" if overrideTag else None) )
105 acc.merge( addFolders(flags, "/IOVDbTest/IOVDbTestAMDBCorrection",
106 tag = f"AmdbCorrection_{t}" if overrideTag else None) )
107 acc.merge( addFolders(flags, "/IOVDbTest/IOVDbTestAttrList",
108 tag = f"AttrList_{t}" if overrideTag else None) )
109 acc.merge( addFolders(flags, "/IOVDbTest/IOVDbTestAttrListColl",
110 tag = f"AttrListColl_{t}" if overrideTag else None) )
111 acc.merge( addFolders(flags, "/IOVDbTest/IOVDbTestMDTEleMapColl",
112 tag = f"MDTEleMapColl_{t}" if overrideTag else None) )
113
114 return acc
IOVDbTestAlgWriteCfg(flags, registerIOV=False)
IOVDbTestAlgReadCfg(flags, overrideTag=True)