102 acc = ComponentAccumulator()
104 doSeededDecoding =
True
105 if 'FSRoI' in RoIs
or not inView:
106 doSeededDecoding =
False
112 if flags.Input.Format
is Format.POOL:
113 loadFromSG += [(
'MdtCsmContainer' ,
'StoreGateSvc+MDTCSM' )]
114 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
115 acc.merge(SGInputLoaderCfg(flags, loadFromSG))
118 if flags.Input.Format
is Format.BS:
119 rpcAcc = RpcBytestreamDecodeCfg( flags, name =
"RpcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
121 if flags.Muon.enableNRPC:
122 acc.merge(NrpcBytestreamDecodeCfg( flags, name=
"NRpcRawDataProvider_"+RoIs ))
124 rpcAcc = RpcRDODecodeCfg( flags, name=
"RpcRdoToRpcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
127 if flags.Input.Format
is Format.BS:
128 tgcAcc = TgcBytestreamDecodeCfg( flags, name=
"TgcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
131 tgcAcc = TgcRDODecodeCfg( flags, name=
"TgcRdoToTgcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
134 if flags.Input.Format
is Format.BS:
135 mdtAcc = MdtBytestreamDecodeCfg( flags, name=
"MdtRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
138 mdtAcc = MdtRDODecodeCfg( flags, name=
"MdtRdoToMdtPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
141 if flags.Detector.GeometryCSC:
142 if flags.Input.Format
is Format.BS:
143 cscAcc = CscBytestreamDecodeCfg( flags, name=
"CscRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
146 cscAcc = CscRDODecodeCfg( flags, name=
"CscRdoToCscPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
149 cscAcc = CscClusterBuildCfg( flags, name=
"CscThresholdClusterBuilder_"+RoIs )
152 if flags.Detector.GeometrysTGC
and flags.Detector.GeometryMM:
153 if flags.Input.Format
is Format.BS:
154 stgcAcc = sTgcBytestreamDecodeCfg(flags, name=
"sTgcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
156 mmAcc = MmBytestreamDecodeCfg(flags, name=
"MMRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
159 stgcAcc = StgcRDODecodeCfg( flags, name=
"StgcRdoToStgcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
162 mmAcc = MMRDODecodeCfg( flags, name=
"MMRdoToMMPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
166 if flags.Muon.usePhaseIIGeoSetup
and flags.Muon.scheduleActsReco:
167 from MuonSpacePointFormation.SpacePointFormationConfig
import MuonSpacePointFormationCfg
168 acc.merge( MuonSpacePointFormationCfg( flags, suffix =f
'_{RoIs}' ) )
208def muFastRecoSequenceCfg( flags, RoIs, suffix="", doFullScanID = False, InsideOutMode=False, extraLoads=None, l2mtmode=False, calib=False, useNewFast=False ):
210 acc = ComponentAccumulator()
213 acc.merge(
muFastVDVCfg(flags, RoIs=RoIs, suffix=suffix, InsideOutMode=
False, extraLoads=
None))
215 from MuonFastRecoAlgs.MuonFastReconstructionConfig
import MuonGlobalPatternFindingAlgCfg, MuonFastSegmentFittingAlgCfg, MuonFastSABuilderAlgCfg
216 acc.merge(MuonGlobalPatternFindingAlgCfg(flags, name=f
"MuonGlobalPatternFindingAlg_{suffix}"))
217 acc.merge(MuonFastSegmentFittingAlgCfg(flags, name=f
"MuonFastSegmentFittingAlg_{suffix}"))
218 acc.merge(MuonFastSABuilderAlgCfg(flags, name=f
"MuonFastSABuilderAlg_{suffix}",
219 OutMuons=muNames.L2SAMuonsPhII))
229 acc.merge(
muFastVDVCfg(flags, RoIs=RoIs, suffix=suffix, InsideOutMode=InsideOutMode, extraLoads=extraLoads))
232 from TrigL2MuonSA.TrigL2MuonSAConfig
import l2MuFastAlgCfg
233 acc.merge(l2MuFastAlgCfg(flags,
236 FILL_FSIDRoI = doFullScanID,
237 MuonL2SAInfo = muNames.L2SAMuons+suffix,
238 L2IOCB = muNames.L2CBMuons+suffix,
239 forID = muNames.L2forIDName+suffix,
240 forMS =
"forMS"+suffix,
352 acc = ComponentAccumulator()
356 nameGroups = muNamesFS
if 'FS' in suffix
else muNames
358 msMuonName = nameGroups.EFSAMuons
359 if flags.Muon.usePhaseIIGeoSetup
and flags.Muon.scheduleActsReco:
361 if "newFast" in suffix:
362 msMuonName = nameGroups.EFSAMuonsPhIINewFast
363 msTrackName = nameGroups.EFSATrackParticlesPhIINewFast
364 elif useBucketFilter:
365 msMuonName = nameGroups.EFSAMuonsPhIIMlbkt
366 msTrackName = nameGroups.EFSATrackParticlesPhIIMlbkt
368 msTrackName = nameGroups.EFSATrackParticlesPhII
371 if flags.Muon.setupTruthAlgorithms:
372 from MuonObjectMarker.ObjectMarkerConfig
import TruthMeasMarkerAlgCfg
373 acc.merge(TruthMeasMarkerAlgCfg(flags, name = f
"TruthMeasMarkerAlg{suffix}"))
374 from MuonTruthAlgsR4.MuonTruthAlgsConfig
import TruthHitAssociationCfg, RecoSegmentTruthAssocCfg, MuonToTruthAssocAlgCfg
375 acc.merge(TruthHitAssociationCfg(flags, useSDO=
True, suffix=suffix))
376 acc.merge(RecoSegmentTruthAssocCfg(flags, name=f
"MuonSegmentsFromR4TruthMatching{suffix}",
377 SegmentKey=
"MuonSegmentsFromR4"))
378 acc.merge(MuonToTruthAssocAlgCfg(flags, name=f
'MuonToTruthMatchingAlg{suffix}'))
382 from MuonInference.InferenceConfig
import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
383 bucketTool = acc.popToolsAndMerge(GraphBucketFilterToolCfg(flags, name=f
"GraphBucketFilterTool{suffix}",
384 WriteSpacePointKey=
"FilteredMlBuckets"))
385 acc.merge(GraphInferenceAlgCfg(flags, name = f
"GraphInferenceAlg{suffix}",
386 InferenceTools=[bucketTool]))
389 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonEtaHoughTransformAlgCfg, MuonNSWSegmentFinderAlgCfg, MuonPhiHoughTransformAlgCfg, MuonSegmentFittingAlgCfg
390 segmentContainers = []
391 if flags.Detector.GeometrysTGC
or flags.Detector.GeometryMM:
392 segmentContainers+=[
"MuonNswSegments"]
393 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name=f
"MuonNswEtaHoughTransformAlg{suffix}",
394 EtaHoughMaxContainer =
"MuonHoughNswMaxima",
395 SpacePointContainer =
"NswSpacePoints"))
396 acc.merge(MuonNSWSegmentFinderAlgCfg(flags, name=f
"MuonNswSegmentFinderAlg{suffix}",
397 MuonNswSegmentWriteKey = segmentContainers[-1],
398 MuonNswSegmentSeedWriteKey =
"MuonNswSegmentSeeds",
399 CombinatorialReadKey =
"MuonHoughNswMaxima"))
401 if flags.Detector.GeometryMDT
or flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC:
403 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name = f
"MuonEtaHoughTransformAlg{suffix}",
404 SpacePointContainer =
"FilteredMlBuckets"))
406 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name = f
"MuonEtaHoughTransformAlg{suffix}"))
408 acc.merge(MuonPhiHoughTransformAlgCfg(flags, name = f
"MuonPhiHoughTransformAlg{suffix}"))
410 segmentContainers+=[
"R4MuonSegments"]
411 acc.merge(MuonSegmentFittingAlgCfg(flags, name = f
"MuonSegmentFittingAlg{suffix}",
412 OutSegmentContainer=segmentContainers[-1]))
414 from MuonSegmentCnv.MuonSegmentCnvConfig
import xAODSegmentCnvAlgCfg
415 acc.merge(xAODSegmentCnvAlgCfg(flags, name = f
"MuonR4xAODSegmentCnvAlg{suffix}",
416 InSegmentKeys = segmentContainers))
418 from MuonSegmentCnv.MuonSegmentCnvConfig
import MuonR4SegmentCnvAlgCfg
419 acc.merge(MuonR4SegmentCnvAlgCfg(flags, name=f
"MuonR4SegmentCnvAlg{suffix}",
420 ReadSegments = segmentContainers,
421 WriteKey=
"TrackMuonSegments"))
424 from MuonTrackFindingAlgs.TrackFindingConfig
import MSTrackFinderAlgCfg, StandaloneTrackPartCnvCfg
425 from MuonCombinedAlgsR4.MuonCombinedAlgsConfigR4
import MuidSaTagMakerAlgCfg, MuonCreatorAlgCfg
426 acc.merge(MSTrackFinderAlgCfg(flags, name=f
"MSTrackFinderAlg{suffix}"))
427 acc.merge(StandaloneTrackPartCnvCfg(flags, name=f
"MuonMsTrackParticleCnvR4{suffix}",
428 TrackParticlesOutKey = msTrackName))
429 acc.merge(MuidSaTagMakerAlgCfg(flags, name=f
"MuidSaTagMakerAlg{suffix}",
430 MsTracks = msTrackName))
431 acc.merge(MuonCreatorAlgCfg(flags, name = f
"MuonActsCreatorAlg{suffix}",
432 TagKeys = [
"MuonTagsSA"],
433 MuonKey = msMuonName))
435 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import MuonCombinedMuonCandidateAlgCfg
436 acc.merge(MuonCombinedMuonCandidateAlgCfg(flags, name=f
"MuonCombinedMuonCandidateAlg{suffix}",
437 MuonSpectrometerTrackParticleLocation = msTrackName))
440 from MuonConfig.MuonSegmentFindingConfig
import MuonSegmentFinderAlgCfg, MuonLayerHoughAlgCfg
441 acc.merge(MuonLayerHoughAlgCfg(flags, f
"TrigMuonLayerHoughAlg{suffix}"))
442 acc.merge(MuonSegmentFinderAlgCfg(flags, f
"TrigMuonSegmentMaker{suffix}"))
444 from MuonSegmentTrackMaker.MuonTrackMakerAlgsMonitoring
import MuPatTrackBuilderMonitoring
445 from MuonConfig.MuonTrackBuildingConfig
import MuPatTrackBuilderCfg
446 from xAODTrackingCnv.xAODTrackingCnvConfig
import MuonStandaloneTrackParticleCnvAlgCfg
447 acc.merge(MuPatTrackBuilderCfg(flags, name=f
"TrigMuPatTrackBuilder{suffix}",
448 MuonSegmentCollection =
"TrackMuonSegments",
449 MonTool = MuPatTrackBuilderMonitoring(flags, f
"MuPatTrackBuilderMonitoringSA{suffix}")))
451 acc.merge(MuonStandaloneTrackParticleCnvAlgCfg(flags, name = f
"TrigMuonStandaloneTrackParticleCnvAlg{suffix}"))
452 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import MuonCombinedMuonCandidateAlgCfg, MuonCreatorAlgCfg
453 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring
import MuonCreatorAlgMonitoring
454 acc.merge(MuonCombinedMuonCandidateAlgCfg(flags, name=f
"TrigMuonCandidateAlg{suffix}"))
455 acc.merge(MuonCreatorAlgCfg(flags, name=f
"TrigMuonCreatorAlg_{suffix}",
458 MuonContainerLocation=msMuonName,
459 ExtrapolatedLocation = f
"HLT_MSExtrapolatedMuons_{suffix}",
460 MSOnlyExtrapolatedLocation = f
"HLT_MSOnlyExtrapolatedMuons_{suffix}",
461 MonTool = MuonCreatorAlgMonitoring(flags, f
"MuonCreatorAlgSA_{suffix}")))
463 sequenceOut = msMuonName
465 return acc, sequenceOut
543 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring
import MuonCreatorAlgMonitoring
544 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import MuonCreatorAlgCfg, MuonCombinedAlgCfg, MuonCombinedInDetCandidateAlgCfg
545 acc = ComponentAccumulator()
551 from TrigInDetConfig.TrigInDetConfig
import trigInDetFastTrackingCfg
552 acc.merge(trigInDetFastTrackingCfg( flags, roisKey=RoIs, signatureName=
"muonFS" ))
559 from TrigInDetConfig.TrigInDetConfig
import trigInDetPrecisionTrackingCfg
563 if isCosmic(flags)
and 'LRT' not in name:
564 trackParticles=
getIDTracks(flags, name, muonIDreuse=flags.Muon.enableTrigIDtrackReuse)
566 muLrtFlags = getFlagsForActiveConfig(flags,
"muonLRT", log)
567 acc.merge(trigInDetPrecisionTrackingCfg(muLrtFlags, rois= RoIs, signatureName=
"muonLRT"))
568 trackParticles =
getIDTracks(muLrtFlags, name, precision=
True)
570 muFsFlags = getFlagsForActiveConfig(flags,
"muonFS", log)
571 acc.merge(trigInDetPrecisionTrackingCfg(muFsFlags, rois= RoIs, signatureName=
"muonFS", in_view=
False))
572 trackParticles =
getIDTracks(muFsFlags, precision=
True)
574 muFlags = getFlagsForActiveConfig(flags,
"muon", log)
575 if not flags.Muon.enableTrigIDtrackReuse
and suffix ==
'':
576 acc.merge(trigInDetPrecisionTrackingCfg(muFlags, rois= RoIs, signatureName=
"muon"))
577 trackParticles=
getIDTracks(muFlags, name, muonIDreuse=flags.Muon.enableTrigIDtrackReuse, precision=
True, suffix=suffix)
579 if flags.Muon.enableTrigIDtrackReuse
or suffix !=
'':
580 if 'LRT' not in name
or 'FS' not in name:
581 if flags.GeoModel.Run > LHCPeriod.Run3:
583 if suffix !=
'idReuse':
584 MuonL2CBInputContainer = muNames.L2CBMuons+suffix
586 MuonL2CBInputContainer = muNames.L2CBMuons
587 from TrigMuonEF.TrigMuonEFConfig
import GetL2CBmuonInDetTracksAlgCfg
588 acc.merge(GetL2CBmuonInDetTracksAlgCfg(flags, name=
"GetL2CBInDetTracks"+suffix,
589 MuonL2CBContainerLocation=MuonL2CBInputContainer,
590 IDtrackOutputLocation=
"HLT_IDTrack_MuonComb_FTF"+suffix))
593 acc.merge(MuonCombinedInDetCandidateAlgCfg(flags, name=
"TrigMuonCombinedInDetCandidateAlg_"+name+suffix,TrackParticleLocation = [trackParticles], InDetCandidateLocation=
"InDetCandidates_"+name+suffix))
597 candidatesName =
"MuonCandidates"
599 candidatesName =
"MuonCandidates_FS"
601 acc.merge(MuonCombinedAlgCfg(flags,name=
"TrigMuonCombinedAlg_"+name+suffix, MuonCandidateLocation=candidatesName, InDetCandidateLocation=
"InDetCandidates_"+name+suffix))
604 cbMuonName = muNamesFS.EFCBOutInMuons
606 cbMuonName = muNamesLRT.EFCBMuons
608 cbMuonName = muNames.EFCBOutInMuons
611 acc.merge(MuonCreatorAlgCfg(flags, name=
"TrigMuonCreatorAlgCB_"+name+suffix, MuonCandidateLocation=[candidatesName], TagMaps=[
"muidcoTagMap"], InDetCandidateLocation=
"InDetCandidates_"+name+suffix,
612 MuonContainerLocation = cbMuonName+suffix, ExtrapolatedLocation =
"CBExtrapolatedMuons"+suffix,
613 MSOnlyExtrapolatedLocation =
"CBMSonlyExtrapolatedMuons"+suffix, CombinedLocation =
"HLT_CBCombinedMuon_"+name+suffix,
614 MonTool = MuonCreatorAlgMonitoring(flags,
"MuonCreatorAlgCB_"+name+suffix)))
642 from MuonConfig.MuonSegmentFindingConfig
import MuonSegmentFinderAlgCfg, MuonLayerHoughAlgCfg
643 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring
import MuonCreatorAlgMonitoring
644 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import MuonCreatorAlgCfg, MuGirlStauAlgCfg, StauCreatorAlgCfg, MuonInDetToMuonSystemExtensionAlgCfg, MuonInsideOutRecoAlgCfg, MuonCombinedInDetCandidateAlgCfg
645 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonInsideOutRecoToolCfg
647 acc = ComponentAccumulator()
649 candidatesName =
"MuonCandidates"
651 candidatesName =
"MuonCandidates_FS"
656 acc.merge(MuonLayerHoughAlgCfg(flags,
"TrigMuonLayerHoughAlg_"+name,MuonPatternCombinationCollection=
"MuonLayerHoughCombis_"+name,
657 Key_MuonLayerHoughToolHoughDataPerSectorVec=
"HoughDataPerSectorVec_"+name))
659 acc.merge(MuonSegmentFinderAlgCfg(flags,
"TrigMuonSegmentMaker_"+name,MuonLayerHoughCombisKey=
"MuonLayerHoughCombis_"+name))
663 from TrigInDetConfig.TrigInDetConfig
import trigInDetPrecisionTrackingCfg
664 muLateFlags = getFlagsForActiveConfig(flags,
"muonLate", log)
665 acc.merge(trigInDetPrecisionTrackingCfg(muLateFlags, rois= RoIs, signatureName=
"muonLate", in_view=
False))
666 trackParticles = muLateFlags.Tracking.ActiveConfig.tracks_IDTrig
669 acc.merge(MuonCombinedInDetCandidateAlgCfg(flags, name=
"TrigMuonCombinedInDetCandidateAlg_"+name,TrackParticleLocation=[trackParticles],ForwardParticleLocation=trackParticles,InDetCandidateLocation=
"InDetCandidates_"+name,ExtendBulk=
True))
678 cbMuonName = muNames.EFCBInOutMuons+suffix
680 cbMuonName = recordable(cbMuonName+
"_Late")
681 acc.merge(MuGirlStauAlgCfg(flags, name=
"TrigMuonLateInsideOutRecoAlg_"+name,InDetCandidateLocation=
"InDetCandidates_"+name))
682 acc.merge(StauCreatorAlgCfg(flags, name=
"TrigLateMuonCreatorAlg_"+name, TagMaps=[
"stauTagMap"], SegmentContainerName=
"", InDetCandidateLocation=
"InDetCandidates_"+name,
683 MuonContainerLocation=cbMuonName, MonTool=MuonCreatorAlgMonitoring(flags,
"LateMuonCreatorAlg_"+name)))
685 acc.merge(MuonInDetToMuonSystemExtensionAlgCfg(flags, name=
"TrigInDetMuonExtensionAlg_"+name+suffix, InputInDetCandidates=
"InDetCandidates_"+name+suffix,
686 WriteInDetCandidates=
"InDetCandidatesSystemExtended_"+name+suffix))
688 ioTool = MuonInsideOutRecoToolCfg(flags, MuonLayerSegmentFinderTool=
"", InputSegments=
"TrackMuonSegments")
690 ioTool = MuonInsideOutRecoToolCfg(flags)
691 InsideOutRecoTool = acc.popToolsAndMerge(ioTool)
693 acc.merge(MuonInsideOutRecoAlgCfg(flags, name=
"TrigMuonInsideOutRecoAlg_"+name+suffix,InDetCandidateLocation=
"InDetCandidatesSystemExtended_"+name+suffix, MuonCombinedInDetExtensionTool=InsideOutRecoTool))
695 acc.merge(MuonCreatorAlgCfg(flags, name=
"TrigMuonCreatorAlgInsideOut_"+name+suffix, MuonCandidateLocation=[candidatesName], TagMaps=[
"muGirlTagMap"],InDetCandidateLocation=
"InDetCandidates_"+name+suffix,
696 MuonContainerLocation = cbMuonName, ExtrapolatedLocation =
"InsideOutCBExtrapolatedMuons"+suffix,
697 MSOnlyExtrapolatedLocation =
"InsideOutCBMSOnlyExtrapolatedMuons"+suffix, CombinedLocation =
"InsideOutCBCombinedMuon"+suffix, MonTool = MuonCreatorAlgMonitoring(flags,
"MuonCreatorAlgInsideOut_"+name+suffix)))
722 from TrigInDetConfig.TrigInDetConfig
import trigInDetPrecisionTrackingCfg
723 muIsoFlags = getFlagsForActiveConfig(flags,
"muonIso"+name, log)
724 acc.merge(trigInDetPrecisionTrackingCfg(muIsoFlags, rois= RoIs, signatureName=
"muonIso"+name, in_view=
False))
725 trackParticles = muIsoFlags.Tracking.ActiveConfig.tracks_IDTrig
728 from TrigMuonEF.TrigMuonEFConfig
import TrigMuonEFTrackIsolationAlgCfg
729 acc.merge(TrigMuonEFTrackIsolationAlgCfg(flags,name=
"TrigEFMuIso"+name, requireCombinedMuon =
not doMSiso,
730 MuonEFContainer = Muons,IdTrackParticles = trackParticles, MuonContName = muNames.EFIsoMuons+name,
731 ptcone02Name = muNames.EFIsoMuons+name +
".ptcone02",
732 ptcone03Name = muNames.EFIsoMuons+name +
".ptcone03"))
783 acc = ComponentAccumulator()
786 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig
import MuonEtaHoughTransformAlgCfg, MuonNSWSegmentFinderAlgCfg, MuonPhiHoughTransformAlgCfg, MuonSegmentFittingAlgCfg
787 segmentContainers = []
788 if flags.Detector.GeometrysTGC
or flags.Detector.GeometryMM:
789 segmentContainers+=[
"MuonNswSegments"]
790 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name=
"MuonNswEtaHoughTransformAlgMlVtx",
791 EtaHoughMaxContainer =
"MuonHoughNswMaxima",
792 SpacePointContainer =
"NswSpacePoints"))
793 acc.merge(MuonNSWSegmentFinderAlgCfg(flags, name=
"MuonNswSegmentFinderAlgMlVtx",
794 MuonNswSegmentWriteKey = segmentContainers[-1],
795 MuonNswSegmentSeedWriteKey =
"MuonNswSegmentSeeds",
796 CombinatorialReadKey =
"MuonHoughNswMaxima"))
798 if flags.Detector.GeometryMDT
or flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC:
799 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name =
"MuonEtaHoughTransformAlgMlVtx"))
800 acc.merge(MuonPhiHoughTransformAlgCfg(flags, name =
"MuonPhiHoughTransformAlgMlVtx"))
802 segmentContainers+=[
"R4MuonSegments"]
803 acc.merge(MuonSegmentFittingAlgCfg(flags, name =
"MuonSegmentFittingAlgMlVtx",
804 OutSegmentContainer=segmentContainers[-1]))
806 from MuonSegmentCnv.MuonSegmentCnvConfig
import xAODSegmentCnvAlgCfg
807 acc.merge(xAODSegmentCnvAlgCfg(flags, name =
"MuonR4xAODSegmentCnvAlgMlVtx",
808 InSegmentKeys = segmentContainers))
810 from MuonInference.InferenceConfig
import DisplacedVertexInferenceToolCfg
811 from TriggerMenuMT.HLT.CommonSequences.FullScanDefs
import fs_towers
812 dv_tool = acc.popToolsAndMerge(DisplacedVertexInferenceToolCfg(flags,
813 TowerContainerKey=fs_towers,
814 SpacePointKeys=[
"MuonSpacePoints",
"NswSpacePoints"]))
815 alg = CompFactory.MuonML.DVInferenceAlg(name=
"InferenceAlgMlVtx",
817 InferenceTool = dv_tool)
818 acc.addEventAlgo(alg, primary=
True)