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