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()]
#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
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 )
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