def TileCellBuilderCfg(flags, **kwargs): """Return component accumulator with configured private Tile Cell builder tool Arguments: flags -- Athena configuration flags (ConfigFlags) SkipGain - skip given gain. Defaults to -1 [use all gains]. Possible values: 0 [LG], 1 [HG]. """ acc = ComponentAccumulator() kwargs.setdefault('CheckDCS', flags.Tile.useDCS) kwargs.setdefault('TileRawChannelContainer', flags.Tile.RawChannelContainer) kwargs.setdefault('SkipGain', -1) # Never skip any gain by default if kwargs['SkipGain'] not in [-1, 0, 1]: raise (Exception("Invalid Tile gain requsted to be skipped: %s" % kwargs['SkipGain'])) from TileRecUtils.TileDQstatusConfig import TileDQstatusAlgCfg acc.merge(TileDQstatusAlgCfg(flags)) from LArGeoAlgsNV.LArGMConfig import LArGMCfg acc.merge(LArGMCfg(flags)) from TileGeoModel.TileGMConfig import TileGMCfg acc.merge(TileGMCfg(flags)) from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg acc.merge(TileInfoLoaderCfg(flags)) from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg acc.merge(TileCablingSvcCfg(flags)) if 'TileBadChanTool' not in kwargs: from TileConditions.TileBadChannelsConfig import TileBadChanToolCfg kwargs['TileBadChanTool'] = acc.popToolsAndMerge( TileBadChanToolCfg(flags)) if 'TileCondToolEmscale' not in kwargs: from TileConditions.TileEMScaleConfig import TileCondToolEmscaleCfg kwargs['TileCondToolEmscale'] = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags)) if 'TileCondToolTiming' not in kwargs: from TileConditions.TileTimingConfig import TileCondToolTimingCfg kwargs['TileCondToolTiming'] = acc.popToolsAndMerge( TileCondToolTimingCfg(flags)) if kwargs['CheckDCS'] and 'TileDCSTool' not in kwargs: from TileConditions.TileDCSConfig import TileDCSToolCfg kwargs['TileDCSTool'] = acc.popToolsAndMerge(TileDCSToolCfg(flags)) if flags.Tile.NoiseFilter == 1: if not (flags.Input.isMC or flags.Overlay.DataOverlay ) and 'TileDSPRawChannelContainer' not in kwargs: from TileRecUtils.TileRawChannelCorrectionConfig import TileRawChannelCorrectionAlgCfg corrAlgAcc = TileRawChannelCorrectionAlgCfg(flags) tileRawChannelCorrectionAlg = corrAlgAcc.getPrimary() tileRawChannelContainerDSP = tileRawChannelCorrectionAlg.OutputRawChannelContainer kwargs['TileDSPRawChannelContainer'] = tileRawChannelContainerDSP acc.merge(corrAlgAcc) TileCellBuilder = CompFactory.TileCellBuilder acc.setPrivateTools(TileCellBuilder(**kwargs)) return acc
def TPCnvTest(infile, keys, useGeoModelSvc=False, useIOVDbSvc=False, doPixel=False, doSCT=False, doTRT=False, doLAr=False, doTile=False, doMuon=False): # Make sure we don't have a stale file catalog. if os.path.exists('PoolFileCatalog.xml'): os.remove('PoolFileCatalog.xml') if ('ATLAS_REFERENCE_TAG' not in globals() and 'ATLAS_REFERENCE_TAG' in os.environ): ATLAS_REFERENCE_TAG = os.environ['ATLAS_REFERENCE_TAG'] # noqa: F841 refpaths = [ os.environ.get('ATLAS_REFERENCE_DATA', None), '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs', '/afs/cern.ch/atlas/maxidisk/d33/referencefiles' ] if infile.startswith('rtt:'): infile = infile[4:] infile = find_file(infile, refpaths) # Provide MC input ConfigFlags.Input.Files = [infile] ConfigFlags.GeoModel.AtlasVersion = 'ATLAS-R1-2012-03-01-00' ConfigFlags.GeoModel.Align.Dynamic = False ConfigFlags.Detector.GeometryPixel = doPixel ConfigFlags.Detector.GeometrySCT = doSCT ConfigFlags.Detector.GeometryTRT = doTRT ConfigFlags.Detector.GeometryLAr = doLAr ConfigFlags.Detector.GeometryTile = doTile ConfigFlags.Detector.GeometryMuon = doMuon ConfigFlags.lock() # Construct ComponentAccumulator acc = MainServicesCfg(ConfigFlags) acc.merge(PoolReadCfg(ConfigFlags)) if useIOVDbSvc: acc.merge(IOVDbSvcCfg(ConfigFlags)) if useGeoModelSvc: if ConfigFlags.Detector.GeometryPixel: acc.merge(PixelGeometryCfg(ConfigFlags)) useGeoModelSvc = True if ConfigFlags.Detector.GeometrySCT: acc.merge(SCT_GeometryCfg(ConfigFlags)) useGeoModelSvc = True if ConfigFlags.Detector.GeometryTRT: acc.merge(TRT_GeometryCfg(ConfigFlags)) useGeoModelSvc = True if ConfigFlags.Detector.GeometryLAr: acc.merge(LArGMCfg(ConfigFlags)) useGeoModelSvc = True if ConfigFlags.Detector.GeometryTile: acc.merge(TileGMCfg(ConfigFlags)) useGeoModelSvc = True if ConfigFlags.Detector.GeometryMuon: acc.merge(MuonGeoModelCfg(ConfigFlags)) useGeoModelSvc = True #acc.merge(ForDetGeometryCfg(ConfigFlags)) acc.merge(GeoModelCfg(ConfigFlags)) acc.getService("GeoModelSvc").IgnoreTagDifference = True acc.addEventAlgo( Dumper('dumper', ConfigFlags.Input.Files[0], keys, refpaths), 'AthAlgSeq') return acc.run(maxEvents=10)