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 741 of file MuonRecoSequences.py.

741def efLateMuRoISequenceCfg(flags):
742
743 acc = VDVLateMuCfg(flags)
744
745 from TrigmuRoI.TrigmuRoIConfig import TrigmuRoIConfig
746 sequenceOut = "LateMuRoIs"
747 acc.merge(TrigmuRoIConfig(flags, "TrigmuRoI", outputRoIs=sequenceOut))
748
749 return acc, sequenceOut

◆ efmuisoRecoSequenceCfg()

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

Definition at line 705 of file MuonRecoSequences.py.

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

◆ EFMuSADataPrepViewDataVerifierCfg()

EFMuSADataPrepViewDataVerifierCfg ( flags,
RoIs,
suffix = "" )

Definition at line 300 of file MuonRecoSequences.py.

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

◆ 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 284 of file MuonRecoSequences.py.

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

◆ muCombVDVCfg()

muCombVDVCfg ( flags,
postFix )

Definition at line 276 of file MuonRecoSequences.py.

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

◆ 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 532 of file MuonRecoSequences.py.

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

◆ muEFInsideOutRecoSequenceCfg()

muEFInsideOutRecoSequenceCfg ( flags,
RoIs,
name,
suffix )

Definition at line 632 of file MuonRecoSequences.py.

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

◆ muEFSARecoSequenceCfg()

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

Definition at line 342 of file MuonRecoSequences.py.

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

◆ 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 MuonGlobalPatternFindingAlgCfg, MuonFastSegmentFittingAlgCfg, MuonFastSABuilderAlgCfg
208 acc.merge(MuonGlobalPatternFindingAlgCfg(flags, name=f"MuonGlobalPatternFindingAlg_{suffix}"))
209 acc.merge(MuonFastSegmentFittingAlgCfg(flags, name=f"MuonFastSegmentFittingAlg_{suffix}"))
210 acc.merge(MuonFastSABuilderAlgCfg(flags, name=f"MuonFastSABuilderAlg_{suffix}",
211 OutMuons=muNames.L2SAMuonsPhII))
212 else:
213 suffix = ""
214 if InsideOutMode:
215 suffix="IOmode"
216 elif l2mtmode:
217 suffix="l2mtmode"
218 elif calib:
219 suffix="Calib"
220
221 acc.merge(muFastVDVCfg(flags, RoIs=RoIs, suffix=suffix, InsideOutMode=InsideOutMode, extraLoads=extraLoads))
222
223
224 from TrigL2MuonSA.TrigL2MuonSAConfig import l2MuFastAlgCfg
225 acc.merge(l2MuFastAlgCfg(flags,
226 roisKey = RoIs,
227 setup = suffix,
228 FILL_FSIDRoI = doFullScanID,
229 MuonL2SAInfo = muNames.L2SAMuons+suffix,
230 L2IOCB = muNames.L2CBMuons+suffix,
231 forID = muNames.L2forIDName+suffix,
232 forMS = "forMS"+suffix,
233 TrackParticlesContainerName = getIDTracks(flags)))
234 return acc
235

◆ 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 258 of file MuonRecoSequences.py.

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

◆ muonIDFastTrackingSequenceCfg()

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

Definition at line 248 of file MuonRecoSequences.py.

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

◆ muonIDtrackVDVCfg()

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

Definition at line 236 of file MuonRecoSequences.py.

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

◆ VDVEFMuCBCfg()

VDVEFMuCBCfg ( flags,
RoIs,
name,
suffix )

Definition at line 461 of file MuonRecoSequences.py.

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

◆ VDVidReuseITkCfg()

VDVidReuseITkCfg ( flags,
suffix )

Definition at line 517 of file MuonRecoSequences.py.

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

◆ VDVLateMuCfg()

VDVLateMuCfg ( flags)

Definition at line 728 of file MuonRecoSequences.py.

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

◆ VDVMuInsideOutCfg()

VDVMuInsideOutCfg ( flags,
name,
candidatesName,
suffix )

Definition at line 613 of file MuonRecoSequences.py.

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

◆ VDVMuIsoCfg()

VDVMuIsoCfg ( flags,
name,
RoIs )

Definition at line 694 of file MuonRecoSequences.py.

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

◆ VDVPrecMuTrkCfg()

VDVPrecMuTrkCfg ( flags,
name,
suffix )

Definition at line 491 of file MuonRecoSequences.py.

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

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.