3 """Define methods to construct configured Tile integrator conditions tool and algorithm""" 
    5 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
    6 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
    9     """Return component accumulator with configured Tile integrator conditions algorithm 
   12         flags  -- Athena configuration flags 
   14         Source -- source of Tile integrator conditions (COOL, FILE). Defaults to COOL. 
   15         TileIntegrator -- name of Tile integrator conditions object. Defaults to TileIntegrator. 
   20     source = kwargs.get(
'Source', 
'COOL')
 
   21     integrator = kwargs.get(
'TileIntegrator', 
'TileIntegrator')
 
   23     name = integrator + 
'CondAlg' 
   28         from TileConditions.TileFolders 
import TileFolders
 
   29         folders = TileFolders(isMC = flags.Input.isMC, isOnline = flags.Common.isOnline)
 
   31         if flags.IOVDb.DatabaseInstance  == 
'CONDBR2':
 
   32             integratorFolder = folders.addSplitOnline(
'/TILE/ONL01/INTEGRATOR', 
'/TILE/OFL02/INTEGRATOR')
 
   34             integratorFolder = folders.addSplitOnline(
'/TILE/OFL01/INTEGRATOR', 
'/TILE/OFL02/INTEGRATOR')
 
   36         TileCondProxyCoolFlt=CompFactory.getComp(
"TileCondProxyCool<TileCalibDrawerFlt>")
 
   37         integratorProxy = 
TileCondProxyCoolFlt(
'TileCondProxyCool_Integrator', Source = integratorFolder)
 
   39         from IOVDbSvc.IOVDbSvcConfig 
import addFolderList
 
   42     elif source == 
'FILE':
 
   44         TileCondProxyFileFlt=CompFactory.getComp(
"TileCondProxyFile<TileCalibDrawerFlt>")
 
   45         integratorProxy = 
TileCondProxyFileFlt(
'TileCondProxyFile_Integrator', Source = 
'TileDefault.int')
 
   47         raise(Exception(
"Invalid source: %s" % source))
 
   49     TileCalibFltCondAlg=CompFactory.getComp(
"TileCalibCondAlg<TileCalibDrawerFlt>")
 
   51                                              ConditionsProxy = integratorProxy,
 
   52                                              TileCalibData = integrator)
 
   54     acc.addCondAlgo(integratorCondAlg)
 
   60     """Return component accumulator with configured private Tile integrator tool 
   62         flags  -- Athena configuration flags 
   64         Source -- source of Tile integrator conditions (COOL, FILE). Defaults to COOL. 
   65         TileIntegrator -- name of Tile integrator conditions object. Defaults to TileIntegrator. 
   70     kwargs.setdefault(
'Source', 
'COOL')
 
   71     kwargs.setdefault(
'TileIntegrator', 
'TileIntegrator')
 
   73     integrator = kwargs[
'TileIntegrator']
 
   74     name = 
'TileCondToolIntegrator' 
   78     TileCondToolIntegrator=CompFactory.TileCondToolIntegrator
 
   84 if __name__ == 
"__main__":
 
   86     from AthenaConfiguration.AllConfigFlags 
import initConfigFlags
 
   87     from AthenaConfiguration.TestDefaults 
import defaultTestFiles
 
   88     from AthenaCommon.Logging 
import log
 
   95     flags.Input.Files = defaultTestFiles.RAW_RUN2
 
  101     print(integratorTool)
 
  103     acc.printConfig(withDetails = 
True, summariseProps = 
True)
 
  104     print(acc.getService(
'IOVDbSvc'))
 
  105     acc.store( 
open(
'TileIntegrator.pkl',
'wb') )