3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
6def MuonHitTesterCfg(flags, name="MuonHitTester", outFile="SimHitTest.root", **kwargs):
7 result = ComponentAccumulator()
8 from MuonConfig.MuonConfigUtils
import setupHistSvcCfg
9 result.merge(setupHistSvcCfg(flags,outFile=outFile, outStream=
"MuonR4HitTest"))
10 from ActsAlignmentAlgs.AlignmentAlgsConfig
import ActsGeometryContextAlgCfg
11 result.merge(ActsGeometryContextAlgCfg(flags))
12 kwargs.setdefault(
"isMC", flags.Input.isMC)
14 kwargs.setdefault(
"dumpPileUp",
True)
16 kwargs.setdefault(
"dumpPrds",
False)
17 kwargs.setdefault(
"dumpDigits",
False)
18 kwargs.setdefault(
"dumpSimHits",
True)
23 kwargs.setdefault(
"dumpMdtSimHits", flags.Detector.GeometryMDT)
24 kwargs.setdefault(
"dumpRpcSimHits", flags.Detector.GeometryRPC)
25 kwargs.setdefault(
"dumpTgcSimHits", flags.Detector.GeometryTGC)
26 kwargs.setdefault(
"dumpStgcSimHits",flags.Detector.GeometrysTGC)
27 kwargs.setdefault(
"dumpMmSimHits", flags.Detector.GeometryMM)
30 kwargs.setdefault(
"dumpMdtDigits", flags.Detector.GeometryMDT)
31 kwargs.setdefault(
"dumpRpcDigits", flags.Detector.GeometryRPC)
32 kwargs.setdefault(
"dumpTgcDigits", flags.Detector.GeometryTGC)
33 kwargs.setdefault(
"dumpStgcDigits",flags.Detector.GeometrysTGC)
34 kwargs.setdefault(
"dumpMmDigits", flags.Detector.GeometryMM)
36 kwargs.setdefault(
"dumpMdtPrds", flags.Detector.GeometryMDT)
37 kwargs.setdefault(
"dumpRpcPrds", flags.Detector.GeometryRPC)
38 kwargs.setdefault(
"dumpTgcPrds", flags.Detector.GeometryTGC)
39 kwargs.setdefault(
"dumpMmPrds", flags.Detector.GeometryMM)
41 theAlg = CompFactory.MuonValR4.MuonHitTesterAlg(name, **kwargs)
42 result.addEventAlgo(theAlg, primary =
True)
46def MuonDigiTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs):
47 kwargs.setdefault(
"MdtSimHitKey",
"MDT_SDO")
48 kwargs.setdefault(
"RpcSimHitKey",
"RPC_SDO")
49 kwargs.setdefault(
"TgcSimHitKey",
"TGC_SDO")
50 kwargs.setdefault(
"MmSimHitKey",
"MM_SDO")
51 kwargs.setdefault(
"sTgcSimHitKey",
"sTGC_SDO")
52 kwargs.setdefault(
"dumpDigits",
True)
56 kwargs.setdefault(
"MdtSimHitKey",
"Bkg_MDT_SDO")
57 kwargs.setdefault(
"RpcSimHitKey",
"Bkg_RPC_SDO")
58 kwargs.setdefault(
"TgcSimHitKey",
"Bkg_TGC_SDO")
59 kwargs.setdefault(
"MmSimHitKey",
"Bkg_MM_SDO")
60 kwargs.setdefault(
"sTgcSimHitKey",
"Bkg_sTGC_SDO")
61 kwargs.setdefault(
"EvtInfoKey",
"Bkg_EventInfo")
62 kwargs.setdefault(
"dumpDigits",
True)
66if __name__==
"__main__":
67 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg, SetupArgParser, MuonPhaseIITestDefaults
68 from MuonConfig.MuonConfigUtils
import executeTest
69 parser = SetupArgParser()
70 parser.add_argument(
"--runTester", help=
"Choice on the tester to setup", default=
"SIM", choices=[
"SIM",
"DIGI",
"PILEUP"])
71 parser.set_defaults(nEvents = -1)
72 parser.set_defaults(inputFile= MuonPhaseIITestDefaults.HITS_PG_R3)
73 parser.set_defaults(outRootFile=
"SimHitDumpNtuple.root")
75 args = parser.parse_args()
76 flags, cfg = setupGeoR4TestCfg(args)
78 from MuonConfig.MuonDataPrepConfig
import xAODUncalibMeasPrepCfg
79 cfg.merge(xAODUncalibMeasPrepCfg(flags))
81 if args.runTester !=
"SIM":
82 if flags.Detector.GeometryMDT:
83 from MuonConfig.MuonByteStreamCnvTestConfig
import MdtRdoToMdtDigitCfg
84 cfg.merge(MdtRdoToMdtDigitCfg(flags))
85 if flags.Detector.GeometryRPC:
86 from MuonConfig.MuonByteStreamCnvTestConfig
import RpcRdoToRpcDigitCfg
87 cfg.merge(RpcRdoToRpcDigitCfg(flags))
88 if flags.Detector.GeometryTGC:
89 from MuonConfig.MuonByteStreamCnvTestConfig
import TgcRdoToTgcDigitCfg
90 cfg.merge(TgcRdoToTgcDigitCfg(flags))
91 if flags.Detector.GeometrysTGC:
92 from MuonConfig.MuonByteStreamCnvTestConfig
import STGC_RdoToDigitCfg
93 cfg.merge(STGC_RdoToDigitCfg(flags))
94 if flags.Detector.GeometryMM:
95 from MuonConfig.MuonByteStreamCnvTestConfig
import MM_RdoToDigitCfg
96 cfg.merge(MM_RdoToDigitCfg(flags))
98 if args.runTester ==
"SIM":
100 elif args.runTester ==
"DIGI":
102 elif args.runTester ==
"PILEUP":
MuonHitTesterCfg(flags, name="MuonHitTester", outFile="SimHitTest.root", **kwargs)
MuonDigiTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)
MuonPileUpTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)