Create home authored by Claus Kleinwort's avatar Claus Kleinwort
# GeneralBrokenLines
## Introduction
General Broken Lines are extending the scope of the
[original broken lines](http://www.desy.de/~blobel/brline.html)
(or [mirror](http://www.desy.de/~sschmitt/blobel/brline.html)) 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.
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
with variance according to the material of 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](https://doi.org/10.1016/j.nima.2006.07.032).
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
[Draft manual](Gbl_man.pdf)
## Implementation
Implementations in Fortran, Python and C++ are provided by DESY under the terms of the
[LGPLv2 license](http://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html)
and are maintained in a publicly accessible [GitLab](https://about.gitlab.com)
[repository at DESY](gitlab.desy.de).
The recommended version is publicly available via the git command line:
`git clone --depth 1 --branch V02-04-00
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:
- [Fortran](http://www.desy.de/~kleinwrt/GBL/doc/fortran/html/)
- [Python](http://www.desy.de/~kleinwrt/GBL/doc/python/html/)
- [C++](http://www.desy.de/~kleinwrt/GBL/doc/cpp/html/)
### 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](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](http://dx.doi.org/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](http://dx.doi.org/10.1016/j.nima.2012.01.024)
\ No newline at end of file