9def TileOFCCondAlgCfg(flags, **kwargs):
10 """Return component accumulator with configured Tile OFC conditions algorithm
11
12 Arguments:
13 flags -- Athena configuration flags
14 Keyword arguments:
15 Source -- source of Tile OFC conditions (COOL, FILE). Defaults to COOL.
16 TileOfc -- name of Tile OFC conditions object starts with. Defaults to TileOfc.
17 OfcType -- type of Tile OFC. Defaults to OF2. Possible OFC types: OF1, OF2.
18 """
19
20 acc = ComponentAccumulator()
21
22 runType = flags.Tile.RunType
23
24 source = kwargs.get('Source', 'COOL')
25 ofc = kwargs.get('TileOfc', 'TileOfc')
26 ofcType = kwargs.get('OfcType', 'OF2')
27
28 ofcType = ofcType.upper()
29 if ofcType not in ['OF1', 'OF2']:
30 raise(Exception("Invalid Tile OFC type: %s" % ofcType))
31
32 name = ofc + 'CondAlg'
33
34 if source == 'COOL':
35
36
37 from TileConditions.TileFolders import TileFolders
38 folders = TileFolders(isMC = flags.Input.isMC, isOnline = flags.Common.isOnline)
39
40 ofcType = ofcType + '/' + runType.getCommonType().value
41
42 runNumber = flags.Input.RunNumbers[0]
43 runSplitMC = 470000
44 runSplitOnline = 314449
45 if flags.IOVDb.DatabaseInstance == 'CONDBR2' and runType.getCommonType() is TileRunType.PHY and runNumber > runSplitOnline:
46 ofcFolder = folders.addSplitOnline('/TILE/ONL01/FILTER/' + ofcType, '/TILE/OFL02/FILTER/' + ofcType)
47 elif runNumber >= runSplitMC:
48 ofcFolder = folders.addSplitMC('/TILE/ONL01/FILTER/' + ofcType, '/TILE/OFL02/FILTER/' + ofcType)
49 else:
50 ofcFolder = folders.addSplitMC('/TILE/ONL01/FILTER/' + ofcType, '/TILE/ONL01/FILTER/' + ofcType)
51
52 TileCondProxyCoolOfc=CompFactory.getComp("TileCondProxyCool<TileCalibDrawerOfc>")
54
55 from IOVDbSvc.IOVDbSvcConfig import addFolderList
56 acc.merge( addFolderList(flags, folders.get()) )
57
58 else:
59 raise(Exception("Invalid source: %s" % source))
60
61 TileCalibOfcCondAlg=CompFactory.getComp("TileCalibCondAlg<TileCalibDrawerOfc>")
62 ofcCondAlg =
TileCalibOfcCondAlg( name = name, ConditionsProxy = ofcProxy, TileCalibData = ofc)
63
64 acc.addCondAlgo(ofcCondAlg)
65
66 return acc
67
68