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' if not flags.Muon.useTGCPriorNextBC
else 'TGC_Measurements')
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)
91 kwargs.setdefault(
"TGCPrepDataLocation",
'TGC_Measurements')
92 kwargs.setdefault(
"CombinedTrackCollection",
"MuGirlStauCombinedTracks")
93 kwargs.setdefault(
"METrackCollection",
"")
94 kwargs.setdefault(
"SegmentCollection",
"TrkStauSegments")
95 kwargs.setdefault(
"InDetCandidateLocation",
96 "InDetCandidates" if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesStaus")
97 alg = CompFactory.MuonCombinedInDetExtensionAlg(name, **kwargs)
98 result.addEventAlgo(alg, primary=
True)
103 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCandidateToolCfg
105 result = ComponentAccumulator()
108 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
109 result.merge(CaloNoiseCondAlgCfg(flags,
"totalNoise"))
112 if flags.Beam.Type
is BeamType.Cosmics:
113 tool_kwargs.setdefault(
"ExtrapolationStrategy", 1)
115 acc = MuonCandidateToolCfg(flags, **tool_kwargs)
116 kwargs.setdefault(
"MuonCandidateTool", acc.popPrivateTools())
119 alg = CompFactory.MuonCombinedMuonCandidateAlg(name, **kwargs)
120 result.addEventAlgo(alg, primary=
True)
125 result = ComponentAccumulator()
127 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import EMEO_CombinedMuonTrackBuilderCfg
128 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCandidateToolCfg
130 track_builder = result.popToolsAndMerge(
131 EMEO_CombinedMuonTrackBuilderCfg(flags))
132 acc = MuonCandidateToolCfg(flags,
133 name=
"MuonCandidateTool_EMEO",
134 TrackBuilder=track_builder,
137 candidate_tool = result.popToolsAndMerge(acc)
138 alg = CompFactory.MuonCombinedMuonCandidateAlg(name,
139 MuonCandidateTool=candidate_tool,
140 MuonSpectrometerTrackParticleLocation=
"EMEO_MuonSpectrometerTrackParticles",
141 MuonCandidateLocation=
"MuonCandidates_EMEO",
142 MSOnlyExtrapolatedTrackLocation=
"EMEO_MSOnlyExtrapolatedTracks")
143 result.addEventAlgo(alg, primary=
True)
149 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedTrackSelectorToolCfg, MuonCombinedInDetDetailedForwardTrackSelectorToolCfg
150 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSystemExtensionToolCfg
151 result = MuonCombinedInDetDetailedTrackSelectorToolCfg(flags)
152 kwargs.setdefault(
"TrackSelector", result.popPrivateTools())
153 if flags.MuonCombined.doSiAssocForwardMuons
and flags.Tracking.doForwardTracks:
154 kwargs.setdefault(
"DoSiliconAssocForwardMuons",
True)
155 kwargs.setdefault(
"InDetForwardTrackSelector", result.popToolsAndMerge(
156 MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags)))
158 muon_ext_tool = result.popToolsAndMerge(
159 MuonSystemExtensionToolCfg(flags))
160 kwargs.setdefault(
"MuonSystemExtensionTool", muon_ext_tool)
164 kwargs.setdefault(
"ExtendBulk",
not flags.MuonCombined.doCombinedFit)
166 if flags.Reco.EnableCaloExtension
and not flags.Muon.MuonTrigger:
167 kwargs.setdefault(
"CaloExtensionLocation", [
"ParticleCaloExtension"])
169 alg = CompFactory.MuonCombinedInDetCandidateAlg(name, **kwargs)
170 result.addEventAlgo(alg, primary=
True)
175 result = ComponentAccumulator()
176 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSystemExtensionToolCfg
177 muon_ext_tool = result.popToolsAndMerge(
178 MuonSystemExtensionToolCfg(flags))
179 kwargs.setdefault(
"MuonSystemExtensionTool", muon_ext_tool)
180 kwargs.setdefault(
"noNSWforSeeding",
True)
181 kwargs.setdefault(
"WriteStauCandidates",
"InDetCandidatesStausPrompt"
182 if flags.Tracking.doLargeD0
else "InDetCandidatesStaus")
184 if not flags.Muon.MuonTrigger:
185 from MuonConfig.MuonSegmentFindingConfig
import MuonLayerHoughAlgCfg
186 result.merge(MuonLayerHoughAlgCfg(flags))
187 kwargs.setdefault(
"UseOnlyHitSectors",
188 not flags.Muon.MuonTrigger
and flags.Beam.Type
is BeamType.Collisions)
189 alg = CompFactory.MuonInDetToMuonSystemExtensionAlg(name, **kwargs)
190 result.addEventAlgo(alg, primary=
True)
195 kwargs.setdefault(
"WriteStauCandidates",
"InDetCandidatesStausLRT")
196 kwargs.setdefault(
"WriteInDetCandidates",
197 "InDetCandidateLRT_SystemExtended")
198 kwargs.setdefault(
"InputInDetCandidates",
"TrackParticleCandidateLRT")
199 kwargs.setdefault(
"CombinedTagMap",
"muidcoTagMap_LRT")
204 from InDetConfig.InDetTrackSelectorToolConfig
import MuonCombinedInDetDetailedForwardTrackSelectorToolCfg, MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg
205 result = ComponentAccumulator()
207 kwargs.setdefault(
"TrackSelector", result.popToolsAndMerge(
208 MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg(flags)))
212 kwargs.setdefault(
"TrackParticleLocation", [
"InDetLargeD0TrackParticles"])
213 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT")
214 kwargs.setdefault(
"DoSiliconAssocForwardMuons",
False)
216 kwargs.setdefault(
"InDetForwardTrackSelector", result.popToolsAndMerge(
217 MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags)))
219 if flags.Reco.EnableCaloExtension
and not flags.Muon.MuonTrigger:
220 kwargs.setdefault(
"CaloExtensionLocation", [
221 "ParticleCaloExtension_LRT"])
223 result.merge(cand_alg)
228 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCombinedToolCfg
229 result = ComponentAccumulator()
230 kwargs.setdefault(
"MuonCombinedTool", result.popToolsAndMerge(
231 MuonCombinedToolCfg(flags)))
235 for h
in kwargs[
'MuonCombinedTool'].MuonCombinedTagTools:
236 if str(h).
find(
'FitTagTool') >= 0:
237 tagmaps.append(
'muidcoTagMap')
238 elif str(h).
find(
'StacoTagTool') >= 0:
239 tagmaps.append(
'stacoTagMap')
240 kwargs.setdefault(
"CombinedTagMaps", tagmaps)
241 alg = CompFactory.MuonCombinedAlg(name, **kwargs)
242 result.addEventAlgo(alg, primary=
True)
247 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import EMEO_MuonCombinedToolCfg
248 result = ComponentAccumulator()
249 kwargs.setdefault(
"MuonCombinedTool", result.popToolsAndMerge(
250 EMEO_MuonCombinedToolCfg(flags)))
251 kwargs.setdefault(
"CombinedTagMaps", [
252 "muidcoTagMap_EMEO",
"stacoTagMap_EMEO"])
253 kwargs.setdefault(
"MuidCombinedTracksLocation",
"MuidCombinedTracks_EMEO")
254 kwargs.setdefault(
"MuidMETracksLocation",
"MuidMETracks_EMEO")
255 kwargs.setdefault(
"MuonCandidateLocation",
"MuonCandidates_EMEO")
256 alg = CompFactory.MuonCombinedAlg(name, **kwargs)
257 result.addEventAlgo(alg, primary=
True)
262 kwargs.setdefault(
"InDetCandidateLocation",
"TrackParticleCandidateLRT")
263 kwargs.setdefault(
"CombinedTagMaps", [
264 "muidcoTagMap_LRT",
"stacoTagMap_LRT"])
265 kwargs.setdefault(
"MuidCombinedTracksLocation",
"MuidCombinedTracks_LRT")
266 kwargs.setdefault(
"MuidMETracksLocation",
"MuidMETracks_LRT")
271 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
272 result = MuonCreatorToolCfg(flags, name=
"MuonCreatorTool")
273 kwargs.setdefault(
"MuonCreatorTool", result.popPrivateTools())
278 if flags.MuonCombined.doMuGirl:
279 tag_maps += [
"muGirlTagMap"]
280 if flags.MuonCombined.doStatisticalCombination:
281 tag_maps += [
"stacoTagMap"]
282 if flags.MuonCombined.doCombinedFit:
283 tag_maps += [
"muidcoTagMap"]
284 if flags.MuonCombined.doCaloTrkMuId:
285 tag_maps += [
"caloTagMap"]
286 if flags.MuonCombined.doMuonSegmentTagger:
287 tag_maps += [
"segmentTagMap"]
288 kwargs.setdefault(
"TagMaps", tag_maps)
289 if flags.Muon.MuonTrigger:
290 kwargs.setdefault(
"MakeClusters",
False)
291 kwargs.setdefault(
"ClusterContainerName",
"")
292 kwargs.setdefault(
"SegmentContainerName",
"")
293 kwargs.setdefault(
"TagToSegmentKey",
"")
294 if flags.Muon.SAMuonTrigger:
295 kwargs.setdefault(
"CreateSAmuons",
True)
296 kwargs.setdefault(
"TagMaps", [])
298 alg = CompFactory.MuonCreatorAlg(name, **kwargs)
299 result.addEventAlgo(alg, primary=
True)
304 result = ComponentAccumulator()
305 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
306 creatorTool = result.popToolsAndMerge(
307 MuonCreatorToolCfg(flags,
"MuonCreatorTool_LRT", RequireIDTrack=
True))
308 kwargs.setdefault(
"MuonCreatorTool", creatorTool)
311 if flags.MuonCombined.doMuGirl:
312 tag_maps += [
"MuGirlMap_LRT"]
313 if flags.MuonCombined.doStatisticalCombination:
314 tag_maps += [
"stacoTagMap_LRT"]
315 if flags.MuonCombined.doCombinedFit:
316 tag_maps += [
"muidcoTagMap_LRT"]
317 if flags.MuonCombined.doCaloTrkMuId:
318 tag_maps += [
"caloTagMap_LRT"]
319 if flags.MuonCombined.doMuonSegmentTagger:
320 tag_maps += [
"segmentTagMap_LRT"]
321 kwargs.setdefault(
"TagMaps", tag_maps)
322 kwargs.setdefault(
"MuonContainerLocation",
"MuonsLRT")
323 kwargs.setdefault(
"ExtrapolatedLocation",
"ExtraPolatedMuonsLRT")
324 kwargs.setdefault(
"MSOnlyExtrapolatedLocation",
325 "MSOnlyExtraPolatedMuonsLRT")
326 kwargs.setdefault(
"CombinedLocation",
"CombinedMuonsLRT")
327 kwargs.setdefault(
"BuildSlowMuon",
False)
328 kwargs.setdefault(
"MakeClusters",
False)
329 kwargs.setdefault(
"ClusterContainerName",
"")
335 muon_maps = [
"MuonCandidates_EMEO"]
337 if flags.MuonCombined.doStatisticalCombination:
338 combined_maps += [
"stacoTagMap_EMEO"]
339 if flags.MuonCombined.doCombinedFit:
340 combined_maps += [
"muidcoTagMap_EMEO"]
341 kwargs.setdefault(
"TagMaps", combined_maps)
342 kwargs.setdefault(
"MuonCandidateLocation", muon_maps)
343 kwargs.setdefault(
"MuonContainerLocation",
"EMEO_Muons")
344 kwargs.setdefault(
"ExtrapolatedLocation",
"EMEO_ExtrapolatedMuon")
345 kwargs.setdefault(
"MSOnlyExtrapolatedLocation",
346 "EMEO_MSOnlyExtrapolatedMuon")
347 kwargs.setdefault(
"CombinedLocation",
"EMEO_CombinedMuon")
348 kwargs.setdefault(
"BuildSlowMuon",
False)
349 kwargs.setdefault(
"MakeClusters",
False)
350 kwargs.setdefault(
"ClusterContainerName",
"")
355 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonCreatorToolCfg
356 result = MuonCreatorToolCfg(
357 flags, BuildStauContainer=
True, name=
'StauCreatorTool')
358 kwargs.setdefault(
"MuonCreatorTool", result.popPrivateTools())
359 kwargs.setdefault(
"MuonContainerLocation",
"Staus")
360 kwargs.setdefault(
"CombinedLocation",
"CombinedStau")
361 kwargs.setdefault(
"ExtrapolatedLocation",
"ExtrapolatedStau")
362 kwargs.setdefault(
"MSOnlyExtrapolatedLocation",
"MSOnlyExtrapolatedStau")
363 kwargs.setdefault(
"MuonCandidateLocation", [])
364 kwargs.setdefault(
"SegmentContainerName",
"StauSegments")
365 kwargs.setdefault(
"TagToSegmentKey",
"")
366 kwargs.setdefault(
"BuildSlowMuon", 1)
367 kwargs.setdefault(
"ClusterContainerName",
"SlowMuonClusterCollection")
368 kwargs.setdefault(
"TagMaps", [
"stauTagMap"])
375 result = ComponentAccumulator()
376 kwargs.setdefault(
"saveUnusedSegments",
377 flags.MuonCombined.writeUnAssocSegments)
379 if flags.MuonCombined.doMuGirl:
380 tag_maps += [
"muGirlTagMap"]
381 if flags.MuonCombined.doStatisticalCombination:
382 tag_maps += [
"stacoTagMap"]
383 if flags.MuonCombined.doCombinedFit:
384 tag_maps += [
"muidcoTagMap"]
385 if flags.MuonCombined.doMuonSegmentTagger:
386 tag_maps += [
"segmentTagMap"]
387 muon_maps = [
"MuonCandidates"]
388 if flags.Muon.runCommissioningChain:
389 if flags.MuonCombined.doStatisticalCombination:
390 tag_maps += [
"stacoTagMap_EMEO"]
391 if flags.MuonCombined.doCombinedFit:
392 tag_maps += [
"muidcoTagMap_EMEO"]
393 muon_maps += [
"MuonCandidates_EMEO"]
394 if flags.Tracking.doLargeD0:
395 if flags.MuonCombined.doMuGirl:
396 tag_maps += [
"MuGirlMap_LRT"]
397 if flags.MuonCombined.doStatisticalCombination:
398 tag_maps += [
"stacoTagMap_LRT"]
399 if flags.MuonCombined.doCombinedFit:
400 tag_maps += [
"muidcoTagMap_LRT"]
401 if flags.MuonCombined.doMuonSegmentTagger:
402 tag_maps += [
"segmentTagMap_LRT"]
403 kwargs.setdefault(
"MuonCandidateMaps", muon_maps)
404 kwargs.setdefault(
"TagMaps", tag_maps)
405 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
406 kwargs.setdefault(
"AmbiguityProcessor", result.popToolsAndMerge(
407 MuonAmbiProcessorCfg(flags)))
409 the_alg = CompFactory.MuonSegContainerMergerAlg(name, **kwargs)
410 result.addEventAlgo(the_alg)
415 result = ComponentAccumulator()
417 "ToMerge", [
"InDetCandidatesStausPrompt",
"InDetCandidatesStausLRT"])
418 kwargs.setdefault(
"ToWrite",
"InDetCandidatesStaus")
419 the_alg = CompFactory.MuonInDetExtensionMergerAlg(name, **kwargs)
420 result.addEventAlgo(the_alg, primary=
True)
430 tp_coll = [
"ExtrapolatedMuonTrackParticles",
431 "CombinedMuonTrackParticles",
432 "MSOnlyExtrapolatedMuonTrackParticles"]
433 track_coll = [
"ExtrapolatedMuonTracks",
434 "CombinedMuonTracks",
435 "MSOnlyExtrapolatedTracks"]
436 if flags.Muon.runCommissioningChain:
437 tp_coll += [
"EMEO_ExtrapolatedMuonTrackParticles",
438 "EMEO_CombinedMuonTrackParticles",
439 "EMEO_MSOnlyExtrapolatedMuonTrackParticles"]
440 track_coll += [
"EMEO_ExtrapolatedMuonTracks",
441 "EMEO_CombinedMuonTracks",
442 "EMEO_MSOnlyExtrapolatedTracks"]
443 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
444 tp_coll += [
"CombinedStauTrackParticles",
445 "ExtrapolatedStauTrackParticles"]
446 track_coll += [
"CombinedStauTracks",
447 "ExtrapolatedStauTracks"]
448 if flags.Tracking.doLargeD0:
449 tp_coll += [
"CombinedMuonsLRTTrackParticles",
450 "ExtraPolatedMuonsLRTTrackParticles",
451 "MSOnlyExtraPolatedMuonsLRTTrackParticles"]
452 track_coll += [
"CombinedMuonsLRTTracks",
453 "ExtraPolatedMuonsLRTTracks",
454 "MSOnlyExtraPolatedMuonsLRTTrackParticlesTracks"]
455 return tp_coll, track_coll
459 result = ComponentAccumulator()
460 the_alg = CompFactory.MuonTrkIDMSScatterDecorAlg(name=name, **kwargs)
461 result.addEventAlgo(the_alg)
466 result = ComponentAccumulator()
467 the_alg = CompFactory.MuonTrkAEOTDecorationAlg(name=name, **kwargs)
468 result.addEventAlgo(the_alg)
473 result = ComponentAccumulator()
474 the_alg = CompFactory.MuonPrecisionLayerDecorAlg(name=name, **kwargs)
475 result.addEventAlgo(the_alg)
480 result = ComponentAccumulator()
481 trk_cols = [
"ExtrapolatedMuonTrackParticles",
482 "CombinedMuonTrackParticles",
483 "MSOnlyExtrapolatedMuonTrackParticles"]
484 stau_coll = [
"CombinedStauTrackParticles",
485 "ExtrapolatedStauTrackParticles"]
if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta
else []
486 track_coll_lrt = [
"CombinedMuonsLRTTrackParticles",
487 "ExtraPolatedMuonsLRTTrackParticles",
488 "MSOnlyExtraPolatedMuonsLRTTrackParticles"]
if flags.Tracking.doLargeD0
else []
491 for coll
in trk_cols + stau_coll + track_coll_lrt:
493 TrackContainer=coll))
496 TrackContainer=coll))
498 prec_trk_cols = [
"ExtrapolatedMuonTrackParticles",
499 "CombinedMuonTrackParticles",
500 "MSOnlyExtrapolatedMuonTrackParticles"]
502 MuonContainer=
"Muons",
503 TrackContainer=prec_trk_cols))
504 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
507 MuonContainer=
"Staus",
508 TrackContainer=stau_coll))
509 if flags.Tracking.doLargeD0:
512 MuonContainer=
"MuonsLRT",
513 TrackContainer=track_coll_lrt))
519 result = ComponentAccumulator()
522 from MuonConfig.MuonTruthAlgsConfig
import MuonDetailedTrackTruthMakerCfg
523 result.merge(MuonDetailedTrackTruthMakerCfg(flags, name=
"MuonCombinedDetailedTrackTruthMaker",
524 TrackCollectionNames=trk_cols))
526 if(
not flags.Muon.scheduleActsReco):
527 for i
in range(len(trk_cols)):
528 from TrkConfig.TrkTruthAlgsConfig
import TrackTruthSelectorCfg, TrackParticleTruthAlgCfg
529 result.merge(TrackTruthSelectorCfg(flags, tracks=trk_cols[i]))
530 result.merge(TrackParticleTruthAlgCfg(flags, tracks=trk_cols[i],
531 TrackParticleName=particle_cols[i]))
537 result = ComponentAccumulator()
540 from MuonConfig.MuonTruthAlgsConfig
import MuonTruthAssociationAlgCfg
541 result.merge(MuonTruthAssociationAlgCfg(flags))
543 if flags.Tracking.doLargeD0:
544 result.merge(MuonTruthAssociationAlgCfg(flags, name=
"MuonTruthAssociationAlgLRT",
545 MuonContainerName=
"MuonsLRT",
546 RecoLinkName=
"recoMuonLinkLRT",
547 TrackContainers=trk_cols))
549 if flags.Muon.runCommissioningChain:
550 result.merge(MuonTruthAssociationAlgCfg(flags, name=
"MuonTruthAssociationAlg_EMEO",
551 MuonContainerName=
"EMEO_Muons",
553 TrackContainers=trk_cols))
555 if flags.MuonCombined.doMuGirl
and flags.MuonCombined.doMuGirlLowBeta:
556 result.merge(MuonTruthAssociationAlgCfg(flags, name=
"MuonTruthAssociationAlgStau",
557 MuonContainerName=
"Staus",
559 TrackContainers=trk_cols))
564 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
565 result = ComponentAccumulator()
568 from TrkEventCnvTools.TrkEventCnvToolsConfig
import (
569 TrkEventCnvSuperToolCfg)
570 result.merge(TrkEventCnvSuperToolCfg(flags))
575 for track_pt
in 500, 1000:
576 for cone_str
in "",
"LooseCone":
577 name = f
"Nonprompt_All_MaxWeightTTVA{cone_str}_pt{track_pt}"
578 iso_vars += [
"ptconeCorrBitset_"+name,
579 "ptconecoreTrackPtrCorrection_"+name]
580 for cone_size
in 20, 30, 40:
581 for var_str
in "",
"var":
582 iso_vars.append(f
"pt{var_str}cone{cone_size}_{name}")
586 aod_items += [
"xAOD::MuonSegmentContainer#MuonSegments"]
587 aod_items += [
"xAOD::MuonSegmentAuxContainer#MuonSegmentsAux."]
588 if flags.MuonCombined.writeUnAssocSegments:
589 aod_items += [
"xAOD::MuonSegmentContainer#UnAssocMuonSegments"]
590 aod_items += [
"xAOD::MuonSegmentAuxContainer#UnAssocMuonSegmentsAux."]
591 if flags.MuonCombined.doMuGirlLowBeta:
592 aod_items += [
"xAOD::MuonSegmentContainer#StauSegments"]
593 aod_items += [
"xAOD::MuonSegmentAuxContainer#StauSegmentsAux."]
596 if flags.Detector.EnableCalo:
597 aod_items += [
"xAOD::CaloClusterContainer#MuonClusterCollection"]
598 aod_items += [
"xAOD::CaloClusterAuxContainer#MuonClusterCollectionAux."]
599 aod_items += [
"CaloClusterCellLinkContainer#MuonClusterCollection_links"]
600 from CaloRec.CaloThinCellsByClusterAlgConfig
import CaloThinCellsByClusterAlgCfg
601 result.merge(CaloThinCellsByClusterAlgCfg(flags, streamName=
"StreamAOD",
602 clusters=
"MuonClusterCollection",
603 samplings=[
"TileGap1",
"TileGap2",
"TileGap3",
"TileBar0",
"TileExt0",
"HEC0"]))
606 excludedAuxData =
'-clusterAssociation'
607 aod_items += [
"xAOD::TrackParticleContainer#"+col
for col
in particle_col]
608 aod_items += [
"xAOD::TrackParticleAuxContainer#"+col +
609 "Aux." + excludedAuxData
for col
in particle_col]
611 aod_items += [
"xAOD::MuonContainer#Muons"]
612 aod_items += [
"xAOD::MuonContainer#MuonsLRT"]
615 wp_decors = [
"DFCommonMuonsTight",
"DFCommonGoodMuon",
"DFCommonMuonsMedium",
616 "DFCommonMuonsLoose",
"InnerDetectorPt",
"MuonSpectrometerPt",
"isMedium_DRAWZmumu"]
619 gpf_vars = [
"chargedGlobalFELinks",
"neutralGlobalFELinks",
620 "deltaR_muon_clus_GlobalFEalg",
"muon_efrac_matched_GlobalFE"]
622 excludedMuonAuxData =
".-"+
".-".join(iso_vars+wp_decors+gpf_vars)
624 aod_items += [
"xAOD::MuonAuxContainer#MuonsAux" + excludedMuonAuxData]
625 aod_items += [
"xAOD::MuonAuxContainer#MuonsLRTAux" + excludedMuonAuxData]
628 aod_items += [
"xAOD::MuonContainer#Staus"]
629 aod_items += [
"xAOD::MuonAuxContainer#StausAux" + excludedMuonAuxData]
630 aod_items += [
"xAOD::SlowMuonContainer#SlowMuons"]
631 aod_items += [
"xAOD::SlowMuonAuxContainer#SlowMuonsAux."]
633 if flags.Muon.runCommissioningChain:
634 aod_items += [
"xAOD::MuonContainer#EMEO_Muons"]
635 aod_items += [
"xAOD::MuonAuxContainer#EMEO_MuonsAux" +
640 esd_items = [
"TrackCollection#"+col
for col
in trk_col]
641 esd_items += [
"Trk::SegmentCollection#TrkMuonSegments"]
642 if flags.MuonCombined.writeUnAssocSegments:
643 esd_items += [
"Trk::SegmentCollection#UnAssocMuonTrkSegments"]
646 esd_items += [
"DetailedTrackTruthCollection#ExtrapolatedMuonTracksTruth"]
647 esd_items += [
"DetailedTrackTruthCollection#CombinedMuonTracksTruth"]
648 esd_items += [
"DetailedTrackTruthCollection#ExtrapolatedMuonTrackParticlesTruth"]
649 esd_items += [
"DetailedTrackTruthCollection#CombinedMuonTrackParticlesTruth"]
651 if flags.MuonCombined.doCosmicSplitTracks:
652 esd_items += [
"TrackCollection#Combined_Tracks_split"]
653 esd_items += [
"TrackCollection#Tracks_split"]
654 esd_items += [
"Rec::TrackParticleContainer#TrackParticleCandidate_split"]
656 esd_items += aod_items
658 result.merge(addToESD(flags, esd_items))
659 result.merge(addToAOD(flags, aod_items))
676 from MuonConfig.MuonGeometryConfig
import MuonIdHelperSvcCfg
679 result = MuonIdHelperSvcCfg(flags)
681 from CaloRec.CaloTopoClusterConfig
import CaloTopoClusterCfg
682 result.merge(CaloTopoClusterCfg(flags))
683 from TrackToCalo.CaloExtensionBuilderAlgCfg
import CaloExtensionBuilderCfg
684 result.merge(CaloExtensionBuilderCfg(flags))
686 from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlgConfig
import TrackingGeometryCondAlgCfg
687 result.merge(TrackingGeometryCondAlgCfg(flags))
688 from MuonConfig.MuonRecToolsConfig
import MuonEDMHelperSvcCfg
689 result.merge(MuonEDMHelperSvcCfg(flags))
692 from TrkConfig.TrackCollectionReadConfig
import TrackCollectionReadCfg
693 result.merge(TrackCollectionReadCfg(flags,
'Tracks'))
697 if flags.MuonCombined.doMuGirl
or \
698 flags.MuonCombined.doStatisticalCombination
or \
699 flags.MuonCombined.doCaloTrkMuId
or \
700 flags.MuonCombined.doCombinedFit
or \
701 flags.MuonCombined.doMuonSegmentTagger:
704 if flags.Tracking.doLargeD0:
709 if flags.MuonCombined.doStatisticalCombination
or flags.MuonCombined.doCombinedFit:
711 if flags.Tracking.doLargeD0:
715 if flags.MuonCombined.doCombinedFit:
717 if flags.Tracking.doLargeD0:
719 if flags.MuonCombined.doMuGirl:
722 InDetCandidateLocation=
"InDetCandidates"
723 if not flags.MuonCombined.doCombinedFit
else "InDetCandidatesSystemExtened"))
724 if flags.MuonCombined.doMuGirlLowBeta:
725 if flags.Tracking.doLargeD0:
730 if flags.Tracking.doLargeD0:
733 if flags.MuonCombined.doCaloTrkMuId:
735 if flags.Tracking.doLargeD0:
738 if flags.MuonCombined.doMuonSegmentTagger:
740 if flags.Tracking.doLargeD0:
743 if flags.Muon.runCommissioningChain:
748 from MuonConfig.MuonSegmentFindingConfig
import MuonSegmentCnvAlgCfg
749 result.merge(MuonSegmentCnvAlgCfg(flags,
"MuonSegmentCnvAlg",
750 SegmentContainerName=
"TrkMuonSegments",
751 xAODContainerName=
"MuonSegments"))
752 if flags.MuonCombined.writeUnAssocSegments:
753 result.merge(MuonSegmentCnvAlgCfg(flags,
"UnAssocMuonSegmentCnvAlg",
754 SegmentContainerName=
"UnAssocMuonTrkSegments",
755 xAODContainerName=
"UnAssocMuonSegments"))
756 if flags.MuonCombined.doMuGirlLowBeta:
757 result.merge(MuonSegmentCnvAlgCfg(flags,
"MuonStauSegmentCnvAlg",
758 SegmentContainerName=
"TrkStauSegments",
759 xAODContainerName=
"StauSegments"))
760 if flags.Muon.runCommissioningChain:
764 if flags.Tracking.doLargeD0:
767 if flags.MuonCombined.doMuGirlLowBeta:
773 from MuonConfig.MuonRecToolsConfig
import MuonTrackScoringToolCfg
774 result.addPublicTool(result.popToolsAndMerge(
775 MuonTrackScoringToolCfg(flags)))
776 from TrkConfig.TrkTrackSummaryToolConfig
import MuonCombinedTrackSummaryToolCfg
777 result.addPublicTool(result.popToolsAndMerge(
778 MuonCombinedTrackSummaryToolCfg(flags)))
784 if not flags.Muon.usePhaseIIGeoSetup
and \
785 "MuonSegments" not in flags.Input.Collections:
787 from MuonConfig.MuonTruthAlgsConfig
import MuonSegmentTruthAssociationAlgCfg
788 result.merge(MuonSegmentTruthAssociationAlgCfg(flags))
790 result.addEventAlgo(CompFactory.ClusterMatching.CaloClusterMatchLinkAlg(
791 "MuonTCLinks", ClustersToDecorate=
"MuonClusterCollection"))
799if __name__ ==
"__main__":
803 from MuonConfig.MuonConfigUtils
import SetupMuonStandaloneCA
804 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
805 flags = initConfigFlags()
806 flags.Input.Files = [
807 '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonCombinedConfig/myESD_q445_unslimmedTracks.pool.root']
808 from MuonConfig.MuonConfigUtils
import configureCondTag
809 configureCondTag(flags)
811 flags.Muon.useTGCPriorNextBC =
False
813 flags.MuonCombined.doMuGirlLowBeta =
False
821 cfg = SetupMuonStandaloneCA(flags)
823 from MuonConfig.MuonPrepDataConvConfig
import MuonPrepDataConvCfg
824 cfg.merge(MuonPrepDataConvCfg(flags))
831 cfg.getEventAlgo(
"MuonInDetToMuonSystemExtensionAlg").UseOnlyHitSectors =
False
832 cfg.getEventAlgo(
"MuonInDetToMuonSystemExtensionAlg_LRT").UseOnlyHitSectors =
False
847 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
849 rename_maps = [
'%s#%s->%s' % (
"xAOD::MuonContainer",
"Muons",
"old_Muons"),
850 '%s#%s->%s' % (
"xAOD::MuonAuxContainer",
851 "MuonsAux.",
"old_MuonsAux."),
852 '%s#%s->%s' % (
"xAOD::MuonContainer",
853 "Muons.rpcHitIdentifier",
"old_Muons.rpcHitIdentifier"),
854 '%s#%s->%s' % (
"xAOD::TruthParticleContainer",
855 "MuonTruthParticles.recoMuonLink",
"MuonTruthParticles.old_recoMuonLink")
857 cfg.merge(AddressRemappingCfg(rename_maps))
859 from MuonConfig.MuonConfigUtils
import executeTest
std::string find(const std::string &s)
return a remapped string
CombinedMuonTruthAssociationAlgsCfg(flags)
MuonCombinedMuonCandidateAlgCfg(flags, name="MuonCombinedMuonCandidateAlg", **kwargs)
MuonInDetExtensionMergerAlgCfg(flags, name="MuonInDetExtensionMergerAlg", **kwargs)
MuonSegmentTagAlgCfg(flags, name="MuonSegmentTagAlg", **kwargs)
MuonTrkIDMSScatterDecorAlgCfg(flags, name="MuonCombIDMSScatterDecorAlg", **kwargs)
LRT_MuGirlAlgCfg(flags, name="MuGirlAlg_LRT", **kwargs)
MuonCaloTagAlgCfg(flags, name="MuonCaloTagAlg", **kwargs)
CombinedMuonTrackTruthAlgsCfg(flags)
MuonDecorationAlgsCfg(flags)
LRT_MuonInDetToMuonSystemExtensionAlgCfg(flags, name="MuonInDetToMuonSystemExtensionAlg_LRT", **kwargs)
MuonPrecisionLayerDecorAlgCfg(flags, name="MuonPrecisionLayerDecorAlg", **kwargs)
LRT_MuonCaloTagAlgCfg(flags, name="MuonCaloTagAlg_LRT", **kwargs)
MuonCombinedReconstructionCfg(flags)
MuonInsideOutRecoAlgCfg(flags, name="MuonInsideOutRecoAlg", **kwargs)
StauCreatorAlgCfg(flags, name="StauCreatorAlg", **kwargs)
MuonSegContainerMergerAlgCfg(flags, name="MuonSegContainerMergerAlg", **kwargs)
MuonInDetToMuonSystemExtensionAlgCfg(flags, name="MuonInDetToMuonSystemExtensionAlg", **kwargs)
MuonCombinedInDetCandidateAlgCfg(flags, name="MuonCombinedInDetCandidateAlg", **kwargs)
MuGirlStauAlgCfg(flags, name="MuGirlStauAlg", **kwargs)
GetCombinedTrkContainers(flags)
EMEO_MuonCreatorAlgCfg(flags, name="MuonCreatorAlg_EMEO", **kwargs)
LRT_MuonSegmentTagAlgCfg(flags, name="MuonSegmentTagAlg_LRT", **kwargs)
MuonCombinedAlgCfg(flags, name="MuonCombinedAlg", **kwargs)
EMEO_MuonCombinedMuonCandidateAlgCfg(flags, name="MuonCombinedMuonCandidateAlg_EMEO")
CombinedMuonOutputCfg(flags)
MuonTrkAEOTDecorAlgCfg(flags, name="MuonCombAEOTDecorAlg", **kwargs)
EMEO_MuonCombinedAlgCfg(flags, name="MuonCombinedAlg_EMEO", **kwargs)
LRT_MuonCombinedInDetCandidateAlgCfg(flags, name="MuonCombinedInDetCandidateAlg_LRT", **kwargs)
LRT_MuonCreatorAlgCfg(flags, name="MuonCreatorAlg_LRT", **kwargs)
LRT_MuonCombinedAlgCfg(flags, name="MuonCombinedAlg_LRT", **kwargs)
MuonCreatorAlgCfg(flags, name="MuonCreatorAlg", **kwargs)