3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from AthenaConfiguration.Enums
import BeamType
9 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCaloTagToolCfg
10 result = ComponentAccumulator()
11 kwargs.setdefault(
"MuonCombinedInDetExtensionTool",
12 result.popToolsAndMerge(MuonCaloTagToolCfg(flags)))
13 kwargs.setdefault(
"TagMap",
"caloTagMap")
14 kwargs.setdefault(
"CombinedTrackCollection",
"")
15 kwargs.setdefault(
"METrackCollection",
"")
16 kwargs.setdefault(
"usePRDs",
False)
17 alg = CompFactory.MuonCombinedInDetExtensionAlg(name, **kwargs)
18 result.addEventAlgo(alg, primary=
True)
23 kwargs.setdefault(
"TagMap",
"caloTagMap_LRT")
24 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT")
29 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSegmentTagToolCfg
30 result = MuonSegmentTagToolCfg(flags)
31 muon_segment_tag_tool = result.popPrivateTools()
32 kwargs.setdefault(
"MuonSegmentTagTool", muon_segment_tag_tool)
33 kwargs.setdefault(
"InDetCandidateLocation",
34 "InDetCandidates" if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesSystemExtened")
35 alg = CompFactory.MuonSegmentTagAlg(name, **kwargs)
36 result.addEventAlgo(alg, primary=
True)
41 kwargs.setdefault(
"TagMap",
"segmentTagMap_LRT")
42 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT"
43 if not flags.MuonCombined.doCombinedFit
else "InDetCandidateLRT_SystemExtended")
48 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonInsideOutRecoToolCfg
49 result = ComponentAccumulator()
50 kwargs.setdefault(
"MuonCombinedInDetExtensionTool",
51 result.popToolsAndMerge(MuonInsideOutRecoToolCfg(flags)))
52 kwargs.setdefault(
"usePRDs",
True)
53 kwargs.setdefault(
"HasCSC", flags.Detector.GeometryCSC)
54 kwargs.setdefault(
"HasSTgc", flags.Detector.GeometrysTGC)
55 kwargs.setdefault(
"HasMM", flags.Detector.GeometryMM)
56 kwargs.setdefault(
"TagMap",
"muGirlTagMap")
57 kwargs.setdefault(
"SegmentCollection",
"MuGirlSegments")
58 kwargs.setdefault(
"TGCPrepDataLocation",
59 'TGC_MeasurementsAllBCs')
60 kwargs.setdefault(
"InDetCandidateLocation",
61 "InDetCandidates" if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesSystemExtened")
63 alg = CompFactory.MuonCombinedInDetExtensionAlg(name, **kwargs)
64 result.addEventAlgo(alg, primary=
True)
69 kwargs.setdefault(
"TagMap",
"MuGirlMap_LRT")
70 kwargs.setdefault(
"METrackCollection",
"MuGirlMETracks_LRT")
71 kwargs.setdefault(
"SegmentCollection",
"MuGirlSegments_LRT")
72 kwargs.setdefault(
"CombinedTrackCollection",
73 "MuGirlCombinedMuonContainerLRT")
74 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT"
75 if not flags.MuonCombined.doCombinedFit
else "InDetCandidateLRT_SystemExtended")
80 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonStauRecoToolCfg
81 result = ComponentAccumulator()
82 kwargs.setdefault(
"MuonCombinedInDetExtensionTool",
83 result.popToolsAndMerge(MuonStauRecoToolCfg(flags)))
84 kwargs.setdefault(
"TagMap",
"stauTagMap")
85 kwargs.setdefault(
"HasCSC", flags.Detector.GeometryCSC)
86 kwargs.setdefault(
"HasSTgc",
False)
87 kwargs.setdefault(
"HasMM",
False)
88 kwargs.setdefault(
"TGCPrepDataLocation",
'TGC_MeasurementsAllBCs')
89 kwargs.setdefault(
"CombinedTrackCollection",
"MuGirlStauCombinedTracks")
90 kwargs.setdefault(
"METrackCollection",
"")
91 kwargs.setdefault(
"SegmentCollection",
"TrkStauSegments")
92 kwargs.setdefault(
"InDetCandidateLocation",
93 "InDetCandidates" if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesStaus")
94 alg = CompFactory.MuonCombinedInDetExtensionAlg(name, **kwargs)
95 result.addEventAlgo(alg, primary=
True)
100 result = ComponentAccumulator()
102 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
103 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
104 from MuonConfig.MuonRecToolsConfig
import MuonEDMPrinterToolCfg
105 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import CombinedMuonTrackBuilderCfg, ExtrapolateMuonToIPToolCfg
106 result.merge(CaloNoiseCondAlgCfg(flags,
"totalNoise"))
108 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
109 if "TrackBuilder" not in kwargs:
110 kwargs.setdefault(
"TrackBuilder", result.popToolsAndMerge(
111 CombinedMuonTrackBuilderCfg(flags, name=
"CombinedMuonTrackBuilder")))
114 if flags.Muon.MuonTrigger
and flags.Beam.Type
is not BeamType.Cosmics:
116 kwargs.setdefault(
"TrackExtrapolationTool",
"")
118 kwargs.setdefault(
"TrackExtrapolationTool", result.popToolsAndMerge(
119 ExtrapolateMuonToIPToolCfg(flags)))
120 kwargs.setdefault(
"SegmentContainer",
"TrackMuonSegments")
121 kwargs.setdefault(
"AmbiguityProcessor", result.popToolsAndMerge(MuonAmbiProcessorCfg(flags)))
123 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
124 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(MuonTrackSummaryToolCfg(flags)))
128 if flags.Beam.Type
is BeamType.Cosmics:
129 kwargs.setdefault(
"ExtrapolationStrategy", 1)
131 track_segment_association_tool = CompFactory.MuonCombined.TrackSegmentAssociationTool(
132 MuonEDMPrinterTool=result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
134 kwargs.setdefault(
"TrackSegmentAssociationTool", track_segment_association_tool)
135 result.addPublicTool(track_segment_association_tool)
138 if flags.Beam.Type
is BeamType.Cosmics:
139 kwargs.setdefault(
"ExtrapolationStrategy", 1)
141 alg = CompFactory.MuonCombinedMuonCandidateAlg(name, **kwargs)
142 result.addEventAlgo(alg, primary=
True)
146 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedTrackSelectorToolCfg, MuonCombinedInDetDetailedForwardTrackSelectorToolCfg
147 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSystemExtensionToolCfg
148 result = ComponentAccumulator()
149 kwargs.setdefault(
"TrackSelector", result.popToolsAndMerge(MuonCombinedInDetDetailedTrackSelectorToolCfg(flags)))
150 kwargs.setdefault(
"WaitForTrackLink",
not flags.Muon.MuonTrigger)
152 if flags.MuonCombined.doSiAssocForwardMuons
and flags.Tracking.doForwardTracks:
153 kwargs.setdefault(
"DoSiliconAssocForwardMuons",
True)
154 kwargs.setdefault(
"InDetForwardTrackSelector", result.popToolsAndMerge(
155 MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags)))
157 kwargs.setdefault(
"MuonSystemExtensionTool", result.popToolsAndMerge(MuonSystemExtensionToolCfg(flags)))
161 kwargs.setdefault(
"ExtendBulk",
not flags.MuonCombined.doCombinedFit)
163 if flags.Reco.EnableCaloExtension
and not flags.Muon.MuonTrigger:
164 kwargs.setdefault(
"CaloExtensionLocation", [
"ParticleCaloExtension"])
166 alg = CompFactory.MuonCombinedInDetCandidateAlg(name, **kwargs)
167 result.addEventAlgo(alg, primary=
True)
172 result = ComponentAccumulator()
173 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSystemExtensionToolCfg
174 muon_ext_tool = result.popToolsAndMerge(
175 MuonSystemExtensionToolCfg(flags))
176 kwargs.setdefault(
"MuonSystemExtensionTool", muon_ext_tool)
177 kwargs.setdefault(
"noNSWforSeeding",
True)
178 kwargs.setdefault(
"WriteStauCandidates",
"InDetCandidatesStausPrompt"
179 if flags.Tracking.doLargeD0
else "InDetCandidatesStaus")
181 if not flags.Muon.MuonTrigger:
182 from MuonConfig.MuonSegmentFindingConfig
import MuonLayerHoughAlgCfg
183 result.merge(MuonLayerHoughAlgCfg(flags))
184 kwargs.setdefault(
"UseOnlyHitSectors",
185 not flags.Muon.MuonTrigger
and flags.Beam.Type
is BeamType.Collisions)
186 alg = CompFactory.MuonInDetToMuonSystemExtensionAlg(name, **kwargs)
187 result.addEventAlgo(alg, primary=
True)
192 kwargs.setdefault(
"WriteStauCandidates",
"InDetCandidatesStausLRT")
193 kwargs.setdefault(
"WriteInDetCandidates",
194 "InDetCandidateLRT_SystemExtended")
195 kwargs.setdefault(
"InputInDetCandidates",
"TrackParticleCandidateLRT")
196 kwargs.setdefault(
"CombinedTagMap",
"muidcoTagMap_LRT")
201 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedForwardTrackSelectorToolCfg, MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg
202 result = ComponentAccumulator()
204 kwargs.setdefault(
"TrackSelector", result.popToolsAndMerge(
205 MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg(flags)))
209 kwargs.setdefault(
"TrackParticleLocation", [
"InDetLargeD0TrackParticles"])
210 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT")
211 kwargs.setdefault(
"DoSiliconAssocForwardMuons",
False)
212 kwargs.setdefault(
"WaitForTrackLink",
not flags.Muon.MuonTrigger)
214 kwargs.setdefault(
"InDetForwardTrackSelector", result.popToolsAndMerge(
215 MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags)))
217 if flags.Reco.EnableCaloExtension
and not flags.Muon.MuonTrigger:
218 kwargs.setdefault(
"CaloExtensionLocation", [
219 "ParticleCaloExtension_LRT"])
221 result.merge(cand_alg)
226 result = ComponentAccumulator()
229 from MuonConfig.MuonRecToolsConfig
import MuonEDMPrinterToolCfg
230 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
231 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCombinedFitTagToolCfg, MuonCombinedStacoTagToolCfg
233 if flags.MuonCombined.doCombinedFit:
234 tools.append(result.popToolsAndMerge(MuonCombinedFitTagToolCfg(flags)))
235 tagmaps+=[
'muidcoTagMap']
236 if flags.MuonCombined.doStatisticalCombination
and flags.Beam.Type
is not BeamType.Cosmics:
237 tools.append(result.popToolsAndMerge(MuonCombinedStacoTagToolCfg(flags)))
238 tagmaps+=[
'stacoTagMap']
240 kwargs.setdefault(
"MuonCombinedTagTools", tools)
241 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonAlignmentUncertToolThetaCfg
242 kwargs.setdefault(
"AlignmentUncertTool", result.getPrimaryAndMerge(MuonAlignmentUncertToolThetaCfg(flags)))
244 kwargs.setdefault(
"DeltaEtaPreSelection", 0.2)
245 kwargs.setdefault(
"DeltaPhiPreSelection", 0.2)
247 kwargs.setdefault(
"CombinedTagMaps", tagmaps)
248 alg = CompFactory.MuonCombinedAlg(name, **kwargs)
249 result.addEventAlgo(alg, primary=
True)
253 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT")
254 kwargs.setdefault(
"CombinedTagMaps", [
255 "muidcoTagMap_LRT",
"stacoTagMap_LRT"])
256 kwargs.setdefault(
"MuidCombinedTracksLocation",
"MuidCombinedTracks_LRT")
257 kwargs.setdefault(
"MuidMETracksLocation",
"MuidMETracks_LRT")
262 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
263 result = MuonCreatorToolCfg(flags, name=
"MuonCreatorTool")
264 kwargs.setdefault(
"MuonCreatorTool", result.popPrivateTools())
269 if flags.MuonCombined.doMuGirl:
270 tag_maps += [
"muGirlTagMap"]
271 if flags.MuonCombined.doStatisticalCombination:
272 tag_maps += [
"stacoTagMap"]
273 if flags.MuonCombined.doCombinedFit:
274 tag_maps += [
"muidcoTagMap"]
275 if flags.MuonCombined.doCaloTrkMuId:
276 tag_maps += [
"caloTagMap"]
277 if flags.MuonCombined.doMuonSegmentTagger:
278 tag_maps += [
"segmentTagMap"]
279 kwargs.setdefault(
"TagMaps", tag_maps)
280 if flags.Muon.MuonTrigger:
281 kwargs.setdefault(
"MakeClusters",
False)
282 kwargs.setdefault(
"ClusterContainerName",
"")
283 kwargs.setdefault(
"SegmentContainerName",
"")
284 kwargs.setdefault(
"TagToSegmentKey",
"")
285 if flags.Muon.SAMuonTrigger:
286 kwargs.setdefault(
"CreateSAmuons",
True)
287 kwargs.setdefault(
"TagMaps", [])
289 if flags.Muon.scheduleActsReco:
290 kwargs.setdefault(
"MuonContainerLocation",
"MuonsLegacy")
292 alg = CompFactory.MuonCreatorAlg(name, **kwargs)
293 result.addEventAlgo(alg, primary=
True)
298 result = ComponentAccumulator()
299 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
300 creatorTool = result.popToolsAndMerge(
301 MuonCreatorToolCfg(flags,
"MuonCreatorTool_LRT", RequireIDTrack=
True))
302 kwargs.setdefault(
"MuonCreatorTool", creatorTool)
305 if flags.MuonCombined.doMuGirl:
306 tag_maps += [
"MuGirlMap_LRT"]
307 if flags.MuonCombined.doStatisticalCombination:
308 tag_maps += [
"stacoTagMap_LRT"]
309 if flags.MuonCombined.doCombinedFit:
310 tag_maps += [
"muidcoTagMap_LRT"]
311 if flags.MuonCombined.doCaloTrkMuId:
312 tag_maps += [
"caloTagMap_LRT"]
313 if flags.MuonCombined.doMuonSegmentTagger:
314 tag_maps += [
"segmentTagMap_LRT"]
315 kwargs.setdefault(
"TagMaps", tag_maps)
316 kwargs.setdefault(
"MuonContainerLocation",
"MuonsLRT" if not flags.Muon.scheduleActsReco
else "MuonsLRTLegacy")
317 kwargs.setdefault(
"ExtrapolatedLocation",
"ExtraPolatedMuonsLRT")
318 kwargs.setdefault(
"MSOnlyExtrapolatedLocation",
319 "MSOnlyExtraPolatedMuonsLRT")
320 kwargs.setdefault(
"CombinedLocation",
"CombinedMuonsLRT")
321 kwargs.setdefault(
"BuildSlowMuon",
False)
322 kwargs.setdefault(
"MakeClusters",
False)
323 kwargs.setdefault(
"ClusterContainerName",
"")
328 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
329 result = MuonCreatorToolCfg(
330 flags, BuildStauContainer=
True, name=
'StauCreatorTool')
331 kwargs.setdefault(
"MuonCreatorTool", result.popPrivateTools())
332 kwargs.setdefault(
"MuonContainerLocation",
"Staus")
333 kwargs.setdefault(
"CombinedLocation",
"CombinedStau")
334 kwargs.setdefault(
"ExtrapolatedLocation",
"ExtrapolatedStau")
335 kwargs.setdefault(
"MSOnlyExtrapolatedLocation",
"MSOnlyExtrapolatedStau")
336 kwargs.setdefault(
"MuonCandidateLocation", [])
337 kwargs.setdefault(
"SegmentContainerName",
"StauSegments")
338 kwargs.setdefault(
"TagToSegmentKey",
"")
339 kwargs.setdefault(
"BuildSlowMuon", 1)
340 kwargs.setdefault(
"ClusterContainerName",
"SlowMuonClusterCollection")
341 kwargs.setdefault(
"TagMaps", [
"stauTagMap"])
348 result = ComponentAccumulator()
349 kwargs.setdefault(
"saveUnusedSegments",
350 flags.MuonCombined.writeUnAssocSegments)
352 if flags.MuonCombined.doMuGirl:
353 tag_maps += [
"muGirlTagMap"]
354 if flags.MuonCombined.doStatisticalCombination:
355 tag_maps += [
"stacoTagMap"]
356 if flags.MuonCombined.doCombinedFit:
357 tag_maps += [
"muidcoTagMap"]
358 if flags.MuonCombined.doMuonSegmentTagger:
359 tag_maps += [
"segmentTagMap"]
360 muon_maps = [
"MuonCandidates"]
361 if flags.Tracking.doLargeD0:
362 if flags.MuonCombined.doMuGirl:
363 tag_maps += [
"MuGirlMap_LRT"]
364 if flags.MuonCombined.doStatisticalCombination:
365 tag_maps += [
"stacoTagMap_LRT"]
366 if flags.MuonCombined.doCombinedFit:
367 tag_maps += [
"muidcoTagMap_LRT"]
368 if flags.MuonCombined.doMuonSegmentTagger:
369 tag_maps += [
"segmentTagMap_LRT"]
370 kwargs.setdefault(
"MuonCandidateMaps", muon_maps)
371 kwargs.setdefault(
"TagMaps", tag_maps)
372 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
373 kwargs.setdefault(
"AmbiguityProcessor", result.popToolsAndMerge(
374 MuonAmbiProcessorCfg(flags)))
376 the_alg = CompFactory.MuonSegContainerMergerAlg(name, **kwargs)
377 result.addEventAlgo(the_alg)
382 result = ComponentAccumulator()
384 "ToMerge", [
"InDetCandidatesStausPrompt",
"InDetCandidatesStausLRT"])
385 kwargs.setdefault(
"ToWrite",
"InDetCandidatesStaus")
386 the_alg = CompFactory.MuonInDetExtensionMergerAlg(name, **kwargs)
387 result.addEventAlgo(the_alg, primary=
True)
397 tp_coll = [
"ExtrapolatedMuonTrackParticles",
398 "CombinedMuonTrackParticles",
399 "MSOnlyExtrapolatedMuonTrackParticles"]
400 track_coll = [
"ExtrapolatedMuonTracks",
401 "CombinedMuonTracks",
402 "MSOnlyExtrapolatedTracks"]
403 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
404 tp_coll += [
"CombinedStauTrackParticles",
405 "ExtrapolatedStauTrackParticles"]
406 track_coll += [
"CombinedStauTracks",
407 "ExtrapolatedStauTracks"]
408 if flags.Tracking.doLargeD0:
409 tp_coll += [
"CombinedMuonsLRTTrackParticles",
410 "ExtraPolatedMuonsLRTTrackParticles",
411 "MSOnlyExtraPolatedMuonsLRTTrackParticles"]
412 track_coll += [
"CombinedMuonsLRTTracks",
413 "ExtraPolatedMuonsLRTTracks",
414 "MSOnlyExtraPolatedMuonsLRTTrackParticlesTracks"]
415 return tp_coll, track_coll
419 result = ComponentAccumulator()
420 the_alg = CompFactory.MuonTrkIDMSScatterDecorAlg(name=name, **kwargs)
421 result.addEventAlgo(the_alg)
426 result = ComponentAccumulator()
427 the_alg = CompFactory.MuonTrkAEOTDecorationAlg(name=name, **kwargs)
428 result.addEventAlgo(the_alg)
433 result = ComponentAccumulator()
434 the_alg = CompFactory.MuonPrecisionLayerDecorAlg(name=name, **kwargs)
435 result.addEventAlgo(the_alg)
440 result = ComponentAccumulator()
441 trk_cols = [
"ExtrapolatedMuonTrackParticles",
442 "CombinedMuonTrackParticles",
443 "MSOnlyExtrapolatedMuonTrackParticles"]
444 stau_coll = [
"CombinedStauTrackParticles",
445 "ExtrapolatedStauTrackParticles"]
if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta
else []
446 track_coll_lrt = [
"CombinedMuonsLRTTrackParticles",
447 "ExtraPolatedMuonsLRTTrackParticles",
448 "MSOnlyExtraPolatedMuonsLRTTrackParticles"]
if flags.Tracking.doLargeD0
else []
451 for coll
in trk_cols + stau_coll + track_coll_lrt:
453 TrackContainer=coll))
456 TrackContainer=coll))
458 prec_trk_cols = [
"ExtrapolatedMuonTrackParticles",
459 "CombinedMuonTrackParticles",
460 "MSOnlyExtrapolatedMuonTrackParticles"]
462 MuonContainer=
"Muons" if not flags.Muon.scheduleActsReco
else "MuonsLegacy",
463 TrackContainer=prec_trk_cols))
464 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
467 MuonContainer=
"Staus",
468 TrackContainer=stau_coll))
469 if flags.Tracking.doLargeD0:
472 MuonContainer=
"MuonsLRT",
473 TrackContainer=track_coll_lrt))
479 result = ComponentAccumulator()
482 from MuonConfig.MuonTruthAlgsConfig
import MuonDetailedTrackTruthMakerCfg
483 result.merge(MuonDetailedTrackTruthMakerCfg(flags, name=
"MuonCombinedDetailedTrackTruthMaker",
484 TrackCollectionNames=trk_cols))
486 if not flags.Muon.usePhaseIIGeoSetup:
487 for i
in range(len(trk_cols)):
488 from TrkConfig.TrkTruthAlgsConfig
import TrackTruthSelectorCfg, TrackParticleTruthAlgCfg
489 result.merge(TrackTruthSelectorCfg(flags, tracks=trk_cols[i]))
490 result.merge(TrackParticleTruthAlgCfg(flags, tracks=trk_cols[i],
491 TrackParticleName=particle_cols[i]))
497 result = ComponentAccumulator()
498 if flags.Muon.usePhaseIIGeoSetup:
502 from MuonConfig.MuonTruthAlgsConfig
import MuonTruthAssociationAlgCfg
503 result.merge(MuonTruthAssociationAlgCfg(flags))
505 if flags.Tracking.doLargeD0:
506 result.merge(MuonTruthAssociationAlgCfg(flags, name=
"MuonTruthAssociationAlgLRT",
507 MuonContainerName=
"MuonsLRT",
508 RecoLinkName=
"recoMuonLinkLRT",
509 TrackContainers=trk_cols))
511 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
512 result.merge(MuonTruthAssociationAlgCfg(flags, name=
"MuonTruthAssociationAlgStau",
513 MuonContainerName=
"Staus",
515 TrackContainers=trk_cols))
520 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
521 result = ComponentAccumulator()
524 from TrkEventCnvTools.TrkEventCnvToolsConfig
import (
525 TrkEventCnvSuperToolCfg)
526 result.merge(TrkEventCnvSuperToolCfg(flags))
531 for track_pt
in 500, 1000:
532 for cone_str
in "",
"LooseCone":
533 name = f
"Nonprompt_All_MaxWeightTTVA{cone_str}_pt{track_pt}"
534 iso_vars += [
"ptconeCorrBitset_"+name,
535 "ptconecoreTrackPtrCorrection_"+name]
536 for cone_size
in 20, 30, 40:
537 for var_str
in "",
"var":
538 iso_vars.append(f
"pt{var_str}cone{cone_size}_{name}")
542 aod_items += [
"xAOD::MuonSegmentContainer#MuonSegments"]
543 aod_items += [
"xAOD::MuonSegmentAuxContainer#MuonSegmentsAux."]
544 if flags.MuonCombined.writeUnAssocSegments:
545 aod_items += [
"xAOD::MuonSegmentContainer#UnAssocMuonSegments"]
546 aod_items += [
"xAOD::MuonSegmentAuxContainer#UnAssocMuonSegmentsAux."]
547 if flags.MuonCombined.doMuGirlLowBeta:
548 aod_items += [
"xAOD::MuonSegmentContainer#StauSegments"]
549 aod_items += [
"xAOD::MuonSegmentAuxContainer#StauSegmentsAux."]
552 if flags.Detector.EnableCalo:
553 aod_items += [
"xAOD::CaloClusterContainer#MuonClusterCollection"]
554 aod_items += [
"xAOD::CaloClusterAuxContainer#MuonClusterCollectionAux."]
555 aod_items += [
"CaloClusterCellLinkContainer#MuonClusterCollection_links"]
556 from CaloRec.CaloThinCellsByClusterAlgConfig
import CaloThinCellsByClusterAlgCfg
557 result.merge(CaloThinCellsByClusterAlgCfg(flags, streamName=
"StreamAOD",
558 clusters=
"MuonClusterCollection",
559 samplings=[
"TileGap1",
"TileGap2",
"TileGap3",
"TileBar0",
"TileExt0",
"HEC0"]))
562 excludedAuxData =
'-clusterAssociation'
563 aod_items += [
"xAOD::TrackParticleContainer#"+col
for col
in particle_col]
564 aod_items += [
"xAOD::TrackParticleAuxContainer#"+col +
565 "Aux." + excludedAuxData
for col
in particle_col]
567 if not flags.Muon.scheduleActsReco:
568 aod_items += [
"xAOD::MuonContainer#Muons"]
569 aod_items += [
"xAOD::MuonContainer#MuonsLRT"]
571 aod_items += [
"xAOD::MuonContainer#MuonsLegacy"]
572 aod_items += [
"xAOD::MuonContainer#MuonsLRTLegacy"]
576 wp_decors = [
"DFCommonMuonsTight",
"DFCommonGoodMuon",
"DFCommonMuonsMedium",
577 "DFCommonMuonsLoose",
"InnerDetectorPt",
"MuonSpectrometerPt",
"isMedium_DRAWZmumu"]
580 gpf_vars = [
"chargedGlobalFELinks",
"neutralGlobalFELinks",
581 "deltaR_muon_clus_GlobalFEalg",
"muon_efrac_matched_GlobalFE"]
583 excludedMuonAuxData =
".-"+
".-".join(iso_vars+wp_decors+gpf_vars)
585 aod_items += [
"xAOD::MuonAuxContainer#MuonsAux" + excludedMuonAuxData]
586 aod_items += [
"xAOD::MuonAuxContainer#MuonsLRTAux" + excludedMuonAuxData]
589 aod_items += [
"xAOD::MuonContainer#Staus"]
590 aod_items += [
"xAOD::MuonAuxContainer#StausAux" + excludedMuonAuxData]
591 aod_items += [
"xAOD::SlowMuonContainer#SlowMuons"]
592 aod_items += [
"xAOD::SlowMuonAuxContainer#SlowMuonsAux."]
597 esd_items = [
"TrackCollection#"+col
for col
in trk_col]
598 esd_items += [
"Trk::SegmentCollection#TrkMuonSegments"]
599 if flags.MuonCombined.writeUnAssocSegments:
600 esd_items += [
"Trk::SegmentCollection#UnAssocMuonTrkSegments"]
603 esd_items += [
"DetailedTrackTruthCollection#ExtrapolatedMuonTracksTruth"]
604 esd_items += [
"DetailedTrackTruthCollection#CombinedMuonTracksTruth"]
605 esd_items += [
"DetailedTrackTruthCollection#ExtrapolatedMuonTrackParticlesTruth"]
606 esd_items += [
"DetailedTrackTruthCollection#CombinedMuonTrackParticlesTruth"]
608 if flags.MuonCombined.doCosmicSplitTracks:
609 esd_items += [
"TrackCollection#Combined_Tracks_split"]
610 esd_items += [
"TrackCollection#Tracks_split"]
611 esd_items += [
"Rec::TrackParticleContainer#TrackParticleCandidate_split"]
613 esd_items += aod_items
615 result.merge(addToESD(flags, esd_items))
616 result.merge(addToAOD(flags, aod_items))
633 from MuonConfig.MuonGeometryConfig
import MuonIdHelperSvcCfg
636 result = MuonIdHelperSvcCfg(flags)
638 from CaloRec.CaloTopoClusterConfig
import CaloTopoClusterCfg
639 result.merge(CaloTopoClusterCfg(flags))
640 from TrackToCalo.CaloExtensionBuilderAlgCfg
import CaloExtensionBuilderCfg
641 result.merge(CaloExtensionBuilderCfg(flags))
643 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
644 result.merge(TrackingGeometryCondAlgCfg(flags))
645 from MuonConfig.MuonRecToolsConfig
import MuonEDMHelperSvcCfg
646 result.merge(MuonEDMHelperSvcCfg(flags))
649 from TrkConfig.TrackCollectionReadConfig
import TrackCollectionReadCfg
650 result.merge(TrackCollectionReadCfg(flags,
'Tracks'))
654 if flags.MuonCombined.doMuGirl
or \
655 flags.MuonCombined.doStatisticalCombination
or \
656 flags.MuonCombined.doCaloTrkMuId
or \
657 flags.MuonCombined.doCombinedFit
or \
658 flags.MuonCombined.doMuonSegmentTagger:
661 if flags.Tracking.doLargeD0:
666 if flags.MuonCombined.doStatisticalCombination
or flags.MuonCombined.doCombinedFit:
668 if flags.Tracking.doLargeD0:
672 if flags.MuonCombined.doCombinedFit:
674 if flags.Tracking.doLargeD0:
676 if flags.MuonCombined.doMuGirl:
679 InDetCandidateLocation=
"InDetCandidates"
680 if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesSystemExtened"))
681 if flags.MuonCombined.doMuGirlLowBeta:
682 if flags.Tracking.doLargeD0:
687 if flags.Tracking.doLargeD0:
690 if flags.MuonCombined.doCaloTrkMuId:
692 if flags.Tracking.doLargeD0:
695 if flags.MuonCombined.doMuonSegmentTagger:
697 if flags.Tracking.doLargeD0:
701 from MuonConfig.MuonSegmentFindingConfig
import MuonSegmentCnvAlgCfg
702 result.merge(MuonSegmentCnvAlgCfg(flags,
"MuonSegmentCnvAlg",
703 SegmentContainerName=
"TrkMuonSegments",
704 xAODContainerName=
"MuonSegments"))
705 if flags.MuonCombined.writeUnAssocSegments:
706 result.merge(MuonSegmentCnvAlgCfg(flags,
"UnAssocMuonSegmentCnvAlg",
707 SegmentContainerName=
"UnAssocMuonTrkSegments",
708 xAODContainerName=
"UnAssocMuonSegments"))
709 if flags.MuonCombined.doMuGirlLowBeta:
710 result.merge(MuonSegmentCnvAlgCfg(flags,
"MuonStauSegmentCnvAlg",
711 SegmentContainerName=
"TrkStauSegments",
712 xAODContainerName=
"StauSegments"))
715 if flags.Tracking.doLargeD0:
718 if flags.MuonCombined.doMuGirlLowBeta:
724 from MuonConfig.MuonRecToolsConfig
import MuonTrackScoringToolCfg
725 result.addPublicTool(result.popToolsAndMerge(
726 MuonTrackScoringToolCfg(flags)))
727 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
728 result.addPublicTool(result.popToolsAndMerge(
729 MuonCombinedTrackSummaryToolCfg(flags)))
732 from AthenaConfiguration.Enums
import Format
733 if flags.Input.isMC
and flags.Input.Format != Format.BS:
736 if not flags.Muon.usePhaseIIGeoSetup
and \
737 "MuonSegments" not in flags.Input.Collections:
739 from MuonConfig.MuonTruthAlgsConfig
import MuonSegmentTruthAssociationAlgCfg
740 result.merge(MuonSegmentTruthAssociationAlgCfg(flags))
742 result.addEventAlgo(CompFactory.ClusterMatching.CaloClusterMatchLinkAlg(
743 "MuonTCLinks", ClustersToDecorate=
"MuonClusterCollection"))
751if __name__ ==
"__main__":
755 from MuonConfig.MuonConfigUtils
import SetupMuonStandaloneCA
756 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
757 flags = initConfigFlags()
758 flags.Input.Files = [
759 '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonCombinedConfig/myESD_q454_unslimmedTracks.pool.root']
760 from MuonConfig.MuonConfigUtils
import configureCondTag
761 configureCondTag(flags)
764 flags.MuonCombined.doMuGirlLowBeta =
False
772 cfg = SetupMuonStandaloneCA(flags)
774 from MuonConfig.MuonPrepDataConvConfig
import MuonPrepDataConvCfg
775 cfg.merge(MuonPrepDataConvCfg(flags))
782 cfg.getEventAlgo(
"MuonInDetToMuonSystemExtensionAlg").UseOnlyHitSectors =
False
783 cfg.getEventAlgo(
"MuonInDetToMuonSystemExtensionAlg_LRT").UseOnlyHitSectors =
False
798 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
800 rename_maps = [
'%s#%s->%s' % (
"xAOD::MuonContainer",
"Muons",
"old_Muons"),
801 '%s#%s->%s' % (
"xAOD::MuonAuxContainer",
802 "MuonsAux.",
"old_MuonsAux."),
803 '%s#%s->%s' % (
"xAOD::MuonContainer",
804 "Muons.rpcHitIdentifier",
"old_Muons.rpcHitIdentifier"),
805 '%s#%s->%s' % (
"xAOD::TruthParticleContainer",
806 "MuonTruthParticles.recoMuonLink",
"MuonTruthParticles.old_recoMuonLink")
808 cfg.merge(AddressRemappingCfg(rename_maps))
810 from MuonConfig.MuonConfigUtils
import executeTest
CombinedMuonTruthAssociationAlgsCfg(flags)
MuonCombinedInDetCandidateAlgCfg(flags, name="MuonCombinedInDetCandidateAlg", **kwargs)
CombinedMuonTrackTruthAlgsCfg(flags)
LRT_MuonCombinedInDetCandidateAlgCfg(flags, name="MuonCombinedInDetCandidateAlg_LRT", **kwargs)
MuonInsideOutRecoAlgCfg(flags, name="MuonInsideOutRecoAlg", **kwargs)
MuonCaloTagAlgCfg(flags, name="MuonCaloTagAlg", **kwargs)
MuonInDetToMuonSystemExtensionAlgCfg(flags, name="MuonInDetToMuonSystemExtensionAlg", **kwargs)
MuonDecorationAlgsCfg(flags)
MuonSegmentTagAlgCfg(flags, name="MuonSegmentTagAlg", **kwargs)
LRT_MuonSegmentTagAlgCfg(flags, name="MuonSegmentTagAlg_LRT", **kwargs)
MuonInDetExtensionMergerAlgCfg(flags, name="MuonInDetExtensionMergerAlg", **kwargs)
StauCreatorAlgCfg(flags, name="StauCreatorAlg", **kwargs)
MuonSegContainerMergerAlgCfg(flags, name="MuonSegContainerMergerAlg", **kwargs)
CombinedMuonOutputCfg(flags)
MuonPrecisionLayerDecorAlgCfg(flags, name="MuonPrecisionLayerDecorAlg", **kwargs)
MuonTrkAEOTDecorAlgCfg(flags, name="MuonCombAEOTDecorAlg", **kwargs)
MuonTrkIDMSScatterDecorAlgCfg(flags, name="MuonCombIDMSScatterDecorAlg", **kwargs)
MuonCombinedAlgCfg(flags, name="MuonCombinedAlg", **kwargs)
LRT_MuonInDetToMuonSystemExtensionAlgCfg(flags, name="MuonInDetToMuonSystemExtensionAlg_LRT", **kwargs)
LRT_MuonCreatorAlgCfg(flags, name="MuonCreatorAlg_LRT", **kwargs)
GetCombinedTrkContainers(flags)
LRT_MuonCombinedAlgCfg(flags, name="MuonCombinedAlg_LRT", **kwargs)
MuonCreatorAlgCfg(flags, name="MuonCreatorAlg", **kwargs)
MuonCombinedMuonCandidateAlgCfg(flags, name="MuonCombinedMuonCandidateAlg", **kwargs)
LRT_MuGirlAlgCfg(flags, name="MuGirlAlg_LRT", **kwargs)
MuonCombinedReconstructionCfg(flags)
MuGirlStauAlgCfg(flags, name="MuGirlStauAlg", **kwargs)
LRT_MuonCaloTagAlgCfg(flags, name="MuonCaloTagAlg_LRT", **kwargs)