示例#1
0
def configureExtrapolator(egammaExtrapolator):

    # this turns off dynamic calculation of eloss in calorimeters
    egammaExtrapolator.DoCaloDynamic = False

    # all left to MaterialEffects/EnergyLossUpdators
    from TrkExTools.TrkExToolsConf import (Trk__MaterialEffectsUpdator as
                                           MaterialEffectsUpdator)

    egammaMaterialEffectsUpdator = MaterialEffectsUpdator(
        name='egammaMaterialEffectsUpdator')
    egammaNoElossMaterialEffectsUpdator = MaterialEffectsUpdator(
        name='egammaNoElossMaterialEffectsUpdator')
    egammaNoElossMaterialEffectsUpdator.EnergyLoss = False

    MyUpdators = []
    MyUpdators += [egammaMaterialEffectsUpdator]
    MyUpdators += [egammaNoElossMaterialEffectsUpdator]

    MySubUpdators = []
    MySubUpdators += [egammaMaterialEffectsUpdator.name()]  # for Global
    MySubUpdators += [egammaMaterialEffectsUpdator.name()]  # for ID
    MySubUpdators += [egammaMaterialEffectsUpdator.name()]  # for BeamPipe
    MySubUpdators += [egammaNoElossMaterialEffectsUpdator.name()]  # for Calo
    # for muon spectrometer
    MySubUpdators += [egammaNoElossMaterialEffectsUpdator.name()]
    MySubUpdators += [egammaMaterialEffectsUpdator.name()]  # for cavern

    # egamma RungeKutta Propagator
    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import (
        Trk__RungeKuttaPropagator as RkPropagator)
    egammaRungeKuttaPropagator = RkPropagator(
        name='egammaRungeKuttaPropagator')

    # egamma STEP_Propagator with no material effects
    from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import (
        Trk__STEP_Propagator as STEP_Propagator)
    egammaNoMatSTEP_Propagator = STEP_Propagator(
        name='egammaNoMatSTEP_Propagator')
    egammaNoMatSTEP_Propagator.MaterialEffects = False

    myPropagators = []
    myPropagators += [egammaRungeKuttaPropagator]
    myPropagators += [egammaNoMatSTEP_Propagator]

    MySubPropagators = []
    MySubPropagators += [egammaRungeKuttaPropagator.name()]  # for Global
    MySubPropagators += [egammaRungeKuttaPropagator.name()]  # for ID
    MySubPropagators += [egammaRungeKuttaPropagator.name()]  # for BeamPipe
    MySubPropagators += [egammaRungeKuttaPropagator.name()]  # for Calo
    MySubPropagators += [egammaNoMatSTEP_Propagator.name()]  # for MS
    MySubPropagators += [egammaRungeKuttaPropagator.name()]  # for cavern

    egammaExtrapolator.MaterialEffectsUpdators = MyUpdators
    egammaExtrapolator.SubMEUpdators = MySubUpdators
    egammaExtrapolator.Propagators = myPropagators
    egammaExtrapolator.SubPropagators = MySubPropagators
    # egamma STEP with no eloss for calo intersections
    egammaExtrapolator.STEP_Propagator = egammaNoMatSTEP_Propagator
示例#2
0
    def __init__(self, name = 'ConfiguredTrigL2_Extrapolator') :
        Trk__Extrapolator.__init__(self, name)
        from AthenaCommon.AppMgr import ToolSvc
        from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc

        from IOVDbSvc.CondDB import conddb
        if not (conddb.folderRequested( "/Indet/TrkErrorScaling" ) or conddb.folderRequested( "/Indet/Onl/TrkErrorScaling" )):
            conddb.addFolderSplitOnline("INDET", "/Indet/Onl/TrkErrorScaling", "/Indet/TrkErrorScaling" )
        
        from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
        TrigL2_StepPropagator = Trk__STEP_Propagator(name = 'TrigL2_StepPropagator')
        ToolSvc += TrigL2_StepPropagator
        from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator
        TrigL2_RKPropagator = Trk__RungeKuttaPropagator(name = 'TrigL2_RKPropagator')
        ToolSvc += TrigL2_RKPropagator
        from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
        if InDetTrigFlags.propagatorType() is "STEP":
            TrigL2_Propagator = TrigL2_StepPropagator
        else:
            TrigL2_Propagator = TrigL2_RKPropagator
        
        from AthenaCommon.AppMgr import ServiceMgr as svcMgr
        AtlasTrackingGeometrySvc  = svcMgr.AtlasTrackingGeometrySvc
        from TrkExTools.TrkExToolsConf import Trk__Navigator
        TrigL2_Navigator = Trk__Navigator(name = 'TrigL2_Navigator',TrackingGeometrySvc = AtlasTrackingGeometrySvc)
        ToolSvc += TrigL2_Navigator
        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
        TrigL2_MaterialUpdator = Trk__MaterialEffectsUpdator(name = "TrigL2_MaterialEffectsUpdator")
        ToolSvc += TrigL2_MaterialUpdator
        TrigL2_SubPropagators = []
        TrigL2_SubUpdators = []
        TrigL2_SubPropagators += [ TrigL2_Propagator.name() ]
        TrigL2_SubUpdators    += [ TrigL2_MaterialUpdator.name() ]
        TrigL2_SubPropagators += [ TrigL2_Propagator.name() ]
        TrigL2_SubUpdators    += [ TrigL2_MaterialUpdator.name() ]
        TrigL2_SubPropagators += [ TrigL2_StepPropagator.name() ]
        TrigL2_SubUpdators    += [ TrigL2_MaterialUpdator.name() ]
        self.Propagators             = [ TrigL2_RKPropagator, TrigL2_StepPropagator]
        self.MaterialEffectsUpdators = [ TrigL2_MaterialUpdator ]
        self.Navigator               = TrigL2_Navigator
        self.SubPropagators          = TrigL2_SubPropagators
        self.SubMEUpdators           = TrigL2_SubUpdators
示例#3
0
    def __init__(self, name='NIMatEffUpdator'):

        # get defaut material updator
        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
        MaterialEffectsUpdator = Trk__MaterialEffectsUpdator(
            name='MaterialEffectsUpdator')
        ToolSvc += MaterialEffectsUpdator

        # call the base class constructor
        Trk__NIMatEffUpdator.__init__(self,name,\
                                          MaterialEffectsUpdator = MaterialEffectsUpdator
                                      )
if InDetFlags.doPrintConfigurables: print      InDetPropagator

#
# Setup the Navigator (default, could be removed)
#
from TrkExTools.TrkExToolsConf import Trk__Navigator
InDetNavigator = Trk__Navigator(name                = 'InDetNavigator',
                                TrackingGeometrySvc = AtlasTrackingGeometrySvc)
ToolSvc += InDetNavigator
if InDetFlags.doPrintConfigurables: print      InDetNavigator

#
# Setup the MaterialEffectsUpdator
#
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
InDetMaterialUpdator = Trk__MaterialEffectsUpdator(name = "InDetMaterialEffectsUpdator")
if not InDetFlags.solenoidOn():
  InDetMaterialUpdator.EnergyLoss = False
  InDetMaterialUpdator.ForceMomentum = True
  InDetMaterialUpdator.ForcedMomentumValue = 1000*MeV

ToolSvc += InDetMaterialUpdator

if InDetFlags.doPrintConfigurables: print      InDetMaterialUpdator

# CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE
 
InDetSubPropagators = []
InDetSubUpdators = []
 
# -------------------- set it depending on the geometry ----------------------------------------------------
示例#5
0
TestPropagators += [TestPropagator]

from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as STEP_Propagator
TestSTEP_Propagator = STEP_Propagator(name='TestSTEP_Propagator')
ToolSvc += TestSTEP_Propagator
TestSTEP_Propagator.DetailedEloss = True

TestPropagators += [TestSTEP_Propagator]

# UPDATOR DEFAULTS -----------------------------------------------------------------------------------------

TestUpdators = []

from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator as MaterialEffectsUpdator
TestMaterialEffectsUpdator = MaterialEffectsUpdator(
    name='TestMaterialEffectsUpdator')
ToolSvc += TestMaterialEffectsUpdator
if myPDG == 998:
    TestMaterialEffectsUpdator.EnergyLoss = False
    TestMaterialEffectsUpdator.MultipleScattering = False

TestUpdators += [TestMaterialEffectsUpdator]

TestMaterialEffectsUpdatorLandau = MaterialEffectsUpdator(
    name='TestMaterialEffectsUpdatorLandau')
TestMaterialEffectsUpdatorLandau.LandauMode = True
ToolSvc += TestMaterialEffectsUpdatorLandau
if myPDG == 998:
    TestMaterialEffectsUpdatorLandau.EnergyLoss = False
    TestMaterialEffectsUpdatorLandau.MultipleScattering = False
示例#6
0
    def __init__(self,
                 instname='InDetAlignTrackSelTool',
                 propagatorType='RungeKutta'):

        # Load the Dlls
        if 'InDetAlignGenTools' not in theApp.Dlls:
            theApp.Dlls += ['InDetAlignGenTools']

        # Set names
        self.__instname__ = instname
        self.__svcname__ = 'InDetAlignTrackSelTool'

        self.__toolname__ = 'ToolSvc.' + self.__instname__
        self.__thistool__ = Service(self.__toolname__)

        # Set options for tool
        self.__thistool__.MinMomentum = 0
        self.__thistool__.MinPt = 2
        self.__thistool__.MaxShared = 0
        self.__thistool__.MaxHoles = 1
        self.__thistool__.MinChi2Prob = 0.2

        ToolSvc = Service("ToolSvc")

        # Propagator
        if propagatorType is "STEP":
            from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as Propagator
        else:
            from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator
        InDetAlignTrackSelPropagator = Propagator(
            name='InDetAlignTrackSelPropagator')
        ToolSvc += InDetAlignTrackSelPropagator
        print InDetAlignTrackSelPropagator

        # Navigator
        from TrkExTools.TrkExToolsConf import Trk__Navigator
        InDetAlignTrackSelNavigator = Trk__Navigator(
            name='InDetAlignTrackSelNavigator')
        ToolSvc += InDetAlignTrackSelNavigator
        print InDetAlignTrackSelNavigator

        # Material updator
        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
        InDetAlignTrackSelMaterialUpdator = Trk__MaterialEffectsUpdator(
            name="InDetAlignTrackSelMaterialEffectsUpdator")
        ToolSvc += InDetAlignTrackSelMaterialUpdator
        print InDetAlignTrackSelMaterialUpdator

        # Extrapolator
        from TrkExTools.TrkExToolsConf import Trk__Extrapolator
        InDetAlignTrackSelExtrapolator = Trk__Extrapolator(
            name='InDetAlignTrackSelExtrapolator',
            Propagators=[InDetAlignTrackSelPropagator.getType()],
            PropagatorInstances=[InDetAlignTrackSelPropagator.getName()],
            Navigator=InDetAlignTrackSelNavigator,
            MaterialEffectsUpdator=InDetAlignTrackSelMaterialUpdator)
        ToolSvc += InDetAlignTrackSelExtrapolator
        print InDetAlignTrackSelExtrapolator

        # associator
        from InDetAssociationTools.InDetAssociationToolsConf import InDet__InDetPRD_AssociationToolGangedPixels
        InDetAlignTrackSelAssociationTool = InDet__InDetPRD_AssociationToolGangedPixels(
        )
        ToolSvc += InDetAlignTrackSelAssociationTool

        # summary
        from InDetTrackSummaryHelperTool.InDetTrackSummaryHelperToolConf import InDet__InDetTrackSummaryHelperTool
        InDetAlignTrackSelSummaryTool = InDet__InDetTrackSummaryHelperTool(
            name="InDetAlignTrackSelSummaryTool",
            Extrapolator=InDetAlignTrackSelExtrapolator,
            AssoTool=InDetAlignTrackSelAssociationTool,
            DoSharedHits=True)
        ToolSvc += InDetAlignTrackSelSummaryTool
        print InDetAlignTrackSelSummaryTool
示例#7
0
###############################################################################

###############################################################################
## jobOptions
###############################################################################
if not 'doMEOTP' in dir():
    doMEOTP = False

### Setup extrapolator ###
if (doMEOTP):
    ### Configure Material Effects On Track Provider (usually this is not done) ###
    include(
        'CaloMaterialEffectsOnTrackProvider/CaloMaterialEffectsOnTrackProvider.py'
    )
    from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
    CaloTrkMuId_MaterialUpdator = Trk__MaterialEffectsUpdator()
    ToolSvc += CaloTrkMuId_MaterialUpdator

    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator
    CaloTrkMuId_Propagator = Trk__RungeKuttaPropagator()
    ToolSvc += CaloTrkMuId_Propagator

    from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
    CaloTrkMuIdTools_Extrapolator = AtlasExtrapolator(
        name='CaloTrkMuIdTools_Extrapolator')
    CaloTrkMuIdTools_Extrapolator.DoCaloDynamic = True
    CaloTrkMuIdTools_Extrapolator.Propagators = [CaloTrkMuIdTools_Propagator]
    CaloTrkMuIdTools_Extrapolator.MaterialEffectsUpdator = CaloTrkMuIdTools_MaterialUpdator

else:
    ### Use the public AtlasExtrapolator ###
示例#8
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
示例#9
0
ElectronTrkStepPropagator = StepPropagator(name='ElectronTrkStepPropagator')
ToolSvc += ElectronTrkStepPropagator
#
# Setup the Navigator (default, could be removed)
#
from TrkExTools.TrkExToolsConf import Trk__Navigator
ElectronTrkNavigator = Trk__Navigator(
    name='ElectronTrkNavigator',
    #TrackingGeometrySvc = AtlasTrackingGeometrySvc
)
ToolSvc += ElectronTrkNavigator
#
# Setup the MaterialEffectsUpdator
#
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
ElectronTrkMaterialUpdator = Trk__MaterialEffectsUpdator(
    name="ElectronTrkMaterialEffectsUpdator")
ToolSvc += ElectronTrkMaterialUpdator

# CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE

ElectronTrkSubPropagators = []
ElectronTrkSubUpdators = []

# -------------------- set it depending on the geometry ----------------------------------------------------
# default for ID is (Rk,Mat)
ElectronTrkSubPropagators += [ElectronTrkPropagator.name()]
ElectronTrkSubUpdators += [ElectronTrkMaterialUpdator.name()]

# default for Calo is (Rk,MatLandau)
ElectronTrkSubPropagators += [ElectronTrkPropagator.name()]
ElectronTrkSubUpdators += [ElectronTrkMaterialUpdator.name()]
示例#10
0
    # set up the extrapolator and fitter as used by iPatRec
    #from TrkExRungeKuttaIntersector.TrkExRungeKuttaIntersectorConf import \
    #     Trk__IntersectorWrapper as Propagator
    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import \
         Trk__RungeKuttaPropagator as Propagator
    iPatPropagator = Propagator(name='iPatPropagator',
                                AccuracyParameter=0.0001)
    ToolSvc += iPatPropagator

    from TrkExTools.TrkExToolsConf import Trk__Navigator
    iPatNavigator = Trk__Navigator(
        name='iPatNavigator', TrackingGeometrySvc=AtlasTrackingGeometrySvc)
    ToolSvc += iPatNavigator

    from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
    iPatMaterialUpdator = Trk__MaterialEffectsUpdator(
        name="iPatMaterialEffectsUpdator")
    ToolSvc += iPatMaterialUpdator

    from TrkExTools.TrkExToolsConf import Trk__Extrapolator
    iPatExtrapolator = Trk__Extrapolator(
        name='iPatExtrapolator',
        MaterialEffectsUpdators=[iPatMaterialUpdator],
        Propagators=[iPatPropagator],
        Navigator=iPatNavigator,
        Tolerance=0.0011)
    ToolSvc += iPatExtrapolator

    from TrkiPatFitter.TrkiPatFitterConf import Trk__MaterialAllocator
    iPatMaterialAllocator = Trk__MaterialAllocator(
        name='iPatMaterialAllocator',
        #AggregateMaterial         = True,
示例#11
0
    def set_iPatFitter(self):
        from AthenaCommon.AppMgr import ToolSvc
        from MuonRecExample import MuonRecTools
        MuonExtrapolator = MuonRecTools.getPublicTool('MuonExtrapolator')

        from AthenaCommon.Include import include
        include('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py')

        # set up the extrapolator and fitter as used by Muid
        from TrkExRungeKuttaIntersector.TrkExRungeKuttaIntersectorConf import \
            Trk__IntersectorWrapper as Propagator
        MuidPropagator = Propagator(name='MuidPropagator')
        ToolSvc += MuidPropagator

        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
        MuidMaterialUpdator = Trk__MaterialEffectsUpdator(
            name="MuidMaterialEffectsUpdator")
        ToolSvc += MuidMaterialUpdator

        from AthenaCommon.AppMgr import ServiceMgr as svcMgr
        from TrkExTools.TrkExToolsConf import Trk__Navigator
        MuidNavigator = Trk__Navigator(
            name='MuidNavigator',
            TrackingGeometrySvc=svcMgr.AtlasTrackingGeometrySvc)
        ToolSvc += MuidNavigator

        from TrkExTools.TrkExToolsConf import Trk__Extrapolator
        MuidExtrapolator = Trk__Extrapolator(
            name='MuidExtrapolator',
            Propagators=[MuidPropagator],
            MaterialEffectsUpdators=[MuidMaterialUpdator],
            Navigator=MuidNavigator)
        ToolSvc += MuidExtrapolator

        # material allocation
        from TrkiPatFitter.TrkiPatFitterConf import Trk__MaterialAllocator
        MuidMaterialAllocator = Trk__MaterialAllocator(
            name='MuidMaterialAllocator',
            AggregateMaterial=True,
            Extrapolator=MuidExtrapolator,
            TrackingGeometrySvc=svcMgr.AtlasTrackingGeometrySvc)
        ToolSvc += MuidMaterialAllocator

        from TrkiPatFitter.TrkiPatFitterConf import Trk__iPatGlobalFitter
        Fitter = Trk__iPatGlobalFitter(
            name='iPatGlobalFitter',
            #from TrkiPatFitter.TrkiPatFitterConf import Trk__iPatFitter
            #Fitter = Trk__iPatFitter(
            #    name='iPatFitter',
            AggregateMaterial=True,
            AsymmetricCaloEnergy=False,
            FullCombinedFit=True,
            MaterialAllocator=MuidMaterialAllocator,
            OutputLevel=align.OutputLevel())
        #OutputLevel = VERBOSE)

        ToolSvc += Fitter
        self._fitter = ToolSvc.iPatGlobalFitter
        #self._fitter = ToolSvc.iPatFitter

        if align.useSLFitter():
            SLFitter = Trk__iPatGlobalFitter(
                name='iPatGlobalSLFitter',
                #SLFitter = Trk__iPatFitter(
                #    name                    = 'iPatSLFitter',
                AggregateMaterial=True,
                FullCombinedFit=True,
                LineFit=True,
                MaterialAllocator=MuidMaterialAllocator,
                OutputLevel=align.OutputLevel())
            ToolSvc += SLFitter
            self._slfitter = ToolSvc.iPatGlobalSLFitter
示例#12
0
mlog = logging.getLogger ('MCTruthCalssifierBase.py::configure:')
mlog.info('entering')

from AthenaCommon.AppMgr import ToolSvc
	
# Configure the extrapolator
from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
theAtlasExtrapolator=AtlasExtrapolator(name = 'egammaExtrapolator')
theAtlasExtrapolator.DoCaloDynamic = False # this turns off dynamic calculation of eloss in calorimeters
# all left to MaterialEffects/EnergyLossUpdators
	           
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 ID
MyUpdators += [NoElossMaterialEffectsUpdator] # for Calo
MyUpdators += [NoElossMaterialEffectsUpdator] # for muon
# MyUpdators += [NoElossMaterialEffectsUpdator] # for muon
	           
MySubUpdators = []
MySubUpdators += [NoElossMaterialEffectsUpdator.name()] # for ID
#    MySubUpdators += [AtlasMaterialEffectsUpdator.name()] # for ID
MySubUpdators += [NoElossMaterialEffectsUpdator.name()] # for Calo
示例#13
0
ToolSvc += AtlasRungeKuttaPropagator

AtlasPropagators += [AtlasRungeKuttaPropagator]

from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as STEP_Propagator
AtlasSTEP_Propagator = STEP_Propagator(name = 'AtlasSTEP_Propagator')
ToolSvc += AtlasSTEP_Propagator

AtlasPropagators += [AtlasSTEP_Propagator]

# UPDATOR DEFAULTS -----------------------------------------------------------------------------------------       

AtlasUpdators    = []

from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator as MaterialEffectsUpdator
AtlasMaterialEffectsUpdator = MaterialEffectsUpdator(name = 'AtlasMaterialEffectsUpdator')
ToolSvc += AtlasMaterialEffectsUpdator

AtlasUpdators    += [ AtlasMaterialEffectsUpdator ]

AtlasMaterialEffectsUpdatorLandau = MaterialEffectsUpdator(name = 'AtlasMaterialEffectsUpdatorLandau')
AtlasMaterialEffectsUpdatorLandau.LandauMode = True
ToolSvc += AtlasMaterialEffectsUpdatorLandau

AtlasUpdators    += [ AtlasMaterialEffectsUpdatorLandau ]
                     

# CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE

AtlasSubPropagators = []
AtlasSubUpdators = []
示例#14
0
include('TrkDetDescrSvc/LocalTrackingGeometrySvc.py')

# Setup the Navigator (default, could be removed)
#
from TrkExTools.TrkExToolsConf import Trk__Navigator

LocalNavigator = Trk__Navigator(name='LocalNavigator')
LocalNavigator.TrackingGeometryName = LocalTrackingGeometrySvc.TrackingGeometryName
ToolSvc += LocalNavigator
print LocalNavigator
#
# Setup the MaterialEffectsUpdator
#
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator

LocalMaterialUpdator = Trk__MaterialEffectsUpdator(
    name="LocalMaterialEffectsUpdator")
ToolSvc += LocalMaterialUpdator
print LocalMaterialUpdator
#
# set the propagator
#
from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator

LocalPropagator = Propagator(name='LocalPropagator')
ToolSvc += LocalPropagator
print LocalPropagator
#
# create extrapolator
#
from TrkExTools.TrkExToolsConf import Trk__Extrapolator
示例#15
0
if rec.doCalo:

    ##########################################################################################################
    #  Configure the extrapolator
    ##########################################################################################################
    from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
    theAtlasExtrapolator = AtlasExtrapolator(name='egammaExtrapolator')
    theAtlasExtrapolator.DoCaloDynamic = False  # this turns off dynamic calculation of eloss in calorimeters
    # all left to MaterialEffects/EnergyLossUpdators

    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 ID
    MyUpdators += [NoElossMaterialEffectsUpdator]  # for Calo
    MyUpdators += [NoElossMaterialEffectsUpdator]  # for muon
    # MyUpdators += [NoElossMaterialEffectsUpdator] # for muon

    MySubUpdators = []
    MySubUpdators += [NoElossMaterialEffectsUpdator.name()]  # for ID
    #    MySubUpdators += [AtlasMaterialEffectsUpdator.name()] # for ID
    MySubUpdators += [NoElossMaterialEffectsUpdator.name()]  # for Calo
示例#16
0
                                               CallbackStringCheck = True )

from AthenaCommon.AppMgr import ServiceMgr as svcMgr
svcMgr += MuonTrackingGeometrySvc
 
# the navigator Configurable way
from TrkExTools.TrkExToolsConf import Trk__Navigator
MuonTGNavigator = Trk__Navigator( name = 'MuonTGNavigator',
                                TrackingGeometrySvc = MuonTrackingGeometrySvc
                                )
ToolSvc += MuonTGNavigator
print      MuonTGNavigator
 
# Configurable way
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
MuonTGMaterialUpdator = Trk__MaterialEffectsUpdator( name = "MuonTGMaterialUpdator"
                                                   )
ToolSvc += MuonTGMaterialUpdator
print MuonTGMaterialUpdator
 
from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
MuonTGPropagator = Trk__STEP_Propagator( name = 'MuonTGPropagator' ,Tolerance=0.0001, MaterialEffects=True,IncludeBgradients=False)
ToolSvc += MuonTGPropagator
print      MuonTGPropagator

 
# assign it to the Extrapolator
from TrkExTools.TrkExToolsConf import Trk__Extrapolator
MuonTGExtrapolator = Trk__Extrapolator( name = 'MuonTGExtrapolator', 
                                      Propagators = [ MuonTGPropagator ],
                                      Navigator = MuonTGNavigator,
                                      MaterialEffectsUpdators = [ MuonTGMaterialUpdator ]
示例#17
0
    def __init__(self, name='AtlasExtrapolator'):

        # get the correct TrackingGeometry setup
        from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc
        from AthenaCommon.AppMgr import ServiceMgr as svcMgr
        AtlasTrackingGeometrySvc = svcMgr.AtlasTrackingGeometrySvc

        # import the ToolSvc
        from AthenaCommon.AppMgr import ToolSvc
        if 'ToolSvc' not in dir():
            ToolSvc = ToolSvc()

        # PROPAGATOR DEFAULTS --------------------------------------------------------------------------------------

        self.AtlasPropagators = []

        from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as RkPropagator
        AtlasRungeKuttaPropagator = RkPropagator(
            name='AtlasRungeKuttaPropagator')
        ToolSvc += AtlasRungeKuttaPropagator

        self.AtlasPropagators += [AtlasRungeKuttaPropagator]

        from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as STEP_Propagator
        AtlasSTEP_Propagator = STEP_Propagator(name='AtlasSTEP_Propagator')
        ToolSvc += AtlasSTEP_Propagator

        self.AtlasPropagators += [AtlasSTEP_Propagator]

        # UPDATOR DEFAULTS -----------------------------------------------------------------------------------------

        self.AtlasUpdators = []

        from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator as MaterialEffectsUpdator
        AtlasMaterialEffectsUpdator = MaterialEffectsUpdator(
            name='AtlasMaterialEffectsUpdator')
        ToolSvc += AtlasMaterialEffectsUpdator

        self.AtlasUpdators += [AtlasMaterialEffectsUpdator]

        AtlasMaterialEffectsUpdatorLandau = MaterialEffectsUpdator(
            name='AtlasMaterialEffectsUpdatorLandau')
        AtlasMaterialEffectsUpdatorLandau.LandauMode = True
        ToolSvc += AtlasMaterialEffectsUpdatorLandau

        self.AtlasUpdators += [AtlasMaterialEffectsUpdatorLandau]

        # the UNIQUE NAVIGATOR ( === UNIQUE GEOMETRY) --------------------------------------------------------------
        from TrkExTools.TrkExToolsConf import Trk__Navigator
        AtlasNavigator = Trk__Navigator(name='AtlasNavigator')
        AtlasNavigator.TrackingGeometrySvc = AtlasTrackingGeometrySvc
        ToolSvc += AtlasNavigator

        # CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE

        AtlasSubPropagators = []
        AtlasSubUpdators = []

        # -------------------- set it depending on the geometry ----------------------------------------------------
        # default for Global is (Rk,Mat)
        AtlasSubPropagators += [AtlasRungeKuttaPropagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # default for ID is (Rk,Mat)
        AtlasSubPropagators += [AtlasRungeKuttaPropagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # default for BeamPipe is (Rk,Mat)
        AtlasSubPropagators += [AtlasRungeKuttaPropagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # default for Calo is (STEP,Mat)
        AtlasSubPropagators += [AtlasSTEP_Propagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # default for MS is (STEP,Mat)
        AtlasSubPropagators += [AtlasSTEP_Propagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # default for Cavern is (Rk,Mat)
        AtlasSubPropagators += [AtlasRungeKuttaPropagator.name()]
        AtlasSubUpdators += [AtlasMaterialEffectsUpdator.name()]

        # ----------------------------------------------------------------------------------------------------------

        # call the base class constructor
        Trk__Extrapolator.__init__(self,name,\
                                   Navigator = AtlasNavigator,\
                                   MaterialEffectsUpdators = self.AtlasUpdators,\
                                   Propagators = self.AtlasPropagators,\
                                   SubPropagators = AtlasSubPropagators,\
                                   SubMEUpdators = AtlasSubUpdators,\
                                   DoCaloDynamic = False
                                   )
示例#18
0
egTrkPropagator.AccuracyParameter = 0.0001
ToolSvc += egTrkPropagator
#
from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as StepPropagator

egTrkStepPropagator = StepPropagator(name='egTrkStepPropagator')
ToolSvc += egTrkStepPropagator
# Setup the Navigator (default)
from TrkExTools.TrkExToolsConf import Trk__Navigator

egTrkNavigator = Trk__Navigator(name='egTrkNavigator')
ToolSvc += egTrkNavigator
# Setup the MaterialEffectsUpdator
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator

egTrkMaterialUpdator = Trk__MaterialEffectsUpdator(
    name="egTrkMaterialEffectsUpdator")
ToolSvc += egTrkMaterialUpdator
# CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE
egTrkSubPropagators = []
egTrkSubUpdators = []
# -------------------- set it depending on the geometry ----------------------------------------------------
# default for ID is (Rk,Mat)
egTrkSubPropagators += [egTrkPropagator.name()]
egTrkSubUpdators += [egTrkMaterialUpdator.name()]
# default for Calo is (Rk,MatLandau)
egTrkSubPropagators += [egTrkPropagator.name()]
egTrkSubUpdators += [egTrkMaterialUpdator.name()]
# default for MS is (STEP,Mat)
egTrkSubPropagators += [egTrkStepPropagator.name()]
egTrkSubUpdators += [egTrkMaterialUpdator.name()]
# ----------------------------------------------------------------------------------------------------------
示例#19
0
MyExtrapolator.StopWithNavigationBreak = True
MyExtrapolator.DoCaloDynamic = False
MyExtrapolator.MaterialEffectsOnTrackValidation = True
MyExtrapolator.RequireMaterialDestinationHit = False
MyExtrapolator.setEnergyLoss(True)

# fix
from TrkExTools.TrkExToolsConf import Trk__EnergyLossUpdator
MyEnergyLossUpdator = Trk__EnergyLossUpdator(name='TestEnergyLossUpdator')
#MyEnergyLossUpdator.UseFix = False
MyEnergyLossUpdator.OutputLevel = VERBOSE
print MyEnergyLossUpdator
ToolSvc += MyEnergyLossUpdator

from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
MyMaterialEffectsUpdator = Trk__MaterialEffectsUpdator(
    name='TestMaterialEffectsUpdator')
#MyMaterialEffectsUpdator.MostProbableEnergyLoss = True
MyMaterialEffectsUpdator.EnergyLossUpdator = MyEnergyLossUpdator
print MyMaterialEffectsUpdator
ToolSvc += MyMaterialEffectsUpdator

#MyExtrapolator.EnergyLossUpdators      = [ MyEnergyLossUpdator ]
MyExtrapolator.MaterialEffectsUpdators = [MyMaterialEffectsUpdator]

# proposal by Niels
MyExtrapolator.Tolerance = 0.0011

#from TrkExTools.TrkExToolsConf import Trk__Navigator
MyNavigator = Navigator(name='TestNavigator')
MyNavigator.OutputLevel = INFO
ToolSvc += MyNavigator