ATLAS Offline Software
Loading...
Searching...
No Matches
MuonHitTestConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
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)
13
14 kwargs.setdefault("dumpPileUp", True)
15
16 kwargs.setdefault("dumpPrds", False)
17 kwargs.setdefault("dumpDigits", False)
18 kwargs.setdefault("dumpSimHits", True)
19
20
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)
28
29
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)
35
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)
40
41 theAlg = CompFactory.MuonValR4.MuonHitTesterAlg(name, **kwargs)
42 result.addEventAlgo(theAlg, primary = True)
43 return result
44
45
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)
53 return MuonHitTesterCfg(flags, name = name, outFile = outFile, **kwargs)
54
55def MuonPileUpTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs):
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)
63 return MuonHitTesterCfg(flags, name = name, outFile = outFile, **kwargs)
64
65
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")
74
75 args = parser.parse_args()
76 flags, cfg = setupGeoR4TestCfg(args)
77
78 from MuonConfig.MuonDataPrepConfig import xAODUncalibMeasPrepCfg
79 cfg.merge(xAODUncalibMeasPrepCfg(flags))
80
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))
97
98 if args.runTester == "SIM":
99 cfg.merge(MuonHitTesterCfg(flags,outFile=args.outRootFile))
100 elif args.runTester == "DIGI":
101 cfg.merge(MuonDigiTestCfg(flags,outFile=args.outRootFile))
102 elif args.runTester == "PILEUP":
103 cfg.merge(MuonPileUpTestCfg(flags,outFile=args.outRootFile))
104
105 executeTest(cfg)
106
MuonHitTesterCfg(flags, name="MuonHitTester", outFile="SimHitTest.root", **kwargs)
MuonDigiTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)
MuonPileUpTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)