GeneralBrokenLines
Introduction
General Broken Lines are extending the scope of the original broken lines (or mirror) from a tracking setup with a solenoidal magnetic field, independent tracking in and perpendicular to the bending plane and multiple scattering in approximated thick scatterers to arbitrary propagation of the trajectory, arbitrary measurement planes and thick scatterers (described by an equivalent pair of thin scatterers or implemented directly).
A trajectory based on General Broken Lines is a track refit to add the description of multiple scattering to an initial trajectory based on the propagation in a magnetic field (and average energy loss). It is constructed from a sequence of (pairs of) thin scatterers describing the multiple scattering in the material between adjacent measurement planes. Predictions for the measurements are obtained by interpolation between the enclosing scatterers and triplets of adjacent scatterers define kink angles (and optionally steps) with variance according to the material of (or before) the central scatterer. This requires the propagation (on the initial trajectory) from a measurement plane or scatterer to the previous and next scatterer. The propagation has to be provided by the user in form of the jacobians for the local track parameters (transformation matrices). In the case of an homogeneous magnetic field they can be calculated from NIM A566:687-698,2006 by A. Strandlie and W. Wittek. The initial trajectory can be the result of a fit of the measurements (internal seed) or a prediction from another detector part (external seed). A General Broken Lines fit with external seed and one (additional) measurement is equivalent to the filtering step of the track fit with a Kalman filter.
As the track refit can provide the complete covariance matrix of all track parameters General Broken Lines are well suited as track model for calibration and alignment with Millepede II.
Description
Implementation
Implementations in Fortran, Python(2), Python3 and C++ are provided by DESY under the terms of the LGPLv2 license and are maintained in a publicly accessible GitLab repository at DESY. Since version V03-01-00 (C++) Java Native Access wrappers are available too.
The recommended version is publicly available via the git command line:
git clone --depth 1 --branch V03-01-01 https://gitlab.desy.de/claus.kleinwort/general-broken-lines.git GBL
For development, please clone the repository:
git clone https://gitlab.desy.de/claus.kleinwort/general-broken-lines.git GBL
The further development is concentrating on the C++ version.
Usage
The usage of the software package is described in corresponding README files. The Makefile produces a test executable demonstrating the usage with a simplified track model. All versions can directly output the trajectory information to Millepede-II binary files.
Documentation
Online documentation (doxygen) is available for:
Remarks
- The software can be freely used for research and education. We expect that all publications describing work using this software quote at least one reference from this page.
- Disclaimer: This software is provided without any expressed or implied warranty. In particular there is no warranty of any kind concerning the fitness of this software for any particular purpose.
Version history
Contact
For questions, suggestions or help please contact: Claus(dot)Kleinwort(at)desy(dot)de
References
- Fast alignment of a complex tracking detector using advanced track models, Volker Blobel, Claus Kleinwort, Frank Meier, Computer Phys. Communications (2011), doi:10.1016/j.cpc.2011.03.017
- General Broken Lines as advanced track fitting method, Claus Kleinwort, NIM A, 673 (2012), 107-110, doi:10.1016/j.nima.2012.01.024