8def TileIntegratorCondAlgCfg(flags, **kwargs):
9 """Return component accumulator with configured Tile integrator conditions algorithm
10
11 Arguments:
12 flags -- Athena configuration flags
13 Keyword arguments:
14 Source -- source of Tile integrator conditions (COOL, FILE). Defaults to COOL.
15 TileIntegrator -- name of Tile integrator conditions object. Defaults to TileIntegrator.
16 """
17
18 acc = ComponentAccumulator()
19
20 source = kwargs.get('Source', 'COOL')
21 integrator = kwargs.get('TileIntegrator', 'TileIntegrator')
22
23 name = integrator + 'CondAlg'
24
25 if source == 'COOL':
26
27
28 from TileConditions.TileFolders import TileFolders
29 folders = TileFolders(isMC = flags.Input.isMC, isOnline = flags.Common.isOnline)
30
31 if flags.IOVDb.DatabaseInstance == 'CONDBR2':
32 integratorFolder = folders.addSplitOnline('/TILE/ONL01/INTEGRATOR', '/TILE/OFL02/INTEGRATOR')
33 else:
34 integratorFolder = folders.addSplitOnline('/TILE/OFL01/INTEGRATOR', '/TILE/OFL02/INTEGRATOR')
35
36 TileCondProxyCoolFlt=CompFactory.getComp("TileCondProxyCool<TileCalibDrawerFlt>")
37 integratorProxy =
TileCondProxyCoolFlt(
'TileCondProxyCool_Integrator', Source = integratorFolder)
38
39 from IOVDbSvc.IOVDbSvcConfig import addFolderList
40 acc.merge( addFolderList(flags, folders.get()) )
41
42 elif source == 'FILE':
43
44 TileCondProxyFileFlt=CompFactory.getComp("TileCondProxyFile<TileCalibDrawerFlt>")
45 integratorProxy =
TileCondProxyFileFlt(
'TileCondProxyFile_Integrator', Source =
'TileDefault.int')
46 else:
47 raise(Exception("Invalid source: %s" % source))
48
49 TileCalibFltCondAlg=CompFactory.getComp("TileCalibCondAlg<TileCalibDrawerFlt>")
51 ConditionsProxy = integratorProxy,
52 TileCalibData = integrator)
53
54 acc.addCondAlgo(integratorCondAlg)
55
56 return acc
57
58