diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py index 270f322142284fb95d629aa8025e35a6e3562050..6bdc3df69e0add828004c9cefa3e24ed73b8e824 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py @@ -66,16 +66,16 @@ def MuGirlStauAlg(name="MuGirlStauAlg",**kwargs): kwargs.setdefault("METrackCollection","") kwargs.setdefault("SegmentCollection","MuGirlStauSegments") return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs) - + def MuonCombinedInDetCandidateAlg( name="MuonCombinedInDetCandidateAlg",**kwargs ): from InDetRecExample.InDetJobProperties import InDetFlags kwargs.setdefault("TrackSelector",getPublicTool("MuonCombinedInDetDetailedTrackSelectorTool") ) if muonCombinedRecFlags.doSiAssocForwardMuons() and InDetFlags.doForwardTracks(): kwargs.setdefault("DoSiliconAssocForwardMuons", True ) kwargs.setdefault("InDetForwardTrackSelector", getPublicTool("MuonCombinedInDetDetailedForwardTrackSelectorTool") ) - - kwargs.setdefault("MuonSystemExtensionTool", getPublicTool("MuonSystemExtensionTool")) + kwargs.setdefault("MuonSystemExtensionTool", getPublicTool("MuonSystemExtensionTool")) + print (kwargs) return CfgMgr.MuonCombinedInDetCandidateAlg(name,**kwargs) def MuonCombinedMuonCandidateAlg( name="MuonCombinedMuonCandidateAlg", **kwargs ): @@ -113,11 +113,11 @@ def recordMuonCreatorAlgObjs (kw): if val('MakeClusters'): objs['CaloClusterCellLinkContainer'] = val('CaloClusterCellLinkName') + '_links' objs['xAOD::CaloClusterContainer'] = val('ClusterContainerName') - + from RecExConfig.ObjKeyStore import objKeyStore objKeyStore.addManyTypesTransient (objs) return - + def MuonCreatorAlg( name="MuonCreatorAlg",**kwargs ): kwargs.setdefault("MuonCreatorTool",getPublicTool("MuonCreatorTool")) recordMuonCreatorAlgObjs (kwargs) @@ -155,30 +155,44 @@ class MuonCombinedReconstruction(ConfiguredMuonRec): if not self.isEnabled(): return topSequence = AlgSequence() - + #if jobproperties.Beam.beamType()=='collisions': # creates input collections for ID and MS candidates - topSequence += getAlgorithm("MuonCombinedInDetCandidateAlg") - topSequence += getAlgorithm("MuonCombinedMuonCandidateAlg") - + topSequence += getAlgorithm("MuonCombinedInDetCandidateAlg") + topSequence += getAlgorithm("MuonCombinedMuonCandidateAlg") + + from InDetRecExample.InDetJobProperties import InDetFlags + if InDetFlags.doR3LargeD0(): + topSequence += getAlgorithm("MuonCombinedInDetCandidateAlg_LargeD0") + + # runs ID+MS combinations (fit, staco, mugirl, ID-taggers) if muonCombinedRecFlags.doStatisticalCombination() or muonCombinedRecFlags.doCombinedFit(): - topSequence += getAlgorithm("MuonCombinedAlg") + topSequence += getAlgorithm("MuonCombinedAlg") + if InDetFlags.doR3LargeD0(): + topSequence += getAlgorithm("MuonCombinedAlg_LargeD0") + if muonCombinedRecFlags.doMuGirl(): - topSequence += getAlgorithm("MuonInsideOutRecoAlg") + topSequence += getAlgorithm("MuonInsideOutRecoAlg") if muonCombinedRecFlags.doMuGirlLowBeta(): topSequence += getAlgorithm("MuGirlStauAlg") + #if InDetFlags.doR3LargeD0(): + # topSequence += getAlgorithm("MuGirlAlg_LargeD0") if muonCombinedRecFlags.doCaloTrkMuId(): - topSequence += getAlgorithm("MuonCaloTagAlg") - + topSequence += getAlgorithm("MuonCaloTagAlg") + if muonCombinedRecFlags.doMuonSegmentTagger(): getPublicTool("MuonSegmentTagTool") - topSequence += getAlgorithm("MuonSegmentTagAlg") + topSequence += getAlgorithm("MuonSegmentTagAlg") + if InDetFlags.doR3LargeD0(): + topSequence += getAlgorithm("MuonSegmentTagAlg_LargeD0") # runs over outputs and create xAODMuon collection topSequence += getAlgorithm("MuonCreatorAlg") - + if InDetFlags.doR3LargeD0(): + topSequence += getAlgorithm("MuonCreatorAlg_LargeD0") + if muonCombinedRecFlags.doMuGirl() and muonCombinedRecFlags.doMuGirlLowBeta(): topSequence += getAlgorithm("StauCreatorAlg") diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedRecExampleConfigDb.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedRecExampleConfigDb.py index a961d6ff4a81053ca32cfad4b5a74b0606101143..980048cc316a5fb3b516c6ab8a2094a6752f68b8 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedRecExampleConfigDb.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedRecExampleConfigDb.py @@ -7,10 +7,10 @@ from AthenaCommon.CfgGetter import addTool, addToolClone, addService, addAlgorit addTypesOnlyToSkip from AthenaCommon.Constants import * # FATAL,ERROR etc. - +from InDetRecExample.InDetKeys import InDetKeys +from MuonCombinedRecExample.MuonCombinedKeys import MuonCombinedKeys as MuonCbKeys # combined tools addTool("MuonCombinedRecExample.MuonCombinedTools.MuonCombinedTool","MuonCombinedTool") -addTool("MuonCombinedRecExample.MuonCombinedTools.InDetCandidateTool","InDetCandidateTool") addTool("MuonCombinedRecExample.MuGirlTagTool.MuonInsideOutRecoTool","MuonInsideOutRecoTool") addTool("MuonCombinedRecExample.MuGirlTagTool.MuonCandidateTrackBuilderTool","MuonCandidateTrackBuilderTool") @@ -40,12 +40,52 @@ addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuGirlAlg","MuGirlAlg") addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCaloTagAlg","MuonCaloTagAlg") addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonInsideOutRecoAlg","MuonInsideOutRecoAlg") addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuGirlStauAlg","MuGirlStauAlg") + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedInDetCandidateAlg","MuonCombinedInDetCandidateAlg") +addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedInDetCandidateAlg", + "MuonCombinedInDetCandidateAlg_LargeD0", + TrackParticleLocation=[InDetKeys.xAODLargeD0TrackParticleContainer()], + InDetCandidateLocation="InDetCandidates_LargeD0", + DoSiliconAssocForwardMuons=False) + + + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedMuonCandidateAlg","MuonCombinedMuonCandidateAlg") addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedAlg","MuonCombinedAlg") +addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedAlg", "MuonCombinedAlg_LargeD0", + InDetCandidateLocation="InDetCandidates_LargeD0", + CombinedTagMaps=["muidcoTagMap_LargeD0","stacoTagMap_LargeD0"], + MuidCombinedTracksLocation="MuidCombinedTracks_LargeD0", + MuidMETracksLocation="MuidMETracks_LargeD0") + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCombinedInDetExtensionAlg","MuonCombinedInDetExtensionAlg") + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonSegmentTagAlg","MuonSegmentTagAlg") +addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonSegmentTagAlg","MuonSegmentTagAlg_LargeD0", + InDetCandidateLocation="InDetCandidates_LargeD0", + TagMap="segmentTagMap_LargeD0", + MuonSegmentLocation="MuonSegments") + + + + + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCreatorAlg","MuonCreatorAlg") +addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.MuonCreatorAlg","MuonCreatorAlg_LargeD0", + MuonContainerLocation="Muons_LargeD0", + InDetCandidateLocation="InDetCandidates_LargeD0", + ExtrapolatedLocation="ExtraPolatedMuon_LargeD0", + ExtrapolatedTrackLocation="ExtraPolatedMuonTrack_LargeD0", + MSOnlyExtrapolatedLocation="MSOnlyExtraPolatedMuons_LargeD0", + MSOnlyExtrapolatedTrackLocation="MSOnlyExtraPolatedMuonTrack_LargeD0", + CombinedLocation="CombinedMuon_LargeD0", + SegmentContainerName="MuonSegments_LargeD0", + TrackSegmentContainerName="TrakMuonSegments_LargeD0", + TagMaps=["muidcoTagMap_LargeD0","stacoTagMap_LargeD0","segmentTagMap_LargeD0"], + BuildSlowMuon= False, + MakeClusters=False ) + + addAlgorithm("MuonCombinedRecExample.MuonCombinedAlgs.StauCreatorAlg","StauCreatorAlg") # tracking tools @@ -106,5 +146,3 @@ addTool("MuonCombinedRecExample.MuonCombinedFitTools.MuonTrackQuery","MuonTrackQ addTool("MuonCombinedRecExample.MuonCombinedFitTools.MuidSegmentRegionRecoveryTool","MuidSegmentRegionRecoveryTool") addTool("MuonCombinedRecExample.MuonCombinedFitTools.CombinedMuonTrackBuilder","CombinedMuonTrackBuilder") addTool("MuonCombinedRecExample.MuonCombinedFitTools.CombinedMuonTrackBuilderFit","CombinedMuonTrackBuilderFit") - -