ATLAS Offline Software
Loading...
Searching...
No Matches
python.HLT.Muon.MuonRecoSequences Namespace Reference

Functions

 isCosmic (flags)
 isLRT (name)
 getIDTracks (flags, name='', muonIDreuse=False, precision=False, suffix='')
 MuDataPrepViewDataVerifierCfg (flags)
 muonDecodeCfg (flags, RoIs)
 muFastVDVCfg (flags, RoIs, suffix, InsideOutMode, extraLoads)
 muFastRecoSequenceCfg (flags, RoIs, suffix="", doFullScanID=False, InsideOutMode=False, extraLoads=None, l2mtmode=False, calib=False, useNewFast=False)
 muonIDtrackVDVCfg (flags, name, RoIs, extraLoads=None, extraLoadsForl2mtmode=None)
 muonIDFastTrackingSequenceCfg (flags, RoIs, name, extraLoads=None, extraLoadsForl2mtmode=None, doLRT=False, trackingMode="FTF")
 muonIDCosmicTrackingSequenceCfg (flags, RoIs, name, extraLoads=None, extraLoadsForl2mtmode=None)
 muCombVDVCfg (flags, postFix)
 muCombRecoSequenceCfg (flags, RoIs, name, l2mtmode=False, l2CBname="")
 EFMuSADataPrepViewDataVerifierCfg (flags, RoIs, suffix="")
 muEFSARecoSequenceCfg (flags, RoIs, suffix="", useBucketFilter=False)
 VDVEFMuCBCfg (flags, RoIs, name, suffix)
 VDVPrecMuTrkCfg (flags, name, suffix)
 VDVidReuseITkCfg (flags, suffix)
 muEFCBRecoSequenceCfg (flags, RoIs, name, suffix)
 VDVMuInsideOutCfg (flags, name, candidatesName, suffix)
 muEFInsideOutRecoSequenceCfg (flags, RoIs, name, suffix)
 VDVMuIsoCfg (flags, name, RoIs)
 efmuisoRecoSequenceCfg (flags, RoIs, Muons, doMSiso=False)
 VDVLateMuCfg (flags)
 efLateMuRoISequenceCfg (flags)

Variables

 log = logging.getLogger(__name__)
 muNames = muonNames().getNames('RoI')
 muNamesFS = muonNames().getNames('FS')
 muNamesLRT = muonNames().getNames('LRT')

Function Documentation

◆ efLateMuRoISequenceCfg()

efLateMuRoISequenceCfg ( flags)

Definition at line 737 of file MuonRecoSequences.py.

737def efLateMuRoISequenceCfg(flags):
738
739 acc = VDVLateMuCfg(flags)
740
741 from TrigmuRoI.TrigmuRoIConfig import TrigmuRoIConfig
742 sequenceOut = "LateMuRoIs"
743 acc.merge(TrigmuRoIConfig(flags, "TrigmuRoI", outputRoIs=sequenceOut))
744
745 return acc, sequenceOut

◆ efmuisoRecoSequenceCfg()

efmuisoRecoSequenceCfg ( flags,
RoIs,
Muons,
doMSiso = False )

Definition at line 701 of file MuonRecoSequences.py.

701def efmuisoRecoSequenceCfg( flags, RoIs, Muons, doMSiso=False ):
702
703 name = ""
704 if doMSiso:
705 name = "MS"
706 acc = VDVMuIsoCfg(flags, name, RoIs)
707
708 acc.merge(muonIDFastTrackingSequenceCfg(flags, RoIs, "muonIso"+name ))
709
710 from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
711 muIsoFlags = getFlagsForActiveConfig(flags, "muonIso"+name, log)
712 acc.merge(trigInDetPrecisionTrackingCfg(muIsoFlags, rois= RoIs, signatureName="muonIso"+name, in_view=False))
713 trackParticles = muIsoFlags.Tracking.ActiveConfig.tracks_IDTrig
714
715 # Isolation alg
716 from TrigMuonEF.TrigMuonEFConfig import TrigMuonEFTrackIsolationAlgCfg
717 acc.merge(TrigMuonEFTrackIsolationAlgCfg(flags,name="TrigEFMuIso"+name, requireCombinedMuon = not doMSiso,
718 MuonEFContainer = Muons,IdTrackParticles = trackParticles, MuonContName = muNames.EFIsoMuonName+name,
719 ptcone02Name = muNames.EFIsoMuonName+name + ".ptcone02",
720 ptcone03Name = muNames.EFIsoMuonName+name + ".ptcone03"))
721
722 return acc
723

◆ EFMuSADataPrepViewDataVerifierCfg()

EFMuSADataPrepViewDataVerifierCfg ( flags,
RoIs,
suffix = "" )

Definition at line 299 of file MuonRecoSequences.py.

299def EFMuSADataPrepViewDataVerifierCfg(flags, RoIs, suffix=""):
300 result=ComponentAccumulator()
301 dataObjects=[( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
302 ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+%s' % RoIs )]
303
304 if flags.Muon.usePhaseIIGeoSetup:
305 dataObjects += [( 'ActsGeometryContext' , 'StoreGateSvc+ActsAlignment' )]
306
307 if flags.Muon.setupTruthAlgorithms:
308 dataObjects += [( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+MDT_SDO' ),
309 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+MM_SDO' ),
310 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+RPC_SDO' ),
311 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+TGC_SDO' ),
312 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+sTGC_SDO' ),
313 ( 'McEventCollection' , 'StoreGateSvc+TruthEvent' ),
314 # Truth muons containers and decorations
315 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles' ),
316 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles.truthClassification' ),
317 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles.truthOrigin' ),
318 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles.truthParticleLink' ),
319 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles.truthType' ),
320 # Truth segments and SDO-to-segment links
321 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments' ),
322 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments.charge' ),
323 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments.localSegPars' ),
324 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments.pt' ),
325 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments.simHitLinks' ),
326 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+MDT_SDO.truthSegmentLink' ),
327 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+MM_SDO.truthSegmentLink' ),
328 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+RPC_SDO.truthSegmentLink' ),
329 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+TGC_SDO.truthSegmentLink' ),
330 ( 'xAOD::MuonSimHitContainer' , 'StoreGateSvc+sTGC_SDO.truthSegmentLink' ),
331 # Truth segment to truth particle links
332 ( 'xAOD::MuonSegmentContainer' , 'StoreGateSvc+MuonTruthSegments.truthParticleLink' ),
333 ( 'xAOD::TruthParticleContainer' , 'StoreGateSvc+MuonTruthParticles.truthSegmentLinks' )]
334
335 alg = CompFactory.AthViews.ViewDataVerifier( name = f"VDVMuEFSA_{suffix}",
336 DataObjects = dataObjects)
337 result.addEventAlgo(alg)
338 return result
339
340

◆ getIDTracks()

getIDTracks ( flags,
name = '',
muonIDreuse = False,
precision = False,
suffix = '' )

Definition at line 32 of file MuonRecoSequences.py.

32def getIDTracks(flags, name='', muonIDreuse=False, precision=False, suffix=''):
33
34 if muonIDreuse or suffix != '':
35 if isLRT(name):
36 return 'HLT_IDTrack_MuonComb_FTF_LRT'
37 elif isCosmic(flags):
38 return 'HLT_IDTrack_MuonComb_FTF'
39 else:
40 return 'HLT_IDTrack_MuonComb_FTF'+suffix
41
42 else:
43 if precision:
44 return flags.Tracking.ActiveConfig.tracks_IDTrig
45 else:
46 if isLRT(name):
47 return flags.Trigger.InDetTracking.muonLRT.tracks_FTF
48 elif isCosmic(flags):
49 return flags.Trigger.InDetTracking.cosmics.tracks_IDTrig
50 else:
51 return flags.Trigger.InDetTracking.muon.tracks_FTF
52
53

◆ isCosmic()

isCosmic ( flags)

Definition at line 24 of file MuonRecoSequences.py.

24def isCosmic(flags):
25 #FIXME: this might not be ideal criteria to determine if this is cosmic chain but used to work in Run2 and will do for now, ATR-22758
26 return (flags.Beam.Type == BeamType.Cosmics)
27

◆ isLRT()

isLRT ( name)

Definition at line 28 of file MuonRecoSequences.py.

28def isLRT(name):
29 return "LRT" in name
30
31#Returns relevant track collection name

◆ muCombRecoSequenceCfg()

muCombRecoSequenceCfg ( flags,
RoIs,
name,
l2mtmode = False,
l2CBname = "" )

Definition at line 283 of file MuonRecoSequences.py.

283def muCombRecoSequenceCfg( flags, RoIs, name, l2mtmode=False, l2CBname="" ):
284
285 acc = ComponentAccumulator()
286 postFix = ""
287 if l2mtmode:
288 postFix = "l2mtmode"
289
290 acc.merge(muCombVDVCfg(flags, postFix))
291 from TrigmuComb.TrigmuCombConfig import muCombCfg
292 l2trackname = getIDTracks(flags) if l2mtmode else getIDTracks(flags, name)
293 acc.merge(muCombCfg(flags, f'{postFix}_{name}', useBackExtrp=True,
294 L2StandAloneMuonContainerName = muNames.L2SAName+postFix,
295 L2CombinedMuonContainerName = l2CBname, TrackParticleContainerName = l2trackname ))
296
297 return acc
298

◆ muCombVDVCfg()

muCombVDVCfg ( flags,
postFix )

Definition at line 275 of file MuonRecoSequences.py.

275def muCombVDVCfg( flags, postFix):
276 result=ComponentAccumulator()
277 dataObjects=[('xAOD::L2StandAloneMuonContainer','StoreGateSvc+%s' % muNames.L2SAName+postFix)]
278 ViewVerify = CompFactory.AthViews.ViewDataVerifier("muCombAlgVDV"+postFix, DataObjects = dataObjects)
279 result.addEventAlgo(ViewVerify)
280 return result
281
282

◆ MuDataPrepViewDataVerifierCfg()

MuDataPrepViewDataVerifierCfg ( flags)

Definition at line 54 of file MuonRecoSequences.py.

54def MuDataPrepViewDataVerifierCfg(flags):
55 result = ComponentAccumulator()
56
57 # Cache
58 dataObjects=[( 'RpcPrepDataCollection_Cache' , 'StoreGateSvc+RpcPrdCache' ),
59 ( 'TgcRdo_Cache' , 'StoreGateSvc+TgcRdoCache' ),
60 ( 'MdtCsm_Cache' , 'StoreGateSvc+MdtCsmRdoCache' ),
61 ( 'RpcPad_Cache' , 'StoreGateSvc+RpcRdoCache' ),
62 ( 'RpcCoinDataCollection_Cache' , 'StoreGateSvc+RpcCoinCache' ),
63 ( 'TgcPrepDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.TgcCache + 'AllBCs' ),
64 ( 'TgcCoinDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.TgcCoinCache + 'PriorBC' ),
65 ( 'TgcCoinDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.TgcCoinCache + 'NextBC' ),
66 ( 'TgcCoinDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.TgcCoinCache + 'NextNextBC' ),
67 ( 'TgcCoinDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.TgcCoinCache )
68 ]
69
70 if flags.Detector.GeometrysTGC:
71 dataObjects += [( 'sTgcPrepDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.sTgcCache)]
72 if flags.Input.isMC:
73 dataObjects += [( 'Muon::STGC_RawDataContainer' , 'StoreGateSvc+sTGCRDO' )]
74
75 if flags.Detector.GeometryMM:
76 dataObjects += [( 'MMPrepDataCollection_Cache' , 'StoreGateSvc+' + MuonPrdCacheNames.MmCache)]
77 if flags.Input.isMC:
78 dataObjects += [( 'Muon::MM_RawDataContainer' , 'StoreGateSvc+MMRDO' )]
79
80 if flags.Detector.GeometryCSC:
81 dataObjects+=[( 'CscRawDataCollection_Cache' , 'StoreGateSvc+CscRdoCache' )]
82 if flags.Input.isMC:
83 dataObjects += [( 'CscRawDataContainer' , 'StoreGateSvc+CSCRDO' ),
84 ( 'CscRawDataCollection_Cache' , 'StoreGateSvc+CscRdoCache' )]
85
86 if flags.Input.isMC:
87 dataObjects += [( 'MdtCsmContainer' , 'StoreGateSvc+MDTCSM' ),
88 *( [( 'RpcPadContainer' , 'StoreGateSvc+RPCPAD' )] if "RPCPAD" in flags.Input.Collections else [] ),
89 *( [( 'xAOD::NRPCRDOContainer' , 'StoreGateSvc+NRPCRDO' )] if flags.Muon.enableNRPC else [] ),
90 ('TgcRdoContainer' , 'StoreGateSvc+TGCRDO' )]
91
92 if flags.Muon.usePhaseIIGeoSetup:
93 dataObjects += [('ActsTrk::GeometryContext' , 'StoreGateSvc+ActsAlignment' )]
94
95 alg = CompFactory.AthViews.ViewDataVerifier( name = "VDVMuDataPrep",
96 DataObjects = dataObjects)
97 result.addEventAlgo(alg)
98 return result
99
100

◆ muEFCBRecoSequenceCfg()

muEFCBRecoSequenceCfg ( flags,
RoIs,
name,
suffix )

Definition at line 529 of file MuonRecoSequences.py.

529def muEFCBRecoSequenceCfg( flags, RoIs, name, suffix ):
530
531
532 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring import MuonCreatorAlgMonitoring
533 from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCreatorAlgCfg, MuonCombinedAlgCfg, MuonCombinedInDetCandidateAlgCfg
534 acc = ComponentAccumulator()
535
536 acc.merge(VDVEFMuCBCfg(flags, RoIs, name, suffix))
537
538 if "FS" in name:
539 #Need to run tracking for full scan chains
540 from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
541 acc.merge(trigInDetFastTrackingCfg( flags, roisKey=RoIs, signatureName="muonFS" ))
542
543 else:
544 acc.merge(VDVPrecMuTrkCfg(flags, name, suffix))
545
546
547 #Precision Tracking
548 from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
549 #When run in a different view than FTF some data dependencies needs to be loaded through verifier
550 #Pass verifier as an argument and it will automatically append necessary DataObjects
551 #@NOTE: Don't provide any verifier if loaded in the same view as FTF
552 if isCosmic(flags) and 'LRT' not in name:
553 trackParticles=getIDTracks(flags, name, muonIDreuse=flags.Muon.enableTrigIDtrackReuse)
554 elif 'LRT' in name:
555 muLrtFlags = getFlagsForActiveConfig(flags, "muonLRT", log)
556 acc.merge(trigInDetPrecisionTrackingCfg(muLrtFlags, rois= RoIs, signatureName="muonLRT"))
557 trackParticles = getIDTracks(muLrtFlags, name, precision=True)
558 elif 'FS' in name:
559 muFsFlags = getFlagsForActiveConfig(flags, "muonFS", log)
560 acc.merge(trigInDetPrecisionTrackingCfg(muFsFlags, rois= RoIs, signatureName="muonFS", in_view=False))
561 trackParticles = getIDTracks(muFsFlags, precision=True)
562 else:
563 muFlags = getFlagsForActiveConfig(flags, "muon", log)
564 if not flags.Muon.enableTrigIDtrackReuse and suffix == '':
565 acc.merge(trigInDetPrecisionTrackingCfg(muFlags, rois= RoIs, signatureName="muon"))
566 trackParticles=getIDTracks(muFlags, name, muonIDreuse=flags.Muon.enableTrigIDtrackReuse, precision=True, suffix=suffix)
567
568 if flags.Muon.enableTrigIDtrackReuse or suffix != '':
569 if 'LRT' not in name or 'FS' not in name:
570 if flags.GeoModel.Run > LHCPeriod.Run3:
571 acc.merge(VDVidReuseITkCfg(flags, suffix))
572 if suffix != 'idReuse':
573 MuonL2CBInputContainer = muNames.L2CBName+suffix
574 else:
575 MuonL2CBInputContainer = muNames.L2CBName
576 from TrigMuonEF.TrigMuonEFConfig import GetL2CBmuonInDetTracksAlgCfg
577 acc.merge(GetL2CBmuonInDetTracksAlgCfg(flags, name="GetL2CBInDetTracks"+suffix,
578 MuonL2CBContainerLocation=MuonL2CBInputContainer,
579 IDtrackOutputLocation="HLT_IDTrack_MuonComb_FTF"+suffix))
580
581 #Make InDetCandidates
582 acc.merge(MuonCombinedInDetCandidateAlgCfg(flags, name="TrigMuonCombinedInDetCandidateAlg_"+name+suffix,TrackParticleLocation = [trackParticles], InDetCandidateLocation="InDetCandidates_"+name+suffix))
583
584
585 #MS ID combination
586 candidatesName = "MuonCandidates"
587 if 'FS' in name:
588 candidatesName = "MuonCandidates_FS"
589
590 acc.merge(MuonCombinedAlgCfg(flags,name="TrigMuonCombinedAlg_"+name+suffix, MuonCandidateLocation=candidatesName, InDetCandidateLocation="InDetCandidates_"+name+suffix))
591
592 cbMuonName = muNames.EFCBOutInName
593 if 'FS' in name:
594 cbMuonName = muNamesFS.EFCBOutInName
595 elif 'LRT' in name:
596 cbMuonName = muNamesLRT.EFCBName
597
598
599 acc.merge(MuonCreatorAlgCfg(flags, name="TrigMuonCreatorAlgCB_"+name+suffix, MuonCandidateLocation=[candidatesName], TagMaps=["muidcoTagMap"], InDetCandidateLocation="InDetCandidates_"+name+suffix,
600 MuonContainerLocation = cbMuonName+suffix, ExtrapolatedLocation = "CBExtrapolatedMuons"+suffix,
601 MSOnlyExtrapolatedLocation = "CBMSonlyExtrapolatedMuons"+suffix, CombinedLocation = "HLT_CBCombinedMuon_"+name+suffix,
602 MonTool = MuonCreatorAlgMonitoring(flags, "MuonCreatorAlgCB_"+name+suffix)))
603
604
605
606 return acc
607
608

◆ muEFInsideOutRecoSequenceCfg()

muEFInsideOutRecoSequenceCfg ( flags,
RoIs,
name,
suffix )

Definition at line 628 of file MuonRecoSequences.py.

628def muEFInsideOutRecoSequenceCfg(flags, RoIs, name, suffix ):
629
630 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFinderAlgCfg, MuonLayerHoughAlgCfg
631 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring import MuonCreatorAlgMonitoring
632 from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCreatorAlgCfg, MuGirlStauAlgCfg, StauCreatorAlgCfg, MuonInDetToMuonSystemExtensionAlgCfg, MuonInsideOutRecoAlgCfg, MuonCombinedInDetCandidateAlgCfg
633 from MuonCombinedConfig.MuonCombinedRecToolsConfig import MuonInsideOutRecoToolCfg
634
635 acc = ComponentAccumulator()
636
637 candidatesName = "MuonCandidates"
638 if 'FS' in name:
639 candidatesName = "MuonCandidates_FS"
640
641 if "Late" in name:
642
643 #Need to run hough transform at start of late muon chain
644 acc.merge(MuonLayerHoughAlgCfg(flags, "TrigMuonLayerHoughAlg_"+name,MuonPatternCombinationCollection="MuonLayerHoughCombis_"+name,
645 Key_MuonLayerHoughToolHoughDataPerSectorVec="HoughDataPerSectorVec_"+name))
646
647 acc.merge(MuonSegmentFinderAlgCfg(flags, "TrigMuonSegmentMaker_"+name,MuonLayerHoughCombisKey="MuonLayerHoughCombis_"+name))
648
649
650 # need to run precisions tracking for late muons, since we don't run it anywhere else
651 from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
652 muLateFlags = getFlagsForActiveConfig(flags, "muonLate", log)
653 acc.merge(trigInDetPrecisionTrackingCfg(muLateFlags, rois= RoIs, signatureName="muonLate", in_view=False))
654 trackParticles = muLateFlags.Tracking.ActiveConfig.tracks_IDTrig
655
656 #Make InDetCandidates
657 acc.merge(MuonCombinedInDetCandidateAlgCfg(flags, name="TrigMuonCombinedInDetCandidateAlg_"+name,TrackParticleLocation=[trackParticles],ForwardParticleLocation=trackParticles,InDetCandidateLocation="InDetCandidates_"+name,ExtendBulk=True))
658
659 else:
660 # for non-latemu chains, the decoding/hough transform is run in an earlier step
661 #Need PRD containers for inside-out reco
662 acc.merge(VDVMuInsideOutCfg(flags, name, candidatesName, suffix))
663
664 #Inside-out reconstruction
665
666 cbMuonName = muNames.EFCBInOutName+suffix
667 if 'Late' in name:
668 cbMuonName = recordable(cbMuonName+"_Late")
669 acc.merge(MuGirlStauAlgCfg(flags, name="TrigMuonLateInsideOutRecoAlg_"+name,InDetCandidateLocation="InDetCandidates_"+name))
670 acc.merge(StauCreatorAlgCfg(flags, name="TrigLateMuonCreatorAlg_"+name, TagMaps=["stauTagMap"], SegmentContainerName="", InDetCandidateLocation="InDetCandidates_"+name,
671 MuonContainerLocation=cbMuonName, MonTool=MuonCreatorAlgMonitoring(flags, "LateMuonCreatorAlg_"+name)))
672 else:
673 acc.merge(MuonInDetToMuonSystemExtensionAlgCfg(flags, name="TrigInDetMuonExtensionAlg_"+name+suffix, InputInDetCandidates="InDetCandidates_"+name+suffix,
674 WriteInDetCandidates="InDetCandidatesSystemExtended_"+name+suffix))
675 if 'RoI' in name:
676 ioTool = MuonInsideOutRecoToolCfg(flags, MuonLayerSegmentFinderTool="", InputSegments="TrackMuonSegments")
677 else:
678 ioTool = MuonInsideOutRecoToolCfg(flags)
679 InsideOutRecoTool = acc.popToolsAndMerge(ioTool)
680
681 acc.merge(MuonInsideOutRecoAlgCfg(flags, name="TrigMuonInsideOutRecoAlg_"+name+suffix,InDetCandidateLocation="InDetCandidatesSystemExtended_"+name+suffix, MuonCombinedInDetExtensionTool=InsideOutRecoTool))
682
683 acc.merge(MuonCreatorAlgCfg(flags, name="TrigMuonCreatorAlgInsideOut_"+name+suffix, MuonCandidateLocation=[candidatesName], TagMaps=["muGirlTagMap"],InDetCandidateLocation="InDetCandidates_"+name+suffix,
684 MuonContainerLocation = cbMuonName, ExtrapolatedLocation = "InsideOutCBExtrapolatedMuons"+suffix,
685 MSOnlyExtrapolatedLocation = "InsideOutCBMSOnlyExtrapolatedMuons"+suffix, CombinedLocation = "InsideOutCBCombinedMuon"+suffix, MonTool = MuonCreatorAlgMonitoring(flags, "MuonCreatorAlgInsideOut_"+name+suffix)))
686
687 return acc
688
689

◆ muEFSARecoSequenceCfg()

muEFSARecoSequenceCfg ( flags,
RoIs,
suffix = "",
useBucketFilter = False )

Definition at line 341 of file MuonRecoSequences.py.

341def muEFSARecoSequenceCfg(flags, RoIs, suffix="", useBucketFilter=False):
342
343 acc = ComponentAccumulator()
344
345 acc.merge(EFMuSADataPrepViewDataVerifierCfg(flags, RoIs=RoIs, suffix=suffix))
346
347 nameGroups = muNamesFS if 'FS' in suffix else muNames
348
349 if flags.Muon.usePhaseIIGeoSetup and flags.Muon.scheduleActsReco:
350
351 msMuonName = nameGroups.EFSAPhIIName
352 if "newFast" in suffix:
353 msMuonName = nameGroups.EFSAPhIINewFastName
354 elif useBucketFilter:
355 msMuonName = nameGroups.EFSAPhIIMlbktName
356
357 # Schedule reco-to-truth object association
358 if flags.Muon.setupTruthAlgorithms:
359 from MuonObjectMarker.ObjectMarkerConfig import TruthMeasMarkerAlgCfg
360 acc.merge(TruthMeasMarkerAlgCfg(flags, name = f"TruthMeasMarkerAlg{suffix}"))
361 from MuonTruthAlgsR4.MuonTruthAlgsConfig import TruthHitAssociationCfg, RecoSegmentTruthAssocCfg, MuonToTruthAssocAlgCfg
362 acc.merge(TruthHitAssociationCfg(flags, useSDO=True, suffix=suffix))
363 acc.merge(RecoSegmentTruthAssocCfg(flags, name=f"MuonSegmentsFromR4TruthMatching{suffix}",
364 SegmentKey="MuonSegmentsFromR4"))
365 acc.merge(MuonToTruthAssocAlgCfg(flags, name=f'MuonToTruthMatchingAlg{suffix}'))
366
367 # ML bucket filter
368 if useBucketFilter:
369 from MuonInference.InferenceConfig import GraphBucketFilterToolCfg, GraphInferenceAlgCfg
370 bucketTool = acc.popToolsAndMerge(GraphBucketFilterToolCfg(flags, name=f"GraphBucketFilterTool{suffix}",
371 WriteSpacePointKey="FilteredMlBuckets"))
372 acc.merge(GraphInferenceAlgCfg(flags, name = f"GraphInferenceAlg{suffix}",
373 InferenceTools=[bucketTool]))
374
375 # Pattern recognition & segment fitting
376 from MuonPatternRecognitionAlgs.MuonPatternRecognitionConfig import MuonEtaHoughTransformAlgCfg, MuonNSWSegmentFinderAlgCfg, MuonPhiHoughTransformAlgCfg, MuonSegmentFittingAlgCfg
377 segmentContainers = []
378 if flags.Detector.GeometrysTGC or flags.Detector.GeometryMM:
379 segmentContainers+=["MuonNswSegments"]
380 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name=f"MuonNswEtaHoughTransformAlg{suffix}",
381 EtaHoughMaxContainer = "MuonHoughNswMaxima",
382 SpacePointContainer = "NswSpacePoints"))
383 acc.merge(MuonNSWSegmentFinderAlgCfg(flags, name=f"MuonNswSegmentFinderAlg{suffix}",
384 MuonNswSegmentWriteKey = segmentContainers[-1],
385 MuonNswSegmentSeedWriteKey = "MuonNswSegmentSeeds",
386 CombinatorialReadKey = "MuonHoughNswMaxima"))
387
388 if flags.Detector.GeometryMDT or flags.Detector.GeometryRPC or flags.Detector.GeometryTGC:
389 if useBucketFilter:
390 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name = f"MuonEtaHoughTransformAlg{suffix}",
391 SpacePointContainer = "FilteredMlBuckets"))
392 else:
393 acc.merge(MuonEtaHoughTransformAlgCfg(flags, name = f"MuonEtaHoughTransformAlg{suffix}"))
394
395 acc.merge(MuonPhiHoughTransformAlgCfg(flags, name = f"MuonPhiHoughTransformAlg{suffix}"))
396
397 segmentContainers+=["R4MuonSegments"]
398 acc.merge(MuonSegmentFittingAlgCfg(flags, name = f"MuonSegmentFittingAlg{suffix}",
399 OutSegmentContainer=segmentContainers[-1]))
400
401 from MuonSegmentCnv.MuonSegmentCnvConfig import xAODSegmentCnvAlgCfg
402 acc.merge(xAODSegmentCnvAlgCfg(flags, name = f"MuonR4xAODSegmentCnvAlg{suffix}",
403 InSegmentKeys = segmentContainers))
404
405 from MuonSegmentCnv.MuonSegmentCnvConfig import MuonR4SegmentCnvAlgCfg
406 acc.merge(MuonR4SegmentCnvAlgCfg(flags, name=f"MuonR4SegmentCnvAlg{suffix}",
407 ReadSegments = segmentContainers,
408 WriteKey="TrackMuonSegments"))
409
410 # Track building
411 from MuonTrackFindingAlgs.TrackFindingConfig import MSTrackFinderAlgCfg, StandaloneTrackPartCnvCfg, MuidSaTagMakerAlgCfg, MuonCreatorAlgCfg
412 acc.merge(MSTrackFinderAlgCfg(flags, name=f"MSTrackFinderAlg{suffix}"))
413 trackContainer = f"HLT_MuonMSTrackParticles_{suffix}"
414 acc.merge(StandaloneTrackPartCnvCfg(flags, name=f"MuonMsTrackParticleCnvR4{suffix}",
415 TrackParticlesOutKey = trackContainer))
416 acc.merge(MuidSaTagMakerAlgCfg(flags, name=f"MuidSaTagMakerAlg{suffix}",
417 MsTracks = trackContainer))
418 acc.merge(MuonCreatorAlgCfg(flags, name = f"MuonActsCreatorAlg{suffix}",
419 TagKeys = ["MuonTagsSA"],
420 MuonKey = msMuonName))
421 # This alg needs to be removed once the Phase-2 combined steps is ready
422 from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCombinedMuonCandidateAlgCfg
423 acc.merge(MuonCombinedMuonCandidateAlgCfg(flags, name=f"MuonCombinedMuonCandidateAlg{suffix}",
424 MuonSpectrometerTrackParticleLocation = trackContainer))
425
426 else:
427 msMuonName = nameGroups.EFSAName
428
429 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFinderAlgCfg, MuonLayerHoughAlgCfg
430 acc.merge(MuonLayerHoughAlgCfg(flags, f"TrigMuonLayerHoughAlg{suffix}"))
431 acc.merge(MuonSegmentFinderAlgCfg(flags, f"TrigMuonSegmentMaker{suffix}"))
432
433 from MuonSegmentTrackMaker.MuonTrackMakerAlgsMonitoring import MuPatTrackBuilderMonitoring
434 from MuonConfig.MuonTrackBuildingConfig import MuPatTrackBuilderCfg
435 from xAODTrackingCnv.xAODTrackingCnvConfig import MuonStandaloneTrackParticleCnvAlgCfg
436 acc.merge(MuPatTrackBuilderCfg(flags, name=f"TrigMuPatTrackBuilder{suffix}",
437 MuonSegmentCollection = "TrackMuonSegments",
438 MonTool = MuPatTrackBuilderMonitoring(flags, f"MuPatTrackBuilderMonitoringSA{suffix}")))
439
440 acc.merge(MuonStandaloneTrackParticleCnvAlgCfg(flags, name = f"TrigMuonStandaloneTrackParticleCnvAlg{suffix}"))
441 from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCombinedMuonCandidateAlgCfg, MuonCreatorAlgCfg
442 from MuonCombinedAlgs.MuonCombinedAlgsMonitoring import MuonCreatorAlgMonitoring
443 acc.merge(MuonCombinedMuonCandidateAlgCfg(flags, name=f"TrigMuonCandidateAlg{suffix}"))
444 acc.merge(MuonCreatorAlgCfg(flags, name=f"TrigMuonCreatorAlg_{suffix}",
445 CreateSAmuons=True,
446 TagMaps=[],
447 MuonContainerLocation=msMuonName,
448 ExtrapolatedLocation = f"HLT_MSExtrapolatedMuons_{suffix}",
449 MSOnlyExtrapolatedLocation = f"HLT_MSOnlyExtrapolatedMuons_{suffix}",
450 MonTool = MuonCreatorAlgMonitoring(flags, f"MuonCreatorAlgSA_{suffix}")))
451
452 sequenceOut = msMuonName
453
454 return acc, sequenceOut
455
456
457

◆ muFastRecoSequenceCfg()

muFastRecoSequenceCfg ( flags,
RoIs,
suffix = "",
doFullScanID = False,
InsideOutMode = False,
extraLoads = None,
l2mtmode = False,
calib = False,
useNewFast = False )

Definition at line 200 of file MuonRecoSequences.py.

200def muFastRecoSequenceCfg( flags, RoIs, suffix="", doFullScanID = False, InsideOutMode=False, extraLoads=None, l2mtmode=False, calib=False, useNewFast=False ):
201
202 acc = ComponentAccumulator()
203
204 if useNewFast:
205 acc.merge(muFastVDVCfg(flags, RoIs=RoIs, suffix=suffix, InsideOutMode=False, extraLoads=None))
206
207 from MuonFastRecoAlgs.MuonFastReconstructionConfig import MuonFastReconstructionAlgCfg
208 acc.merge(MuonFastReconstructionAlgCfg(flags, name=f"MuonFastReconstructionAlg{suffix}",
209 OutMuons=muNames.L2SAPhIIName))
210 else:
211
212 suffix = ""
213 if InsideOutMode:
214 suffix="IOmode"
215 elif l2mtmode:
216 suffix="l2mtmode"
217 elif calib:
218 suffix="Calib"
219
220 acc.merge(muFastVDVCfg(flags, RoIs=RoIs, suffix=suffix, InsideOutMode=InsideOutMode, extraLoads=extraLoads))
221
222
223 from TrigL2MuonSA.TrigL2MuonSAConfig import l2MuFastAlgCfg
224 acc.merge(l2MuFastAlgCfg(flags,
225 roisKey = RoIs,
226 setup = suffix,
227 FILL_FSIDRoI = doFullScanID,
228 MuonL2SAInfo = muNames.L2SAName+suffix,
229 L2IOCB = muNames.L2CBName+suffix,
230 forID = muNames.L2forIDName+suffix,
231 forMS = "forMS"+suffix,
232 TrackParticlesContainerName = getIDTracks(flags)))
233 return acc
234

◆ muFastVDVCfg()

muFastVDVCfg ( flags,
RoIs,
suffix,
InsideOutMode,
extraLoads )

Definition at line 164 of file MuonRecoSequences.py.

164def muFastVDVCfg(flags, RoIs, suffix, InsideOutMode, extraLoads):
165 result=ComponentAccumulator()
166 # In insideout mode, need to inherit muon decoding objects for TGC, RPC, MDT, CSC
167 dataObjects=[]
168 if InsideOutMode:
169 dataObjects = [('Muon::TgcPrepDataContainer','StoreGateSvc+TGC_MeasurementsAllBCs'),
170 ('TgcRdoContainer' , 'StoreGateSvc+TGCRDO'),
171 ('Muon::RpcPrepDataContainer','StoreGateSvc+RPC_Measurements'),
172 ('Muon::MdtPrepDataContainer','StoreGateSvc+MDT_DriftCircles'),
173 *( [( 'RpcPadContainer' , 'StoreGateSvc+RPCPAD' )] if "RPCPAD" in flags.Input.Collections else [] )]
174 if flags.Detector.GeometryCSC:
175 dataObjects += [('Muon::CscPrepDataContainer','StoreGateSvc+CSC_Clusters')]
176 if flags.Detector.GeometrysTGC:
177 dataObjects += [('Muon::sTgcPrepDataContainer','StoreGateSvc+STGC_Measurements')]
178 if flags.Detector.GeometryMM:
179 dataObjects += [('Muon::MMPrepDataContainer','StoreGateSvc+MM_Measurements')]
180
181 if flags.Muon.usePhaseIIGeoSetup:
182 dataObjects += [('ActsTrk::GeometryContext' , 'StoreGateSvc+ActsAlignment' )]
183
184 else:
185 dataObjects += [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+%s' % RoIs )]
186 dataObjects += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )]
187 if flags.Trigger.enableL1MuonPhase1:
188 dataObjects += [( 'xAOD::MuonRoIContainer' , 'StoreGateSvc+LVL1MuonRoIs' )]
189 else:
190 dataObjects += [( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' )]
191
192 #For L2 multi-track SA mode
193 if extraLoads:
194 dataObjects += extraLoads
195 ViewVerify = CompFactory.AthViews.ViewDataVerifier("muFastRecoVDV"+suffix, DataObjects = dataObjects)
196
197 result.addEventAlgo(ViewVerify)
198 return result
199

◆ muonDecodeCfg()

muonDecodeCfg ( flags,
RoIs )

Definition at line 101 of file MuonRecoSequences.py.

101def muonDecodeCfg(flags, RoIs):
102 acc = ComponentAccumulator()
103
104 doSeededDecoding =True
105 if 'FSRoI' in RoIs:
106 doSeededDecoding = False
107 acc.merge(MuDataPrepViewDataVerifierCfg(flags))
108
109 # Get RPC BS decoder
110 if not flags.Input.isMC:
111 rpcAcc = RpcBytestreamDecodeCfg( flags, name = "RpcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
112 acc.merge( rpcAcc )
113 if flags.Muon.enableNRPC:
114 acc.merge(NrpcBytestreamDecodeCfg( flags, name="NRpcRawDataProvider_"+RoIs ))
115 # Get RPC RDO convertor
116 rpcAcc = RpcRDODecodeCfg( flags, name= "RpcRdoToRpcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
117 acc.merge( rpcAcc )
118 # Get TGC BS decoder
119 if not flags.Input.isMC:
120 tgcAcc = TgcBytestreamDecodeCfg( flags, name="TgcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
121 acc.merge( tgcAcc )
122 # Get TGC RDO convertor
123 tgcAcc = TgcRDODecodeCfg( flags, name="TgcRdoToTgcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
124 acc.merge( tgcAcc )
125 # Get MDT BS decoder
126 if not flags.Input.isMC:
127 mdtAcc = MdtBytestreamDecodeCfg( flags, name="MdtRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
128 acc.merge( mdtAcc )
129 # Get MDT RDO convertor
130 mdtAcc = MdtRDODecodeCfg( flags, name="MdtRdoToMdtPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
131 acc.merge( mdtAcc )
132 # Get CSC BS decoder
133 if flags.Detector.GeometryCSC:
134 if not flags.Input.isMC:
135 cscAcc = CscBytestreamDecodeCfg( flags, name="CscRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
136 acc.merge( cscAcc )
137 # Get CSC RDO convertor
138 cscAcc = CscRDODecodeCfg( flags, name="CscRdoToCscPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
139 acc.merge( cscAcc )
140 # Get CSC cluster builder
141 cscAcc = CscClusterBuildCfg( flags, name="CscThresholdClusterBuilder_"+RoIs )
142 acc.merge( cscAcc )
143 #sTGC and MM BS decoder
144 if flags.Detector.GeometrysTGC and flags.Detector.GeometryMM:
145 if not flags.Input.isMC:
146 stgcAcc = sTgcBytestreamDecodeCfg(flags, name="sTgcRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
147 acc.merge( stgcAcc )
148 mmAcc = MmBytestreamDecodeCfg(flags, name="MMRawDataProvider_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
149 acc.merge( mmAcc )
150 #sTGC and MM RDO converter
151 stgcAcc = StgcRDODecodeCfg( flags, name="StgcRdoToStgcPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding )
152 acc.merge( stgcAcc )
153
154 mmAcc = MMRDODecodeCfg( flags, name="MMRdoToMMPrepData_"+RoIs, RoIs = RoIs, DoSeededDecoding = doSeededDecoding)
155 acc.merge( mmAcc )
156
157 # SpacePoint formation
158 if flags.Muon.usePhaseIIGeoSetup and flags.Muon.scheduleActsReco:
159 from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
160 acc.merge( MuonSpacePointFormationCfg( flags, suffix =f'_{RoIs}' ) )
161
162 return acc
163

◆ muonIDCosmicTrackingSequenceCfg()

muonIDCosmicTrackingSequenceCfg ( flags,
RoIs,
name,
extraLoads = None,
extraLoadsForl2mtmode = None )

Definition at line 257 of file MuonRecoSequences.py.

257def muonIDCosmicTrackingSequenceCfg( flags, RoIs, name, extraLoads=None, extraLoadsForl2mtmode=None ):
258
259 acc = ComponentAccumulator()
260
261 acc.merge(muonIDtrackVDVCfg(flags, 'cosmics', RoIs, extraLoads, extraLoadsForl2mtmode))
262
263 flagsWithTrk = getFlagsForActiveConfig(flags, "cosmics", log)
264
265 from TrigInDetConfig.InnerTrackingTrigSequence import InnerTrackingTrigSequence
266 seq = InnerTrackingTrigSequence.create(flagsWithTrk,
267 flagsWithTrk.Tracking.ActiveConfig.input_name,
268 rois = RoIs,
269 inView = "muCombVDVcosmics")
270 acc.merge(seq.sequence("Offline"))
271
272
273 return acc
274

◆ muonIDFastTrackingSequenceCfg()

muonIDFastTrackingSequenceCfg ( flags,
RoIs,
name,
extraLoads = None,
extraLoadsForl2mtmode = None,
doLRT = False,
trackingMode = "FTF" )

Definition at line 247 of file MuonRecoSequences.py.

247def muonIDFastTrackingSequenceCfg( flags, RoIs, name, extraLoads=None, extraLoadsForl2mtmode=None, doLRT=False, trackingMode="FTF" ):
248
249 acc = ComponentAccumulator()
250 from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
251 acc.merge(trigInDetFastTrackingCfg( flags, roisKey=RoIs, signatureName=name, patternMode=trackingMode ))
252
253 acc.merge(muonIDtrackVDVCfg(flags, name, RoIs, extraLoads, extraLoadsForl2mtmode))
254
255 return acc
256

◆ muonIDtrackVDVCfg()

muonIDtrackVDVCfg ( flags,
name,
RoIs,
extraLoads = None,
extraLoadsForl2mtmode = None )

Definition at line 235 of file MuonRecoSequences.py.

235def muonIDtrackVDVCfg( flags, name, RoIs, extraLoads=None, extraLoadsForl2mtmode=None ):
236 result=ComponentAccumulator()
237 dataObjects=[( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+%s' % RoIs )]
238 if extraLoads:
239 dataObjects += extraLoads
240 if extraLoadsForl2mtmode:
241 dataObjects += extraLoadsForl2mtmode
242 ViewVerify = CompFactory.AthViews.ViewDataVerifier("muCombVDV"+name, DataObjects = dataObjects)
243
244 result.addEventAlgo(ViewVerify)
245 return result
246

◆ VDVEFMuCBCfg()

VDVEFMuCBCfg ( flags,
RoIs,
name,
suffix )

Definition at line 458 of file MuonRecoSequences.py.

458def VDVEFMuCBCfg(flags, RoIs, name, suffix):
459 acc = ComponentAccumulator()
460 dataObjects = [( 'Muon::MdtPrepDataContainer' , 'StoreGateSvc+MDT_DriftCircles' ),
461 ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_MeasurementsAllBCs' ),
462 ( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ),
463 ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+%s' % RoIs ),
464 ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
465 ]
466 if "FS" in name:
467 dataObjects +=[( 'MuonCandidateCollection' , 'StoreGateSvc+MuonCandidates_FS' )]
468 else:
469 dataObjects +=[( 'MuonCandidateCollection' , 'StoreGateSvc+MuonCandidates')]
470
471 if flags.Detector.GeometryCSC:
472 dataObjects += [( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' )]
473 if flags.Detector.GeometrysTGC and flags.Detector.GeometryMM:
474 dataObjects += [( 'Muon::MMPrepDataContainer' , 'StoreGateSvc+MM_Measurements'),
475 ( 'Muon::sTgcPrepDataContainer' , 'StoreGateSvc+STGC_Measurements') ]
476 if flags.Muon.usePhaseIIGeoSetup:
477 dataObjects += [( 'MuonR4::SpacePointContainer' , 'StoreGateSvc+MuonSpacePoints' )]
478 if flags.Detector.GeometrysTGC or flags.Detector.GeometryMM:
479 dataObjects += [( 'MuonR4::SpacePointContainer' , 'StoreGateSvc+NswSpacePoints' )]
480
481 alg = CompFactory.AthViews.ViewDataVerifier( name = "VDVMuEFCB_"+name+suffix,
482 DataObjects = dataObjects)
483 acc.addEventAlgo(alg)
484 return acc
485
486
487

◆ VDVidReuseITkCfg()

VDVidReuseITkCfg ( flags,
suffix )

Definition at line 514 of file MuonRecoSequences.py.

514def VDVidReuseITkCfg(flags, suffix):
515 acc = ComponentAccumulator()
516
517 vdvName = "VDVidReuseITk"
518 dataObjects = []
519
520 from TrigInDetConfig.TrigInDetConfig import InDetExtraDataObjectsFromDataPrep
521 InDetExtraDataObjectsFromDataPrep(flags, dataObjects)
522
523 alg = CompFactory.AthViews.ViewDataVerifier( name = vdvName+suffix,
524 DataObjects = dataObjects)
525 acc.addEventAlgo(alg)
526 return acc
527
528

◆ VDVLateMuCfg()

VDVLateMuCfg ( flags)

Definition at line 724 of file MuonRecoSequences.py.

724def VDVLateMuCfg(flags):
725 acc = ComponentAccumulator()
726 dataObjects = [( 'xAOD::MuonRoIContainer', 'StoreGateSvc+LVL1MuonRoIsBCm2' ),
727 ( 'xAOD::MuonRoIContainer', 'StoreGateSvc+LVL1MuonRoIsBCm1' ),
728 ( 'xAOD::MuonRoIContainer', 'StoreGateSvc+LVL1MuonRoIsBCp1' ),
729 ( 'xAOD::MuonRoIContainer', 'StoreGateSvc+LVL1MuonRoIsBCp2' )]
730
731 alg = CompFactory.AthViews.ViewDataVerifier( name = "efLateMuRoIVDV",
732 DataObjects = dataObjects)
733 acc.addEventAlgo(alg)
734 return acc
735
736

◆ VDVMuInsideOutCfg()

VDVMuInsideOutCfg ( flags,
name,
candidatesName,
suffix )

Definition at line 609 of file MuonRecoSequences.py.

609def VDVMuInsideOutCfg(flags, name, candidatesName, suffix):
610 acc = ComponentAccumulator()
611 dataObjects = [( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ),
612 ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_MeasurementsAllBCs' ),
613 ( 'MuonCandidateCollection' , 'StoreGateSvc+'+candidatesName ),
614 ('Trk::SegmentCollection' , 'StoreGateSvc+TrackMuonSegments')]
615 if not isCosmic(flags): dataObjects += [( 'Muon::HoughDataPerSectorVec' , 'StoreGateSvc+HoughDataPerSectorVec')]
616 if flags.Detector.GeometryCSC:
617 dataObjects += [( 'Muon::CscPrepDataContainer' , 'StoreGateSvc+CSC_Clusters' )]
618 if flags.Detector.GeometrysTGC and flags.Detector.GeometryMM:
619 dataObjects += [( 'Muon::MMPrepDataContainer' , 'StoreGateSvc+MM_Measurements'),
620 ( 'Muon::sTgcPrepDataContainer' , 'StoreGateSvc+STGC_Measurements') ]
621
622 alg = CompFactory.AthViews.ViewDataVerifier( name = "VDVMuInsideOut_"+name+suffix,
623 DataObjects = dataObjects)
624 acc.addEventAlgo(alg)
625 return acc
626
627

◆ VDVMuIsoCfg()

VDVMuIsoCfg ( flags,
name,
RoIs )

Definition at line 690 of file MuonRecoSequences.py.

690def VDVMuIsoCfg(flags, name, RoIs):
691 acc = ComponentAccumulator()
692 dataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+'+RoIs ),
693 ( 'xAOD::MuonContainer' , 'StoreGateSvc+IsoViewMuons'+name )]
694
695 alg = CompFactory.AthViews.ViewDataVerifier( name = "efMuIsoVDV"+name,
696 DataObjects = dataObjects)
697 acc.addEventAlgo(alg)
698 return acc
699
700

◆ VDVPrecMuTrkCfg()

VDVPrecMuTrkCfg ( flags,
name,
suffix )

Definition at line 488 of file MuonRecoSequences.py.

488def VDVPrecMuTrkCfg(flags, name, suffix):
489 acc = ComponentAccumulator()
490
491 vdvName = "VDVMuTrkLRT" if "LRT" in name else "VDVMuTrk"
492 trkname = "LRT" if "LRT" in name else ''
493 dataObjects = [( 'xAOD::IParticleContainer' , 'StoreGateSvc+'+ getIDTracks(flags, trkname) )]
494
495 if not flags.Muon.enableTrigIDtrackReuse and suffix == '':
496 dataObjects += [( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+'+getIDTracks(flags, trkname, muonIDreuse=flags.Muon.enableTrigIDtrackReuse) )]
497 else:
498 if suffix != 'idReuse':
499 MuonL2CBContainer = muNames.L2CBName+suffix
500 else:
501 MuonL2CBContainer = muNames.L2CBName
502 dataObjects += [( 'xAOD::L2CombinedMuonContainer', 'StoreGateSvc+'+MuonL2CBContainer)]
503
504 if not flags.Input.isMC:
505 dataObjects += [( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' ),
506 ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' )]
507
508 alg = CompFactory.AthViews.ViewDataVerifier( name = vdvName+suffix,
509 DataObjects = dataObjects)
510 acc.addEventAlgo(alg)
511 return acc
512
513

Variable Documentation

◆ log

python.HLT.Muon.MuonRecoSequences.log = logging.getLogger(__name__)

Definition at line 6 of file MuonRecoSequences.py.

◆ muNames

python.HLT.Muon.MuonRecoSequences.muNames = muonNames().getNames('RoI')

Definition at line 20 of file MuonRecoSequences.py.

◆ muNamesFS

python.HLT.Muon.MuonRecoSequences.muNamesFS = muonNames().getNames('FS')

Definition at line 21 of file MuonRecoSequences.py.

◆ muNamesLRT

python.HLT.Muon.MuonRecoSequences.muNamesLRT = muonNames().getNames('LRT')

Definition at line 22 of file MuonRecoSequences.py.