3from AthenaCommon.Logging
import logging
4_log = logging.getLogger(__name__)
7if __name__ ==
"__main__":
8 from MuonGeoModelTestR4.testGeoModel
import setupGeoR4TestCfg, SetupArgParser, MuonPhaseIITestDefaults
9 from MuonConfig.MuonConfigUtils
import executeTest, setupHistSvcCfg
10 parser = SetupArgParser()
11 parser.set_defaults(inputFile= MuonPhaseIITestDefaults.RDO_R3)
12 parser.set_defaults(nEvents = 20)
13 args = parser.parse_args()
14 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
15 flags = initConfigFlags()
16 flags.Detector.GeometryRPC =
True
17 flags.Detector.GeometryTGC =
True
18 flags.Detector.GeometryMM =
True
19 flags.Detector.GeometrysTGC =
True
21 flags.Common.MsgSuppression =
False
22 flags.Output.RDOFileName =
"test.RDO.pool.root"
23 flags, acc = setupGeoR4TestCfg(args, flags)
26 run_rpc_chain = flags.Detector.GeometryRPC
27 run_mdt_chain = run_rpc_chain
and flags.Detector.GeometryMDT
30 "Skipping the truth-based RPC and dependent MDT chains")
31 elif not run_mdt_chain:
32 _log.warning(
"Skipping the MDT chain because MDT geometry is disabled")
34 acc.merge(setupHistSvcCfg(flags,outFile =
"L0MuonFullChain.root",
35 outStream =
"EXPERT"))
38 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import HepMCtoXAODTruthCfg
39 acc.merge(HepMCtoXAODTruthCfg(flags))
40 from MuonConfig.MuonByteStreamCnvTestConfig
import RpcRdoToRpcDigitCfg
41 acc.merge(RpcRdoToRpcDigitCfg(flags))
44 from L0MuonS1RPC.L0MuonS1RPCConfig
import L0MuonRPCSimCfg
45 acc.merge(L0MuonRPCSimCfg(flags,
49 from L0MuonS1TGC.L0MuonS1TGCConfig
import L0MuonTGCSimCfg
50 acc.merge(L0MuonTGCSimCfg(flags,
51 configureHistSvc=
False,
54 from L0MuonEndcap.L0MuonEndcapConfig
import L0MuonEndcapAlgCfg
55 acc.merge(L0MuonEndcapAlgCfg(flags))
58 from MuonConfig.MuonRdoDecodeConfig
import MdtRDODecodeCfg
59 acc.merge(MdtRDODecodeCfg(flags, name =
"MdtRdoToMdtPrepData",
60 RDOContainer =
"MDTCSM" ))
62 from RegionSelector.RegSelToolConfig
import regSelTool_MDT_Cfg
63 from L0MuonMDT.L0MuonMDTConfig
import L0MuonMDTSimCfg
64 acc.merge(L0MuonMDTSimCfg(flags,
65 name =
"L0MuonMDTSim",
67 RegSel_MDT = acc.popToolsAndMerge(regSelTool_MDT_Cfg(flags))
70 from MuonConfig.MuonByteStreamCnvTestConfig
import STGC_RdoToDigitCfg, MM_RdoToDigitCfg
72 if flags.Detector.GeometrysTGC:
73 acc.merge(STGC_RdoToDigitCfg(flags, sTgcRdoContainer=
"sTGCRDO", sTgcDigitContainer=
"sTGC_DIGITS"))
75 if flags.Detector.GeometryMM:
76 acc.merge(MM_RdoToDigitCfg(flags, MmRdoContainer=
"MMRDO", MmDigitContainer=
"MM_DIGITS"))
78 from L0MuonNSW.L0MuonNSWConfig
import L0MuonNSWSimCfg
79 acc.merge(L0MuonNSWSimCfg(flags, name=
"L0MuonNSWSim", OutputLevel=DEBUG))
81 print(
"=== Registered services ===")
82 for svc
in acc.getServices():
85 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
89 "xAOD::RPCCandDataContainer#RPCCandData",
90 "xAOD::RPCCandDataAuxContainer#RPCCandDataAux.",
93 "xAOD::TGCCandDataContainer#L0MuonTGCCandData",
94 "xAOD::TGCCandDataAuxContainer#L0MuonTGCCandDataAux.",
95 "xAOD::SectorLogicCandDataContainer#L0MuonTGCSectorLogicCandData",
96 "xAOD::SectorLogicCandDataAuxContainer#L0MuonTGCSectorLogicCandDataAux.",
97 "xAOD::NSWCandDataContainer#NSWCandData",
98 "xAOD::NSWCandDataAuxContainer#NSWCandDataAux."
101 acc.merge(OutputStreamCfg(flags,
104 takeItemsFromInput=
False))
void print(char *figname, TCanvas *c1)