ATLAS Offline Software
Loading...
Searching...
No Matches
MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory import CompFactory
4
5
6
8
9 EVGEN_PG = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonRecRTT/EVGEN_ParticleGun_FourMuon_Pt10to500.root"]
10
11 HITS_PG_R3 = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/R3SimHits.pool.root"]
12
13 HITS_PG_R4 = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/R4SimHits.pool.root"]
14
15 HITS_PG_R3_MSOnly = []
16
17 HITS_PG_R4_MSOnly = []
18
19
20 DATA_BS = [f"root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-art/large-input/MuonRecRTT/{fileName}" for fileName in [
21 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-11._0001.data",
22 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-11._0002.data",
23 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-12._0001.data",
24 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-12._0002.data",
25 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-20._0001.data",
26 "data26_13p6TeV.00519268.physics_Main.daq.RAW._lb0178._SFO-20._0002.data",
27 ]
28 ]
29
30 RDO_R3 = [
31 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/9c/69/group.det-muon.48959424.EXT0._000002.RDO.pool.root",
32 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/af/b4/group.det-muon.48959424.EXT0._000003.RDO.pool.root",
33 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/d8/a1/group.det-muon.48959424.EXT0._000004.RDO.pool.root",
34 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/ea/62/group.det-muon.48959424.EXT0._000005.RDO.pool.root",
35 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/53/6e/group.det-muon.48959424.EXT0._000006.RDO.pool.root",
36 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/03/66/group.det-muon.48959424.EXT0._000007.RDO.pool.root",
37 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/30/58/group.det-muon.48959424.EXT0._000008.RDO.pool.root",
38 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/95/1e/group.det-muon.48959424.EXT0._000009.RDO.pool.root",
39 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/e7/64/group.det-muon.48959424.EXT0._000010.RDO.pool.root",
40 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/03/cc/group.det-muon.48959424.EXT0._000011.RDO.pool.root",
41 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/49/61/group.det-muon.48959424.EXT0._000012.RDO.pool.root",
42 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/74/ed/group.det-muon.48959424.EXT0._000013.RDO.pool.root",
43 ]
44
45 RDO_R4 = [
46 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/8b/de/group.det-muon.48959425.EXT0._000002.RDO.pool.root",
47 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/4f/ed/group.det-muon.48959425.EXT0._000007.RDO.pool.root",
48 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/3d/10/group.det-muon.48959425.EXT0._000009.RDO.pool.root",
49 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/28/62/group.det-muon.48959425.EXT0._000010.RDO.pool.root",
50 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/5e/26/group.det-muon.48959425.EXT0._000011.RDO.pool.root",
51 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/af/cd/group.det-muon.48959425.EXT0._000012.RDO.pool.root",
52 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/88/76/group.det-muon.48959425.EXT0._000015.RDO.pool.root",
53 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/54/fe/group.det-muon.48959425.EXT0._000016.RDO.pool.root",
54 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/4e/b4/group.det-muon.48959425.EXT0._000017.RDO.pool.root",
55 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/e3/d4/group.det-muon.48959425.EXT0._000022.RDO.pool.root",
56 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/ee/b4/group.det-muon.48959425.EXT0._000023.RDO.pool.root",
57 "root://eosatlas.cern.ch:1094//eos/atlas/atlaslocalgroupdisk/dq2/rucio/group/det-muon/75/c9/group.det-muon.48959425.EXT0._000027.RDO.pool.root",
58 ]
59
60 RDO_R4_MU200=[
61 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/d7/62/group.det-muon.49358671.EXT0._000001.RDO.pool.root",
62 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/e7/ea/group.det-muon.49358671.EXT0._000002.RDO.pool.root",
63 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/5a/98/group.det-muon.49358671.EXT0._000003.RDO.pool.root",
64 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/95/f7/group.det-muon.49358671.EXT0._000004.RDO.pool.root",
65 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/44/f3/group.det-muon.49358671.EXT0._000005.RDO.pool.root",
66 "root://eosatlas.cern.ch:1094//eos/atlas/atlasgroupdisk/det-muon/dq2/rucio/group/det-muon/56/a6/group.det-muon.49358671.EXT0._000006.RDO.pool.root"
67 ]
68
71
72
73 GEODB_R3 = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-R3S-2021-03-02-00.db"
74
75 GEODB_R3MSOnly = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-R3S-2021-03-02-00_MSOnly.db"
76
78 GEODB_MTECH = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-R3S-2021-03-02-00_MTech.db"
79
80 GEODB_R4 = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-P2-RUN4-01-00-00.db"
81
82 GEODB_R4MSOnly = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-P2-RUN4-01-00-00_MSOnly.db"
83
84 GEODB_ITk_R3MS = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/ATLAS-P2-RUN4-01-00-00_R3MS.db"
85
86 GEODB_TOROID = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/GeoDB/MUON_TOROID.db"
87
88
89 TRKGEO_MATERIALMAP = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/material-maps.root"
90
91def SetupArgParser():
92 from argparse import ArgumentParser
93
94 parser = ArgumentParser()
95 parser.add_argument("--threads", type=int, help="number of threads", default=1)
96 parser.add_argument("--inputFile", "-i", default= MuonPhaseIITestDefaults.EVGEN_PG,
97 help="Input file to run on ", nargs="+")
98 parser.add_argument("--geoModelFile", default = MuonPhaseIITestDefaults.GEODB_R3, help="GeoModel SqLite file containing the muon geometry.")
99 parser.add_argument("--defaultGeoFile", help="Use the predefined GeoModel files on cvmfs", choices=["NONE", "RUN3", "RUN4",
100 "RUN3MSOnly", "RUN4MSOnly",
101 "ITkR3MS" ], default="NONE")
102 parser.add_argument("--chambers", default=["all"], nargs="+", help="Chambers to check. If string is all, all chambers will be checked")
103 parser.add_argument("--excludedChambers", default=[], nargs="+", help="Chambers to exclude. If string contains 'none', all chambers will be checked. Note: adding a chamber to --excludedChambers will overwrite it being in --chambers.")
104 parser.add_argument("--outRootFile", default="NewGeoModelDump.root", help="Output ROOT file to dump the geomerty")
105 parser.add_argument("--nEvents", help="Number of events to run", type = int ,default = 1)
106 parser.add_argument("--skipEvents", help="Number of events to skip", type = int, default = 0)
107 parser.add_argument("--noMdt", help="Disable the Mdts from the geometry", action='store_true', default = False)
108 parser.add_argument("--noRpc", help="Disable the Rpcs from the geometry", action='store_true', default = False)
109 parser.add_argument("--noTgc", help="Disable the Tgcs from the geometry", action='store_true', default = False)
110 parser.add_argument("--noMM", help="Disable the MMs from the geometry", action='store_true', default = False)
111 parser.add_argument("--noSTGC", help="Disable the sTgcs from the geometry", action='store_true', default = False)
112 parser.add_argument("--eventPrintoutLevel", type=int, help="Interval of event heartbeat printouts from the loop manager", default = 1)
113 parser.add_argument("--localMdtMezzJSON", default="", help="")
114 parser.add_argument("--localMdtCablingJSON", default="", help="")
115 parser.add_argument("--passiveMaterialMaps", default = "", help="Root file with the material maps on the surfaces")
116 parser.add_argument("--noPlots", help="Disable the pdf dumps of the geo tester", action='store_true', default = False)
117 return parser
118
120 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
121 result = MainServicesCfg(flags)
122
123 from AthenaConfiguration.Enums import Format
124 if flags.Input.Format is Format.POOL:
125 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
126 result.merge(PoolReadCfg(flags))
127 elif flags.Input.Format == Format.BS:
128 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
129 result.merge(ByteStreamReadCfg(flags))
130
131 from PerfMonComps.PerfMonCompsConfig import PerfMonMTSvcCfg
132 result.merge(PerfMonMTSvcCfg(flags))
133 from MuonConfig.MuonGeometryConfig import MuonIdHelperSvcCfg
134 result.merge(MuonIdHelperSvcCfg(flags))
135 return result
136
137def GeoModelMdtTestCfg(flags, name = "GeoModelMdtTest", localMezzanineJSON="", localCablingJSON="", doPlots=True,**kwargs):
138 result = ComponentAccumulator()
139 from MuonConfig.MuonCablingConfig import MDTCablingConfigCfg
140 result.merge(MDTCablingConfigCfg(flags,MezzanineJSON=localMezzanineJSON, CablingJSON=localCablingJSON))
141 if not doPlots:
142 kwargs["visualizeTubes"] = False
143 kwargs["visualizeStaggering"] = False
144 the_alg = CompFactory.MuonGMR4.GeoModelMdtTest(name, **kwargs)
145 result.addEventAlgo(the_alg, primary = True)
146 return result
147
148def GeoModelRpcTestCfg(flags, name = "GeoModelRpcTest", doPlots=True,**kwargs):
149 result = ComponentAccumulator()
150 if not doPlots:
151 kwargs["visualizePlanes"] = False
152 the_alg = CompFactory.MuonGMR4.GeoModelRpcTest(name, **kwargs)
153 result.addEventAlgo(the_alg, primary = True)
154 return result
155
156def GeoModelTgcTestCfg(flags, name = "GeoModelTgcTest", **kwargs):
157 result = ComponentAccumulator()
158 the_alg = CompFactory.MuonGMR4.GeoModelTgcTest(name, **kwargs)
159 result.addEventAlgo(the_alg, primary = True)
160 return result
161
162def GeoModelsTgcTestCfg(flags, name = "GeoModelsTgcTest", **kwargs):
163 result = ComponentAccumulator()
164 the_alg = CompFactory.MuonGMR4.GeoModelsTgcTest(name, **kwargs)
165 result.addEventAlgo(the_alg, primary = True)
166 return result
167
168def GeoModelMmTestCfg(flags, name = "GeoModelMmTest", **kwargs):
169 result = ComponentAccumulator()
170 the_alg = CompFactory.MuonGMR4.GeoModelMmTest(name, **kwargs)
171 result.addEventAlgo(the_alg, primary = True)
172 return result
173
174def NswGeoPlottingAlgCfg(flags, name="NswGeoPlotting", **kwargs):
175 result = ComponentAccumulator()
176 kwargs.setdefault("TestActsSurface", True)
177 kwargs.setdefault("plotTgc", flags.Detector.GeometryTGC)
178 kwargs.setdefault("plotStgc", flags.Detector.GeometrysTGC)
179 kwargs.setdefault("plotMm", flags.Detector.GeometryMM)
180
181 the_alg = CompFactory.MuonGMR4.NswGeoPlottingAlg(name, **kwargs)
182 result.addEventAlgo(the_alg, primary = True)
183 return result
184
185
186
187
188def setupGeoR4TestCfg(args, flags = None):
189
190 if flags is None:
191 from AthenaConfiguration.AllConfigFlags import initConfigFlags
192 flags = initConfigFlags()
193 flags.Concurrency.NumThreads = args.threads
194 flags.Concurrency.NumConcurrentEvents = args.threads
195 flags.Exec.MaxEvents = args.nEvents
196 flags.Exec.SkipEvents = args.skipEvents
197
198
200 from MuonConfig.MuonConfigUtils import prepareInput
201 prepareInput(flags, args.inputFile)
202
203 flags.Exec.FPE= 500
204 flags.Exec.EventPrintoutInterval = 500
205
206 if args.defaultGeoFile == "RUN3":
207 flags.GeoModel.SQLiteDBFullPath = MuonPhaseIITestDefaults.GEODB_R3
208 elif args.defaultGeoFile == "RUN4":
209 flags.GeoModel.SQLiteDBFullPath = MuonPhaseIITestDefaults.GEODB_R4
210 elif args.defaultGeoFile == "RUN3MSOnly":
211 flags.GeoModel.SQLiteDBFullPath = MuonPhaseIITestDefaults.GEODB_R3MSOnly
212 elif args.defaultGeoFile == "RUN4MSOnly":
213 flags.GeoModel.SQLiteDBFullPath = MuonPhaseIITestDefaults.GEODB_R4MSOnly
214 elif args.defaultGeoFile == "ITkR3MS":
215 flags.GeoModel.SQLiteDBFullPath = MuonPhaseIITestDefaults.GEODB_ITk_R3MS
216 elif args.geoModelFile.startswith("root://"):
217 from os import system, path
218 if not path.exists("Geometry/{geoTag}.db".format(geoTag=args.geoTag)):
219 print ("Copy geometry file from EOS {source}".format(source = args.geoModelFile))
220 system("mkdir Geometry/")
221 system("xrdcp {source} Geometry/{geoTag}.db".format(source = args.geoModelFile,
222 geoTag=args.geoTag))
223
224 args.geoModelFile = "Geometry/{geoTag}.db".format(geoTag=args.geoTag)
225 else:
226 flags.GeoModel.SQLiteDBFullPath = args.geoModelFile
227
228 flags.GeoModel.SQLiteDB = True
229 from MuonConfig.MuonConfigUtils import configureDefaultTags
230 configureDefaultTags(flags)
231
232 if args.passiveMaterialMaps:
233 flags.Muon.trackGeometryMaterialMap = args.passiveMaterialMaps
234
235 flags.Detector.GeometryBpipe = False
236
237 flags.Detector.GeometryBCM = False
238 flags.Detector.GeometryPixel = False
239 flags.Detector.GeometrySCT = False
240 flags.Detector.GeometryTRT = False
241
242 flags.Detector.GeometryPLR = False
243 flags.Detector.GeometryBCMPrime = False
244 flags.Detector.GeometryITkPixel = False
245 flags.Detector.GeometryITkStrip = False
246
247 flags.Detector.GeometryHGTD = False
248
249 flags.Detector.GeometryLAr = False
250 flags.Detector.GeometryTile = False
251 flags.Detector.GeometryMBTS = False
252 flags.Detector.GeometryCalo = False
253
254 flags.Detector.GeometryCSC = False
255 if args.noSTGC:
256 flags.Detector.GeometrysTGC = False
257 if args.noMM:
258 flags.Detector.GeometryMM = False
259 if args.noTgc:
260 flags.Detector.GeometryTGC = False
261 if args.noRpc:
262 flags.Detector.GeometryRPC = False
263 if args.noMdt:
264 flags.Detector.GeometryMDT = False
265
266 try:
267 flags.Acts.TrackingGeometry.UseBlueprint = True
268 except AttributeError: pass
269 flags.Scheduler.CheckDependencies = True
270 flags.Scheduler.ShowDataDeps = True
271 flags.Scheduler.ShowDataFlow = True
272 flags.Scheduler.ShowControlFlow = True
273 flags.Scheduler.EnableVerboseViews = True
274 flags.Scheduler.AutoLoadUnmetDependencies = True
275 #flags.PerfMon.doFullMonMT = True
276 flags.lock()
277 flags.dump(evaluate = True)
278 cfg = setupServicesCfg(flags)
279
280 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
281 cfg.merge(MuonGeoModelCfg(flags))
282
283 if not flags.Muon.usePhaseIIGeoSetup:
284 print ("WARNING: New Muon plugin is not part of the Geometry file {geoDBFile}".format(geoDBFile=args.geoModelFile))
285 else:
286 from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
287 cfg.merge(ActsGeometryContextAlgCfg(flags))
288
289 cfg.getService("MessageSvc").verboseLimit = 10000000
290 cfg.getService("MessageSvc").debugLimit = 10000000
291 cfg.getService("MessageSvc").errorLimit = 10000000
292
293 return flags, cfg
294
295
296if __name__=="__main__":
297 args = SetupArgParser().parse_args()
298 flags, cfg = setupGeoR4TestCfg(args)
299 from MuonConfig.MuonConfigUtils import setupHistSvcCfg
300 cfg.merge(setupHistSvcCfg(flags, outFile = args.outRootFile, outStream="GEOMODELTESTER"))
301 chambToTest = args.chambers if len([x for x in args.chambers if x =="all"]) ==0 else []
302 chambToExclude = args.excludedChambers
303
304
305 if flags.Muon.usePhaseIIGeoSetup:
306 cfg.getCondAlgo("MuonDetectorCondAlg").checkGeo = True
307 cfg.getCondAlgo("MuonDetectorCondAlg").dumpGeo = True
308 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig import TrackingGeometryCondAlgCfg
309 cfg.merge(TrackingGeometryCondAlgCfg(flags))
310
311
312 cfg.getService("MessageSvc").setVerbose = []
313
314 if flags.Detector.GeometryMDT:
315 if not flags.Muon.usePhaseIIGeoSetup:
316 from MuonGeoModelTest.testGeoModel import GeoModelMdtTestCfg as LegacyTestCfg
317 cfg.merge(LegacyTestCfg(flags,
318 TestStations = [ch for ch in chambToTest if ch[0] == "B" or ch[0] == "E"],
319 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "B" or ch[0] == "E"]))
320 else:
321 cfg.merge(GeoModelMdtTestCfg(flags,
322 TestStations = [ch for ch in chambToTest if ch[0] == "B" or ch[0] == "E"],
323 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "B" or ch[0] == "E"],
324 localMezzanineJSON=args.localMdtMezzJSON,
325 localCablingJSON=args.localMdtCablingJSON,
326 ReadoutSideXML="ReadoutSides.xml",
327 doPlots=not args.noPlots,
328 ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
329
330 if flags.Detector.GeometryRPC:
331 if not flags.Muon.usePhaseIIGeoSetup:
332 from MuonGeoModelTest.testGeoModel import GeoModelRpcTestCfg as LegacyTestCfg
333 cfg.merge(LegacyTestCfg(flags,
334 TestStations = [ch for ch in chambToTest if ch[0] == "B"],
335 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "B"]))
336 else:
337 cfg.merge(GeoModelRpcTestCfg(flags,
338 TestStations = [ch for ch in chambToTest if ch[0] == "B"],
339 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "B"],
340 doPlots=not args.noPlots,
341 ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
342
343 if flags.Detector.GeometryTGC:
344 if not flags.Muon.usePhaseIIGeoSetup:
345 from MuonGeoModelTest.testGeoModel import GeoModelTgcTestCfg as LegacyTestCfg
346 cfg.merge(LegacyTestCfg(flags,
347 TestStations = [ch for ch in chambToTest if ch[0] == "T"],
348 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "T"]))
349 else:
350 cfg.merge(GeoModelTgcTestCfg(flags,
351 TestStations = [ch for ch in chambToTest if ch[0] == "T"],
352 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "T"],
353 ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
354
355 if flags.Detector.GeometryMM:
356 if not flags.Muon.usePhaseIIGeoSetup:
357 from MuonGeoModelTest.testGeoModel import GeoModelMmTestCfg as LegacyTestCfg
358 cfg.merge(LegacyTestCfg(flags,
359 TestStations = [ch for ch in chambToTest if ch[0] == "M"],
360 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "M"]))
361 else:
362 cfg.merge(GeoModelMmTestCfg(flags,
363 TestStations = [ch for ch in chambToTest if ch[0] == "M"],
364 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "M"],
365 ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
366
367 if flags.Detector.GeometrysTGC:
368 if not flags.Muon.usePhaseIIGeoSetup:
369 from MuonGeoModelTest.testGeoModel import GeoModelsTgcTestCfg as LegacyTestCfg
370 cfg.merge(LegacyTestCfg(flags,
371 TestStations = [ch for ch in chambToTest if ch[0] == "S"],
372 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "S"]))
373 else:
374 cfg.merge(GeoModelsTgcTestCfg(flags,
375 TestStations = [ch for ch in chambToTest if ch[0] == "S"],
376 ExcludeStations = [ch for ch in chambToExclude if ch[0] == "S"],
377 ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
378 from MuonConfig.MuonConfigUtils import executeTest
379 executeTest(cfg)
bool prepareInput(const std::string &name, const std::vector< int64_t > &shape, const std::vector< T > &data, std::vector< std::shared_ptr< tc::InferInput > > &inputs)
GeoModelTgcTestCfg(flags, name="GeoModelTgcTest", **kwargs)
GeoModelMdtTestCfg(flags, name="GeoModelMdtTest", **kwargs)
GeoModelsTgcTestCfg(flags, name="GeoModelsTgcTest", **kwargs)
GeoModelMmTestCfg(flags, name="GeoModelMmTest", **kwargs)
NswGeoPlottingAlgCfg(flags, name="NswGeoPlotting", **kwargs)
GeoModelRpcTestCfg(flags, name="GeoModelRpcTest", **kwargs)