2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
7 kwargs.setdefault(
"OutputCollectionNames", [
"xRawMdtSimHits"])
8 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::MDTDriftGas"])
9 kwargs.setdefault(
"AlignStoreKey",
"MdtActsAlignContainer")
10 the_tool = CompFactory.MuonG4R4.MdtSensitiveDetectorTool(name, **kwargs)
11 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
13 InContainers=[
"xRawMdtSimHits"],
14 OutContainer =
"xMdtSimHits",
16 result.setPrivateTools(the_tool)
21 kwargs.setdefault(
"OutputCollectionNames", [
"xRawMmSimHits"])
22 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::actMicroMegaGas"])
23 kwargs.setdefault(
"AlignStoreKey",
"MmActsAlignContainer")
24 the_tool = CompFactory.MuonG4R4.MmSensitiveDetectorTool(name, **kwargs)
25 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
27 InContainers=[
"xRawMmSimHits"],
28 OutContainer =
"xMmSimHits",
30 result.setPrivateTools(the_tool)
35 kwargs.setdefault(
"OutputCollectionNames", [
"xRawRpcSimHits"])
36 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::RpcGasGap"])
37 kwargs.setdefault(
"AlignStoreKey",
"RpcActsAlignContainer")
38 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
40 InContainers=[
"xRawRpcSimHits"],
41 OutContainer =
"xRpcSimHits",
43 the_tool = CompFactory.MuonG4R4.RpcSensitiveDetectorTool(name, **kwargs)
44 result.setPrivateTools(the_tool)
49 kwargs.setdefault(
"OutputCollectionNames", [
"xRawTgcSimHits"])
50 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::TgcGas"])
51 kwargs.setdefault(
"AlignStoreKey",
"TgcActsAlignContainer")
52 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
54 InContainers=[
"xRawTgcSimHits"],
55 OutContainer =
"xTgcSimHits",
57 the_tool = CompFactory.MuonG4R4.TgcSensitiveDetectorTool(name, **kwargs)
58 result.setPrivateTools(the_tool)
63 kwargs.setdefault(
"OutputCollectionNames", [
"xRawStgcSimHits"])
64 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::sTgcGas"])
65 kwargs.setdefault(
"AlignStoreKey",
"sTgcActsAlignContainer")
66 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
68 InContainers=[
"xRawStgcSimHits"],
69 OutContainer =
"xStgcSimHits",
71 the_tool = CompFactory.MuonG4R4.sTgcSensitiveDetectorTool(name, **kwargs)
72 result.setPrivateTools(the_tool)
78 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
82 if flags.Detector.EnableMDT:
85 if flags.Detector.EnableRPC:
88 if flags.Detector.EnableMM:
91 if flags.Detector.EnableTGC:
93 if flags.Detector.EnablesTGC:
95 result.setPrivateTools(tools)
100 simHitContainers = []
101 if flags.Detector.EnableMDT:
102 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
103 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMdtSimHits_G4")]
105 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMdtSimHits")]
106 if flags.Detector.EnableMM:
107 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
108 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMmSimHits_G4")]
110 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMmSimHits")]
111 if flags.Detector.EnableRPC:
112 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
113 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawRpcSimHits_G4")]
115 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawRpcSimHits")]
116 if flags.Detector.EnableTGC:
117 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
118 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawTgcSimHits_G4")]
120 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawTgcSimHits")]
121 if flags.Detector.EnablesTGC:
122 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
123 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawStgcSimHits_G4")]
125 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawStgcSimHits")]
127 return simHitContainers
131 if not flags.Muon.usePhaseIIGeoSetup:
return dependcies
132 if flags.Detector.EnableMDT:
133 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"MdtActsAlignContainer")]
134 if flags.Detector.EnableMM:
135 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"MmActsAlignContainer")]
136 if flags.Detector.EnableRPC:
137 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"RpcActsAlignContainer")]
138 if flags.Detector.EnableTGC:
139 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"TgcActsAlignContainer")]
140 if flags.Detector.EnablesTGC:
141 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"sTgcActsAlignContainer")]
147 if flags.Detector.EnableMDT:
148 containerNames+=[
"xMdtSimHits"]
149 if flags.Detector.EnableMM:
150 containerNames+=[
"xMmSimHits"]
151 if flags.Detector.EnableRPC:
152 containerNames+=[
"xRpcSimHits"]
153 if flags.Detector.EnableTGC:
154 containerNames+=[
"xTgcSimHits"]
155 if flags.Detector.EnablesTGC:
156 containerNames+=[
"xStgcSimHits"]
158 outContainers +=[ f
"xAOD::MuonSimHitContainer#{cont}" for cont
in containerNames]
159 outContainers +=[ f
"xAOD::MuonSimHitAuxContainer#{cont}Aux.-MuonSim_G4TrkId" for cont
in containerNames]