def __init__(self, name="TrigVxPrimaryAllTE_Electron_EF", type="electron"):
        super(InDet__TrigVxPrimaryAllTE, self).__init__(name)

        from AthenaCommon.AppMgr import ToolSvc
        from AthenaCommon.GlobalFlags import GlobalFlags
        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags

        from InDetTrigRecExample.InDetTrigConfigRecLoadToolsPost import InDetTrigPriVxFinderTool

        self.VertexFinderTool = InDetTrigPriVxFinderTool
        self.RunWithoutField = False

        #monitoring
        from InDetTrigPriVxFinder.InDetTrigPriVxFinderMonitoring import InDetTrigPriVxFinderValidationMonitor
        from InDetTrigPriVxFinder.InDetTrigPriVxFinderMonitoring import InDetTrigPriVxFinderOnlineMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        vxtime = TrigTimeHistToolConfig("VxTime")
        vxtime.TimerHistLimits = [0, 100]
        from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
        if InDetTrigSliceSettings[('doFullScan', type)]:
            vxtime.TimerHistLimits = [0, 400]
        self.AthenaMonTools = [
            InDetTrigPriVxFinderValidationMonitor(
                name="InDetTrigPriVxFinderAllTEOnlineMonitor"),
            InDetTrigPriVxFinderOnlineMonitor(
                name="InDetTrigPriVxFinderAllTEValidationMonitor"), vxtime
        ]
Esempio n. 2
0
    def __init__(self,
                 name="TRTDriftCircleMaker_Electron_EF",
                 type="electron"):
        super(InDet__TRT_TrgRIO_Maker, self).__init__(name)

        from AthenaCommon.AppMgr import ToolSvc

        from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRTRodDecoder
        from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
        InDetTrigTRTRawDataProviderTool = TRTRawDataProviderTool(
            name="InDetTrigTRTRawDataProviderTool",
            Decoder=InDetTrigTRTRodDecoder,
            StoreInDetTimeCollections=False)
        ToolSvc += InDetTrigTRTRawDataProviderTool

        from InDetTrigRawDataProvider.InDetTrigRawDataProviderConf import InDet__TrigTRTRawDataProvider


        InDetTrigTRTRawDataProvider = \
            InDet__TrigTRTRawDataProvider(name="TrigTRTRawDataProvider_EF",
                                          RDOKey = EF_TRTRDOKey,
                                          RawDataTool="TRTRawDataProviderTool/InDetTrigTRTRawDataProviderTool")

        ToolSvc += InDetTrigTRTRawDataProvider

        from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRT_DriftFunctionTool, \
             InDetTrigTRT_DriftCircleTool

        self.RawDataProvider = InDetTrigTRTRawDataProvider
        self.TRT_DriftCircleTool = InDetTrigTRT_DriftCircleTool
        #TRTStrawStatusTool  =

        from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
        self.EtaHalfWidth = InDetTrigSliceSettings[('etaHalfWidth', type)]
        self.PhiHalfWidth = InDetTrigSliceSettings[('phiHalfWidth', type)]
        self.doFullScan = InDetTrigSliceSettings[('doFullScan', type)]
        self.TRT_RDOContainerName = EF_TRTRDOKey

        #monitoring
        from InDetTrigPrepRawDataFormat.InDetTrigPrepRawDataFormatMonitoring import TrtTrigPrepRawDataFormatValidationMonitor
        from InDetTrigPrepRawDataFormat.InDetTrigPrepRawDataFormatMonitoring import TrtTrigPrepRawDataFormatOnlineMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        trttime = TrigTimeHistToolConfig("TRTTime")
        trttime.TimerHistLimits = [0, 80]
        if self.doFullScan:
            trttime.TimerHistLimits = [0, 200]
        self.AthenaMonTools = [
            TrtTrigPrepRawDataFormatValidationMonitor(type=type),
            TrtTrigPrepRawDataFormatOnlineMonitor(type=type), trttime
        ]
Esempio n. 3
0
   def __init__(self, name="InDetTrigParticleCreation_Electron_EF", type="electron"):
      super( InDet__TrigParticleCreator, self ).__init__( name )

      from AthenaCommon.AppMgr import ToolSvc
      from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
      from InDetTrigRecExample.InDetTrigConfigRecLoadTools import \
          InDetTrigTrackSummaryHelperTool, InDetTrigTrackSummaryTool, InDetTrigTrackSummaryToolSharedHits, \
          InDetTrigExtrapolator, InDetTrigPrdAssociationTool, InDetTrigHoleSearchTool

      InDetTrigPartCreaPrdAssociationTool     = None
      InDetTrigPartCreaTrackSummaryHelperTool = InDetTrigTrackSummaryHelperTool


      from TrigInDetConf.TrigInDetPostTools import InDetTrigParticleCreatorTool,InDetTrigParticleCreatorToolParams

      creatorTool = InDetTrigParticleCreatorTool
      if type=="photon":
        creatorTool = InDetTrigParticleCreatorToolParams

      self.ParticleCreatorTool = creatorTool
      self.PRDAssociationTool = InDetTrigPrdAssociationTool #for b-tagging

      #monitoring
      self.MonSliceSpecific = True
      from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
      self.MonPrescale    = InDetTrigSliceSettings[('monPS',type)]
      self.MonPtmin       = InDetTrigSliceSettings[('monPtMin',type)]
      from InDetTrigParticleCreation.InDetTrigParticleCreationMonitoring import \
          InDetTrigParticleCreationOnlineMonitor, InDetTrigParticleCreationValidationMonitor
      from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
      pctime = TrigTimeHistToolConfig("PcTime")
      pctime.TimerHistLimits = [0,40]
      self.AthenaMonTools = [InDetTrigParticleCreationValidationMonitor(type=type),
                             InDetTrigParticleCreationOnlineMonitor(type=type),
                             pctime]
Esempio n. 4
0
    def __init__(self, instance, name):
        super(GSCFex, self).__init__(name)

        mlog = logging.getLogger('BtagHypoConfig.py')

        AllowedInstances = ["EF"]

        if instance not in AllowedInstances:
            mlog.error("Instance " + instance + " is not supported!")
            return None

        self.JetKey = ""
        self.PriVtxKey = "EFHistoPrmVtx"
        self.TrackKey = ""

        # IMPORT OFFLINE TOOLS
        self.setupOfflineTools = True
        if self.setupOfflineTools:
            if JetConfigSetupStatus == None:
                self.setupOfflineTools = False
            else:
                self.GSCCalibrationTool = jrcf.find("AntiKt", 0.4, "EMTopo",
                                                    "ajg", "reco", "Kt4")
                print self.GSCCalibrationTool
        # MONITORING
        from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring  #commented here
        validation = TrigEFGSCFexValidationMonitoring()  #commented here
        online = TrigEFGSCFexOnlineMonitoring()  #commented here

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo")
        time.TimerHistLimits = [0, 2]

        self.AthenaMonTools = [time, validation, online]  #commented here
Esempio n. 5
0
    def __init__(self, name="TrigT2HistoPrmVtxAllTE_L2"):
        super(TrigT2HistoPrmVtxAllTE_L2, self).__init__(name)

        from TrigT2HistoPrmVtx.TrigT2HistoPrmVtxAllTEMonitoring import TrigT2HistoPrmVtxAllTEValidationMonitoring_L2, TrigT2HistoPrmVtxAllTEOnlineMonitoring_L2
        validation = TrigT2HistoPrmVtxAllTEValidationMonitoring_L2()
        online = TrigT2HistoPrmVtxAllTEOnlineMonitoring_L2()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigT2HistoPrmVtxAllTE")
        time.TimerHistLimits = [0, 2]

        self.AthenaMonTools = [time, validation, online]

        self.Instance = "_L2"

        self.NumBins = 20

        self.UseBeamSpot = True
        self.UseEtaPhiTrackSel = False

        self.L2TrkSel_Chi2 = 0.001
        self.L2TrkSel_BLayer = 1
        self.L2TrkSel_SiHits = 4
        self.L2TrkSel_D0 = 1 * mm
        self.L2TrkSel_Pt = 1 * GeV
Esempio n. 6
0
    def __init__(self, name="TrigT2HistoPrmVtx_EF"):
        super(TrigT2HistoPrmVtx_EF, self).__init__(name)

        from TrigT2HistoPrmVtx.TrigT2HistoPrmVtxMonitoring import TrigT2HistoPrmVtxValidationMonitoring_EF, TrigT2HistoPrmVtxOnlineMonitoring_EF
        validation = TrigT2HistoPrmVtxValidationMonitoring_EF()
        online = TrigT2HistoPrmVtxOnlineMonitoring_EF()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigT2HistoPrmVtx")
        time.TimerHistLimits = [0, 2]

        self.AthenaMonTools = [time, validation, online]

        self.Instance = "_EF"

        self.NumBins = 20

        self.UseBeamSpot = True
        self.UseEtaPhiTrackSel = False

        self.EFTrkSel_Chi2 = 0.0
        self.EFTrkSel_BLayer = 1
        self.EFTrkSel_PixHits = 2
        self.EFTrkSel_SiHits = 7
        self.EFTrkSel_D0 = 1 * mm
        self.EFTrkSel_Pt = 1 * GeV
Esempio n. 7
0
    def __init__(self, instance, name):
        super( DvHypoSplit, self ).__init__( name )
        
        mlog = logging.getLogger('DvHypoConfig.py')
        
        AllowedInstances = ["EF"]
        
        if instance not in AllowedInstances :
            mlog.error("Instance "+instance+" is not supported!")
            return None
        
        if instance=="EF" :
            self.AcceptAll = False
            self.Instance  = "EF"
            self.UseBeamSpotFlag = False

        self.JetKey = "SplitJet"
        
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigDvHypo")
        time.TimerHistLimits = [0,0.4]
        
        self.AthenaMonTools = [ time ]

        if instance=="EF" :
            from TrigBjetHypo.TrigDvHypoMonitoring import TrigEFDvHypoValidationMonitoring, TrigEFDvHypoOnlineMonitoring
            validation = TrigEFDvHypoValidationMonitoring()
            online     = TrigEFDvHypoOnlineMonitoring()
            self.AthenaMonTools += [ validation, online ]
Esempio n. 8
0
    def __init__(self, instance, name):
        super(DvHypoNoCut, self).__init__(name)

        mlog = logging.getLogger('DvHypoConfig.py')

        AllowedInstances = ["EF"]

        self.JetKey = "SplitJet"  # FIXME EVERY THING SPLIT!!

        if instance in AllowedInstances:
            from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
            time = TrigTimeHistToolConfig("TimeHistogramForTrigDvHypo")
            time.TimerHistLimits = [0, 0.4]

            self.AthenaMonTools = [time]

            if instance == "EF":
                self.AcceptAll = True
                self.Instance = "EF"
                self.UseBeamSpotFlag = False
                from TrigBjetHypo.TrigDvHypoMonitoring import TrigEFDvHypoValidationMonitoring, TrigEFDvHypoOnlineMonitoring
                validation = TrigEFDvHypoValidationMonitoring()
                online = TrigEFDvHypoOnlineMonitoring()
                self.AthenaMonTools += [validation, online]

        else:
            mlog.error("Instance " + instance + " is not supported!")
            return None
Esempio n. 9
0
    def __init__(self, name="L2SecVtxFinder"):
        super(L2SecVtxFinder, self).__init__(name)

        from AthenaCommon.AppMgr import ToolSvc

        from TrigInDetVxInJetTool.TrigInDetVxInJetToolConf import TrigInDetVxInJetTool
        TrigInDetVxInJetTool = TrigInDetVxInJetTool(
            name="TrigInDetVxInJetTool",
            getNegativeTail=False,  # True for SV0 ; False for SV1
        )

        #TrigInDetVxInJetTool.OutputLevel=2

        ToolSvc += TrigInDetVxInJetTool

        self.UseBeamSpotFlag = False
        self.TrackJetTrkSelExt = False
        self.UseJetDirection = 1

        from TrigSecVtxFinder.TrigSecVtxFinderMonitoring import TrigSecVtxFinderValidationMonitoring, TrigSecVtxFinderOnlineMonitoring
        validation = TrigSecVtxFinderValidationMonitoring()
        online = TrigSecVtxFinderOnlineMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigSecVtxFinder")
        time.TimerHistLimits = [0, 10]

        self.AthenaMonTools = [time, validation, online]
Esempio n. 10
0
    def __init__(self, instance, name):
        super(BjetHypoSplitNoCut, self).__init__(name)

        mlog = logging.getLogger('BjetHypoConfig.py')

        AllowedInstances = ["EF", "MuJetChain"]

        self.JetKey = "SplitJet"

        if instance in AllowedInstances:

            if instance == "MuJetChain":
                self.JetKey = "FarawayJet"
                instance = "EF"

            if instance == "EF":
                self.AcceptAll = True
                self.Instance = "EF"
                self.UseBeamSpotFlag = False
                self.OverrideBeamSpotValid = True
                from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoValidationMonitoring, TrigEFBjetHypoOnlineMonitoring
                validation = TrigEFBjetHypoValidationMonitoring()
                online = TrigEFBjetHypoOnlineMonitoring()

            from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
            time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo")
            time.TimerHistLimits = [0, 0.4]

            self.AthenaMonTools = [time, validation, online]

        else:
            mlog.error("Instance " + instance + " is not supported!")
            return None
Esempio n. 11
0
    def __init__(self,
                 instance,
                 version,
                 name,
                 PriVtxKey="xPrimVx",
                 TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig"):
        super(BtagFexSplit, self).__init__(name)

        mlog = logging.getLogger('BtagHypoConfig.py')

        AllowedInstances = ["EF", "MuJetChain", "GSC"]
        AllowedVersions = ["2012"]

        if instance not in AllowedInstances:
            mlog.error("Instance " + instance + " is not supported!")
            return None

        if version not in AllowedVersions:
            mlog.error("Version " + version + " is not supported!")
            return None

        self.JetKey = "SplitJet"

        if instance == "GSC":
            self.JetKey = "GSCJet"
        elif instance == "MuJetChain":
            self.JetKey = "FarawayJet"

        self.PriVtxKey = PriVtxKey
        self.UsePriVtxKeyBackup = True
        self.PriVtxKeyBackup = "EFHistoPrmVtx"
        self.TrackKey = TrackKey
        self.JetCalibrationName = "AntiKt4EMTopo"

        # IMPORT OFFLINE TOOLS
        self.setupOfflineTools = True
        if self.setupOfflineTools:
            if BTagConfigSetupStatus is None:
                self.setupOfflineTools = False
            else:
                self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool(
                    "AntiKt4EMTopo")
                self.BTagTool = BTagConfig.getJetCollectionTool(
                    "AntiKt4EMTopo")
                self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool(
                    "AntiKt4EMTopo")
                self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute(
                    "SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo")

        # MONITORING
        from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring
        validation = TrigEFBtagFexValidationMonitoring()
        online = TrigEFBtagFexOnlineMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo")
        time.TimerHistLimits = [0, 2]

        self.AthenaMonTools = [time, validation, online]
Esempio n. 12
0
    def __init__(self, name = "EFLeptonJetFexAllTE"):
        super( EFLeptonJetFexAllTE, self ).__init__( name )
       
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigEFLeptonJetFexAllTE")
        time.TimerHistLimits = [0,0.2]

        self.AthenaMonTools = [ time ]
Esempio n. 13
0
    def __init__(self, name="T2VertexBeamSpot_Fex", detail=1):
        super(T2VertexBeamSpot_Fex, self).__init__(name)

        # monitoring part. To switch off do in topOption TriggerFlags.enableMonitoring = []
        from TrigT2BeamSpot.T2VertexBeamSpotMonitoring import T2VertexBeamSpotOnlineMonitoring, T2VertexBeamSpotCosmicMonitoring, T2VertexBeamSpotValidationMonitoring
        validation = T2VertexBeamSpotValidationMonitoring()
        online = T2VertexBeamSpotOnlineMonitoring(detail=detail)
        cosmic = T2VertexBeamSpotCosmicMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [
            0, 12
        ]  # see T2VertexBeamSpotImpl.h: Timers::numTimers

        self.AthenaMonTools = [time, validation, online, cosmic]

        # Beam Conditions Service
        self.BeamCondSvcName = "BeamCondSvc"  # Name of the service for the BeamCondSvc

        # Setup the self algorithm parameters
        # Algorithm IDs: SiTrack = 1, IDScan = 2, TrtXK = 4
        # (from /offline/Trigger/TrigEvent/TrigInDetEvent/TrigInDetEvent/TrigInDetTrack.h)
        self.SaveAllVertices = False  # Save histograms for all vertices
        self.WeightClusterZ = True  # Use the track Z0 weighted cluster Z position as seed
        self.ReclusterSplit = False  # Recluster split track collections before vertex fitting
        self.attachVertices = True  # Write the good vertices to StoreGate
        self.attachSplitVertices = False  # Write split vertices to StoreGate
        self.nSplitVertices = 2  # Turn on (>1) or off vertex splitting
        self.vertexCollName = "TrigBeamSpotVertex"  # Output vertex collection Name

        self.TotalNTrackMin = 4  # Minimum number of tracks required in an event
        self.TrackMinPt = 0.5  # Minimum track pT to be considered for vertexing
        self.TrackSeedPt = 0.7  # Minimum track pT to be considered for seeding a vertex fit
        self.TrackClusterDZ = 0.35  # Maximum distance between tracks considered as a cluster
        self.TrackMaxZ0 = 200.0  # Maximum track Z0 to be considered for vertexing
        self.TrackMaxD0 = 10.0  # Maximum track d0 to be considered for vertexing
        self.TrackMaxZ0err = 5.0  # Maximum track Z0 error to be considered for vertexing
        self.TrackMaxD0err = 5.0  # Maximum track d0 error to be considered for vertexing
        self.TrackMinNDF = 2.0  # Minimum track NDF to be considered for vertexing
        self.TrackMinQual = 0.0  # Minimum track chi^2/NDF to be considered for vertexing
        self.TrackMaxQual = 10.0  # Maximum track chi^2/NDF to be considered for vertexing
        self.TrackMinChi2Prob = -10.0  # Minimum track cumulative chi2 probability, from CLHEP/GenericFunctions/CumulativeChiSquare.hh
        self.TrackMinSiHits = 7  # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
        self.TrackMinPIXHits = 0  # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
        self.TrackMinSCTHits = 0  # Minimum # track silicon (PIX + SCT) hits to be considered for vertexing
        self.TrackMinTRTHits = -10  # Minimum # track TRT hits to be considered for vertexing

        self.VertexMinNTrk = 2  # Minimum # tracks in a cluster to be considered for vertexing
        self.VertexMaxNTrk = 100  # Maximum # tracks in a cluster to be considered for vertexing (saves on time!)
        self.VertexMaxXerr = 1.  # Maximum resulting X error on vertex fit for "good" vertices
        self.VertexMaxYerr = 1.  # Maximum resulting Y error on vertex fit for "good" vertices
        self.VertexMaxZerr = 10.  # Maximum resulting Z error on vertex fit for "good" vertices
        self.VertexMinQual = 0.0  # Minimum resulting chi^2/NDF on vertex fit for "good" vertices
        self.VertexMaxQual = 100.0  # Maximum resulting chi^2/NDF on vertex fit for "good" vertices
        self.VertexMinChi2Prob = -10.0  # Minimum cumulative chi2 probability, from CLHEP/GenericFunctions/CumulativeChiSquare.hh
        self.VertexBCIDMinNTrk = 10  # Minimum # tracks in a vertex to be used for per-BCID monitoring
Esempio n. 14
0
    def __init__ (self, name="EFTrigMissingETMuon_Fex_topoclPUC"):
        super(EFTrigMissingETMuon_Fex_topoclPUC, self).__init__(name)

        self.METLabel = "TrigEFMissingET_topocl_PUC"
        #self.MuonPtCut = 5.0

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 50]
Esempio n. 15
0
    def __init__ (self, name="L2TrigMissingETMuon_Fex"):
        super(L2TrigMissingETMuon_Fex, self).__init__(name)

        self.METLabel = "T2MissingET"
        #self.MuonPtCut = 5.0

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 50]
Esempio n. 16
0
def setHLTTrackPreselMonTools(algoObject):
    algoName = algoObject.getName()

    from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
    time = TrigTimeHistToolConfig(algoName + "Time")
    time.TimerHistLimits = [0, 3]

    nameVal = algoName + "_Val"
    valTool = HLTTrackPreselHypoValidationMonitoring(nameVal)

    algoObject.AthenaMonTools = [time, valTool]
Esempio n. 17
0
    def __init__(self, name):
        super( EFMissingETHypoBase, self ).__init__( name )

        from TrigMissingETHypo.TrigMissingETHypoMonitoring import TrigEFMissingETHypoValidationMonitoring, TrigEFMissingETHypoCosmicMonitoring
        validation = TrigEFMissingETHypoValidationMonitoring()
        cosmic = TrigEFMissingETHypoCosmicMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("METHypo_Time")
        time.TimerHistLimits = [0, 5]

        self.AthenaMonTools = [ time, validation, cosmic ]
Esempio n. 18
0
    def __init__(self,
                 name="SiTrigSpacePointFinder_Electron_EF",
                 type="electron",
                 lowPt=False):
        super(InDet__SiTrigSpacePointFinder, self).__init__(name)

        from AthenaCommon.AppMgr import ToolSvc

        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import \
            InDetTrigSiSpacePointMakerTool,SCT_TrigSpacePointTool
        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags

        if (InDetTrigFlags.doPrintConfigurables()):
            print(SCT_TrigSpacePointTool)
        ToolSvc += SCT_TrigSpacePointTool

        # Condition algorithm for SiTrigSpacePointFinder
        from AthenaCommon.AlgSequence import AthSequencer
        condSeq = AthSequencer("AthCondSeq")
        if not hasattr(condSeq, "InDetSiElementPropertiesTableCondAlg"):
            from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiElementPropertiesTableCondAlg
            condSeq += InDet__SiElementPropertiesTableCondAlg(
                name="InDetSiElementPropertiesTableCondAlg")

        self.SiSpacePointMakerTool = InDetTrigSiSpacePointMakerTool
        self.SCTSpacePointTrigHelperTool = SCT_TrigSpacePointTool
        self.ProcessPixels = True
        self.ProcessSCTs = True
        self.ProcessOverlaps = InDetTrigFlags.doOverlapSP()

        if type == 'cosmicsN':
            from InDetTrigRecExample.InDetTrigConfigRecLoadToolsCosmics import \
                InDetTrigSiSpacePointMakerToolCosmics, SCT_TrigSpacePointToolCosmics
            self.SiSpacePointMakerTool = InDetTrigSiSpacePointMakerToolCosmics
            self.SCTSpacePointTrigHelperTool = SCT_TrigSpacePointToolCosmics
            self.SpacePointsSCTName = "SCT_CosmicsTrigSpacePoints"
            self.SpacePointsPixelName = "PixelCosmicsTrigSpacePoints"

        from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
        self.EtaHalfWidth = InDetTrigSliceSettings[('etaHalfWidth', type)]
        self.PhiHalfWidth = InDetTrigSliceSettings[('phiHalfWidth', type)]
        self.doFullScan = InDetTrigSliceSettings[('doFullScan', type)]

        #monitoring
        from SiTrigSpacePointFormation.SiTrigSpacePointFormatMonitoring import SiTrigSpacePointFormatValidationMonitor
        from SiTrigSpacePointFormation.SiTrigSpacePointFormatMonitoring import SiTrigSpacePointFormatOnlineMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        sitime = TrigTimeHistToolConfig("SiTime")
        sitime.TimerHistLimits = [0, 50]
        self.AthenaMonTools = [
            SiTrigSpacePointFormatValidationMonitor(type=type),
            SiTrigSpacePointFormatOnlineMonitor(type=type), sitime
        ]
Esempio n. 19
0
 def __init__(self, name, type):
     TrigFTK_VxPrimary.__init__(self, name)
     from TrigFTK_RecExample.TrigFTKLoadTools import theFTK_DataProviderSvc
     self.FTK_DataProvider = theFTK_DataProviderSvc
     #monitoring
     from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
     vxtime = TrigTimeHistToolConfig("VxTime")
     vxtime.TimerHistLimits = [0, 100]
     self.AthenaMonTools = [
         TrigFTK_PriVxFinderOnlineMonitor(),
         TrigFTK_PriVxFinderValidationMonitor(), vxtime
     ]
Esempio n. 20
0
    def __init__(self, instName, strName, phiHalfWidth = 0.1, etaHalfWidth = 0.1, doTRT = True, doRes = False, doTrackFit = True, doBrem = False ):

        name = "TrigL2SiTrackFinder_"+instName+strName
        if doBrem :
            name += "_Brem"
        TrigL2SiTrackFinder.__init__(self,name)
        
        self.SpacePointProviderTool=ospTool
        if instName=="FullScan" or instName=="BeamSpot" or instName=="FullScan_ZF_Only" :
            self.FullScanMode = True
        else :
            self.FullScanMode = False
        
        self.phiHalfWidth = phiHalfWidth
        self.etaHalfWidth = etaHalfWidth
        self.MinHits = 5
        self.PrintDiagnosticMessages = False
        self.doTrackFit = doTrackFit
        self.doTRTpropagation = doTRT
        self.useRoiDescriptorWidths = True
        if instName=="Bphysics" :
            self.useRoiDescriptorWidths = False
        
        self.OutputCollectionSuffix=instName

        self.attachVertices=False
        if instName=="FullScan_ZF_Only" and strName=='A' :
            self.attachVertices = True

        from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
        self.TrackSummaryTool = InDetTrigFastTrackSummaryTool

        from AthenaCommon.AppMgr import ToolSvc

        strategy = strFactory.createStrategy(instName, strName, phiHalfWidth, etaHalfWidth)
        ToolSvc += strategy
        self.RecoStrategy = strategy

        if doBrem :
            trtBrTool = TrigTRT_TrackExtensionTool_eGamma()
            ToolSvc += trtBrTool
            self.TrigTRT_TrackExtensionTool=trtBrTool
        else :
            self.TrigTRT_TrackExtensionTool=trtTool
            
        self.TrigInDetTrackFitter = trackFitter
        self.TrigL2ResidualCalculator = resCalc
        self.doResMonitoring = doRes
        timeHist = TrigTimeHistToolConfig("Time")
        timeHist.TimerHistLimits = [0,2000]
        self.AthenaMonTools = [ TrigL2SiTrackFinder_ValidationMonitoring("TrigL2SiTrackFinder_ValidationMonitoring",self.doResMonitoring),
                                TrigL2SiTrackFinder_OnlineMonitoring("TrigL2SiTrackFinder_OnlineMonitoring",self.doResMonitoring),
                                timeHist ]
Esempio n. 21
0
    def __init__(self, name="TrigmuRoI"):
        super(TrigmuRoIConfig, self).__init__(name)

        validation = TrigmuRoIValidationMonitoring()
        online = TrigmuRoIOnlineMonitoring()
        cosmic = TrigmuRoICosmicMonitoring()

        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 5]
        #time.NumberOfHistBins = 50

        self.AthenaMonTools = [validation, online, cosmic, time]
Esempio n. 22
0
def setTauEFDiKaonMonTools(algoObject):
    algoName = algoObject.getName()

    from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
    time = TrigTimeHistToolConfig(algoName + "Time")
    time.TimerHistLimits = [0, 3]

    nameVal = algoName + "_Val"
    nameOnl = algoName + "_Onl"
    valTool = EFTauDiKaonHypoValidationMonitoring(nameVal)
    onlTool = EFTauDiKaonHypoOnlineMonitoring(nameOnl)

    algoObject.AthenaMonTools = [time, onlTool, valTool]
Esempio n. 23
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]
Esempio n. 24
0
    def __init__(self, name="EFTrigMissingETMuon_Fex_topocl"):
        super(EFTrigMissingETMuon_Fex_topocl, self).__init__(name)

        self.METLabel = "TrigEFMissingET_topocl"
        #self.MuonPtCut = 5.0
        # monitoring part. To switch off do in topOption TriggerFlags.enableMonitoring = []
        from TrigMissingETMuon.TrigMissingETMuonMonitoring import TrigMissingETMuonOnlineMonitoring, TrigMissingETMuonCosmicMonitoring, TrigMissingETMuonValidationMonitoring
        validation = TrigMissingETMuonValidationMonitoring()
        online = TrigMissingETMuonOnlineMonitoring()
        cosmic = TrigMissingETMuonCosmicMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 50]
    def __init__(self,
                 name="InDetTrigTrackingxAODCnv_Electron_EF",
                 type="electron"):
        super(InDet__TrigTrackingxAODCnv, self).__init__(name)

        from AthenaCommon.AppMgr import ToolSvc
        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import \
            InDetTrigTrackSummaryHelperTool, InDetTrigTrackSummaryTool, InDetTrigTrackSummaryToolSharedHits, \
            InDetTrigHoleSearchTool,InDetTrigExtrapolator
        from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool

        # load patricle creator tool
        #


        from TrigInDetConf.TrigInDetPostTools import InDetTrigParticleCreatorToolWithSummary, \
            InDetTrigParticleCreatorToolFTF,InDetTrigParticleCreatorToolWithSummaryTRTPid

        creatorTool = InDetTrigParticleCreatorToolWithSummary

        if "_FTF" in name or "_FTK" in name:
            creatorTool = InDetTrigParticleCreatorToolFTF
        elif "_IDTrig" in name and type == "electron":
            creatorTool = InDetTrigParticleCreatorToolWithSummaryTRTPid

        self.ParticleCreatorTool = creatorTool

        if "_IDTrig" in name and (type == "muon" or type == "electron"):
            self.doIBLresidual = True

        #for FTK commissioning
        if "_FTK" in name:
            self.doIBLresidual = True

        #monitoring
        self.MonSliceSpecific = True
        from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
        self.MonPrescale = InDetTrigSliceSettings[('monPS', type)]
        self.MonPtmin = InDetTrigSliceSettings[('monPtMin', type)]
        from InDetTrigParticleCreation.InDetTrigTrackingxAODCnvMonitoring import \
            InDetTrigTrackingxAODCnvOnlineMonitor, InDetTrigTrackingxAODCnvValidationMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        pctime = TrigTimeHistToolConfig("PcTime")
        pctime.TimerHistLimits = [0, 40]
        self.AthenaMonTools = [
            InDetTrigTrackingxAODCnvValidationMonitor(type=type),
            InDetTrigTrackingxAODCnvOnlineMonitor(type=type), pctime
        ]
Esempio n. 26
0
    def __init__(self, name="L2MissingET_Fex"):
        super(L2MissingET_Fex, self).__init__(name)

        # monitoring part. To switch off do in topOption TriggerFlags.enableMonitoring = []
        from TrigL2MissingET.TrigL2MissingETMonitoring import T2MissingETOnlineMonitoring, T2MissingETCosmicMonitoring, T2MissingETValidationMonitoring
        validation = T2MissingETValidationMonitoring()
        online = T2MissingETOnlineMonitoring()
        cosmic = T2MissingETCosmicMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 50]
        self.METLabel = "T2MissingET"
        self.AthenaMonTools = [time, validation, online, cosmic]
        self.DecodeDetMask = True
Esempio n. 27
0
    def __init__(self,
                 name="InDetTrigPRD_MultiTruthMaker_Electron_EF",
                 type="electron"):
        super(InDet__PRD_TrigMultiTruthMaker, self).__init__(name)

        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
        self.doTruthAss = InDetTrigFlags.doTruth()

        #monitoring
        from InDetTrigTruthAlgs.PRD_TrigMultiTruthMonitoring import PRD_TrigMultiTruthValidationMonitor
        from InDetTrigTruthAlgs.PRD_TrigMultiTruthMonitoring import PRD_TrigMultiTruthOnlineMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        prdtime = TrigTimeHistToolConfig("PRDTime")
        prdtime.TimerHistLimits = [0, 200]
        self.AthenaMonTools = [PRD_TrigMultiTruthValidationMonitor(), prdtime]
Esempio n. 28
0
    def __init__ (self, name="FtkHltEfficiencyFex"):
        super(FtkHltEfficiencyFex, self).__init__(name)

        # monitoring part. To switch off do in topOption TriggerFlags.enableMonitoring = []
        from TrigFTK_Monitoring.FtkHltEfficiencyMonitoring import FtkHltEfficiencyMonitoring
        online     = FtkHltEfficiencyMonitoring()

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("Time")
        time.TimerHistLimits = [0, 100] 

        self.AthenaMonTools = [ time, online ]
        
        # Setup the self algorithm parameters
        # Track matching
        self.DeltaRMax            = 0.05    # float

        # Track Filtering
        self.MinPt              = 2.0     # float
        self.MaxEta             = 10.0    # float
        self.MaxZ0              = 100.0   # float
        self.MaxD0              = 1.0     # float

        self.MaxHLTZ0Err        = 100.0   # float
        self.MaxHLTD0Err        = 100.0   # float
        self.MinHLTSiHits       = 9       # int
        self.MinHLTPixHits      = 0       # int
        self.MinHLTSctHits      = 0       # int
        self.MaxHLTPixHoles     = 100     # int
        self.MaxHLTSctHoles     = 100     # int
        self.MaxHLTReducedChi2  = 100.0   # float

        self.MaxFTKZ0Err        = 100.0   # float
        self.MaxFTKD0Err        = 100.0   # float
        self.MinFTKSiHits       = 9       # int
        self.MinFTKPixHits      = 0       # int
        self.MinFTKSctHits      = 0       # int
        self.MaxFTKPixHoles     = 100     # int
        self.MaxFTKSctHoles     = 100     # int
        self.MaxFTKReducedChi2  = 100.0   # float

        # 2D Eta Phi parameters
        # if adapted, corresponding histograms need be adapted
        self.Numb2DEtaBins     = 4       # int
        self.Min2DEta          = -3      # float
        self.Max2DEta          =  3      # float
        self.Min2DZ0           = -100    # float
        self.Max2DZ0           =  100    # float
Esempio n. 29
0
    def __init__(self, instance, algo, name):
        super(DvFex, self).__init__(name)

        mlog = logging.getLogger('BjetHypoConfig.py')  ## SURE??

        AllowedInstances = ["EF"]
        AllowedAlgos = ["EFID"]

        # Pre-configuring
        if instance not in AllowedInstances:
            mlog.error("Instance " + instance + " is not supported!")
            return None

        self.JetKey = "SplitJet"

        self.AlgoId = -1

        if instance == "EF" and algo == "EFID":
            self.AlgoId = 1

        if self.AlgoId == -1:
            mlog.error("AlgoId is wrongly set!")
            return None

        self.UseEtaPhiTrackSel = False

        if algo == "EFID":
            self.TrkSel_Chi2 = 0.0
            self.TrkSel_BLayer = 0  #1
            self.TrkSel_PixHits = 0
            self.TrkSel_SiHits = 0  #7
            self.TrkSel_D0 = 1.0 * mm  #300.0*mm
            self.TrkSel_Z0 = 1500.0 * mm
            self.TrkSel_Pt = 1000.0 * MeV  #500.0*MeV

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo")
        time.TimerHistLimits = [0, 2]

        self.AthenaMonTools = [time]

        #self.validation = False
        #self.onlinemon  = False
        if instance == "EF":
            from TrigBjetHypo.TrigDvFexMonitoring import TrigEFDvFexValidationMonitoring, TrigEFDvFexOnlineMonitoring
            validation = TrigEFDvFexValidationMonitoring()
            online = TrigEFDvFexOnlineMonitoring()
            self.AthenaMonTools += [validation, online]
Esempio n. 30
0
    def __init__(self, instance, algo, name):
        super( DvFex, self ).__init__( name )
        
        mlog = logging.getLogger('BjetHypoConfig.py')  ## SURE??
        
        AllowedInstances = ["EF"]
        AllowedAlgos     = ["EFID"]
        
        # Pre-configuring
        if instance not in AllowedInstances :
            mlog.error("Instance "+instance+" is not supported!")
            return None
        
        self.JetKey = "SplitJet"
        
        self.AlgoId = -1
    
        if instance == "EF" and algo == "EFID" :
            self.AlgoId = 1
        
        if self.AlgoId == -1:
            mlog.error("AlgoId is wrongly set!")
            return None
        
        self.UseEtaPhiTrackSel  = False
        
        if algo=="EFID" :
            self.TrkSel_Chi2    = 0.0
            self.TrkSel_BLayer  = 0 #1
            self.TrkSel_PixHits = 0
            self.TrkSel_SiHits  = 0 #7
            self.TrkSel_D0      = 1.0*mm #300.0*mm
            self.TrkSel_Z0      = 1500.0*mm
            self.TrkSel_Pt      = 1000.0*MeV #500.0*MeV

        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo")
        time.TimerHistLimits = [0,2]
        
        self.AthenaMonTools = [ time ]

        #self.validation = False
        #self.onlinemon  = False
        if instance=="EF" :
            from TrigBjetHypo.TrigDvFexMonitoring import TrigEFDvFexValidationMonitoring, TrigEFDvFexOnlineMonitoring
            validation = TrigEFDvFexValidationMonitoring()
            online     = TrigEFDvFexOnlineMonitoring()    
            self.AthenaMonTools+=[validation,online]
Esempio n. 31
0
    def __init__(self,
                 name="InDetTrigDetailedTrackTruthMaker_Electron_EF",
                 type="electron"):
        super(InDet__InDetTrigDetailedTrackTruthMaker, self).__init__(name)

        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
        self.doTruthAss = InDetTrigFlags.doTruth()

        #monitoring
        from InDetTrigTruthAlgs.InDetTrigDetailedTruthMonitoring import InDetTrigDetailedTruthValidationMonitor
        from InDetTrigTruthAlgs.InDetTrigDetailedTruthMonitoring import InDetTrigDetailedTruthOnlineMonitor
        from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
        truthtime = TrigTimeHistToolConfig("TruthTime")
        truthtime.TimerHistLimits = [0, 200]
        self.AthenaMonTools = [
            InDetTrigDetailedTruthValidationMonitor(), truthtime
        ]
Esempio n. 32
0
def setTauMonTools(algoObject):
    algoName = algoObject.getName()

    from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig
    time = TrigTimeHistToolConfig(algoName + "Time")
    time.TimerHistLimits = [0, 3]

    nameOnl = algoName + "_Onl"
    onlTool = TrigTauHypoOnlineMonitoring(nameOnl)

    nameVal = algoName + "_Val"
    valTool = TrigTauHypoValidationMonitoring(nameVal)

    nameCos = algoName + "_Cos"
    cosTool = TrigTauHypoCosmicMonitoring(nameCos)

    algoObject.AthenaMonTools = [time, onlTool, valTool, cosTool]