def __init__(self, name="TrigMuonEFTrackIsolationVarConfig"): super(TrigMuonEFTrackIsolationVarConfig, self).__init__(name) # configure the isolation tool trkseltoolname = 'TMEF_VarIsolationTool' if 'LooseTSel' in name: trkseltoolname = trkseltoolname + 'LooseTSel' elif 'TightTSel' in name: trkseltoolname = trkseltoolname + 'TightTSel' TMEF_VarIsolationTool = TMEF_TrackIsolationTool(trkseltoolname, useVarIso=True) # Isolation tool self.IsolationTool = TMEF_VarIsolationTool # Which isolation to run? if "FTK" in name: self.IsoType = 2 self.IsolationTool.removeSelfType = 1 # use LeadTrk by default else: self.IsoType = 1 # Options: 1=ID+EF, 2=FTK+L2 # ID tracks #self.IdTrackParticles = "InDetTrigParticleCreation_FullScan_EFID" #self.IdTrackParticles = "InDetTrigParticleCreation_MuonIso_EFID" self.IdTrackParticles = "InDetTrigTrackingxAODCnv_Muon_IDTrig" # FTK tracks self.FTKTrackParticles = "InDetTrigTrackingxAODCnv_Muon_FTK_IDTrig" # Only run algo on combined muons self.requireCombinedMuon = True # Use offline isolation variables self.useVarIso = True # histograms self.histoPathBase = "" validation_trkiso = TrigMuonEFTrackIsolationValidationMonitoring() online_trkiso = TrigMuonEFTrackIsolationOnlineMonitoring() # timing self.doMyTiming = True timetool = TrigTimeHistToolConfig("Time") timetool.NumberOfHistBins = 100 timetool.TimerHistLimits = [0, 1000] self.AthenaMonTools = [validation_trkiso, online_trkiso, timetool]
def __init__(self, name="L2CaloMissingET_Fex_ReadL2L1"): super(L2CaloMissingET_Fex_ReadL2L1, self).__init__(name) # monitoring part. To switch off do in topOption TriggerFlags.enableMonitoring = [] from TrigL2MissingET.TrigL2MissingETMonitoring import T2CaloMissingETOnlineMonitoring, T2CaloMissingETValidationMonitoring validation = T2CaloMissingETValidationMonitoring() online = T2CaloMissingETOnlineMonitoring() from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig time = TrigTimeHistToolConfig("Time") time.TimerHistLimits = [0, 2] time.NumberOfHistBins = 100 self.OneByOne = False self.ReadL2L1 = True self.doTiming = True #self.OneByOne=True self.METLabel = "TrigL2MissingET_FEB" self.AthenaMonTools = [online, validation, time]
def __init__(self, name="TrigMuonEFTagandProbe", **kwargs): #Set out actions associated with class construction # make instance of TrigMuonEFTagandProbe class when constructor is called # Super allows direct use of inherited methods and attributes from the parent class, TrigMuonEFTagandProbe in this case, without having to directly reference this class, useful for multiple inheritance super(TrigMuonEFTagandProbeConfig, self).__init__(name, **kwargs) # setup monitoring depending on configuration monTools = [] monTools.append(TrigMuonEFTagandProbeMonitoring()) # always add timing monitoring timetool = TrigTimeHistToolConfig("Time") timetool.NumberOfHistBins = 100 timetool.TimerHistLimits = [0, 1000] monTools.append(timetool) self.AthenaMonTools = monTools
def __init__(self, name="TrigMuonEFTrackIsolationVarConfig"): super(TrigMuonEFTrackIsolationVarConfig, self).__init__(name) # configure the isolation tool trkseltoolname = 'TMEF_VarIsolationTool' if 'LooseTSel' in name: trkseltoolname = trkseltoolname + 'LooseTSel' elif 'TightTSel' in name: trkseltoolname = trkseltoolname + 'TightTSel' TMEF_VarIsolationTool = TMEF_TrackIsolationTool(trkseltoolname, useVarIso=True) # Isolation tool self.IsolationTool = TMEF_VarIsolationTool # ID tracks self.IdTrackParticles = "InDetTrigTrackingxAODCnv_Muon_IDTrig" # Only run algo on combined muons self.requireCombinedMuon = True # Use offline isolation variables self.useVarIso = True # histograms self.histoPathBase = "" validation_trkiso = TrigMuonEFMonitoring.TrigMuonEFTrackIsolationValidationMonitoring( ) online_trkiso = TrigMuonEFMonitoring.TrigMuonEFTrackIsolationOnlineMonitoring( ) # timing self.doMyTiming = True timetool = TrigTimeHistToolConfig("Time") timetool.NumberOfHistBins = 100 timetool.TimerHistLimits = [0, 1000] self.AthenaMonTools = [validation_trkiso, online_trkiso, timetool]
def __init__(self, name="TrigMuSuperEF", **kwargs): kwargs.setdefault("doInsideOut", True) kwargs.setdefault("doOutsideIn", True) kwargs.setdefault("insideOutFirst", False) kwargs.setdefault("fullScan", False) kwargs.setdefault("StandaloneOnly", False) kwargs.setdefault("CombinerOnly", False) kwargs.setdefault("CaloTagOnly", False) kwargs.setdefault("TMEF_standaloneTrackTool", "TrigMuonEFStandaloneTrackTool") kwargs.setdefault("MuonCombinedTool", "TMEF_MuonCombinedTool") kwargs.setdefault("TrkToTrackParticleConvTool", "TMEF_TrkToTrackParticleConvTool") kwargs.setdefault("MuonCreatorTool", "TMEF_MuonCreatorTool") kwargs.setdefault("deltaEtaRoI", 0.2) kwargs.setdefault("deltaPhiRoI", 0.2) kwargs.setdefault("UseL2Info", False) kwargs.setdefault("DoCache", True) doTrigMuonEF = kwargs["doOutsideIn"] doTrigMuGirl = kwargs["doInsideOut"] doStandaloneOnly = kwargs["StandaloneOnly"] doFullScan = kwargs["fullScan"] doCaloTagOnly = kwargs["CaloTagOnly"] combinerOnly = kwargs["CombinerOnly"] doCosmics = jobproperties.Beam.beamType == 'cosmics' # turn on seeded data decoding by default TriggerFlags.MuonSlice.doEFRoIDrivenAccess = True # make instance super(TrigMuSuperEFConfig, self).__init__(name, **kwargs) # setup monitoring depending on configuration monTools = [] # top level histograms use Combined Muons if not doStandaloneOnly: monTools.append(TrigMuSuperEFMonitoring()) monTools.append(TrigMuSuperEFValidationMonitoring()) # only add TrigMuonEF monitoring if it is run if doTrigMuonEF: if not combinerOnly: monTools.append(TrigMuonEFStandaloneToolMonitoring()) monTools.append(TrigMuonEFStandaloneToolValidationMonitoring()) if not doStandaloneOnly: monTools.append(TrigMuonEFCombinerToolMonitoring()) monTools.append(TrigMuonEFCombinerToolValidationMonitoring()) from AthenaCommon.CfgGetter import getPublicTool, getPublicToolClone self.StauCreatorTool = getPublicToolClone("TMEF_StauCreatorTool", "TMEF_MuonCreatorTool", BuildStauContainer=True) # only add TrigMuGirl monitoring if it is run # if doTrigMuGirl: kwargs.setdefault("MuGirlTool", getPublicTool("TMEF_MuonInsideOutRecoTool")) #from TrigMuGirl.TrigMuGirlMonitoring import TrigMuGirlToolMonitoring #montool = TrigMuGirlToolMonitoring() #print montool #monTools.append( montool ) # turn off PrepRawData decoders in MuGirl if doTrigMuGirl: from MuGirlCandidate.MuGirlCandidateConf import MuGirlNS__CandidateTool MuGirlNS__CandidateTool.doDecoding = False if self.UseL2Info: self.TMEF_standaloneTrackTool.useL2Hits = True else: self.TMEF_standaloneTrackTool.useL2Hits = False # always add timing monitoring timetool = TrigTimeHistToolConfig("Time") timetool.NumberOfHistBins = 100 timetool.TimerHistLimits = [0, 1000] monTools.append(timetool) self.AthenaMonTools = monTools
def __init__(self, name="TrigMuSuperEF", **kwargs): kwargs.setdefault("doInsideOut", True) kwargs.setdefault("doOutsideIn", True) kwargs.setdefault("insideOutFirst", False) kwargs.setdefault("fullScan", False) kwargs.setdefault("StandaloneOnly", False) kwargs.setdefault("CombinerOnly", False) kwargs.setdefault("CaloTagOnly", False) kwargs.setdefault("TMEF_standaloneTrackTool", "TrigMuonEFStandaloneTrackTool") kwargs.setdefault("MuonCombinedTool", "TMEF_MuonCombinedTool") kwargs.setdefault("TrkToTrackParticleConvTool", "TMEF_TrkToTrackParticleConvTool") kwargs.setdefault("MuonCreatorTool", "TMEF_MuonCreatorTool") kwargs.setdefault("deltaEtaRoI", 0.2) kwargs.setdefault("deltaPhiRoI", 0.2) kwargs.setdefault("UseL2Info", False) kwargs.setdefault("DoCache", True) from TrkExTools.AtlasExtrapolator import AtlasExtrapolator from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool from MuonTGRecTools.MuonTGRecToolsConf import Muon__MuonSystemExtensionTool pcExtensionTool = Trk__ParticleCaloExtensionTool( Extrapolator=AtlasExtrapolator()) muonExtTool = Muon__MuonSystemExtensionTool( Extrapolator=AtlasExtrapolator(), ParticleCaloExtensionTool=pcExtensionTool) kwargs.setdefault("MuonSystemExtensionTool", muonExtTool) doTrigMuonEF = kwargs["doOutsideIn"] doTrigMuGirl = kwargs["doInsideOut"] doStandaloneOnly = kwargs["StandaloneOnly"] combinerOnly = kwargs["CombinerOnly"] # turn on seeded data decoding by default TriggerFlags.MuonSlice.doEFRoIDrivenAccess = True # make instance super(TrigMuSuperEFConfig, self).__init__(name, **kwargs) # setup monitoring depending on configuration monTools = [] # top level histograms use Combined Muons if not doStandaloneOnly: monTools.append(TrigMuSuperEFMonitoring()) monTools.append(TrigMuSuperEFValidationMonitoring()) # only add TrigMuonEF monitoring if it is run if doTrigMuonEF: if not combinerOnly: monTools.append(TrigMuonEFStandaloneToolMonitoring()) monTools.append(TrigMuonEFStandaloneToolValidationMonitoring()) if not doStandaloneOnly: monTools.append(TrigMuonEFCombinerToolMonitoring()) monTools.append(TrigMuonEFCombinerToolValidationMonitoring()) from AthenaCommon.CfgGetter import getPublicTool, getPublicToolClone self.StauCreatorTool = getPublicToolClone("TMEF_StauCreatorTool", "TMEF_MuonCreatorTool", BuildStauContainer=True) # only add TrigMuGirl monitoring if it is run if doTrigMuGirl: self.MuGirlTool = getPublicTool("TMEF_MuonInsideOutRecoTool") if self.UseL2Info: self.TMEF_standaloneTrackTool.useL2Hits = True else: self.TMEF_standaloneTrackTool.useL2Hits = False # always add timing monitoring timetool = TrigTimeHistToolConfig("Time") timetool.NumberOfHistBins = 100 timetool.TimerHistLimits = [0, 1000] monTools.append(timetool) self.AthenaMonTools = monTools
def __init__(self, name="TrigMuonEFSegmentFinderCosmic"): super(TrigMuonEFSegmentFinderCosmicConfig, self).__init__(name) self.CscClusterProvider = CfgGetter.getPublicTool( "CscThresholdClusterBuilderTool") from MuonRecExample.MooreTools import MooSegmentCombinationFinder self.SegmentsFinderTool = MooSegmentCombinationFinder( "SegmentsFinderToolCosmic", WriteIntermediateResults=False) # use seeded decoding if (TriggerFlags.MuonSlice.doEFRoIDrivenAccess()): self.useMdtSeededDecoding = True self.useRpcSeededDecoding = True self.useTgcSeededDecoding = True self.useCscSeededDecoding = True # use ROB based seeded decoding instead of PRD based self.useMdtRobDecoding = True self.useRpcRobDecoding = True self.useTgcRobDecoding = False # neither available nor needed self.useCscRobDecoding = False # neither available nor needed self.SegmentsFinderTool.HoughPatternFinder.RecordAll = False #self.SegmentsFinderTool.HoughPatternFinder.OutputLevel = DEBUG self.SegmentsFinderTool.HoughPatternFinder.muonHoughPatternTool = TMEF_MuonHoughPatternToolCosmic self.SegmentsFinderTool.HoughPatternFinder.muonCombinePatternTool = TMEF_MuonCombinePatternToolCosmic self.SegmentsFinderTool.MdtSegmentMaker = TMEF_MuonPatternSegmentMakerCosmic self.SegmentsFinderTool.SegmentCombiner = TMEF_MuonCurvedSegmentCombinerCosmic #self.SegmentsFinderTool.SegmentCombinationCleaner = TMEF_MuonSegmentCombinationCleanerToolCosmic #self.SegmentsFinderTool.DoSummary = False #self.SegmentsFinderTool.SegmentCombiner.DoSummary = True #self.print_level = 5 self.histoPathBase = "" self.useRpcData = muonRecFlags.doRPCs() self.useTgcData = muonRecFlags.doTGCs() self.useCscData = muonRecFlags.doCSCs() # to select barrel(useMdtData=2), endcap(useMdtData=3) if muonRecFlags.doMDTs(): self.useMdtData = 1 else: self.useMdtData = 0 self.deltaEtaRoI = 1. self.deltaPhiRoI = 1. self.useTGCInPriorNextBC = True validation_ms = TrigMuonEFSegmentFinderValidationMonitoring() online_ms = TrigMuonEFSegmentFinderOnlineMonitoring() cosmic_ms = TrigMuonEFSegmentFinderCosmicMonitoring() self.AthenaMonTools = [validation_ms, online_ms, cosmic_ms] self.doMyTiming = False time = TrigTimeHistToolConfig("Time") time.TimerHistLimits = [0, 10000] time.NumberOfHistBins = 1000 self.AthenaMonTools += [time] self.doTimeOutChecks = False self.doTimeOutGuard = False self.maxTgcHits = 0 self.maxCscHits = 0 self.maxRpcHits = 0 self.maxMdtHits = 0 self.doCache = True