Primary Vertex Refit
Comments about the Primary Vertex Refit (as 13/Mar/07)
Originally, InDetLocalChi2AlignTools/RefitWithVertexTool uses
iVertexFitter->fit(tracks) in its code. By doing this, one doesn't have a way to control where the primary vertex position is. Our proposal is to retrieve this primary vertex (VxPrimaryCandidate) from the default VxContainer where one has more control over the vertex constraints and many cuts can be applied.
Default Options for the BeamCondSvc:
theApp.Dlls+=["InDetCondServices"]
BeamCondSvc=Service("BeamCondSvc")
BeamCondSvc.useDB = True
BeamCondSvc.posX = 0.
BeamCondSvc.posY = 0.
BeamCondSvc.posZ = 0.
BeamCondSvc.sigmaX = 0.015
BeamCondSvc.sigmaY = 0.015
BeamCondSvc.sigmaZ = 53.
Then, from th jobOptions one can modify the following parameters:
# To select Trk::FullVertexFitter (InDetFullVxFitterTool)
InDetFlags.enableDefaultFullFinding()
ToolSvc = Service("ToolSvc")
ToolSvc.InDetPriVxFinderTool.useBeamConstraint = True
ToolSvc.InDetPriVxFinderTool.minPt = 100.
ToolSvc.InDetPriVxFinderTool.maxZ0 = 700.
ToolSvc.InDetPriVxFinderTool.maxD0 = 5.
ToolSvc.InDetPriVxFinderTool.maxD0overSigmaD0 = 100000000.
ToolSvc.InDetPriVxFinderTool.useSiHitCut = 0
ToolSvc.InDetPriVxFinderTool.maxChi2PerTrack = 100000.
#ToolSvc.InDetPriVxFinderTool.OutputLevel = VERBOSE
theApp.Dlls+=["InDetCondServices"]
BeamCondSvc=Service("BeamCondSvc")
BeamCondSvc.useDB = False
BeamCondSvc.posX = 0.
BeamCondSvc.posY = 0.
BeamCondSvc.posZ = 0.
BeamCondSvc.sigmaX = 0.015
BeamCondSvc.sigmaY = 0.015
BeamCondSvc.sigmaZ = 53.
As one can see that the BeamConstraint can be applied or not using this those options. Futhermore, we have studied how the vertex position changes as a function of a
dumping factor:
Where the
dumping factor is:
BeamCondSvc.sigmaX = 0.015 * _factor_
BeamCondSvc.sigmaY = 0.015 * _factor_
BeamCondSvc.sigmaZ = 53. * _factor_
Vertex Studies
One can estimate the position of the Primary Vertex removing all vertex constraints. To do that you can use the following lines:
InDetFlags.enableDefaultFullFinding()
ToolSvc = Service("ToolSvc")
ToolSvc.InDetPriVxFinderTool.useBeamConstraint = False
ToolSvc.InDetPriVxFinderTool.minPt = 100.
ToolSvc.InDetPriVxFinderTool.maxZ0 = 700.
ToolSvc.InDetPriVxFinderTool.maxD0 = 5.
ToolSvc.InDetPriVxFinderTool.maxD0overSigmaD0 = 100000000.
ToolSvc.InDetPriVxFinderTool.useSiHitCut = 0
ToolSvc.InDetPriVxFinderTool.maxChi2PerTrack = 100000.
Using these lines one gets the following results:
Test on Multimuons
- Misalignment Know (Ideal case):
- Vertex Candidate Position:
- DoubleCone + 5k events:
- Misalignment Unknow (Nominal case):
- Vertex Candidate Position:
- DoubleCone + 5k events:
Comparations
- Reconstruction of Primary Vertex with Multimuons and MinBias events (talk):
First Comparations with/without Vertex Refit:
Comparations between Nominal Geometry with and without Vertex Refit:
- Comparation plots:
- Hits:
- Track Parameters:
- Pixel Phi Residuals:
- SCT Residuals:
- Full non-comparative analysis:
- Nominal without Vertex Refit (40k events - 138054 tracks - 1193564 hits):
- Nominal with Vertex Refit (40k events - 135359 tracks - 1171238 hits):

NOTE: Nominal Geometry + newTracking (GlobalChi2Fitter) + DoubleCone setup (
Tracks and
Hits limited to this setup)
--
CarlosEscobar - 13 Mar 2007