Skip to content

Draft: An algorithm to study the resolution and efficiency of vertexing

This MR allows to study the performance of a vertexing algorithm: spatial/momentum resolution and efficiency.

The SecondaryVertexChecker algorithm takes as input:

  • The name to be given to the algorithm
  • The MC Association table
  • The MC particles
  • The reconstructed composite particle
  • The MC vertices
  • Some MC track information
  • A list of the target PID of the daughters of that composite (optional)
  • The number of daughters desired for the composite (for the moment only charged daughters)

Firstly, the code loops for the reconstructed particles provided, check if they have a matched MC particle and if so, it computes several variables that are saved in a root file.

Secondly, the algorithm loops over all MC particles which have at least the targeted number of daughters (N) (and optionally with the PID requested). Moreover, it checks if at least N daughters of the composite (which may have more) are reconstructible, meaning if they are in the LHCb acceptance and they left enough hits in VELO, UT and SciFi (so for now, only long tracks, but this can be extended in the future). At this time, there is no condition on the nature of the composite MC particle, but this can be added.

The idea is to use this algorithm to study the performance of HLT1 and HLT2 vertexing algorithms. Therefore, the code has been created to be flexible on purpose.

Example script to run the algorithm: SVChecker.py

To run the SecondaryVertexChecker algorithm in the LHCb stack: DaVinci/run gaudirun.py SVChecker.py

To make the fits for the plots plot.py

For example, here is the plot for pull of x in different mc_nPVs pull_x_228

Goes with Analysis!964 (closed) (Update : I put that in Rec now)

@dovombru @gligorov

Edited by Diego Mendoza Granada

Merge request reports

Loading