6 result = ComponentAccumulator()
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
12 result.merge(MuonSimHitSortingAlgCfg(flags,name=
"MdtSimHitSorterAlg",
13 InContainers=[
"xRawMdtSimHits"],
14 OutContainer =
"xMdtSimHits",
16 result.setPrivateTools(the_tool)
20 result = ComponentAccumulator()
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
26 result.merge(MuonSimHitSortingAlgCfg(flags,name=
"MmSimHitSorterAlg",
27 InContainers=[
"xRawMmSimHits"],
28 OutContainer =
"xMmSimHits",
30 result.setPrivateTools(the_tool)
34 result = ComponentAccumulator()
35 kwargs.setdefault(
"OutputCollectionNames", [
"xRawRpcSimHits"])
36 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::RpcGasGap"])
37 kwargs.setdefault(
"AlignStoreKey",
"RpcActsAlignContainer")
38 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
39 result.merge(MuonSimHitSortingAlgCfg(flags,name=
"RpcSimHitSorterAlg",
40 InContainers=[
"xRawRpcSimHits"],
41 OutContainer =
"xRpcSimHits",
43 the_tool = CompFactory.MuonG4R4.RpcSensitiveDetectorTool(name, **kwargs)
44 result.setPrivateTools(the_tool)
48 result = ComponentAccumulator()
49 kwargs.setdefault(
"OutputCollectionNames", [
"xRawTgcSimHits"])
50 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::TgcGas"])
51 kwargs.setdefault(
"AlignStoreKey",
"TgcActsAlignContainer")
52 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
53 result.merge(MuonSimHitSortingAlgCfg(flags,name=
"TgcSimHitSorterAlg",
54 InContainers=[
"xRawTgcSimHits"],
55 OutContainer =
"xTgcSimHits",
57 the_tool = CompFactory.MuonG4R4.TgcSensitiveDetectorTool(name, **kwargs)
58 result.setPrivateTools(the_tool)
62 result = ComponentAccumulator()
63 kwargs.setdefault(
"OutputCollectionNames", [
"xRawStgcSimHits"])
64 kwargs.setdefault(
"LogicalVolumeNames", [
"MuonR4::sTgcGas"])
65 kwargs.setdefault(
"AlignStoreKey",
"sTgcActsAlignContainer")
66 from MuonSimHitSorting.MuonSimHitSortingCfg
import MuonSimHitSortingAlgCfg
67 result.merge(MuonSimHitSortingAlgCfg(flags,name=
"sTgcSimHitSorterAlg",
68 InContainers=[
"xRawStgcSimHits"],
69 OutContainer =
"xStgcSimHits",
71 the_tool = CompFactory.MuonG4R4.sTgcSensitiveDetectorTool(name, **kwargs)
72 result.setPrivateTools(the_tool)
77 result = ComponentAccumulator()
78 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
79 result.merge(MuonGeoModelCfg(flags))
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")]