Additional reference trajectories based on GeneralBrokenLines for tracker alignment with Millepede-II

For the tracker alignment with Millepede-II in the recent years as reference trajectory with proper description of multiple scattering a custom implementation of ‘broken lines’ had been used. Meanwhile this has been developed further to the so called ‘general broken lines’ (GBL) mathematically equivalent to a Kalman filter (NIM A, 673 (2012), 107-110). Experiment independent implementations (C++, Python, Fortran) are maintained by the Helmholtz Terascale Alliance at DESY.
The current custom implementation allows only the construction of the (reference) trajectory (fitted later by Millepede-II). GBL implements a rich set of features like fitting the trajectory (allows to iterate the reference trajectory) or direct output to a Millepede-II binary file or 4D measurements (position and direction). The implementation of the reference trajectories in CMSSW with GBL is much simpler compared to the custom ones. This would very much ease a possible extension to the muon system for a combined alignment.
Further information:
- https://indico.cern.ch/event/243958/session/1/contribution/6/material/slides/0.pdf
- https://www.wiki.terascale.de/index.php/GeneralBrokenLines
- https://www.desy.de/~kleinwrt/GBL/doc/cpp/html/index.html