ATLAS Offline Software
Loading...
Searching...
No Matches
testSensitiveDetectors.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3
4def setupTestOutputCfg(flags,**kwargs):
5
6 kwargs.setdefault("AcceptAlgs",[])
7
8 result = ComponentAccumulator()
9
13 from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
14 container_items = ["xAOD::TruthParticleContainer#",
15 "xAOD::TruthParticleAuxContainer#",
16 "xAOD::TruthEventContainer#",
17 "xAOD::TruthEventAuxContainer#",
18 "McEventCollection#TruthEvent"] + OutputSimContainersCfg(flags)
19
20 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
21 result.merge(SetupMetaDataForStreamCfg(flags, kwargs["streamName"]))
22
23 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
24 kwargs.setdefault("ItemList", container_items)
25 result.merge(OutputStreamCfg(flags, **kwargs))
26 return result
27
28if __name__=="__main__":
29 from MuonGeoModelTestR4.testGeoModel import setupGeoR4TestCfg, SetupArgParser, executeTest
30 parser = SetupArgParser()
31 parser.add_argument("--saveTestNtuple", help="Schedule the SimHits tester n-tuple", action='store_true',
32 default=False)
33 parser.set_defaults(nEvents = -1)
34 parser.set_defaults(outRootFile="SimHits.pool.root")
35
36 args = parser.parse_args()
37 from AthenaConfiguration.AllConfigFlags import initConfigFlags
38 flags = initConfigFlags()
39 flags.Sim.ReleaseGeoModel = True
40
41 from AthenaConfiguration.Enums import ProductionStep
42 flags.Common.ProductionStep = ProductionStep.Simulation
43
44 from SimulationConfig.SimEnums import SimulationFlavour
45 flags.Sim.ISF.Simulator = SimulationFlavour.AtlasG4
46 streamName = "MuonSimTestStream"
47 flags.addFlag(f"Output.{streamName}FileName", args.outRootFile)
48 flags.addFlag(f"Output.doWrite{streamName}", True)
49
50 flags, cfg = setupGeoR4TestCfg(args, flags)
51
52 from BeamEffects.BeamEffectsAlgConfig import BeamEffectsAlgCfg
53 cfg.merge(BeamEffectsAlgCfg(flags))
54
55 from G4AtlasAlg.G4AtlasAlgConfig import G4AtlasAlgCfg
56 cfg.merge(G4AtlasAlgCfg(flags))
57
63
64 from xAODTruthCnv.xAODTruthCnvConfig import GEN_EVNT2xAODCfg
65 cfg.merge(GEN_EVNT2xAODCfg(flags,name="GEN_EVNT2xAOD",AODContainerName="TruthEvent"))
66
67 cfg.merge(setupTestOutputCfg(flags, streamName=streamName))
68 if args.saveTestNtuple:
69 from MuonPRDTestR4.MuonHitTestConfig import MuonHitTesterCfg
70 cfg.merge(MuonHitTesterCfg(flags))
71 executeTest(cfg)
72
setupTestOutputCfg(flags, **kwargs)