Application to VELO |
1. VELO Residuals |
2. Problem & Strategy |
3. Internal Alignment |
4. Box Alignment |
5. Software Description |
6. How To Create Misaligned Events ? |
7. How To Use The Software ? |
Home |
Short Presentation |
Mechanical Constraints |
Misalignment Studies |
Alignment Techniques |
Application to VELO |
C++ code |
Latest News |
Links |
Application to the VELO
2. VELO algorithm (Part IV)
E. Alignment within GAUDI
E1. About the code
E1a. Where could you find it?
A first version VELO alignment code is now commited on LHCb CVS repository, under the Alignment branch. The code is divided into 2 different packages: AlignmentTools and VeloAlignment. AlignmentTools contains the Millepede Gaudi implementation, and thus could be used directly by other sub-detectors in order to perform their own alignment. VeloAlignment provides the interface between tracks and Millepede, in the case of the VELO.E1b. How to run it?
E2. Algorithm description
The alignment code is intended to work on reconstructed tracks. The code described here is then intended to run within Brunel . The basic flow is described on Fig.1.E1a. Initialization.
The alignment conditions are retrieved during the initialize() method. The way to do this could be found on the condition database introduction webpage.E1b. Execution.
The execute() method is used for the track selection. This selection is handled by a GAUDI tool: TrackStore, via the method TransformTrack(). This method takes a reconstructed track in input (at the pattern recognition level). The output is a VeloTrack, a specific object containing all the necessary information for our alignment algorithm (Millepede "friendly" coordinates, event number,...). If the considered track satisfies the cuts required in the joboptions, it's stored in a VeloTrack container.E1c. Finalization.
The Millepede tool is instantiated here, via the InitMille() method. This initialization takes into account the geometry and configuration requests contained in VeloAlign.opts. All this features tends to make the code as flexible as possible, in order to be usable not only during normal running but also during testbeam period, as shown here.E2. Results
Results obtained with this code are extensively described in the different notes on VELO alignment. Latest results using the geometry framework could be found in the previous parts.