ContainerName="Muons", ObjectRequirements=sel_muon1, SecondObjectRequirements=sel_muon2, MassHypothesis=105.66, SecondMassHypothesis=105.66, StoreGateEntryName="DRZmumuMass") ToolSvc += DRZmumuMassTool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool dimuonMassSkimmingTool = DerivationFramework__xAODStringSkimmingTool( name="DRAW_ZMUMU_DiMuonMass_SkimmingTool", expression=dimuonMassString) ToolSvc += dimuonMassSkimmingTool # Muon selector tool from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool goodMuonTool = CP__MuonSelectionTool(name="DRAW_ZMUMU_MuonsSelector") goodMuonTool.MaxEta = 3. goodMuonTool.MuQuality = 3 # turn of the momentum correction which is not needed for IDHits cut and Preselection goodMuonTool.TurnOffMomCorr = True ToolSvc += goodMuonTool print goodMuonTool from PrimaryDPDMaker.PrimaryDPDMakerConf import DerivationFramework__DRAW_ZMUMUSkimmingTool goodMuonSkimmingTool = DerivationFramework__DRAW_ZMUMUSkimmingTool( name="DRAW_ZMUMU_GoodMuon_SkimmingTool", MuonContainerKey="Muons", MuonSelectorTool=goodMuonTool, MinimumNumberOfMuons=1, MuonPtCut=20.0) ToolSvc += goodMuonSkimmingTool periods = TriggerPeriod.future | TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017
CosmicsCommissioning = False theMuonCollection = ["Muons"] MuonMETContainerName = "Muons_TAG_skim" from AthenaCommon import CfgMgr from AthenaCommon.BeamFlags import jobproperties if jobproperties.Beam.beamType() == 'cosmics' or jobproperties.Beam.beamType( ) == 'singlebeam': CosmicsCommissioning = True theMuonCollection = ["MuidMuonCollection"] from AthenaCommon.AppMgr import ToolSvc from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool MuonSelectionTool = CP__MuonSelectionTool("MuonSelectionTool") MuonSelectionTool.MaxEta = 2.7 ToolSvc += MuonSelectionTool ########### Muon Isolation options ################ from IsolationSelection.IsolationSelectionConf import CP__IsolationSelectionTool LooseTrackOnlyIsoTool = CfgMgr.CP__IsolationSelectionTool( "MuonLooseTrackOnlyIsolationSelectionTool") LooseTrackOnlyIsoTool.MuonWP = "LooseTrackOnly" ToolSvc += LooseTrackOnlyIsoTool LooseIsoTool = CfgMgr.CP__IsolationSelectionTool( "MuonLooseIsolationSelectionTool") LooseIsoTool.MuonWP = "Loose" ToolSvc += LooseIsoTool TightIsoTool = CfgMgr.CP__IsolationSelectionTool( "MuonTightIsolationSelectionTool") TightIsoTool.MuonWP = "Tight"
DFCommonMuonsTrtCutOff = DFCommonMuonsConfig.TrtCutOff #==================================================================== # MCP GROUP TOOLS #==================================================================== #==================================================================== # AUGMENTATION TOOLS #==================================================================== from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__AsgSelectionToolWrapper DFCommonMuonToolWrapperTools = [] ### IDHits DFCommonMuonsSelector = CP__MuonSelectionTool(name = "DFCommonMuonsSelector") DFCommonMuonsSelector.MaxEta = 3. DFCommonMuonsSelector.MuQuality = 3 # turn of the momentum correction which is not needed for IDHits cut and Preselection DFCommonMuonsSelector.TurnOffMomCorr = True if DFCommonMuonsTrtCutOff is not None: DFCommonMuonsSelector.TrtCutOff = DFCommonMuonsTrtCutOff ToolSvc += DFCommonMuonsSelector print (DFCommonMuonsSelector) DFCommonMuonToolWrapper = DerivationFramework__AsgSelectionToolWrapper( name = "DFCommonMuonToolWrapper", AsgSelectionTool = DFCommonMuonsSelector, CutType = "IDHits", StoreGateEntryName = "DFCommonGoodMuon", ContainerName = "Muons") ToolSvc += DFCommonMuonToolWrapper print (DFCommonMuonToolWrapper)
from __future__ import print_function #******************************************************************** # MuonsCommon.py # Schedules all tools needed for muon object selection and writes # results into SG. These may then be accessed along the train #******************************************************************** from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkJob from AthenaCommon.AppMgr import ToolSvc #==================================================================== # MCP GROUP TOOLS #==================================================================== from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool EXOTDFCommonMuonsSelector = CP__MuonSelectionTool(name = "EXOTDFCommonMuonsSelector") EXOTDFCommonMuonsSelector.MaxEta = 2.8 ToolSvc += EXOTDFCommonMuonsSelector print (EXOTDFCommonMuonsSelector) #==================================================================== # AUGMENTATION TOOLS #==================================================================== from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__AsgSelectionToolWrapper EXOTDFCommonMuonToolWrapper = DerivationFramework__AsgSelectionToolWrapper( name = "EXOTDFCommonMuonToolWrapper", AsgSelectionTool = EXOTDFCommonMuonsSelector, CutType = "IDHits", StoreGateEntryName = "EXOTDFCommonGoodMuon", ContainerName = "Muons") ToolSvc += EXOTDFCommonMuonToolWrapper print (EXOTDFCommonMuonToolWrapper)