12def TPCnvTest(infile, keys, useGeoModelSvc=False, useIOVDbSvc=False, doPixel=False, doSCT=False, doTRT=False, doLAr=False, doTile=False, doMuon=False, doTracks=False, configOnly=False, adjustMessageSvc=True):
13
14
15 import ROOT
16 ROOT.GaudiPython.CallbackStreamBuf
17
18
19 if os.path.exists ('PoolFileCatalog.xml'):
20 os.remove ('PoolFileCatalog.xml')
21
22 if ('ATLAS_REFERENCE_TAG' not in globals() and
23 'ATLAS_REFERENCE_TAG' in os.environ):
24 ATLAS_REFERENCE_TAG = os.environ['ATLAS_REFERENCE_TAG']
25
26 refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None),
27 '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art',
28 '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs']
29
30 if infile.startswith ('rtt:'):
31 infile = infile[4:]
32 infile = find_file (infile, refpaths)
33
34
35 flags = initConfigFlags()
36 flags.Input.Files = [infile]
37 flags.GeoModel.Run = LHCPeriod.Run1
38 from AthenaConfiguration.TestDefaults import defaultGeometryTags
39 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN1_2012
40 if useGeoModelSvc:
41 flags.GeoModel.Align.Dynamic = False
42 flags.Detector.GeometryPixel = doPixel
43 flags.Detector.GeometrySCT = doSCT
44 flags.Detector.GeometryTRT = doTRT
45 flags.Detector.GeometryID = (doPixel or doSCT or doTRT)
46 flags.Detector.GeometryLAr = doLAr
47 flags.Detector.GeometryTile = doTile
48 flags.Detector.GeometryMuon = doMuon
49 flags.fillFromArgs()
50 flags.lock()
51
52
53 acc = MainServicesCfg(flags)
54 acc.setAppProperty('PrintAlgsSequence', False, overwrite=True)
55 acc.merge(PoolReadCfg(flags))
56 if useIOVDbSvc:
57 acc.merge(IOVDbSvcCfg(flags))
58 if useGeoModelSvc:
59 if flags.Detector.GeometryPixel:
60 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
61 acc.merge(PixelReadoutGeometryCfg(flags))
62 if flags.Detector.GeometrySCT:
63 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
64 acc.merge(SCT_ReadoutGeometryCfg(flags))
65 if flags.Detector.GeometryTRT:
66 from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
67 acc.merge(TRT_ReadoutGeometryCfg(flags))
68 if flags.Detector.GeometryITkPixel:
69 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
70 acc.merge(ITkPixelReadoutGeometryCfg(flags))
71 if flags.Detector.GeometryITkStrip:
72 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
73 acc.merge(ITkStripReadoutGeometryCfg(flags))
74 if flags.Detector.GeometryLAr:
75 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
76 acc.merge(LArGMCfg(flags))
77 if flags.Detector.GeometryTile:
78 from TileGeoModel.TileGMConfig import TileGMCfg
79 acc.merge(TileGMCfg(flags))
80 if flags.Detector.GeometryMuon:
81 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
82 acc.merge(MuonGeoModelCfg(flags))
83
84 if doTracks:
85 from TrkEventCnvTools.TrkEventCnvToolsConfig import (
86 TrkEventCnvSuperToolCfg)
87 acc.merge(TrkEventCnvSuperToolCfg(flags, MaxErrorCount=10))
88 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
89 acc.merge(GeoModelCfg(flags))
90 acc.getService("GeoModelSvc").IgnoreTagDifference = True
91
92 acc.addEventAlgo(Dumper ('dumper', flags.Input.Files[0], keys, refpaths), 'AthAlgSeq')
93 if adjustMessageSvc:
94 acc.getService("MessageSvc").enableSuppression = True
95 acc.getService("MessageSvc").Format = "% F%18W%S%7W%R%T %0W%M"
96 if configOnly:
97 f = open('new.pkl', 'wb')
98 acc.store(f)
99 f.close()
100 return
101 return acc.run(maxEvents=10)