def GetCachedTrackSelectorTool(): from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool from AthenaCommon.AppMgr import ToolSvc ToolSvc += InDet__InDetDetailedTrackSelectorTool( "MyDetailedTrackSelectorTool") ToolSvc.MyDetailedTrackSelectorTool.pTMin = 500 # MeV ToolSvc.MyDetailedTrackSelectorTool.etaMax = 2.5 ToolSvc.MyDetailedTrackSelectorTool.nHitBLayer = 0 ToolSvc.MyDetailedTrackSelectorTool.nHitPix = 1 ToolSvc.MyDetailedTrackSelectorTool.nHitBLayerPlusPix = 0 ToolSvc.MyDetailedTrackSelectorTool.nHitSct = 6 ToolSvc.MyDetailedTrackSelectorTool.nHitSi = 7 ToolSvc.MyDetailedTrackSelectorTool.nHitTrt = 0 ToolSvc.MyDetailedTrackSelectorTool.IPd0Max = 1.5 # d0 cut ToolSvc.MyDetailedTrackSelectorTool.IPz0Max = 1.5 # z0*sin(theta) cut ToolSvc.MyDetailedTrackSelectorTool.z0Max = 200 # z0 cut ToolSvc.MyDetailedTrackSelectorTool.fitChi2OnNdfMax = 10000 #3 ToolSvc.MyDetailedTrackSelectorTool.d0significanceMax = -1. ToolSvc.MyDetailedTrackSelectorTool.z0significanceMax = -1. ToolSvc.MyDetailedTrackSelectorTool.Extrapolator = ToolSvc.InDetExtrapolator ToolSvc.MyDetailedTrackSelectorTool.OutputLevel = 3 from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool atst = AtlasTrackSummaryTool() ToolSvc += atst ToolSvc.MyDetailedTrackSelectorTool.TrackSummaryTool = atst from JetSubStructure.JetSubStructureConf import JetSubStructure__CachedTrackSelectorTool ToolSvc += JetSubStructure__CachedTrackSelectorTool( "CachedTrackSelectorTool") ToolSvc.CachedTrackSelectorTool.TrackSelector = ToolSvc.MyDetailedTrackSelectorTool return ToolSvc.CachedTrackSelectorTool
def __init__(self, name = 'AtlasVKalVxInJetFinder' ): from __main__ import ToolSvc mlog = logging.getLogger( 'AtlasVKalVxInJetFinder::__init__ ' ) mlog.info("entering") #----------------- ATLAS magnetic field from AthenaCommon.AppMgr import ServiceMgr from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc ServiceMgr += MagField__AtlasFieldSvc("myAtlasFieldSvc"); #----------------- ATLAS extrapolator from TrkExTools.AtlasExtrapolator import AtlasExtrapolator SVAtlasExtrapolator=AtlasExtrapolator() ToolSvc+=SVAtlasExtrapolator #-------------------------- from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool SVAtlasTrackSummaryTool = AtlasTrackSummaryTool() ToolSvc += SVAtlasTrackSummaryTool #------------------------- # TrackParticle creator # from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool SVParticleCreatorTool = Trk__TrackParticleCreatorTool(name="SVParticleCreatorTool", TrackSummaryTool=SVAtlasTrackSummaryTool, UseTrackSummaryTool=False ) ToolSvc += SVParticleCreatorTool #---------------------- # VKalVrt vertex fitter # from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter SVertexFitterTool = Trk__TrkVKalVrtFitter(name="SVertexFitterTool", Extrapolator=SVAtlasExtrapolator, AtlasMagFieldSvc = "myAtlasFieldSvc" ) ToolSvc += SVertexFitterTool #---------------------- # Secondary vertex finder itself # from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory SVLinearizedTrackFactory = Trk__FullLinearizedTrackFactory(name="SVLinearizedTrackFactory",Extrapolator = SVAtlasExtrapolator) ToolSvc += SVLinearizedTrackFactory from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator SVTrackToVertexIPEstimator = Trk__TrackToVertexIPEstimator(name="SVTrackToVertexIPEstimator", Extrapolator = SVAtlasExtrapolator, LinearizedTrackFactory=SVLinearizedTrackFactory) ToolSvc += SVTrackToVertexIPEstimator InDet__InDetVKalVxInJetTool.__init__( self, name = name, VertexFitterTool = SVertexFitterTool, TrackParticleCreator = SVParticleCreatorTool, TrackSummaryTool = SVAtlasTrackSummaryTool, TrackToVertexTool = SVTrackToVertexIPEstimator )
def __init__(self, name="VrtSecInclusive"): from __main__ import ToolSvc mlog = logging.getLogger('VrtSecInclusive::__init__ ') mlog.info("entering") from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter TrkVKalVrtFitter = Trk__TrkVKalVrtFitter() # print TrkVKalVrtFitter ToolSvc += TrkVKalVrtFitter from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool AtlasTrackSummaryTool = AtlasTrackSummaryTool() # print AtlasTrackSummaryTool mlog.info("AtlasTrackSummaryTool for VrtSecInclusive created") ToolSvc += AtlasTrackSummaryTool VKalVrtAthena__VrtSecInclusive.__init__(self, name)
def setup(self): mlog = logging.getLogger( 'eflowSetupParticleCreator::setup' ) try: from AthenaCommon.AppMgr import ToolSvc except: mlog.error("could not import ToolSvc") print traceback.format_exc() return False try: from TrkExTools.AtlasExtrapolator import AtlasExtrapolator eflowExtrapolator = AtlasExtrapolator(name = "eflowExtrapolator") except: mlog.error("could not import AtlasExtrapolator from TrkExTools.AtlasExtrapolator") print traceback.format_exc() return False ToolSvc+=eflowExtrapolator try: from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool eflowTrackSummaryTool = AtlasTrackSummaryTool(name = "eflowTrackSummaryTool") except: mlog.error("could not import AtlasTrackSummaryTool from TrkTrackSummaryTool.AtlasTrackSummaryTool") print traceback.format_exc() return False ToolSvc+=eflowTrackSummaryTool try: from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool eflowParticleCreatorTool = Trk__TrackParticleCreatorTool(name = "eflowParticleCreatorTool",Extrapolator = eflowExtrapolator, TrackSummaryTool = eflowTrackSummaryTool) except: mlog.error("could not import Trk__TrackParticleCreatorTool from TrkParticleCreator.TrkParticleCreatorConf") print traceback.format_exc() return False ToolSvc += eflowParticleCreatorTool return eflowParticleCreatorTool
def __init__(self, name = 'InDetVKalVxInJetFinder' ): from __main__ import ToolSvc mlog = logging.getLogger( 'InDetVKalVxInJetFinder::__init__ ' ) mlog.info("entering") #---------------------- # VKalVrt vertex fitter # from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter SVertexFitterTool = Trk__TrkVKalVrtFitter(name="SVertexFitterTool", Extrapolator="Trk::Extrapolator/AtlasExtrapolator", AtlasMagFieldSvc = "AtlasFieldSvc" #AtlasMagFieldSvc = "Default", #Extrapolator = "DefaultVKalPropagator" ) ToolSvc += SVertexFitterTool #---------------------- # Secondary vertex finder itself # if hasattr(ToolSvc,'InDetParticleCreatorTool'): InDet__InDetVKalVxInJetTool.__init__( self, name = name, VertexFitterTool = SVertexFitterTool ) else: #-------------------------------- # TrackParticle creator is needed from TrkParticleCreator.TrkParticleCreatorConf import Trk__TrackParticleCreatorTool if hasattr(ToolSvc,'InDetTrackSummaryTool'): SVParticleCreatorTool = Trk__TrackParticleCreatorTool(name="SVParticleCreatorTool", TrackSummaryTool="InDetTrackSummaryTool", UseTrackSummaryTool=False ) else: from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool SVTrackSummaryTool = AtlasTrackSummaryTool(name="SVTrackSummaryTool") ToolSvc += SVTrackSummaryTool SVParticleCreatorTool = Trk__TrackParticleCreatorTool(name="SVParticleCreatorTool", TrackSummaryTool=SVTrackSummaryTool, UseTrackSummaryTool=False ) ToolSvc += SVParticleCreatorTool InDet__InDetVKalVxInJetTool.__init__( self, name = name, VertexFitterTool = SVertexFitterTool, TrackParticleCreator = SVParticleCreatorTool )
def __init__(self, name="InDetVKalPriVxFinder"): from AthenaCommon.AppMgr import ToolSvc mlog = logging.getLogger( 'InDetVKalPriVxFinder::__init__ ' ) mlog.info("entering") from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter TrkVKalVrtPFitter = Trk__TrkVKalVrtFitter() ToolSvc += TrkVKalVrtPFitter from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool AtlasTrackSummaryTool = AtlasTrackSummaryTool() mlog.info("AtlasTrackSummaryTool for InDetVKalPriVxFinder created") ToolSvc += AtlasTrackSummaryTool InDet__InDetVKalPriVxFinderTool.__init__( self,name="InDetVKalPriVxFinderTool", TrackSummaryTool=AtlasTrackSummaryTool, FitterTool=TrkVKalVrtPFitter )
include.block ( "MuonSegmentTaggerTools/MuonSegmentTaggerTools_jobOptions.py" ) #----------------------------------------------------------------- from TrkExTools.AtlasExtrapolator import AtlasExtrapolator MuTagExtrapolator = AtlasExtrapolator() from TrackToSegmentTools.TrackToSegmentToolsConf import TrackToSegmentTool ConfiguredForAllStationsTrackToSegmentTool = TrackToSegmentTool( name = "ConfiguredForAllStationsTrackToSegmentTool" , IExtrapolator = MuTagExtrapolator , addMultipleScattering = 0 , ReverseIDTrack = 0 ) ToolSvc += ConfiguredForAllStationsTrackToSegmentTool #print ConfiguredForAllStationsTrackToSegmentTool #-------------------------------------------------------------------------------------------------------------------------- from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool TrkTrackSummaryToolFORMuTagIMOInDetDetailedTrackSelectorTool = AtlasTrackSummaryTool() ToolSvc += TrkTrackSummaryToolFORMuTagIMOInDetDetailedTrackSelectorTool from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool from AthenaCommon.GlobalFlags import globalflags from RecExConfig.RecFlags import rec MuTagIMOInDetDetailedTrackSelectorTool = InDet__InDetDetailedTrackSelectorTool( name = "MuTagIMOInDetDetailedTrackSelectorTool", pTMin = 2000*MeV, IPd0Max = 50.0*mm, IPz0Max = 9999.0*mm, z0Max = 9999.0*mm, useTrackSummaryInfo = False, nHitBLayer = 0,
def createJSTrackJets(theseq, myjetfinder, myjetdr): # Setup tool so that it can be used JS_MyJetTrackZClusterTool = JetTrackZClusterTool( "JS_JetTrackZClusterTool_%s%d" % (myjetfinder, myjetdr * 10)) JS_MyJetTrackZClusterTool.TrackJetMinMulti = 2 JS_MyJetTrackZClusterTool.TrackJetMinPt = 4000 # MeV JS_MyJetTrackZClusterTool.UseVtxSeeding = True JS_MyJetTrackZClusterTool.DeltaZRange = 10000.0 JS_MyJetTrackZClusterTool.TrackParticleContainerName = "TrackParticleCandidate" JS_MyJetTrackZClusterTool.VxContainerName = "VxPrimaryCandidate" JS_MyJetTrackZClusterTool.OutputLevel = 3 #-------------------------------------------------------------- # TrackSelector Tool Options #-------------------------------------------------------------- from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool from AthenaCommon.AppMgr import ToolSvc trackSelector = InDet__InDetDetailedTrackSelectorTool( "JS_MyDetailedTrackSelectorTool") ToolSvc += trackSelector #See InDetDetailedTrackSelectorTool.h for additional options and defaults trackSelector.pTMin = 500 # MeV trackSelector.etaMax = 2.5 trackSelector.nHitBLayer = 0 trackSelector.nHitPix = 0 trackSelector.nHitBLayerPlusPix = 1 #0 trackSelector.nHitSct = 6 #0 trackSelector.nHitSi = 7 #7 trackSelector.nHitTrt = 0 trackSelector.IPd0Max = 1.0 #1 # d0 cut trackSelector.IPz0Max = 1.5 # z0*sin(theta) cut trackSelector.z0Max = 200 # z0 cut trackSelector.fitChi2OnNdfMax = 10000 #1000 #3.5 #3 trackSelector.d0significanceMax = -1. trackSelector.z0significanceMax = -1. # Try to set InDet default tools to avoid strange bugs try: trackSelector.Extrapolator = ToolSvc.InDetExtrapolator except: from AthenaCommon.Logging import logging l = logging.getLogger("TrackSelectionForJets::setupTrackSelectorTool") l.warning( "No ToolSvc.InDetExtrapolator available. Tracking might cause infinite loop" ) pass #trackSelector.OutputLevel = 3 from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool atst = AtlasTrackSummaryTool() ToolSvc += atst trackSelector.TrackSummaryTool = atst ## from JetSubStructure.JetSubStructureConf import JetSubStructure__CachedTrackSelectorTool CachedTrackSelector = JetSubStructure__CachedTrackSelectorTool( "JS_CachedTrackSelectorTool") ToolSvc += CachedTrackSelector CachedTrackSelector.TrackSelector = trackSelector ## # Tell "JetTrackZClusterTool" to use this tool JS_MyJetTrackZClusterTool.TrackSelector = CachedTrackSelector.TrackSelector #-------------------------------------------------------------- # JetFinder Tool Options (Anti-Kt) #-------------------------------------------------------------- from JetRec.JetRecConf import JetFastJetFinderTool myfastfinder = JetFastJetFinderTool("JS_%s%dTrackJetFinder" % (myjetfinder, myjetdr * 10)) if myjetfinder == 'AntiKt': myfastfinder.Algorithm = "anti-kt" elif myjetfinder == 'CamKt': myfastfinder.Algorithm = "cambridge" myfastfinder.Radius = myjetdr myfastfinder.RecombScheme = "E" myfastfinder.Strategy = "Best" myfastfinder.FailIfMisconfigured = True myfastfinder.Inclusive = True myfastfinder.CalculateJetArea = False myfastfinder.StoreNFlipValues = 0 ToolSvc += myfastfinder # Tell "TrackZClusterTool" to use this tool JS_MyJetTrackZClusterTool.JetFinder = myfastfinder #------------------------------------------------------------- # Jet Getter #------------------------------------------------------------- JS_TrackZToolList = [ JS_MyJetTrackZClusterTool, JetSignalSelectorTool('JSTZ_JetFinalPtCut', UseTransverseMomentum=True, MinimumSignal=jetFlags.finalMinEt()), JetSorterTool('JSTZ_JetSorter', SortOrder="ByPtDown") ] mytrackzjetgetter = make_StandardJetGetter(myjetfinder, myjetdr, 'TrackZ', seq=theseq, allTools=JS_TrackZToolList) return mytrackzjetgetter
def trackIsolationTool(name, doTrackIsolation=False, doSumConversionTracks=True, trackParticleCollection='TrackParticleCandidate', conversionContainer='ConversionCandidate', calorimeterCellContainer=None, onlyEM=False, coreDeltaR=0.05, trackToVertexTool=None, trackSummaryTool=None, extrapolator=None, trackSelector=None, pTMin=1000 * MeV, IPd0Max=10.0 * mm, IPz0Max=10.0 * mm, z0Max=10.0 * mm, useTrackSummaryInfo=True, nHitBLayer=0, nHitPix=0, nHitBLayerPlusPix=0, nHitSct=0, nHitSi=4, nHitTrt=0, useTrackQualityInfo=False, **kw): from AthenaCommon.AppMgr import ToolSvc if calorimeterCellContainer == None: calorimeterCellContainer = \ 'AODCellContainer' if rec.readAOD() else 'AllCalo' if trackToVertexTool == None: from TrackToVertex.TrackToVertexConf import Reco__TrackToVertex trackToVertexTool = Reco__TrackToVertex() ToolSvc += trackToVertexTool if trackSummaryTool == None: from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool trackSummaryTool = AtlasTrackSummaryTool() ToolSvc += trackSummaryTool if extrapolator == None: from TrkExTools.AtlasExtrapolator import AtlasExtrapolator extrapolator = AtlasExtrapolator() ToolSvc += extrapolator if trackSelector == None: selname = name + 'TrackSelector' from AthenaCommon.BeamFlags import jobproperties if (jobproperties.Beam.beamType() == 'cosmics' or jobproperties.Beam.beamType() == 'singlebeam'): trackSelector = InDet__InDetDetailedTrackSelectorTool( name=selname, pTMin=0 * MeV, IPd0Max=9999 * mm, IPz0Max=9999 * mm, z0Max=9999 * mm, useTrackSummaryInfo=False, useTrackQualityInfo=False, TrackSummaryTool=trackSummaryTool, Extrapolator=extrapolator) else: trackSelector = InDet__InDetDetailedTrackSelectorTool( name=selname, pTMin=pTMin, IPd0Max=IPd0Max, IPz0Max=IPz0Max, z0Max=z0Max, useTrackSummaryInfo=useTrackSummaryInfo, nHitBLayer=nHitBLayer, nHitPix=nHitPix, nHitBLayerPlusPix=nHitBLayerPlusPix, nHitSct=nHitSct, nHitSi=nHitSi, nHitTrt=nHitTrt, useTrackQualityInfo=useTrackQualityInfo, TrackSummaryTool=trackSummaryTool, Extrapolator=extrapolator, **kw) ToolSvc += trackSelector tool = TrackIsolationTool(name, DoTrackIsolation=doTrackIsolation, DoSumConversionTracks=doSumConversionTracks, TrackParticleCollection=trackParticleCollection, ConversionContainer=conversionContainer, CaloCellContainer=calorimeterCellContainer, OnlyEM=onlyEM, CoreDeltaR=coreDeltaR, ExtrapolTrackToCaloTool=ToolSvc.TrackInCaloTools, TrackToVertex=trackToVertexTool, TrackSelector=trackSelector) ToolSvc += tool return tool
theApp.Dlls += ["InDetVKalVxInJetTool"] theApp.Dlls += ["TrkVKalVrtFitter"] from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool AtlasTrackSummaryTool = AtlasTrackSummaryTool() ToolSvc += AtlasTrackSummaryTool print AtlasTrackSummaryTool
#print ToolSvc.ExtrapolateToCaloTool.CaloDepthTool #print ToolSvc.ExtrapolateToCaloTool.CaloDepthTool.DepthChoice #print exToCalo #print "------------------------------------------------->>>extrapolToCalo<<<---------------------------------------------------" ########################################################################################################## ########################################################################################################## # Configure the InDetConversionFinder ############################################################################################################ theAtlasMagField = CfgMgr.Trk__MagneticFieldTool('theAtlasMagField') ToolSvc += theAtlasMagField from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool theAtlasTrackSummaryTool = AtlasTrackSummaryTool("theAtlasTrackSummaryTool") ToolSvc += theAtlasTrackSummaryTool from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter InDetConversionVxFitterTool = Trk__TrkVKalVrtFitter( name="InDetConversionVxFitter", # Extrapolator = InDetExtrapolator, Extrapolator=theAtlasExtrapolator, IterationNumber=30, #MagFieldSvc = InDetMagField, MagFieldSvc=theAtlasMagField, Robustness=6, #This line has no more meaning Constraint = 12, usePhiCnst=True, useThetaCnst=True,