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 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMdtSimHits")]
103 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
104 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMdtSimHits_G4")]
105 if (
not (
'G4MS' in flags.Sim.ISF.Simulator.value
and 'ACTS' in flags.Sim.ISF.Simulator.value)):
106 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMdtSimHits_Fatras")]
107 if flags.Detector.EnableMM:
108 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMmSimHits")]
109 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
110 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMmSimHits_G4")]
111 if (
not (
'G4MS' in flags.Sim.ISF.Simulator.value
and 'ACTS' in flags.Sim.ISF.Simulator.value)):
112 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawMmSimHits_Fatras")]
113 if flags.Detector.EnableRPC:
114 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawRpcSimHits")]
115 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
116 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawRpcSimHits_G4")]
117 if (
not (
'G4MS' in flags.Sim.ISF.Simulator.value
and 'ACTS' in flags.Sim.ISF.Simulator.value)):
118 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawRpcSimHits_Fatras")]
119 if flags.Detector.EnableTGC:
120 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawTgcSimHits")]
121 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
122 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawTgcSimHits_G4")]
123 if (
not (
'G4MS' in flags.Sim.ISF.Simulator.value
and 'ACTS' in flags.Sim.ISF.Simulator.value)):
124 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawTgcSimHits_Fatras")]
125 if flags.Detector.EnablesTGC:
126 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawStgcSimHits")]
127 if (flags.Sim.ISFRun
and flags.Sim.ISF.HITSMergingRequired.get(
'MUON',
True)):
128 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawStgcSimHits_G4")]
129 if (
not (
'G4MS' in flags.Sim.ISF.Simulator.value
and 'ACTS' in flags.Sim.ISF.Simulator.value)):
130 simHitContainers+=[(
"xAOD::MuonSimHitContainer",
"xRawStgcSimHits_Fatras")]
132 return simHitContainers
136 if not flags.Muon.usePhaseIIGeoSetup:
return dependcies
137 if flags.Detector.EnableMDT:
138 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"MdtActsAlignContainer")]
139 if flags.Detector.EnableMM:
140 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"MmActsAlignContainer")]
141 if flags.Detector.EnableRPC:
142 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"RpcActsAlignContainer")]
143 if flags.Detector.EnableTGC:
144 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"TgcActsAlignContainer")]
145 if flags.Detector.EnablesTGC:
146 dependcies+=[(
"ActsTrk::DetectorAlignStore",
"sTgcActsAlignContainer")]
152 if flags.Detector.EnableMDT:
153 containerNames+=[
"xMdtSimHits"]
154 if flags.Detector.EnableMM:
155 containerNames+=[
"xMmSimHits"]
156 if flags.Detector.EnableRPC:
157 containerNames+=[
"xRpcSimHits"]
158 if flags.Detector.EnableTGC:
159 containerNames+=[
"xTgcSimHits"]
160 if flags.Detector.EnablesTGC:
161 containerNames+=[
"xStgcSimHits"]
163 outContainers +=[ f
"xAOD::MuonSimHitContainer#{cont}" for cont
in containerNames]
164 outContainers +=[ f
"xAOD::MuonSimHitAuxContainer#{cont}Aux.-MuonSim_G4TrkId" for cont
in containerNames]