예제 #1
0
    AssoTool=InDetTrigPrdAssociationTool,
    DoSharedHits=False,
    HoleSearch=InDetTrigHoleSearchTool,
    TestBLayerTool=None,
    PixelToTPIDTool=None,
    usePixel=False,
    useSCT=False,
    useTRT=False)

ToolSvc += FTK_TrackSummaryHelperTool
print "added FTK_TrackSummaryHelperTool to ToolSvc"

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
FTK_TrackSummaryTool = Trk__TrackSummaryTool(
    name="FTK_TrackSummaryTool",
    InDetSummaryHelperTool=FTK_TrackSummaryHelperTool,
    InDetHoleSearchTool=None,
    doSharedHits=False,
    TRT_ElectronPidTool=None)
ToolSvc += FTK_TrackSummaryTool
print "added FTK_TrackSummaryTool to ToolSvc"

from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool

FTK_ParticleCreatorTool = Trk__TrackParticleCreatorTool(
    name=" FTK_ParticleCreatorTool",
    Extrapolator=InDetTrigExtrapolator,
    TrackSummaryTool=FTK_TrackSummaryHelperTool,
    KeepParameters=True,
    ForceTrackSummaryUpdate=False,  #summary update moved (in the slimmer now)
)
예제 #2
0
PixelToTPIDTool = None,
TestBLayerTool  = None,
DoSharedHits    = False,
HoleSearch      = ToolSvc.CombinedMuonIDHoleSearch,
usePixel        = DetFlags.haveRIO.pixel_on(),
useSCT          = DetFlags.haveRIO.SCT_on(),
useTRT          = DetFlags.haveRIO.TRT_on() )

# default CombinedMuonTrackSummary
from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
ToolSvc += Trk__TrackSummaryTool(
    'CombinedMuonTrackSummary',
    doSharedHits=False,
    doHolesMuon=False,
    AddDetailedInDetSummary=True,
    AddDetailedMuonSummary=True,
    InDetSummaryHelperTool=ToolSvc.CombinedMuonIDSummaryHelper,
    TRT_ElectronPidTool=None,
    PixelToTPIDTool=None,
    MuonSummaryHelperTool=muonTrackSummaryHelper,
    InDetHoleSearchTool=ToolSvc.CombinedMuonIDHoleSearch,
    PixelExists=True)

# load tools requiring pixels
if DetFlags.haveRIO.pixel_on():
    # use AssoTool for shared hits (provided we have RDO)
    # commented as this doesn't work...
    # from RecExConfig.RecFlags import rec
    # if rec.readRDO:
    #  #ToolSvc.CombinedMuonIDSummaryHelper.AssoTool  = ToolSvc.InDetPrdAssociationTool
    #  ToolSvc.CombinedMuonTrackSummary.doSharedHits = True
예제 #3
0
                                                      CountDeadModulesAfterLastHit = CountDeadModulesAfterLastHit)
ToolSvc += InDetHoleSearchTool

from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
InDetTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(name         = 'InDetSummaryHelper',
                                                                 AssoTool     = InDetPrdAssociationTool,
                                                                 DoSharedHits = False,
                                                                 HoleSearch   = InDetHoleSearchTool,
                                                                 usePixel     = DetFlags.haveRIO.pixel_on(),
                                                                 useSCT       = DetFlags.haveRIO.SCT_on(),
                                                                 useTRT       = DetFlags.haveRIO.TRT_on())
ToolSvc += InDetTrackSummaryHelperTool

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrackSummaryTool = Trk__TrackSummaryTool(name                   = 'InDetTrackSummaryTool',
                                              InDetSummaryHelperTool = InDetTrackSummaryHelperTool,
                                              doSharedHits           = False,
                                              InDetHoleSearchTool    = InDetHoleSearchTool)
ToolSvc += InDetTrackSummaryTool
#------------------------------------------------------------------------------
# Configure vertex fitters
#------------------------------------------------------------------------------

from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
TrkVKalVrtFitter = Trk__TrkVKalVrtFitter(name                    = 'VKalVrtFitterName',
                                         Extrapolator            = InDetExtrapolator,
                                         MagFieldSvc             = InDetMagField,
                                         FirstMeasuredPoint      = True,
                                         #FirstMeasuredPointLimit = True,
                                         MakeExtendedVertex      = True)
ToolSvc += TrkVKalVrtFitter
print      TrkVKalVrtFitter
예제 #4
0
from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
InDetTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
    name="CascInDetSummaryHelper",
    AssoTool=InDetPrdAssociationTool,
    DoSharedHits=False,
    HoleSearch=InDetHoleSearchTool,
    usePixel=DetFlags.haveRIO.pixel_on(),
    useSCT=DetFlags.haveRIO.SCT_on(),
    useTRT=DetFlags.haveRIO.TRT_on())
ToolSvc += InDetTrackSummaryHelperTool
print InDetTrackSummaryHelperTool

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrackSummaryTool = Trk__TrackSummaryTool(
    name="CascadeInDetTrackSummaryTool",
    InDetSummaryHelperTool=InDetTrackSummaryHelperTool,
    doSharedHits=False,
    doHolesInDet=True)

ToolSvc += InDetTrackSummaryTool
print InDetTrackSummaryTool

from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
InDetTrackSelectorTool = InDet__InDetDetailedTrackSelectorTool(
    name="cascade_InDetDetailedTrackSelectorTool",
    pTMin=400.0,
    IPd0Max=10000.0,
    IPz0Max=10000.0,
    z0Max=10000.0,
    sigIPd0Max=10000.0,
    sigIPz0Max=10000.0,
예제 #5
0
def getPhotonConversionTool():

    if jobproperties.tauRecFlags.useVertexBasedConvFinder():
        from AthenaCommon.AppMgr import ToolSvc

        name = "_PhotonConversionVertex"

        ##

        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator as MaterialEffectsUpdator
        AtlasMaterialEffectsUpdator = MaterialEffectsUpdator(
            name='AtlasMaterialEffectsUpdator')
        ToolSvc += AtlasMaterialEffectsUpdator  #default material effects updator
        NoElossMaterialEffectsUpdator = MaterialEffectsUpdator(
            name='NoElossMaterialEffectsUpdator')
        NoElossMaterialEffectsUpdator.EnergyLoss = False
        ToolSvc += NoElossMaterialEffectsUpdator

        # setup MaterialEffectsUpdator arrays
        MyUpdators = []
        MyUpdators += [AtlasMaterialEffectsUpdator]  # for ID
        MyUpdators += [NoElossMaterialEffectsUpdator]  # for Calo
        # MyUpdators += [NoElossMaterialEffectsUpdator] # for muon

        MySubUpdators = []
        MySubUpdators += [AtlasMaterialEffectsUpdator.name()]  # for ID
        MySubUpdators += [NoElossMaterialEffectsUpdator.name()]  # for Calo
        MySubUpdators += [NoElossMaterialEffectsUpdator.name()]  # for muon

        #Configure the extrapolator
        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
        theAtlasExtrapolator = AtlasExtrapolator(name='theAtlasExtrapolator' +
                                                 name)
        theAtlasExtrapolator.DoCaloDynamic = False  # this turns off dynamic
        theAtlasExtrapolator.MaterialEffectsUpdators = MyUpdators
        theAtlasExtrapolator.SubMEUpdators = MySubUpdators
        ToolSvc += theAtlasExtrapolator

        #        from TrkMagFieldTools.TrkMagFieldToolsConf import Trk__MagneticFieldTool
        #        InDetMagField = Trk__MagneticFieldTool('InDetMagField'+name)
        #        ToolSvc += InDetMagField
        ### Ly S swith bellow off Oct 7
        #        from AthenaCommon.AppMgr import ServiceMgr
        #        from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
        #        ServiceMgr += MagField__AtlasFieldSvc("myAtlasFieldSvc")

        #
        # Setup track summary tool
        #
        from InDetAssociationTools.InDetAssociationToolsConf import InDet__InDetPRD_AssociationToolGangedPixels
        tauInDetPrdAssociationTool = InDet__InDetPRD_AssociationToolGangedPixels(
            name="tauInDetPrdAssociationTool",
            PixelClusterAmbiguitiesMapName='PixelClusterAmbiguitiesMap')
        ToolSvc += tauInDetPrdAssociationTool
        from InDetRecExample.InDetJobProperties import InDetFlags
        from InDetTrackHoleSearch.InDetTrackHoleSearchConf import InDet__InDetTrackHoleSearchTool
        tauInDetHoleSearchTool = InDet__InDetTrackHoleSearchTool(
            name="tauInDetHoleSearchTool",
            Extrapolator=theAtlasExtrapolator,
            checkBadSCTChip=InDetFlags.checkDeadElementsOnTrack())
        ToolSvc += tauInDetHoleSearchTool

        from AthenaCommon.DetFlags import DetFlags
        from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
        tauInDetTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
            name="tauInDetTrackSummaryHelper",
            AssoTool=tauInDetPrdAssociationTool,
            DoSharedHits=False,
            HoleSearch=tauInDetHoleSearchTool,
            usePixel=DetFlags.haveRIO.pixel_on(),
            useSCT=DetFlags.haveRIO.SCT_on(),
            useTRT=DetFlags.haveRIO.TRT_on())
        ToolSvc += tauInDetTrackSummaryHelperTool

        #        from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool
        #        MyInDetTrackSummaryTool = AtlasTrackSummaryTool(
        #                                       InDetSummaryHelperTool = tauInDetTrackSummaryHelperTool,
        #                                       doSharedHits           = False )
        from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
        MyInDetTrackSummaryTool = Trk__TrackSummaryTool(
            name="MyInDetTrackSummaryTool",
            InDetSummaryHelperTool=tauInDetTrackSummaryHelperTool,
            doSharedHits=False,
            InDetHoleSearchTool=tauInDetHoleSearchTool)
        ToolSvc += MyInDetTrackSummaryTool

        from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
        InDetConversionVxFitterTool = Trk__TrkVKalVrtFitter(
            name="InDetConversionVxFitter" + name,
            Extrapolator=theAtlasExtrapolator,
            #                                        Extrapolator        = "Trk::Extrapolator/AtlasExtrapolator",
            IterationNumber=30,
            MakeExtendedVertex=True,
            FirstMeasuredPoint=False,

            #                                        MagFieldSvc         = InDetMagField,
            ##                                       MagFieldSvc="Trk::MagneticFieldTool/InDetMagField",
            #                                        AtlasMagFieldSvc="myAtlasFieldSvc",
            Robustness=6,
            usePhiCnst=True,
            useThetaCnst=True,
            FirstMeasuredPointLimit=True,
            InputParticleMasses=[0.511, 0.511],
            VertexForConstraint=[0., 0., 0.],
            CovVrtForConstraint=[
                0.015 * 0.015, 0., 0.015 * 0.015, 0., 0., 10000. * 10000.
            ])
        ToolSvc += InDetConversionVxFitterTool
        print InDetConversionVxFitterTool

        # Distance of minimum approach utility
        #
        from TrkVertexSeedFinderUtils.TrkVertexSeedFinderUtilsConf import Trk__SeedNewtonTrkDistanceFinder
        InDetConversionTrkDistanceFinder = Trk__SeedNewtonTrkDistanceFinder(
            name='InDetConversionTrkDistanceFinder' + name)
        ToolSvc += InDetConversionTrkDistanceFinder
        print InDetConversionTrkDistanceFinder

        # Straight line propagator needed to clean-up single track conversions
        #
        #        from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator

        # Helper Tool
        #
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__ConversionFinderUtils
        InDetConversionHelper = InDet__ConversionFinderUtils(
            name="InDetConversionFinderUtils" + name)
        ToolSvc += InDetConversionHelper
        print InDetConversionHelper

        # Track selector tool
        #
        from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetConversionTrackSelectorTool
        InDetConversionTrackSelector = InDet__InDetConversionTrackSelectorTool(
            name="InDetConversionTrackSelector" + name,
            TrackSummaryTool=MyInDetTrackSummaryTool,
            Extrapolator=theAtlasExtrapolator,
            maxSiD0=10000.,  #50.0,
            maxTrtD0=10000.,  #100.,
            maxSiZ0=10000.,  #350.0,
            maxTrtZ0=10000.,  #1400.,
            minPt=300,  #InDetNewTrackingCuts.minSecondaryPt()
            RatioCut1=0.0,  #0.5,
            RatioCut2=0.05,
            RatioCut3=0.05,
            RatioTRT=0.05,
            IsConversion=True,
            significanceD0_Si=-1.,
            RatioV0=-1.)

        ToolSvc += InDetConversionTrackSelector
        print InDetConversionTrackSelector

        # Track pairs selector
        #
        ## There are many tunings on Oct 5
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__TrackPairsSelector
        InDetConversionTrackPairsSelector = InDet__TrackPairsSelector(
            name="InDetConversionTrackPairsSelector" + name,
            ConversionFinderHelperTool=InDetConversionHelper,
            DistanceTool=InDetConversionTrkDistanceFinder,
            #                             MaxEta                     = [0.12,10000.,10000.],      #[0.5,1.0,0.5])
            MaxEta=[0.15, 0.3, 0.5],  #[0.5,1.0,0.5])
            #                             MaxDistBetweenTracks       = [6.6,10000.,10000.],     #[6.,80.,30.]
            MaxDistBetweenTracks=[7.5, 15., 30.],  #[6.,80.,30.]
            MaxInitDistance=[10000., 10000., 10000.],
            MinTrackAngle=0.)
        ToolSvc += InDetConversionTrackPairsSelector
        print InDetConversionTrackPairsSelector

        # Vertex point estimator
        #
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__VertexPointEstimator
        InDetConversionVtxPointEstimator = InDet__VertexPointEstimator(
            name="InDetConversionVtxPointEstimator" + name,
            MaxTrkXYDiffAtVtx=[10000., 10000., 10000.],
            MaxTrkZDiffAtVtx=[10000., 10000., 10000.],
            MaxTrkXYValue=[10000., 10000., 10000.],
            MinArcLength=[-10000., -10000., -10000.],
            MaxArcLength=[10000., 10000., 10000.],
            MinDeltaR=[-5., -25., -50.],
            #                                   MaxDeltaR              = [10000.,10000.,10000.],
            MaxDeltaR=[5., 10., 10.],
            #                                   MaxHl                  = [10000.,10000.,10000.],
            #                                   MaxPhi                 = [0.034, 10000., 10000.] #[0.05, 0.1, 0.1]
            #                                   MaxPhi                 = [ 10000., 10000., 10000.]
            MaxPhi=[0.05, 0.1, 0.2])
        ToolSvc += InDetConversionVtxPointEstimator
        print InDetConversionVtxPointEstimator

        # Conversion post selector
        #
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__ConversionPostSelector
        InDetConversionPostSelector = InDet__ConversionPostSelector(
            name="InDetConversionPostSelector" + name,
            #                                      MaxChi2Vtx       = [10000.,10000.,10000.],   #[40.,100.,80.],
            MaxChi2Vtx=[500., 700., 900.],  #[40.,100.,80.],
            #                                      MaxInvariantMass = [45.,25000.,25000.],     #[60.,60.,30.],
            MaxInvariantMass=[350., 400., 500.],  #[60.,60.,30.],
            MinFitMomentum=[0., 0., 0.],  #[2000.,2000.,2000.],
            MinRadius=[21, 20., 15.],  #[30.,35.,250.],
            #                                      MinRadius        = [ -10000.0, -10000.0, -10000.0 ],  #[30.,35.,250.],
            MinPt=0.,
            #                                      MaxdR            = 10000.,               #-250.,
            ## equivalent to InDetConversionFinderTools.MaxDistVtxHit
            MaxdR=-10000.,  #-250.,
            #                                      MaxPhiVtxTrk     = 0.046   #0.2
            MaxPhiVtxTrk=0.05)
        ToolSvc += InDetConversionPostSelector
        print InDetConversionPostSelector

        # Single track conversion tool
        #
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__SingleTrackConversionTool
        InDetSingleTrackConversion = InDet__SingleTrackConversionTool(
            name="InDetSingleTrackConversionTool" + name,
            ConversionFinderHelperTool=InDetConversionHelper,
            TrackSummaryTool=MyInDetTrackSummaryTool,
            Extrapolator=theAtlasExtrapolator,
            MaxBLayerHits=0,
            MinInitialHitRadius=70.,
            MinInitialHitRadius_noBlay=90.,
            MinRatioOfHLhits=0.95)
        ToolSvc += InDetSingleTrackConversion
        print InDetSingleTrackConversion
        ## Oct 5, following egamma
        from InDetConversionFinderTools.InDetConversionFinderToolsConf import InDet__InDetConversionFinderTools
        MyInDetConversionFinderTools = InDet__InDetConversionFinderTools(
            name="InDetConversionFinderTools" + name,
            VertexFitterTool=InDetConversionVxFitterTool,
            TrackSelectorTool=InDetConversionTrackSelector,
            TrackPairsSelector=InDetConversionTrackPairsSelector,
            ConversionFinderHelperTool=InDetConversionHelper,
            VertexPointEstimator=InDetConversionVtxPointEstimator,
            PostSelector=InDetConversionPostSelector,
            SingleTrackConversionTool=InDetSingleTrackConversion,
            Extrapolator=theAtlasExtrapolator,
            TrackParticleCollection="InDetTrackParticles",
            #                                                MinDistVtxHit              = -10000.,
            MinDistVtxHit=-350.,
            MaxDistVtxHit=230.,
            MinFlightAngle=0.0,
            MinInitVtxR=0.0,
            RemoveTrtTracks=False,
            IsConversion=True)
        ToolSvc += MyInDetConversionFinderTools
        print MyInDetConversionFinderTools

        from tauRecTools.tauRecToolsConf import PhotonConversionVertex
        photonConv = PhotonConversionVertex(
            name="PhotonConversionVertex",
            TauRecContainer="TauJets",
            TrackParticleContainer="InDetTrackParticles",
            OutputConversionVertexContainerName="ConversionsVertex_Container",
            MaxTauJetDr=0.5,
            ConversionFinderTool=MyInDetConversionFinderTools)

        return photonConv

    else:
        from tauRecTools.tauRecToolsConf import PhotonConversionPID
        photonConv = PhotonConversionPID(
            ConversionCandidatesName="ConversionCandidate",
            ConversionOutputName="ConversionsPID_Container",
            ElectronProbability=0.9)
        return photonConv
예제 #6
0
    def __init__(self,name = 'AtlasTrackSummaryTool'):
        from AthenaCommon.AppMgr import ToolSvc        

        #
        # Setup Atlas Extrapolator
        #
        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
        AtlasExtrapolator = AtlasExtrapolator()
        ToolSvc += AtlasExtrapolator
        
        #
        # Setup Association Tool
        #
        from InDetAssociationTools.InDetAssociationToolsConf import InDet__InDetPRD_AssociationToolGangedPixels
        AtlasPrdAssociationTool = InDet__InDetPRD_AssociationToolGangedPixels(
                                                                              name                           = "AtlasPrdAssociationTool",
                                                                              PixelClusterAmbiguitiesMapName = "PixelClusterAmbiguitiesMap"
                                                                             )
        ToolSvc += AtlasPrdAssociationTool
        #print      AtlasPrdAssociationTool
    
        # 
        # Setup Boundary Check Tool
        #
        from InDetBoundaryCheckTool.InDetBoundaryCheckToolConf import InDet__InDetBoundaryCheckTool
        AtlasBoundaryCheckTool = InDet__InDetBoundaryCheckTool(
            name="AtlasBoundaryCheckTool",
            UsePixel      = DetFlags.haveRIO.pixel_on(),
            UseSCT        = DetFlags.haveRIO.SCT_on()
        )
        ToolSvc += AtlasBoundaryCheckTool
    
        #
        # Loading Configurable HoleSearchTool
        #
        from InDetTrackHoleSearch.InDetTrackHoleSearchConf import InDet__InDetTrackHoleSearchTool
        AtlasHoleSearchTool = InDet__InDetTrackHoleSearchTool(name = "AtlasHoleSearchTool",
                                                              Extrapolator = AtlasExtrapolator,
                                                              BoundaryCheckTool=AtlasBoundaryCheckTool
                                                              )
        ToolSvc += AtlasHoleSearchTool
        #print      AtlasHoleSearchTool
        
        #
        # Configrable version of loading the AtlasTrackSummaryHelperTool
        #
        from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
        if DetFlags.haveRIO.TRT_on():
            AtlasTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
                name         = "AtlasTrackSummaryHelperTool",
                HoleSearch   = AtlasHoleSearchTool,
                AssoTool     = AtlasPrdAssociationTool,
                DoSharedHits = False
                )
        else:
            AtlasTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
                name         = "AtlasTrackSummaryHelperTool",
                HoleSearch   = AtlasHoleSearchTool,
                AssoTool     = AtlasPrdAssociationTool,
                DoSharedHits = False,
                TRTStrawSummarySvc = ""
                )     
            
        ToolSvc += AtlasTrackSummaryHelperTool
        #print      AtlasTrackSummaryHelperTool                                                                   
        
        #
        # Configurable version of TrkTrackSummaryTool
        #
        from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
        AtlasTrackSummaryTool = Trk__TrackSummaryTool(
                                                     )
        # call the base class constructor
        Trk__TrackSummaryTool.__init__(self, name = name,
                                             InDetSummaryHelperTool = AtlasTrackSummaryHelperTool,
                                             doHolesOnTrack    = True,
                                             doSharedHits      = AtlasTrackSummaryHelperTool.DoSharedHits
                                      )
예제 #7
0
from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRTStrawStatusSummaryTool

InDetTrigTrackSummaryHelperToolCosmics = \
    InDet__InDetTrackSummaryHelperTool(name = "InDetTrigSummaryHelperCosmics",
                                       HoleSearch   = InDetTrigHoleSearchTool,
                                       TRTStrawSummarySvc=InDetTrigTRTStrawStatusSummaryTool,
                                       DoSharedHits = False)
ToolSvc += InDetTrigTrackSummaryHelperToolCosmics

if (InDetTrigFlags.doPrintConfigurables()):
    print(InDetTrigTrackSummaryHelperToolCosmics)

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrigTrackSummaryToolCosmics = \
    Trk__TrackSummaryTool(name = "InDetTrigTrackSummaryToolCosmics",
                          InDetSummaryHelperTool = InDetTrigTrackSummaryHelperToolCosmics,
                          doHolesInDet           = True)
ToolSvc += InDetTrigTrackSummaryToolCosmics
if (InDetTrigFlags.doPrintConfigurables()):
    print(InDetTrigTrackSummaryToolCosmics)

from InDetTrackScoringTools.InDetTrackScoringToolsConf import InDet__InDetCosmicScoringTool
InDetTrigScoringToolCosmics_SiPattern = \
    InDet__InDetCosmicScoringTool(name = 'InDetTrigCosmicScoringTool_SiPattern',
                                  SummaryTool  = InDetTrigTrackSummaryToolCosmics)

InDetTrigScoringToolCosmics_SiPattern.nWeightedClustersMin = EFIDTrackingCutsCosmics.nWeightedClustersMin(
)
InDetTrigScoringToolCosmics_SiPattern.minTRTHits = 0
ToolSvc += InDetTrigScoringToolCosmics_SiPattern
from InDetTrigRecExample.InDetTrigConditionsAccess import TRT_ConditionsSetup

InDetTrigTrackSummaryHelperToolCosmics = \
    InDet__InDetTrackSummaryHelperTool(name = "InDetTrigSummaryHelperCosmics",
                                       HoleSearch   = InDetTrigHoleSearchTool,
                                       TRTStrawSummarySvc=TRT_ConditionsSetup.instanceName('InDetTRTStrawStatusSummarySvc'),
                                       DoSharedHits = False)
ToolSvc += InDetTrigTrackSummaryHelperToolCosmics

if (InDetTrigFlags.doPrintConfigurables()):
    print InDetTrigTrackSummaryHelperToolCosmics

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrigTrackSummaryToolCosmics = \
    Trk__TrackSummaryTool(name = "InDetTrigTrackSummaryToolCosmics",
                          InDetSummaryHelperTool = InDetTrigTrackSummaryHelperToolCosmics,
                          InDetHoleSearchTool    = InDetTrigHoleSearchTool)
ToolSvc += InDetTrigTrackSummaryToolCosmics
if (InDetTrigFlags.doPrintConfigurables()):
    print InDetTrigTrackSummaryToolCosmics

from InDetTrackScoringTools.InDetTrackScoringToolsConf import InDet__InDetCosmicScoringTool
InDetTrigScoringToolCosmics_SiPattern = \
    InDet__InDetCosmicScoringTool(name = 'InDetTrigCosmicScoringTool_SiPattern',
                                  SummaryTool  = InDetTrigTrackSummaryToolCosmics)

InDetTrigScoringToolCosmics_SiPattern.nWeightedClustersMin = EFIDTrackingCutsCosmics.nWeightedClustersMin(
)
InDetTrigScoringToolCosmics_SiPattern.minTRTHits = 0
ToolSvc += InDetTrigScoringToolCosmics_SiPattern
예제 #9
0
						      CountDeadModulesAfterLastHit = CountDeadModulesAfterLastHit)	
ToolSvc += InDetHoleSearchTool

from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
InDetTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(name         = "TrigBphysInDetSummaryHelper",
                                                                 AssoTool     = InDetPrdAssociationTool,
                                                                 DoSharedHits = False,
                                                                 HoleSearch   = InDetHoleSearchTool,
                                                                 usePixel      = DetFlags.haveRIO.pixel_on(),
                                                                 useSCT        = DetFlags.haveRIO.SCT_on(),
                                                                 useTRT        = DetFlags.haveRIO.TRT_on())
ToolSvc += InDetTrackSummaryHelperTool

from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrackSummaryTool = Trk__TrackSummaryTool(name = "TrigBphysInDetTrackSummaryTool",
                                              InDetSummaryHelperTool = InDetTrackSummaryHelperTool,
                                              doSharedHits           = False,
                                              InDetHoleSearchTool    = InDetHoleSearchTool)
ToolSvc += InDetTrackSummaryTool

# =====================================================
# THIS IS WHERE THE USER CONTROLS MAIN TRACK SELECTIONS
# =====================================================
from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
InDetTrackSelectorTool = InDet__InDetDetailedTrackSelectorTool(name = "TrigBphysInDetDetailedTrackSelectorTool",
                                                               pTMin                = 400.0,
                                                               IPd0Max              = 10000.0,
                                                               IPz0Max              = 10000.0,
                                                               z0Max                = 10000.0,
                                                               sigIPd0Max           = 10000.0,
                                                               sigIPz0Max           = 10000.0,
                                                               d0significanceMax    = -1.,
예제 #10
0
___author___ = "Jiri Masik"
___version___ = "$Id: TrigInDetRecCommonTools.py 724055 2016-02-15 17:43:24Z masik $"

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


from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackSummaryHelperTool,\
    InDetTrigTrackSummaryHelperToolSharedHits,InDetTrigTRT_ElectronPidTool


from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrigFastTrackSummaryTool = Trk__TrackSummaryTool(name = "InDetTrigFastTrackSummaryTool",
                                                      InDetSummaryHelperTool = InDetTrigTrackSummaryHelperTool,
                                                      InDetHoleSearchTool    = None,
                                                      doSharedHits           = False,
                                                      TRT_ElectronPidTool    = None
                                                      )
ToolSvc += InDetTrigFastTrackSummaryTool
if (InDetTrigFlags.doPrintConfigurables()):
    print      InDetTrigFastTrackSummaryTool


from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigHoleSearchTool
InDetTrigTrackSummaryToolWithHoleSearch = Trk__TrackSummaryTool(name = "InDetTrigTrackSummaryToolWithHoleSearch",
                                                                InDetSummaryHelperTool = InDetTrigTrackSummaryHelperTool,
                                                                InDetHoleSearchTool    = InDetTrigHoleSearchTool,
                                                                doSharedHits           = False,
                                                                TRT_ElectronPidTool    = None
                                                      )
ToolSvc += InDetTrigTrackSummaryToolWithHoleSearch
예제 #11
0
    def __init__(self, name="ConfiguredFTK_DataProviderSvc"):
        print "In FTK_DataProviderSvc_Config.py"
        FTK_DataProviderSvc.__init__(self, name)
        # Track Fitter
        from TrkGlobalChi2Fitter.TrkGlobalChi2FitterConf import Trk__GlobalChi2Fitter
        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigExtrapolator, InDetTrigNavigator, InDetTrigPropagator, InDetTrigRefitRotCreator,InDetTrigBroadInDetRotCreator, \
             InDetTrigUpdator, InDetTrigMaterialUpdator, InDetTrigUpdator, InDetTrigMaterialUpdator
        from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc

        from TrkDistributedKalmanFilter.DistributedKalmanFilter_Config import ConfiguredDistributedKalmanFilter

        FTK_TrackFitter = Trk__GlobalChi2Fitter(
            name="FTK_TrackFitter",
            ExtrapolationTool=InDetTrigExtrapolator,
            NavigatorTool=InDetTrigNavigator,
            PropagatorTool=InDetTrigPropagator,
            RotCreatorTool=InDetTrigRefitRotCreator,
            BroadRotCreatorTool=InDetTrigBroadInDetRotCreator,
            MeasurementUpdateTool=InDetTrigUpdator,
            TrackingGeometrySvc=AtlasTrackingGeometrySvc,
            MaterialUpdateTool=InDetTrigMaterialUpdator,
            StraightLine=False,
            OutlierCut=4,
            SignedDriftRadius=True,
            RecalibrateSilicon=True,
            RecalibrateTRT=True,
            ReintegrateOutliers=True,
            TrackChi2PerNDFCut=7,
            TRTExtensionCuts=False,
            MaxIterations=40,
            Acceleration=True,
            Momentum=1000.,
        )
        from AthenaCommon.AppMgr import ToolSvc

        print "printing FTK_TrackFitter configured with DKF"
        print FTK_TrackFitter
        ToolSvc += FTK_TrackFitter
        print "added FTK_TrackFitter to ToolSvc"

        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigExtrapolator, InDetTrigTrackSelectorTool, InDetTrigHoleSearchTool
        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackSummaryToolSharedHits, InDetTrigPrdAssociationTool

        from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
        FTK_TrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
            name="FTK_TrackSummaryHelperTool",
            AssoTool=InDetTrigPrdAssociationTool,
            DoSharedHits=False,
            HoleSearch=InDetTrigHoleSearchTool,
            TestBLayerTool=None,
            PixelToTPIDTool=None,
            usePixel=True,
            useSCT=True,
            useTRT=False)

        ToolSvc += FTK_TrackSummaryHelperTool
        print "added FTK_TrackSummaryHelperTool to ToolSvc"

        from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
        FTK_TrackSummaryTool = Trk__TrackSummaryTool(
            name="FTK_TrackSummaryTool",
            InDetSummaryHelperTool=FTK_TrackSummaryHelperTool,
            InDetHoleSearchTool=None,
            doSharedHits=False,
            TRT_ElectronPidTool=None)
        ToolSvc += FTK_TrackSummaryTool
        print "added FTK_TrackSummaryTool to ToolSvc"

        from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool

        FTK_TrackParticleCreatorTool = Trk__TrackParticleCreatorTool(
            name="FTK_ParticleCreatorTool",
            Extrapolator=InDetTrigExtrapolator,
            TrackSummaryTool=FTK_TrackSummaryTool,
            KeepParameters=True,
            ForceTrackSummaryUpdate=
            False,  #summary update moved (in the slimmer now)
        )

        ToolSvc += FTK_TrackParticleCreatorTool
        print FTK_TrackParticleCreatorTool
        print " added FTK_TrackParticleCreatorTool to ToolSvc"

        from TrigInDetConf.TrigInDetRecVtxTools import InDetTrigLinFactory, InDetTrigVxEdmCnv
        from TrigInDetConf.TrigInDetRecVtxTools import InDetTrigLinFactory, InDetTrigVxEdmCnv

        from TrkVertexSeedFinderTools.TrkVertexSeedFinderToolsConf import Trk__ZScanSeedFinder
        FTK_VtxSeedFinder = Trk__ZScanSeedFinder(
            name="FTK_ZScanSeedFinder"
            #Mode1dFinder = # default, no setting needed
        )
        ToolSvc += FTK_VtxSeedFinder

        from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__ImpactPoint3dEstimator, Trk__DetAnnealingMaker

        FTK_ImpactPoint3dEstimator = Trk__ImpactPoint3dEstimator(
            name="FTK_TrkImpactPoint3dEstimator",
            Extrapolator=InDetTrigExtrapolator,
        )

        ToolSvc += FTK_ImpactPoint3dEstimator

        FTK_AnnealingMaker = Trk__DetAnnealingMaker(
            name="FTK_TrkAnnealingMaker")
        FTK_AnnealingMaker.SetOfTemperatures = [64., 16., 4., 2., 1.5,
                                                1.]  # not default
        ToolSvc += FTK_AnnealingMaker

        from TrkVertexFitters.TrkVertexFittersConf import Trk__SequentialVertexSmoother
        FTK_VertexSmoother = Trk__SequentialVertexSmoother(
            name="FTK_SequentialVertexSmoother")
        ToolSvc += FTK_VertexSmoother

        from TrkVertexFitters.TrkVertexFittersConf import Trk__AdaptiveVertexFitter
        FTK_VxFitterTool = Trk__AdaptiveVertexFitter(
            name="FTK_AdaptiveVxFitterTool",
            SeedFinder=FTK_VtxSeedFinder,
            LinearizedTrackFactory=InDetTrigLinFactory,
            ImpactPoint3dEstimator=FTK_ImpactPoint3dEstimator,
            AnnealingMaker=FTK_AnnealingMaker,
            #TrackCompatibilityEstimator =
            VertexSmoother=FTK_VertexSmoother,
            #VertexUpdator = ,  #does not use any tools?
            #onlyzseed = ,
        )

        FTK_VxFitterTool.XAODConverter = InDetTrigVxEdmCnv
        ToolSvc += FTK_VxFitterTool

        from InDetPriVxFinderTool.InDetPriVxFinderToolConf import InDet__InDetIterativePriVxFinderTool
        FTK_PriVxFinderTool = InDet__InDetIterativePriVxFinderTool(
            name="FTK_PriVxFinderTool",
            VertexFitterTool=FTK_VxFitterTool,
            TrackSelector=InDetTrigTrackSelectorTool,
            SeedFinder=FTK_VtxSeedFinder,
            ImpactPoint3dEstimator=FTK_ImpactPoint3dEstimator,
            LinearizedTrackFactory=InDetTrigLinFactory,
            useBeamConstraint=True,
            significanceCutSeeding=12,
            maximumChi2cutForSeeding=49,
            maxVertices=200,
            InternalEdmFactory=InDetTrigVxEdmCnv)
        ToolSvc += FTK_PriVxFinderTool

        from FTK_DataProviderSvc.FTK_DataProviderSvcConf import FTK_UncertaintyTool
        theFTK_UncertaintyTool = FTK_UncertaintyTool(
            name="FTK_UncertaintyTool")
        ToolSvc += theFTK_UncertaintyTool

        from FTK_RecTools.FTK_RecToolsConf import FTK_VertexFinderTool
        FTK_RawVertexFinderTool = FTK_VertexFinderTool(
            name="FTK_RawVertexFinderTool",
            VertexInternalEdmFactory=InDetTrigVxEdmCnv)
        ToolSvc += FTK_RawVertexFinderTool

        self.TrackCollectionName = "FTK_TrackCollection"
        self.TrackParticleContainerName = "FTK_TrackParticleContainer"
        self.VxContainerName = "FTK_VxContainer"
        self.VertexContainerName = "FTK_VertexContainer"
        self.PixelTruthName = "FTK_PRD_MultiTruthPixel"
        self.SctTruthName = "FTK_PRD_MultiTruthSCT"
        self.PixelClusterContainerName = "FTK_PixelClusterContainer"
        self.SCT_ClusterContainerName = "FTK_SCT_ClusterContainer"

        self.TrackFitter = FTK_TrackFitter
        self.UncertaintyTool = theFTK_UncertaintyTool
        self.TrackSummaryTool = FTK_TrackSummaryTool
        self.TrackParticleCreatorTool = FTK_TrackParticleCreatorTool
        self.RawVertexFinderTool = FTK_RawVertexFinderTool
        self.VertexFinderTool = FTK_PriVxFinderTool
        from RecExConfig.RecFlags import rec

        self.doTruth = rec.doTruth()
        self.TrainingBeamspotX = 0.0
        self.TrainingBeamspotY = 0.0
        self.TrainingBeamspotZ = 0.0
        self.TrainingBeamspotTiltX = 0.0
        self.TrainingBeamspotTiltY = 0.0
        self.PixelBarrelPhiOffsets = [0.0, 0.0, 0.0, 0.0]
        self.PixelBarrelEtaOffsets = [0.0, 0.0, 0.0, 0.0]
        self.PixelEndCapPhiOffsets = [0.0, 0.0, 0.0]
        self.PixelEndCapEtaOffsets = [0.0, 0.0, 0.0]
예제 #12
0
    def __init__(self, name="EMBremCollectionBuilder", **kw):
        mlog = logging.getLogger(name + '::__init__')
        mlog.info("entering")

        super(egammaBremCollectionBuilder, self).__init__(name, **kw)

        # do the configuration
        import egammaRec.EMCommonRefitter
        GSFBuildInDetExtrapolator = egammaExtrapolator()

        from egammaTrackTools.egammaTrackToolsConf import egammaTrkRefitterTool
        GSFRefitterTool = egammaTrkRefitterTool(
            name='GSFRefitterTool',
            FitterTool=egammaRec.EMCommonRefitter.GSFTrackFitter,
            useBeamSpot=False,
            ReintegrateOutliers=True)
        from AthenaCommon.AppMgr import ToolSvc
        ToolSvc += GSFRefitterTool

        # ----------- load association tool from Inner Detector to handle pixel ganged ambiguities
        #
        from InDetAssociationTools.InDetAssociationToolsConf import InDet__InDetPRD_AssociationToolGangedPixels
        GSFBuildInDetPrdAssociationTool = InDet__InDetPRD_AssociationToolGangedPixels(
            name="GSFBuildInDetPrdAssociationTool",
            PixelClusterAmbiguitiesMapName='PixelClusterAmbiguitiesMap')
        ToolSvc += GSFBuildInDetPrdAssociationTool
        #
        # ----------- Load SummaryTool
        #
        # Loading Configurable HoleSearchTool
        #
        from InDetTrackHoleSearch.InDetTrackHoleSearchConf import InDet__InDetTrackHoleSearchTool
        GSFBuildHoleSearchTool = InDet__InDetTrackHoleSearchTool(
            name="GSFBuildHoleSearchTool",
            Extrapolator=GSFBuildInDetExtrapolator,
            usePixel=DetFlags.haveRIO.pixel_on(),
            useSCT=DetFlags.haveRIO.SCT_on(),
            checkBadSCTChip=InDetFlags.checkDeadElementsOnTrack(),
            CountDeadModulesAfterLastHit=True)

        from AthenaCommon.AppMgr import ServiceMgr
        if (DetFlags.haveRIO.SCT_on()):
            from SCT_ConditionsServices.SCT_ConditionsServicesConf import SCT_ConditionsSummarySvc
            InDetSCT_ConditionsSummarySvc = SCT_ConditionsSummarySvc(
                name="InDetSCT_ConditionsSummarySvc")
            ServiceMgr += InDetSCT_ConditionsSummarySvc
            GSFBuildHoleSearchTool.SctSummarySvc = ServiceMgr.InDetSCT_ConditionsSummarySvc
        else:
            GSFBuildHoleSearchTool.SctSummarySvc = None

        ToolSvc += GSFBuildHoleSearchTool
        #
        # Load BLayer tool
        #
        GSFBuildTestBLayerTool = None
        if DetFlags.haveRIO.pixel_on():
            from InDetTestBLayer.InDetTestBLayerConf import InDet__InDetTestBLayerTool
            from PixelConditionsServices.PixelConditionsServicesConf import PixelConditionsSummarySvc
            ServiceMgr += PixelConditionsSummarySvc()
            GSFBuildTestBLayerTool = InDet__InDetTestBLayerTool(
                name="GSFBuildTestBLayerTool",
                PixelSummarySvc=ServiceMgr.PixelConditionsSummarySvc,
                Extrapolator=GSFBuildInDetExtrapolator)
            ToolSvc += GSFBuildTestBLayerTool

        # Configurable version of TRT_ElectronPidTools
        #
        GSFBuildTRT_ElectronPidTool = None
        if DetFlags.haveRIO.TRT_on(
        ) and not InDetFlags.doSLHC() and not InDetFlags.doHighPileup():

            from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_LocalOccupancy
            GSFBuildTRT_LocalOccupancy = InDet__TRT_LocalOccupancy(
                name="GSF_TRT_LocalOccupancy")
            ToolSvc += GSFBuildTRT_LocalOccupancy

            from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_ElectronPidToolRun2
            GSFBuildTRT_ElectronPidTool = InDet__TRT_ElectronPidToolRun2(
                name="GSFBuildTRT_ElectronPidTool",
                TRT_LocalOccupancyTool=GSFBuildTRT_LocalOccupancy,
                isData=(globalflags.DataSource == 'data'))

            ToolSvc += GSFBuildTRT_ElectronPidTool

        #
        # Configurable version of PixelToTPIDTOol
        #
        GSFBuildPixelToTPIDTool = None
        if DetFlags.haveRIO.pixel_on():
            from PixelToTPIDTool.PixelToTPIDToolConf import InDet__PixelToTPIDTool
            GSFBuildPixelToTPIDTool = InDet__PixelToTPIDTool(
                name="GSFBuildPixelToTPIDTool")
            GSFBuildPixelToTPIDTool.ReadFromCOOL = True
            ToolSvc += GSFBuildPixelToTPIDTool
        #
        # Configrable version of loading the InDetTrackSummaryHelperTool
        #
        from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
        GSFBuildTrackSummaryHelperTool = InDet__InDetTrackSummaryHelperTool(
            name="GSFBuildTrackSummaryHelperTool",
            AssoTool=GSFBuildInDetPrdAssociationTool,
            PixelToTPIDTool=GSFBuildPixelToTPIDTool,
            TestBLayerTool=GSFBuildTestBLayerTool,
            DoSharedHits=False,
            HoleSearch=GSFBuildHoleSearchTool,
            usePixel=DetFlags.haveRIO.pixel_on(),
            useSCT=DetFlags.haveRIO.SCT_on(),
            useTRT=DetFlags.haveRIO.TRT_on())
        ToolSvc += GSFBuildTrackSummaryHelperTool
        #
        # Configurable version of TrkTrackSummaryTool: no TRT_PID tool needed here (no shared hits)
        #
        from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
        GSFBuildInDetTrackSummaryTool = Trk__TrackSummaryTool(
            name="GSFBuildInDetTrackSummaryTool",
            InDetSummaryHelperTool=GSFBuildTrackSummaryHelperTool,
            doSharedHits=False,
            InDetHoleSearchTool=GSFBuildHoleSearchTool,
            TRT_ElectronPidTool=GSFBuildTRT_ElectronPidTool,
            PixelToTPIDTool=GSFBuildPixelToTPIDTool)
        ToolSvc += GSFBuildInDetTrackSummaryTool
        #
        # --- load patricle creator tool
        #
        from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool
        GSFBuildInDetParticleCreatorTool = Trk__TrackParticleCreatorTool(
            name="GSFBuildInDetParticleCreatorTool",
            KeepParameters=True,
            Extrapolator=GSFBuildInDetExtrapolator,
            TrackSummaryTool=GSFBuildInDetTrackSummaryTool,
            UseTrackSummaryTool=False,
            ForceTrackSummaryUpdate=False)
        ToolSvc += GSFBuildInDetParticleCreatorTool
        #
        # --- do track slimming
        #
        from TrkTrackSlimmingTool.TrkTrackSlimmingToolConf import Trk__TrackSlimmingTool as ConfigurableTrackSlimmingTool
        GSFBuildInDetTrkSlimmingTool = ConfigurableTrackSlimmingTool(
            name="GSFBuildInDetTrackSlimmingTool",
            KeepParameters=False,
            KeepOutliers=True)
        ToolSvc += GSFBuildInDetTrkSlimmingTool

        # do the configuration
        self.ClusterContainerName = "LArClusterEM"
        from InDetRecExample.InDetKeys import InDetKeys
        self.TrackParticleContainerName = InDetKeys.xAODTrackParticleContainer(
        )
        self.OutputTrkPartContainerName = "GSFTrackParticles"
        self.OutputTrackContainerName = "GSFTracks"
        self.TrackRefitTool = GSFRefitterTool
        self.TrackParticleCreatorTool = GSFBuildInDetParticleCreatorTool
        self.TrackSlimmingTool = GSFBuildInDetTrkSlimmingTool
        self.TrackSummaryTool = GSFBuildInDetTrackSummaryTool

        # do the configuration (from old EMBremCollectionBuilderBase)
        self.minNoSiHits = 4
        self.broadDeltaEta = 0.1  # this is multiplied by 2 for the Candidate Match , so +- 0.2 in eta
        self.broadDeltaPhi = 0.15  # this is multiplied by 2 for the Candidate Match , so +- 0.3 in phi
        self.narrowDeltaEta = 0.05
        #These have to be relaxed enough for the conversions
        self.narrowDeltaPhi = 0.05
        self.narrowDeltaPhiBrem = 0.20  #Dominated by the needs of assymetric conversions
        self.narrowDeltaPhiRescale = 0.05
        self.narrowDeltaPhiRescaleBrem = 0.1
예제 #13
0
#                                                  OutputLevel = ERROR )
#ToolSvc +=TrigMuonEF_MCTBHitHandler

# START SUMMARY TOOL
# particle creation, Analysis::Muon building and CBNT filling need summary helpers
# indet and muon TrackSummaryHelper's: take existing public instances when available
from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool

MuonTrackSummaryHelperTool = MuonRecTools.getPublicTool(
    "MuonTrackSummaryHelper")

from AthenaCommon.DetFlags import DetFlags

if not DetFlags.detdescr.ID_on():
    MuidTrackSummaryTool = Trk__TrackSummaryTool(
        name="MuidTrackSummaryTool",
        MuonSummaryHelperTool=MuonTrackSummaryHelperTool,
        doSharedHits=False)
else:
    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackSummaryHelperTool, InDetTrigHoleSearchTool
    from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
    MuidTrackSummaryTool = Trk__TrackSummaryTool(
        name="MuidTrackSummaryTool",
        InDetSummaryHelperTool=InDetTrigTrackSummaryHelperTool,
        InDetHoleSearchTool=InDetTrigHoleSearchTool,
        MuonSummaryHelperTool=MuonTrackSummaryHelperTool,
        doSharedHits=False)

ToolSvc += MuidTrackSummaryTool

#END SUMMARY TOOL
예제 #14
0
from ISF_FatrasRecoTools.ISF_FatrasRecoToolsConf import iFatras__ISF_TrackSummaryHelperTool
ISF_TrackSummaryHelperTool = iFatras__ISF_TrackSummaryHelperTool(
    name="ISF_TrackSummaryHelperTool", AssoTool="", DoSharedHits=True)
ISF_TrackSummaryHelperTool.OutputLevel = OutputLevel  #VERBOSE
ToolSvc += ISF_TrackSummaryHelperTool
print ISF_TrackSummaryHelperTool

# @TODO does th  ISF_TrackSummaryHelperTool do hole search and if so is that intedned ?
from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
InDetTrackSummaryTool = Trk__TrackSummaryTool(
    name="InDetTrackSummaryTool",
    doSharedHits=True,
    InDetSummaryHelperTool=ISF_TrackSummaryHelperTool,
    AddDetailedInDetSummary=False,
    doHolesInDet=False,
    doHolesMuon=False,
    MuonSummaryHelperTool="",
    AddDetailedMuonSummary=False,
    TRT_ElectronPidTool="",
    PixelToTPIDTool="",
    PixelExists=True)
InDetTrackSummaryTool.OutputLevel = OutputLevel  #VERBOSE
ToolSvc += InDetTrackSummaryTool
print InDetTrackSummaryTool

# --- the truth track creation algorithm
from InDetRecExample.TrackingCommon import getInDetPRDtoTrackMapToolGangedPixels
from TrkTruthTrackAlgs.TrkTruthTrackAlgsConf import Trk__TruthTrackCreation
InDetTruthTrackCreation = Trk__TruthTrackCreation(
    name='InDetTruthTrackCreation',
    PRD_TruthTrajectoryBuilder=ISF_PRD_TruthTrajectoryBuilder,
예제 #15
0
def makeInDetPrecisionTracking(whichSignature,
                               verifier=False,
                               inputFTFtracks='TrigFastTrackFinder_Tracks',
                               outputTrackPrefixName="HLT_ID",
                               rois='EMViewRoIs',
                               doTRTextension=True):

    ptAlgs = [
    ]  #List containing all the precision tracking algorithms hence every new added alg has to be appended to the list

    #-----------------------------------------------------------------------------
    #                        Naming conventions

    algNamePrefix = "InDetTrigMT"
    #If signature specified add suffix to the algorithms
    signature = "_" + whichSignature if whichSignature else ''

    #Name settings for output Tracks/TrackParticles
    #This first part is for ambiguity solver tracks
    nameAmbiTrackCollection = "%s%sTrkTrack%s" % (outputTrackPrefixName,
                                                  'AmbSol', signature)

    #Tracks from TRT extension
    nameExtTrackCollection = "%s%sTrkTrack%s" % (outputTrackPrefixName,
                                                 'TRText', signature)

    #Note IDTrig suffix as a key to specify that this collection comes from precision tracking rather than fast tracking (FTF)
    outPTTracks = "%sTrkTrack_%s_%s" % (outputTrackPrefixName,
                                        remapSuffix(whichSignature), 'IDTrig')
    outPTTrackParticles = "%sTrack_%s_%s" % (
        outputTrackPrefixName, remapSuffix(whichSignature), 'IDTrig')

    #Atm there are mainly two output track collections one from ambiguity solver stage and one from trt,
    #we want to have the output name of the track collection the same whether TRT was run or not,
    #e.g InDetTrigPT_Tracks_electron
    if doTRTextension is True:
        nameExtTrackCollection = outPTTracks
    else:
        nameAmbiTrackCollection = outPTTracks

    #-----------------------------------------------------------------------------
    #                        Verifying input data for the algorithms

    #If run in views need to check data dependancies!
    #NOTE: this seems necessary only when PT is called from a different view than FTF otherwise causes stalls
    if verifier:
        verifier.DataObjects += [
            ('InDet::PixelGangedClusterAmbiguities',
             'StoreGateSvc+' + TrigPixelKeys.PixelClusterAmbiguitiesMap),
            ('TrackCollection', 'StoreGateSvc+' + inputFTFtracks)
        ]

    from AthenaCommon.AppMgr import ToolSvc
    #-----------------------------------------------------------------------------
    #                        Choose track summary tool
    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackSummaryTool
    from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackSummaryHelperToolSharedHits, InDetTrigTRT_ElectronPidTool

    trigTrackSummaryTool = Trk__TrackSummaryTool(
        name="%sTrackSummaryToolSharedHitsWithTRT%s" %
        (algNamePrefix, signature),
        InDetSummaryHelperTool=InDetTrigTrackSummaryHelperToolSharedHits,
        doSharedHits=True,
        doHolesInDet=True)

    if doTRTextension:
        if "electron" in whichSignature or "tau" in whichSignature:
            trigTrackSummaryTool.TRT_ElectronPidTool = InDetTrigTRT_ElectronPidTool

        Parameter_config = True
        SummaryTool_config = trigTrackSummaryTool
    else:
        SummaryTool_config = InDetTrigTrackSummaryTool
        Parameter_config = False

    ToolSvc += SummaryTool_config

    #-----------------------------------------------------------------------------
    #                        Ambiguity solving stage

    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigExtrapolator
    from InDetTrackScoringTools.InDetTrackScoringToolsConf import InDet__InDetAmbiScoringTool
    InDetTrigAmbiScoringTool = InDet__InDetAmbiScoringTool(
        name='%sScoringTool%s' % (algNamePrefix, signature),
        Extrapolator=InDetTrigExtrapolator,
        doEmCaloSeed=False,
        SummaryTool=SummaryTool_config)

    ToolSvc += InDetTrigAmbiScoringTool

    #TODO: Need option to change scoring tool based on the slice (beamgas)

    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigAmbiTrackSelectionTool

    from InDetRecExample import TrackingCommon as TrackingCommon
    from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__DenseEnvironmentsAmbiguityScoreProcessorTool as ScoreProcessorTool
    InDetTrigAmbiguityScoreProcessor = ScoreProcessorTool(
        name='%sAmbiguityScoreProcessor%s' % (algNamePrefix, signature),
        ScoringTool=InDetTrigAmbiScoringTool,
        AssociationTool=TrackingCommon.
        getInDetTrigPRDtoTrackMapToolGangedPixels(),
        SelectionTool=InDetTrigAmbiTrackSelectionTool)

    from TrkAmbiguitySolver.TrkAmbiguitySolverConf import Trk__TrkAmbiguityScore
    InDetTrigAmbiguityScore = Trk__TrkAmbiguityScore(
        name='%sAmbiguityScore%s' % (algNamePrefix, signature),
        TrackInput=[inputFTFtracks],
        TrackOutput='ScoredMap' + signature,
        AmbiguityScoreProcessor=InDetTrigAmbiguityScoreProcessor)

    from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTrackFitter
    from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__SimpleAmbiguityProcessorTool as ProcessorTool
    InDetTrigMTAmbiguityProcessor = ProcessorTool(
        name='%sAmbiguityProcessor%s' % (algNamePrefix, signature),
        Fitter=InDetTrigTrackFitter,
        ScoringTool=InDetTrigAmbiScoringTool,
        AssociationTool=TrackingCommon.
        getInDetTrigPRDtoTrackMapToolGangedPixels(),
        TrackSummaryTool=SummaryTool_config,
        SelectionTool=InDetTrigAmbiTrackSelectionTool)

    ToolSvc += InDetTrigMTAmbiguityProcessor

    from TrkAmbiguitySolver.TrkAmbiguitySolverConf import Trk__TrkAmbiguitySolver
    InDetTrigMTAmbiguitySolver = Trk__TrkAmbiguitySolver(
        name='%sAmbiguitySolver%s' % (algNamePrefix, signature),
        TrackInput='ScoredMap' + signature,
        TrackOutput=nameAmbiTrackCollection,
        AmbiguityProcessor=InDetTrigMTAmbiguityProcessor)

    ptAlgs.extend([InDetTrigAmbiguityScore, InDetTrigMTAmbiguitySolver])
    if doTRTextension:

        proxySignature = whichSignature
        if "tau" in whichSignature:
            proxySignature = "tau"

        #-----------------------------------------------------------------------------
        #                        TRT data preparation
        from AthenaCommon.GlobalFlags import globalflags
        #Only add raw data decoders if we're running over raw data
        TRT_RDO_Key = "TRT_RDOs"
        if globalflags.InputFormat.is_bytestream():
            TRT_RDO_Key = TrigTRTKeys.RDOs
            from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
            InDetTRTRodDecoder = TRT_RodDecoder(
                name="%sTRTRodDecoder%s" % (algNamePrefix, signature),
                LoadCompressTableDB=True
            )  #(globalflags.DataSource() != 'geant4'))
            ToolSvc += InDetTRTRodDecoder

            from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
            InDetTRTRawDataProviderTool = TRTRawDataProviderTool(
                name="%sTRTRawDataProviderTool%s" % (algNamePrefix, signature),
                Decoder=InDetTRTRodDecoder)
            ToolSvc += InDetTRTRawDataProviderTool

            # load the TRTRawDataProvider
            from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
            InDetTRTRawDataProvider = TRTRawDataProvider(
                name="%sTRTRawDataProvider%s" % (algNamePrefix, signature),
                RDOKey=TrigTRTKeys.RDOs,
                ProviderTool=InDetTRTRawDataProviderTool)
            InDetTRTRawDataProvider.isRoI_Seeded = True
            InDetTRTRawDataProvider.RoIs = rois

            ptAlgs.append(InDetTRTRawDataProvider)

        #-----------------------------------------------------------------------------
        #                        TRT extension
        # Keep track that this needs to have a switch between DAF and XK
        # trkExtensionType = 'XK'
        # if InDetTrigFlags.trtExtensionType() is 'DAF' :

        from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRT_DriftCircleTool

        from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
        from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__TRT_RIO_Maker
        InDetTrigTRTRIOMaker = InDet__TRT_RIO_Maker(
            name="%sTRTDriftCircleMaker%s" % (algNamePrefix, signature),
            TRTRIOLocation=TrigTRTKeys.DriftCircles,
            TRTRDOLocation=TRT_RDO_Key,
            #EtaHalfWidth = InDetTrigSliceSettings[('etaHalfWidth',signature)],
            #PhiHalfWidth = InDetTrigSliceSettings[('phiHalfWidth',signature)],
            #doFullScan =   InDetTrigSliceSettings[('doFullScan',signature)],
            TRT_DriftCircleTool=InDetTrigTRT_DriftCircleTool)
        InDetTrigTRTRIOMaker.isRoI_Seeded = True
        InDetTrigTRTRIOMaker.RoIs = rois

        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigPatternPropagator, InDetTrigPatternUpdator
        from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCuts
        InDetTrigCutValues = EFIDTrackingCuts

        #from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigSiDetElementsRoadMaker, InDetTrigSiComTrackFinder

        # Condition algorithm for InDet__TRT_DetElementsRoadMaker_xk
        from AthenaCommon.AlgSequence import AthSequencer
        condSeq = AthSequencer("AthCondSeq")

        InDetTRTRoadAlgName = "%sTRT_DetElementsRoadCondAlg_xk" % (
            algNamePrefix)

        if not hasattr(condSeq, InDetTRTRoadAlgName):
            from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadCondAlg_xk

            # condSeq += InDet__TRT_DetElementsRoadCondAlg_xk(name = "%sTRT_DetElementsRoadCondAlg_xk%s"%(algNamePrefix, signature) )
            condSeq += InDet__TRT_DetElementsRoadCondAlg_xk(
                name=InDetTRTRoadAlgName)

        from TRT_DetElementsRoadTool_xk.TRT_DetElementsRoadTool_xkConf import InDet__TRT_DetElementsRoadMaker_xk
        InDetTrigTRTDetElementsRoadMaker = InDet__TRT_DetElementsRoadMaker_xk(
            name='%sTRTRoadMaker%s' % (algNamePrefix, signature),
            #DetectorStoreLocation = 'DetectorStore',
            #TRTManagerLocation    = 'TRT',
            MagneticFieldMode='MapSolenoid',
            PropagatorTool=InDetTrigPatternPropagator)

        ToolSvc += InDetTrigTRTDetElementsRoadMaker

        #TODO implement new configuration of circle cut
        from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigTRTDriftCircleCut
        from TRT_TrackExtensionTool_xk.TRT_TrackExtensionTool_xkConf import InDet__TRT_TrackExtensionTool_xk
        InDetTrigTRTExtensionTool = InDet__TRT_TrackExtensionTool_xk(
            name="%sTrackExtensionTool%s" % (algNamePrefix, signature),
            MagneticFieldMode='MapSolenoid',  # default
            TRT_ClustersContainer=TrigTRTKeys.DriftCircles,  # default
            TrtManagerLocation='TRT',  # default
            PropagatorTool=InDetTrigPatternPropagator,
            UpdatorTool=InDetTrigPatternUpdator,
            #RIOonTrackToolYesDr = # default for now
            #RIOonTrackToolNoDr  = # default for now
            RoadTool=InDetTrigTRTDetElementsRoadMaker,
            DriftCircleCutTool=InDetTrigTRTDriftCircleCut,
            MinNumberDriftCircles=EFIDTrackingCuts.minTRTonTrk(),
            ScaleHitUncertainty=2.,
            RoadWidth=20.,
            UseParameterization=EFIDTrackingCuts.useParameterizedTRTCuts())

        ToolSvc += InDetTrigTRTExtensionTool

        #          TODO add second option of track extension
        #                   elif InDetTrigFlags.trtExtensionType() is 'DAF' :

        from TRT_TrackExtensionAlg.TRT_TrackExtensionAlgConf import InDet__TRT_TrackExtensionAlg
        InDetTrigTRTextensionAlg = InDet__TRT_TrackExtensionAlg(
            name="%sTrackExtensionAlg%s" % (algNamePrefix, signature),
            InputTracksLocation=nameAmbiTrackCollection,
            TrackExtensionTool=InDetTrigTRTExtensionTool,
            ExtendedTracksLocation='ExtendedTrackMap')
        #-----------------------------------------------------------------------------
        #                        TRT processor

        #TODO: do I need a new fitter for this? Or can I use the same one?
        #TODO In Run2 option for cosmic
        #InDetTrigExtensionFitter = InDetTrigTrackFitter
        #from InDetTrackScoringTools.InDetTrackScoringToolsConf import InDet__InDetAmbiScoringTool
        InDetTrigExtScoringTool = InDet__InDetAmbiScoringTool(
            name='%sExtScoringTool%s' % (algNamePrefix, signature),
            Extrapolator=InDetTrigExtrapolator,
            SummaryTool=SummaryTool_config,
            useAmbigFcn=True,  # this is NewTracking  
            maxRPhiImp=InDetTrigCutValues.maxPrimaryImpact(),
            maxZImp=InDetTrigCutValues.maxZImpact(),
            maxEta=InDetTrigCutValues.maxEta(),
            minSiClusters=InDetTrigCutValues.minClusters(),
            maxSiHoles=InDetTrigCutValues.maxHoles(),
            maxDoubleHoles=InDetTrigCutValues.maxDoubleHoles(),
            usePixel=InDetTrigCutValues.usePixel(),
            useSCT=InDetTrigCutValues.useSCT(),
            doEmCaloSeed=False,
            minTRTonTrk=InDetTrigCutValues.minTRTonTrk(),
            #useSigmaChi2   = False # tuning from Thijs
            DriftCircleCutTool=InDetTrigTRTDriftCircleCut,
        )

        InDetTrigExtScoringTool.minPt = InDetTrigSliceSettings[(
            'pTmin', proxySignature)]

        ToolSvc += InDetTrigExtScoringTool

        from InDetExtensionProcessor.InDetExtensionProcessorConf import InDet__InDetExtensionProcessor
        InDetTrigExtensionProcessor = InDet__InDetExtensionProcessor(
            name="%sExtensionProcessor%s" % (algNamePrefix, signature),
            TrackName=nameAmbiTrackCollection,
            #Cosmics           = InDetFlags.doCosmics(),
            ExtensionMap='ExtendedTrackMap',
            NewTrackName=nameExtTrackCollection,
            TrackFitter=InDetTrigTrackFitter,
            TrackSummaryTool=SummaryTool_config,
            ScoringTool=
            InDetTrigExtScoringTool,  #TODO do I provide the same tool as for ambiguity solver?
            suppressHoleSearch=False)  # does not work properly
        #Check these option after DAF is implemented
        #tryBremFit         = InDetFlags.doBremRecovery(),
        #caloSeededBrem     = InDetFlags.doCaloSeededBrem(),
        #pTminBrem          = NewTrackingCuts.minPTBrem() )
        #RefitPrds          = not (InDetFlags.refitROT() or (InDetFlags.trtExtensionType() is 'DAF')))

        #InDetTRTExtension.OutputLevel = VERBOSE
        ptAlgs.extend([
            InDetTrigTRTRIOMaker, InDetTrigTRTextensionAlg,
            InDetTrigExtensionProcessor
        ])

    #-----------------------------------------------------------------------------
    #                      Track particle conversion algorithm
    #
    #
    """ Use the finalised track collection and convert it to container of xAOD Track Particles  """

    from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool
    InDetTrigMTxAODParticleCreatorTool = Trk__TrackParticleCreatorTool(
        name="%sxAODParticleCreatorTool%s" % (algNamePrefix, signature),
        Extrapolator=InDetTrigExtrapolator,
        KeepParameters=Parameter_config,
        #TrackSummaryTool = InDetTrigTrackSummaryToolSharedHits)
        TrackSummaryTool=SummaryTool_config)

    ToolSvc += InDetTrigMTxAODParticleCreatorTool
    log.debug(InDetTrigMTxAODParticleCreatorTool)

    from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__TrackCollectionCnvTool
    InDetTrigMTxAODTrackCollectionCnvTool = xAODMaker__TrackCollectionCnvTool(
        name="%sxAODTrackCollectionCnvTool%s" % (algNamePrefix, signature),
        TrackParticleCreator=InDetTrigMTxAODParticleCreatorTool)

    ToolSvc += InDetTrigMTxAODTrackCollectionCnvTool
    log.debug(InDetTrigMTxAODTrackCollectionCnvTool)

    #This one shouldn't be necessary
    #TODO: obsolete turn off
    from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__RecTrackParticleContainerCnvTool
    InDetTrigMTRecTrackParticleContainerCnvTool = xAODMaker__RecTrackParticleContainerCnvTool(
        name="%sRecTrackContainerCnvTool%s" % (algNamePrefix, signature),
        TrackParticleCreator=InDetTrigMTxAODParticleCreatorTool)

    ToolSvc += InDetTrigMTRecTrackParticleContainerCnvTool
    #print (InDetTrigMTRecTrackParticleContainerCnvTool)

    from TrigEDMConfig.TriggerEDMRun3 import recordable
    from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__TrackParticleCnvAlg
    InDetTrigMTxAODTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(
        name="%sxAODParticleCreatorAlg%s" % (algNamePrefix, signature),
        # Properties below are used for:  TrackCollection -> xAOD::TrackParticle
        ConvertTracks=
        True,  #Turn on  retrieve of TrackCollection, false by default
        TrackContainerName=outPTTracks,
        xAODTrackParticlesFromTracksContainerName=recordable(
            outPTTrackParticles),
        TrackCollectionCnvTool=InDetTrigMTxAODTrackCollectionCnvTool,
        ## Properties below are used for: Rec:TrackParticle, aod -> xAOD::TrackParticle (Turn off)
        ConvertTrackParticles=
        False,  # Retrieve of Rec:TrackParticle, don't need this atm
        xAODContainerName='',
        RecTrackParticleContainerCnvTool=
        InDetTrigMTRecTrackParticleContainerCnvTool,
        TrackParticleCreator=InDetTrigMTxAODParticleCreatorTool)

    #allViewAlgorithms += InDetTrigMTxAODTrackParticleCnvAlg
    log.debug(InDetTrigMTxAODTrackParticleCnvAlg)
    ptAlgs.append(InDetTrigMTxAODTrackParticleCnvAlg)

    #ToolSvc.InDetTrigHoleSearchTool.SctSummaryTool.InDetTrigInDetSCT_FlaggedConditionTool.SCT_FlaggedCondData = "SCT_FlaggedCondData_TRIG"

    #Potentialy other algs with more collections?
    #Might Drop the list in the end and keep just one output key
    nameTrackCollections = [outPTTracks]
    nameTrackParticles = [outPTTrackParticles]

    #Return list of Track keys, TrackParticle keys, and PT algs
    return nameTrackCollections, nameTrackParticles, ptAlgs