3.4.6. Vertex fitting#

Introduction#

In the broadest sense, we call vertex fitting a technique in which one uses prior knowledge on the nature of a decay to improve the measurement of its observables. The fits we are going to perform are of two main types:

  • Geometric Fitting: We use the fit to determine the decay vertex of the particle. Usually this is done by fitting together the tracks of its charged decay products, which we know originate from a common point. Additional information could be available — for example, if the particle is short lived, we can improve this by adding an IP constraint, i.e. fit the beam spot together with the tracks. If there’s only one track, using the beam spot is the only way to obtain a vertex.

Warning

If no vertex fit is performed, the corresponding variables for the vertex position will not be filled.

  • Kinematic Fitting: We use the fit to improve our knowledge of the particle kinematics. By default, composite particle kinematics are built off the decay products using 4-momentum conservation. If the particle we are reconstructing has a well defined mass (either stable, or a narrow resonance) it might make sense to apply a mass constraint to help reject combinatorial background.

Warning

If you apply a mass constraint, the invariant mass will be fixed to the nominal mass. This is problematic if you then want to use this variable, for example if you want to fit a peak. In that case, make sure you save the pre-fit mass separately.

Note

Several fitters exist. For this exercise we will focus on KFit which is the most basic one.

Exercise

Locate the documentation for vertex fitting functions and find KFit.

Basic Fitting#

This lesson assumes you successfully reconstructed your \(B \to J/\Psi(\to e^+e^-)K_s(\to \pi^+\pi^+)\) decay following the previous exercises. Now suppose you are interested in reconstructing the \(B\) decay vertex position using a fit (for example, you’re trying to do a time-dependent CPV study).

Question

Which particles do you need to fit in order to reconstruct the \(B\) vertex?

Exercise

Call the fit function with the correct parameters and save the output. Include the true vertex position from MC for comparison.

Exercise (optional)

Fit the \(K_s\) as well. How does its flight length compare to the \(J/\Psi\)?

Exercise (optional)

Look up the documentation for TreeFitter and fit the whole \(B \to J/\Psi(\to e^+e^-)K_s(\to \pi^+\pi^+)\) decay chain at once.

Tag Vertex Fitting#

Since \(B\) mesons are produced in pairs, for every signal candidate we reconstruct, there will also be another (the “tag”) which is not explicitly reconstructed.

We might be interested in knowing the decay position of this meson without placing any requirements on its decay. This is done using the TagV module.

TagV performs a geometric fit over the tracks in the ROE to determine the tag decay vertex. However, not all tracks will necessarily come from the tag itself; consider for example our signal, where the pion tracks originate from a long lived kaon vertex. TagV is designed to iteratively downweight those tracks, ultimately excluding them from the fit.

Exercise

Locate the TagV documentation.

Question

By default, TagV only uses tracks with PXD hits. Why?

Exercise

Call the TagV module and save the output.

Conclusion and Plotting#

Congratulations! Your steering file is ready! Time to run it and check the results.

Exercise

Run the steering file.

You can now plot some relevant vertex variables. In general, the choice would depend on what you need for your analysis. A few examples would include:

  • Vertex position in various coordinates, such as dz and dr.

  • P-value of the fit.

  • Resolution of the vertex fit (\(\sigma(x)/x\)) where x is each of the above variables.

  • Pull (\((x-x(MC)/\sigma(x)\)).

As an exercise we will focus on the first two.

Exercise

Plot the \(J/\Psi\) vertex position and compare it with the true value. Plot the p-value distribution of the fit.

Z position of the :math:`J/\Psi` vertex.

Fig. 3.26 Distribution of the fitted vertex position in Z#

P-value of the vertex fit.

Fig. 3.27 Distribution of the fit p-values.#

Exercises (optional)

  • Compare the \(J/\Psi\) and Tag vertex positions and show that they are both compatible with being \(B\) vertices.

  • If you’ve fit the \(K_s\) vertex, compare its radial position with the \(J/\Psi\). Is this what you expect?

Key points

  • Use KFit to fit simple vertices.

  • Think carefully which vertex you need to fit, and whether it will need additional constraints.

  • Study the documentation if you need a different functionality, such as TreeFitter to fit complex trees.

  • Use TagV to reconstruct a vertex from the ROE.

Authors of this lesson

Francesco Tenchini