def getGSFTrackFitter(): egRotCreator = TrackingCommon.getInDetRotCreator(name='egRotCreator', private=True) TrackingCommon.createAndAddCondAlg( TrackingCommon.getRIO_OnTrackErrorScalingCondAlg, 'RIO_OnTrackErrorScalingCondAlg') # get Rk propagator from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import ( Trk__RungeKuttaPropagator as Propagator) egTrkPropagator = Propagator(name='egTrkPropagator') egTrkPropagator.AccuracyParameter = 0.0001 # Setup the Navigator (default) from TrkDetDescrSvc.AtlasTrackingGeometrySvc import ( AtlasTrackingGeometrySvc) from TrkExTools.TrkExToolsConf import Trk__Navigator egTrkNavigator = Trk__Navigator( name='egTrkNavigator', TrackingGeometrySvc=AtlasTrackingGeometrySvc) # Set up the GSF from TrkGaussianSumFilter.TrkGaussianSumFilterConf import ( Trk__GsfMaterialMixtureConvolution) GsfMaterialUpdator = Trk__GsfMaterialMixtureConvolution( name='GsfMaterialUpdator', MaximumNumberOfComponents=12) from TrkGaussianSumFilter.TrkGaussianSumFilterConf import ( Trk__GsfExtrapolator) GsfExtrapolator = Trk__GsfExtrapolator( name='GsfExtrapolator', Propagators=[egTrkPropagator], SearchLevelClosestParameters=10, StickyConfiguration=True, Navigator=egTrkNavigator, GsfMaterialConvolution=GsfMaterialUpdator, SurfaceBasedMaterialEffects=False) from TrkGaussianSumFilter.TrkGaussianSumFilterConf import ( Trk__GaussianSumFitter) GSFTrackFitter = Trk__GaussianSumFitter( name='GSFTrackFitter', ToolForExtrapolation=GsfExtrapolator, ReintegrateOutliers=True, MakePerigee=True, RefitOnMeasurementBase=True, DoHitSorting=True, ToolForROTCreation=egRotCreator) # --- end of fitter loading return GSFTrackFitter
def __init__(self, name='LocalExtrapolator'): # get the correct TrackingGeometry setup include('TrkDetDescrSvc/LocalTrackingGeometrySvc.py') from __main__ import LocalTrackingGeometrySvc from __main__ import ToolSvc # the Navigator has to get this one from TrkExTools.TrkExToolsConf import Trk__Navigator LocalNavigator = Trk__Navigator(name='LocalNavigator') LocalNavigator.TrackingGeometryName = LocalTrackingGeometrySvc.TrackingGeometryName ToolSvc += LocalNavigator # the standard RungeKuttaPropagator from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator LocalPropagator = Propagator(name='LocalPropagator') ToolSvc += LocalPropagator # call the base class constructor Trk__Extrapolator.__init__(self, name, Navigator=LocalNavigator, Propagators=[LocalPropagator])
# # # Extrapolator to be used for tracking inside egamma i.e GSF , conversions # Set up AtlasExtrapolator if not hasattr(ToolSvc, 'AtlasExtrapolator'): from TrkExTools.AtlasExtrapolator import AtlasExtrapolator ToolSvc += AtlasExtrapolator() from AthenaCommon.AppMgr import ServiceMgr as svcMgr AtlasTrackingGeometrySvc = svcMgr.AtlasTrackingGeometrySvc # get propagator from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator # egTrkPropagator = Propagator(name='egTrkPropagator') 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
# declare the extrapolator # from TrkMagFieldTools.TrkMagFieldToolsConf import Trk__MagneticFieldTool ElectronTrkMagField = Trk__MagneticFieldTool('ElectronTrkMagField') ToolSvc += ElectronTrkMagField # # set up geometry # include('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py') from __main__ import AtlasTrackingGeometrySvc # # get propagator # from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator # ElectronTrkPropagator = Propagator(name='ElectronTrkPropagator') ElectronTrkPropagator.AccuracyParameter = 0.0001 ToolSvc += ElectronTrkPropagator from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as StepPropagator 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
) + '.C' ToolSvc += TrackingVolumeDisplayer # PROPAGATOR DEFAULTS -------------------------------------------------------------------------------------- TestEnergyLossUpdator = [] from TrkExTools.TrkExToolsConf import Trk__EnergyLossUpdator AtlasEnergyLossUpdator = Trk__EnergyLossUpdator(name="AtlasEnergyLossUpdator") ToolSvc += AtlasEnergyLossUpdator ToolSvc.AtlasEnergyLossUpdator.DetailedEloss = True TestEnergyLossUpdator += [AtlasEnergyLossUpdator] TestPropagators = [] from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator TestPropagator = Propagator(name='TestPropagator') ToolSvc += TestPropagator 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 TrkExEngine.AtlasExtrapolationEngine import AtlasExtrapolationEngine ExtrapolationEngine = AtlasExtrapolationEngine(name='Extrapolation', nameprefix='Atlas') ToolSvc += ExtrapolationEngine print ExtrapolationEngine #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
theApp.Dlls += ["InDetAlignGenAlgs", "InDetAlignGenTools"] from InDetAlignGenAlgs.InDetAlignGenAlgsConf import InDetAlignNt AlignNt = InDetAlignNt(Truth=False, Overlap=False, NumDeriv=0, AlignNt=True, BeamPos=False, ReadAl=True, OutputLevel=3) topSequence += AlignNt # setup extrapolator/propagator instance specially for InDetAlignNt # InDetAlignNt expects to find one with name InDetAlignNtExtrap from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator InDetAlignNtPropag = Propagator(name='InDetAlignNtPropag') ToolSvc += InDetAlignNtPropag from TrkExTools.TrkExToolsConf import Trk__Extrapolator InDetAlignNtExtrap = Trk__Extrapolator(name='InDetAlignNtExtrap', Propagators=[InDetAlignNtPropag]) ToolSvc += InDetAlignNtExtrap print "Extrapolator for InDetAlignNt is", InDetAlignNtExtrap AlignNt.NewTrkCol = "InDetCosmic_Tracks" # include this to write alignment constants (use with care and edit WriteDBS.py # beforehand to set your server/IOV/tag options # include("InDetAlignGenAlgs/WriteDBS.py") # produce ROOT ntuple using THistSvc THistSvc = Service("THistSvc") THistSvc.Output += ["IDALIGNFILE DATAFILE='idalign.root' OPT='RECREATE'"]
# Set up InDet__SiZvertexMaker_xk (private) # Taken from ConfiguredNewTrackingSiPattern.py from SiZvertexTool_xk.SiZvertexTool_xkConf import InDet__SiZvertexMaker_xk InDetZvertexMaker = InDet__SiZvertexMaker_xk( name="InDetZvertexMaker" + NewTrackingCuts.extension(), Zmax=NewTrackingCuts.maxZImpact(), Zmin=-NewTrackingCuts.maxZImpact(), minRatio=0.17, SeedMakerTool=InDetSiSpacePointsSeedMaker) # Set up Trk__RungeKuttaPropagator (public) # Taken from InDetRecExample/share/InDetRecLoadTools.py from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator InDetPatternPropagator = Propagator(name="InDetPatternPropagator") ToolSvc += InDetPatternPropagator # Set up InDet__SiDetElementsRoadMaker_xk (private) # Taken from InDetRecExample/share/ConfiguredNewTrackingSiPattern.py if not hasattr(condSeq, "InDet__SiDetElementsRoadCondAlg_xk"): from SiDetElementsRoadTool_xk.SiDetElementsRoadTool_xkConf import InDet__SiDetElementsRoadCondAlg_xk condSeq += InDet__SiDetElementsRoadCondAlg_xk( name="InDet__SiDetElementsRoadCondAlg_xk", usePixel=doPixel, useSCT=doSCT) from SiDetElementsRoadTool_xk.SiDetElementsRoadTool_xkConf import InDet__SiDetElementsRoadMaker_xk InDetSiDetElementsRoadMaker = InDet__SiDetElementsRoadMaker_xk( name="InDetSiRoadMaker" + NewTrackingCuts.extension(), PropagatorTool=InDetPatternPropagator,
PixelBroadROT_Maker=BroadPixelClusterOnTrackTool, PixelPreciseROT_Maker=PixelClusterOnTrackTool, SCT_BroadROT_Maker=BroadSCT_ClusterOnTrackTool, SCT_PreciseROT_Maker=SCT_ClusterOnTrackTool) ToolSvc += SiClusterProperties # svc used by fitter to distinguish indet/muon clients from TrkDetDescrSvc.TrkDetDescrSvcConf import Trk__TrackingVolumesSvc ServiceMgr += Trk__TrackingVolumesSvc(BuildVolumesFromTagInfo=False) # 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',
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 LocalExtrapolator = Trk__Extrapolator( name='LocalExtrapolator', Propagators=[LocalPropagator], Navigator=LocalNavigator, MaterialEffectsUpdator=LocalMaterialUpdator) ToolSvc += LocalExtrapolator print LocalExtrapolator print 'Finished setting up default LocalExtrapolator'
ScaleHitUncertainty = 2.5 InDetRefitRotCreator = InDetRotCreator from TrkMeasurementUpdator.TrkMeasurementUpdatorConf import Trk__KalmanUpdator InDetUpdator = Trk__KalmanUpdator(name='InDetUpdator') InDetUpdator.OutputLevel = OutputLevel ToolSvc += InDetUpdator print InDetUpdator # # get propagator # from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator InDetPropagator = Propagator(name='InDetPropagator') ToolSvc += InDetPropagator print InDetPropagator # # Setup the Navigator (default, could be removed) # from TrkExTools.TrkExToolsConf import Trk__Navigator InDetNavigator = Trk__Navigator(name='InDetNavigator', TrackingGeometrySvc=AtlasTrackingGeometrySvc) ToolSvc += InDetNavigator print InDetNavigator #
def __init__(self, name="FTF", type="eGamma"): TrigFastTrackFinderMT.__init__(self, name) remapped_type = "electron" from TrigOnlineSpacePointTool.TrigOnlineSpacePointToolConf import TrigL2LayerNumberTool self.retrieveBarCodes = False #Look at truth information for spacepoints from barcodes #self.SignalBarCodes = [10001] #single particles self.SignalBarCodes = [11, 12] #z->mumu self.useNewLayerNumberScheme = True self.OutputCollectionSuffix = type from AthenaCommon.AppMgr import ToolSvc numberingTool = TrigL2LayerNumberTool(name="TrigL2LayerNumberTool_FTF") numberingTool.UseNewLayerScheme = self.useNewLayerNumberScheme ToolSvc += numberingTool self.LayerNumberTool = numberingTool from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings if type == "FTK" or type == "FTKRefit": from TrigFTK_RecExample.TrigFTKLoadTools import theFTK_DataProviderSvc self.FTK_DataProviderSvc = theFTK_DataProviderSvc self.FTK_Mode = True if type == "FTKRefit": self.FTK_Refit = True else: #Spacepoint conversion from TrigOnlineSpacePointTool.TrigOnlineSpacePointToolConf import TrigSpacePointConversionTool spTool = TrigSpacePointConversionTool().clone( 'TrigSpacePointConversionTool_' + remapped_type) spTool.DoPhiFiltering = InDetTrigSliceSettings[('doSpPhiFiltering', remapped_type)] spTool.UseNewLayerScheme = self.useNewLayerNumberScheme spTool.UseBeamTilt = False spTool.PixelSP_ContainerName = 'PixelSpacePoints' spTool.SCT_SP_ContainerName = 'SCT_SpacePoints' spTool.layerNumberTool = numberingTool ToolSvc += spTool self.SpacePointProviderTool = spTool self.MinSPs = 5 #Only process RoI with more than 5 spacepoints self.Triplet_MinPtFrac = 1 self.Triplet_nMaxPhiSlice = 53 if remapped_type == "cosmics": self.Triplet_nMaxPhiSlice = 2 #Divide detector in 2 halves for cosmics self.Triplet_MaxBufferLength = 3 self.doSeedRedundancyCheck = InDetTrigSliceSettings[( 'checkRedundantSeeds', remapped_type)] self.Triplet_D0Max = InDetTrigSliceSettings[('d0SeedMax', remapped_type)] self.Triplet_D0_PPS_Max = InDetTrigSliceSettings[('d0SeedPPSMax', remapped_type)] self.TrackInitialD0Max = 20. if remapped_type == 'cosmics': self.TrackInitialD0Max = 1000. self.TrackZ0Max = 1000. self.TripletDoPSS = False self.pTmin = InDetTrigSliceSettings[('pTmin', remapped_type)] self.DoubletDR_Max = InDetTrigSliceSettings[('dRdoubletMax', remapped_type)] self.SeedRadBinWidth = InDetTrigSliceSettings[('seedRadBinWidth', remapped_type)] if remapped_type == "cosmics": self.Doublet_FilterRZ = False ## SCT and Pixel detector elements road builder from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigSiDetElementsRoadMaker InDetTrigSiDetElementsRoadMaker_FTF = InDetTrigSiDetElementsRoadMaker.clone( 'InDetTrigSiDetElementsRoadMaker_FTF') InDetTrigSiDetElementsRoadMaker_FTF.RoadWidth = 10.0 InDetTrigSiDetElementsRoadMaker_FTF.usePixel = True InDetTrigSiDetElementsRoadMaker_FTF.useSCT = True if remapped_type == "cosmics": from InDetTrigRecExample.InDetTrigConfigRecLoadToolsCosmics import InDetTrigSiDetElementsRoadMakerCosmics InDetTrigSiDetElementsRoadMaker_FTF = InDetTrigSiDetElementsRoadMakerCosmics.clone( 'InDetTrigSiDetElementsRoadMaker_FTF') ToolSvc += InDetTrigSiDetElementsRoadMaker_FTF from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigSiComTrackFinder InDetTrigSiComTrackFinder_FTF = InDetTrigSiComTrackFinder.clone( "InDetTrigSiComTrackFinder_FTF") ToolSvc += InDetTrigSiComTrackFinder_FTF print InDetTrigSiComTrackFinder_FTF from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCuts TrackingCuts = EFIDTrackingCuts if remapped_type == "cosmics": from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCutsCosmics TrackingCuts = EFIDTrackingCutsCosmics from InDetRecExample.InDetKeys import InDetKeys from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator InDetPatternPropagator = Propagator(name='InDetPatternPropagator') ToolSvc += InDetPatternPropagator from TrkMeasurementUpdator_xk.TrkMeasurementUpdator_xkConf import Trk__KalmanUpdator_xk InDetPatternUpdator = Trk__KalmanUpdator_xk( name='InDetPatternUpdator') ToolSvc += InDetPatternUpdator from SiClusterOnTrackTool.SiClusterOnTrackToolConf import InDet__PixelClusterOnTrackTool PixelClusterOnTrackToolDigital = InDet__PixelClusterOnTrackTool( "InDetPixelClusterOnTrackToolDigital", DisableDistortions=False, applyNNcorrection=False, NNIBLcorrection=False, SplitClusterAmbiguityMap=InDetKeys.SplitClusterAmbiguityMap(), RunningTIDE_Ambi=False, ErrorStrategy=2, PositionStrategy=1) ToolSvc += PixelClusterOnTrackToolDigital from SiClusterOnTrackTool.SiClusterOnTrackToolConf import InDet__SCT_ClusterOnTrackTool SCT_ClusterOnTrackTool = InDet__SCT_ClusterOnTrackTool( "InDetSCT_ClusterOnTrackTool", #CorrectionStrategy = -1, # no position correction (test for bug #56477) CorrectionStrategy=0, # do correct position bias ErrorStrategy=2) # do use phi dependent errors ToolSvc += SCT_ClusterOnTrackTool from TrkRIO_OnTrackCreator.TrkRIO_OnTrackCreatorConf import Trk__RIO_OnTrackCreator InDetRotCreatorDigital = Trk__RIO_OnTrackCreator( name='InDetRotCreatorDigital', ToolPixelCluster=PixelClusterOnTrackToolDigital, ToolSCT_Cluster=SCT_ClusterOnTrackTool, Mode='indet') ToolSvc += InDetRotCreatorDigital from InDetAssociationTools.InDetAssociationToolsConf import InDet__InDetPRD_AssociationToolGangedPixels InDetPrdAssociationTool = InDet__InDetPRD_AssociationToolGangedPixels( name="InDetPrdAssociationTool", PixelClusterAmbiguitiesMapName=InDetKeys.GangedPixelMap(), addTRToutliers=True) ToolSvc += InDetPrdAssociationTool from AthenaCommon.DetFlags import DetFlags from SiCombinatorialTrackFinderTool_xk.SiCombinatorialTrackFinderTool_xkConf import InDet__SiCombinatorialTrackFinder_xk InDetSiComTrackFinder = InDet__SiCombinatorialTrackFinder_xk( name='InDetSiComTrackFinder', PropagatorTool=InDetPatternPropagator, UpdatorTool=InDetPatternUpdator, RIOonTrackTool=InDetRotCreatorDigital, AssosiationTool=InDetPrdAssociationTool, usePixel=True, #DetFlags.haveRIO.pixel_on(), useSCT=True, #DetFlags.haveRIO.SCT_on(), PixManagerLocation=InDetKeys.PixelManager(), SCTManagerLocation=InDetKeys.SCT_Manager(), PixelClusterContainer=InDetKeys.PixelClusters(), SCT_ClusterContainer=InDetKeys.SCT_Clusters()) ToolSvc += InDetSiComTrackFinder from SiDetElementsRoadTool_xk.SiDetElementsRoadTool_xkConf import InDet__SiDetElementsRoadMaker_xk InDetSiDetElementsRoadMaker = InDet__SiDetElementsRoadMaker_xk( name='InDetSiRoadMaker_' + remapped_type, PropagatorTool=InDetPatternPropagator, usePixel=True, #DetFlags.haveRIO.pixel_on(), PixManagerLocation=InDetKeys.PixelManager(), useSCT=True, #DetFlags.haveRIO.SCT_on(), SCTManagerLocation=InDetKeys.SCT_Manager(), RoadWidth=10.0) print InDetSiDetElementsRoadMaker ToolSvc += InDetSiDetElementsRoadMaker from SiTrackMakerTool_xk.SiTrackMakerTool_xkConf import InDet__SiTrackMaker_xk as SiTrackMaker TrackMaker_FTF = SiTrackMaker( name='InDetTrigSiTrackMaker_FTF_' + remapped_type, RoadTool=InDetSiDetElementsRoadMaker, CombinatorialTrackFinder=InDetSiComTrackFinder, pTmin=InDetTrigSliceSettings[('pTmin', remapped_type)], nClustersMin=TrackingCuts.minClusters(), nHolesMax=TrackingCuts.nHolesMax(), nHolesGapMax=TrackingCuts.nHolesGapMax(), SeedsFilterLevel=0, # Do not use built-in seeds filter Xi2max=TrackingCuts.Xi2max(), Xi2maxNoAdd=TrackingCuts.Xi2maxNoAdd(), nWeightedClustersMin=TrackingCuts.nWeightedClustersMin(), Xi2maxMultiTracks=TrackingCuts.Xi2max(), UseAssociationTool=False) from InDetRecExample.InDetJobProperties import InDetFlags if not InDetFlags.doCaloSeededBrem(): TrackMaker_FTF.InputClusterContainerName = "" TrackMaker_FTF.InputHadClusterContainerName = "" from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags if type == 'eGamma' and InDetTrigFlags.doBremRecovery(): TrackMaker_FTF.useBremModel = True if remapped_type == "cosmics": TrackMaker_FTF.RoadTool.CosmicTrack = True ToolSvc += TrackMaker_FTF self.initialTrackMaker = TrackMaker_FTF from TrigInDetTrackFitter.TrigInDetTrackFitterConf import TrigInDetTrackFitter theTrigInDetTrackFitter = TrigInDetTrackFitter() #theTrigInDetTrackFitter.correctClusterPos = False #Flag to control whether to correct cluster position theTrigInDetTrackFitter.correctClusterPos = True #temporarily to true to improve err(z0) estimates from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigRotCreator theTrigInDetTrackFitter.ROTcreator = InDetTrigRotCreator ToolSvc += theTrigInDetTrackFitter self.trigInDetTrackFitter = theTrigInDetTrackFitter from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags if type == 'eGamma' and InDetTrigFlags.doBremRecovery(): theTrigInDetTrackFitterBrem = TrigInDetTrackFitter( name='theTrigInDetTrackFitterBrem', doBremmCorrection=True) ToolSvc += theTrigInDetTrackFitterBrem self.trigInDetTrackFitter = theTrigInDetTrackFitterBrem self.doZFinder = InDetTrigSliceSettings[('doZFinder', remapped_type)] if (self.doZFinder): from IDScanZFinder.IDScanZFinderConf import TrigZFinder theTrigZFinder = TrigZFinder() theTrigZFinder.NumberOfPeaks = 3 theTrigZFinder.LayerNumberTool = numberingTool theTrigZFinder.FullScanMode = True #TODO: know this from the RoI anyway - should set for every event ToolSvc += theTrigZFinder self.trigZFinder = theTrigZFinder self.doFastZVertexSeeding = True self.zVertexResolution = 7.5 from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool self.TrackSummaryTool = InDetTrigFastTrackSummaryTool if remapped_type == "tauCore": from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigTrackSummaryToolWithHoleSearch self.TrackSummaryTool = InDetTrigTrackSummaryToolWithHoleSearch from TrigInDetTrackFitter.TrigInDetTrackFitterConf import TrigL2ResidualCalculator resCalc = TrigL2ResidualCalculator(OfflineClusters=False) ToolSvc += resCalc self.TrigL2ResidualCalculator = resCalc self.doCloneRemoval = InDetTrigSliceSettings[('doCloneRemoval', remapped_type)]
# 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 # the sim propagator FatrasPropagator = Propagator('FatrasPropagatorID') ToolSvc += FatrasPropagator FatrasSTEP_Propagator = STEP_Propagator('FatrasSTEP_PropagatorID') ToolSvc += FatrasSTEP_Propagator # Extrapolator for fatras FatrasExtrapolator = Extrapolator(name='FatrasExtrapolatorID') # assign the tools FatrasExtrapolator.Navigator = FatrasNavigator FatrasExtrapolator.MaterialEffectsUpdators = [FatrasMaterialUpdator] FatrasExtrapolator.Propagators = [FatrasPropagator] FatrasExtrapolator.STEP_Propagator = FatrasSTEP_Propagator ToolSvc += FatrasExtrapolator ################################################################ # load the AtlasExtrapolator