def _dvVeloReco(self, name):
     from Configurables import PatPV3D, PVOfflineTool, PVSeed3DTool, LSAdaptPV3DFitter
     _veloVertices = PatPV3D(name + 'DV3DAlg')
     _veloVertices.OutputVerticesName = 'Rec/' + name + 'DV3D/RecVertices'
     _veloVertices.addTool(PVOfflineTool)
     _veloVertices.PVOfflineTool.InputTracks = ["Rec/Track/Best"]
     _veloVertices.PVOfflineTool.PVsChi2Separation = 0
     _veloVertices.PVOfflineTool.PVsChi2SeparationLowMult = 0
     _veloVertices.PVOfflineTool.PVSeedingName = "PVSeed3DTool"
     _veloVertices.PVOfflineTool.addTool(PVSeed3DTool())
     _veloVertices.PVOfflineTool.PVSeed3DTool.MinCloseTracks = 3
     _veloVertices.PVOfflineTool.addTool(LSAdaptPV3DFitter())
     _veloVertices.PVOfflineTool.PVFitterName = "LSAdaptPV3DFitter"
     _veloVertices.PVOfflineTool.LSAdaptPV3DFitter.maxIP2PV = 2 * mm
     _veloVertices.PVOfflineTool.LSAdaptPV3DFitter.MinTracks = 4
     return PatPV3DWrapper(name + 'DV3D', _veloVertices,
                           'Rec/' + name + 'DV3D/RecVertices')
예제 #2
0
#=== options for reconstruction all PV including displaced PVs
from Configurables import PatPV3D, PVOfflineTool, LSAdaptPV3DFitter, PVSeed3DTool
from GaudiKernel.SystemOfUnits import mm

#=== reconstruction of PV
PV = PatPV3D("PV")
PV.addTool(PVOfflineTool)
PV.PVOfflineTool.InputTracks = ["Rec/Track/Best"]
PV.OutputVerticesName = "Rec/Vertices/PV"

#=== reconstruction of displaced vertices
RV = PatPV3D("RV")
RV.addTool(PVOfflineTool)
RV.PVOfflineTool.InputVerticesName = "Rec/Vertices/PV"  #takes PVs as input
RV.PVOfflineTool.LookForDisplaced = True
RV.PVOfflineTool.InputTracks = ["Rec/Track/Best"]
RV.PVOfflineTool.PVSeedingName = "PVSeed3DTool"
RV.PVOfflineTool.addTool(PVSeed3DTool())
RV.PVOfflineTool.PVSeed3DTool.TrackPairMaxDistance = 0.2 * mm
RV.PVOfflineTool.PVSeed3DTool.zMaxSpread = 1 * mm
RV.PVOfflineTool.addTool(LSAdaptPV3DFitter())
RV.OutputVerticesName = "Rec/Vertices/RV"