示例#1
0
    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]
示例#2
0
    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]
示例#3
0
    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
示例#4
0
    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]
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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