Esempio n. 1
0
TestUpdators += [TestMaterialEffectsUpdator]

TestMaterialEffectsUpdatorLandau = MaterialEffectsUpdator(
    name='TestMaterialEffectsUpdatorLandau')
TestMaterialEffectsUpdatorLandau.LandauMode = True
ToolSvc += TestMaterialEffectsUpdatorLandau
if myPDG == 998:
    TestMaterialEffectsUpdatorLandau.EnergyLoss = False
    TestMaterialEffectsUpdatorLandau.MultipleScattering = False

##TestUpdators    += [ TestMaterialEffectsUpdatorLandau ]

# the UNIQUE NAVIGATOR ( === UNIQUE GEOMETRY) --------------------------------------------------------------
from TrkExTools.TrkExToolsConf import Trk__Navigator
TestNavigator = Trk__Navigator(name='TestNavigator')
TestNavigator.TrackingGeometrySvc = "Trk::TrackingGeometrySvc/AtlasTrackingGeometrySvc"
ToolSvc += TestNavigator

# CONFIGURE PROPAGATORS/UPDATORS ACCORDING TO GEOMETRY SIGNATURE

TestSubPropagators = []
TestSubUpdators = []

# -------------------- set it depending on the geometry ----------------------------------------------------
# default for ID is (Rk,Mat)
TestSubPropagators += [TestPropagator.name()]
TestSubUpdators += [TestMaterialEffectsUpdator.name()]

# default for Calo is (Rk,MatLandau)
TestSubPropagators += [TestPropagator.name()]
TestSubUpdators += [TestMaterialEffectsUpdator.name()]
Esempio n. 2
0
#Fitter:
if vp1Fitter and vp1Extrapolator and (vp1ID or vp1Muon):
    VP1TrkInitializer.ForceFitterTools = True
    os.putenv("VP1_DEVEL_ENABLEREFIT", "1")
    ##########################################################
    # The Extrapolator
    include('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py')

    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator
    VP1Propagator = Propagator(name='VP1Propagator')
    ToolSvc += VP1Propagator

    # the Navigator has to get this one
    from TrkExTools.TrkExToolsConf import Trk__Navigator
    VP1Navigator = Trk__Navigator(name='VP1Navigator')
    VP1Navigator.TrackingGeometrySvc = svcMgr.AtlasTrackingGeometrySvc
    ToolSvc += VP1Navigator

    from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator as MatUpdator
    VP1MaterialUpdator = MatUpdator(name='VP1MaterialEffectsUpdator')
    ToolSvc += VP1MaterialUpdator

    from TrkMeasurementUpdator_xk.TrkMeasurementUpdator_xkConf import Trk__KalmanUpdator_xk
    VP1Updator = Trk__KalmanUpdator_xk(name='VP1Updator')
    ToolSvc += VP1Updator

    from TrkDynamicNoiseAdjustor.TrkDynamicNoiseAdjustorConf import Trk__InDetDynamicNoiseAdjustment
    VP1DNAdjustor = Trk__InDetDynamicNoiseAdjustment(name='VP1DNAdjustor')
    #yminmax = 100.0)
    ToolSvc += VP1DNAdjustor
    from TrkKalmanFitter.TrkKalmanFitterConf import Trk__ForwardKalmanFitter as PublicFKF
# Number of events to be processed
theApp.EvtMax = 50000
#theApp.EvtMax = 50

ServiceMgr.MessageSvc.OutputLevel             = INFO
ServiceMgr.MessageSvc.defaultLimit            = 10000
ServiceMgr.MessageSvc.Format                  = "% F%37W%S%7W%R%T %0W%M"

################################################################
#  Extrapolation setup
#
# Navigator with Atlasnstruction geometry
from TrkExTools.TrkExToolsConf import Trk__Navigator
ValidationNavigator = Trk__Navigator(name ='ValidationNavigator')
ValidationNavigator.ValidationMode       = True
ValidationNavigator.TrackingGeometrySvc  = JobTrackingGeometrySvc
ToolSvc += ValidationNavigator

# the material mapper
from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__MaterialMapper
ValidationMaterialMapper    = Trk__MaterialMapper(name ='MaterialMapper')
ValidationMaterialMapper.TrackingVolumeValidation  = True
ValidationMaterialMapper.DetailedLayerValidation   = True
ValidationMaterialMapper.DetailedSurfaceValidation = False
ToolSvc += ValidationMaterialMapper

# The standard material effects updator
from TrkExTools.TrkExToolsConf import Trk__DummyMaterialEffectsUpdator
ValidationMaterialUpdator                   = Trk__DummyMaterialEffectsUpdator(name='ValidationMaterialUpdator')
ValidationMaterialUpdator.ReferenceMaterial           = False
ValidationMaterialUpdator.ValidationMode              = True
Esempio n. 4
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
                                   )
Esempio n. 5
0
ToolSvc += FatrasMultipleScatteringUpdator

# hadronic interaction creator
from FatrasTools.FatrasToolsConf import Fatras__HadIntProcessorParametric
FatrasHadIntProcessor = Fatras__HadIntProcessorParametric(
    name='FatrasadIntProcessor')
#FatrasHadIntProcessor.MinimumHadronicOutEnergy       = FatrasTuningFlags.HadronicInteractionMinMomentumOut()
#FatrasHadIntProcessor.HadronicInteractionValidation  = FatrasValidationFlags.HadronicInteractions()
ToolSvc += FatrasHadIntProcessor

##############################################################################################################################
# The extrapolator for the ID simulation
# the Navigator
include('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py')
FatrasNavigator = Navigator(name='FatrasNavigatorID')
FatrasNavigator.TrackingGeometrySvc = AtlasTrackingGeometrySvc
ToolSvc += FatrasNavigator
# Updator for Fatras - MC or Fatras
from FatrasTools.FatrasToolsConf import Fatras__McMaterialEffectsUpdator
FatrasMaterialUpdator = Fatras__McMaterialEffectsUpdator(
    name='FatrasMaterialUpdatorID')
# hadronic interactions
FatrasMaterialUpdator.HadronicInteractionProcessor = FatrasHadIntProcessor
ToolSvc += FatrasMaterialUpdator
# energy loss
FatrasMaterialUpdator.EnergyLoss = True
FatrasMaterialUpdator.EnergyLossUpdator = FatrasEnergyLossUpdator
# mutiple scattering
FatrasMaterialUpdator.MultipleScattering = True
FatrasMaterialUpdator.MultipleScatteringUpdator = FatrasMultipleScatteringUpdator
# the validation output