ATLAS Offline Software
MuonHitTestConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 def 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 
46 def 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 
55 def 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 
66 if __name__=="__main__":
67  from MuonGeoModelTestR4.testGeoModel import setupGeoR4TestCfg, SetupArgParser
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=["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonGeomRTT/R3SimHits.pool.root"])
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 
MuonByteStreamCnvTestConfig.MM_RdoToDigitCfg
def MM_RdoToDigitCfg(flags, name="MM_RdoToDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:140
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
MuonByteStreamCnvTestConfig.MdtRdoToMdtDigitCfg
def MdtRdoToMdtDigitCfg(flags, name="MdtRdoToMdtDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:20
MuonByteStreamCnvTestConfig.RpcRdoToRpcDigitCfg
def RpcRdoToRpcDigitCfg(flags, name="RpcRdoToRpcDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:44
MuonByteStreamCnvTestConfig.TgcRdoToTgcDigitCfg
def TgcRdoToTgcDigitCfg(flags, name="TgcRdoToTgcDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:91
MdtCablingTester.SetupArgParser
def SetupArgParser()
Definition: MdtCablingTester.py:3
MuonHitTestConfig.MuonPileUpTestCfg
def MuonPileUpTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)
Definition: MuonHitTestConfig.py:55
testGeoModel.setupGeoR4TestCfg
def setupGeoR4TestCfg(args, flags=None)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:119
MuonHitTestConfig.MuonHitTesterCfg
def MuonHitTesterCfg(flags, name="MuonHitTester", outFile="SimHitTest.root", **kwargs)
Definition: MuonHitTestConfig.py:6
AlignmentAlgsConfig.ActsGeometryContextAlgCfg
def ActsGeometryContextAlgCfg(flags, name="GeometryContextAlg", **kwargs)
Setup the Geometry context algorithm.
Definition: AlignmentAlgsConfig.py:125
MuonConfigUtils.executeTest
def executeTest(cfg)
Definition: MuonConfigUtils.py:15
MuonHitTestConfig.MuonDigiTestCfg
def MuonDigiTestCfg(flags, name="MuonDigiTester", outFile="DigiTest.root", **kwargs)
Definition: MuonHitTestConfig.py:46
MuonDataPrepConfig.xAODUncalibMeasPrepCfg
def xAODUncalibMeasPrepCfg(flags)
Configuriation snippet to schedule all algorithms providing the Uncalibrated measurements.
Definition: MuonDataPrepConfig.py:29
MuonConfigUtils.setupHistSvcCfg
def setupHistSvcCfg(flags, str outFile, str outStream)
Configuration snippet to setup the THistSvc.
Definition: MuonConfigUtils.py:5
MuonByteStreamCnvTestConfig.STGC_RdoToDigitCfg
def STGC_RdoToDigitCfg(flags, name="STGC_RdoToDigitAlg", **kwargs)
Definition: MuonByteStreamCnvTestConfig.py:116