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 V)
F. Using the Geometry Framework to misalign the VELO
This part explains how the Juan Palacios's LHCb Geometry Framework (GF) could be used easily to produce events in a misaligned VELO. In the following example, we show how to produce 10 sets of misalignments and run them simultaneously. Technical details concerning the framework are available here. This page was updated for the use with software under the hat of LHCb v21r12 and using slc3.F1. Create the misalignments sets
For the moment alignment conditions are contained in xml files inside the XmlConditions package. So first of all, get this package in your ~/cmtuser/ area (to do that follow the instructions given on the GF page). Here, v2r4 has been used.
___________________
1. LHCbEnv v18r9
2. cd Ex/DeVeloPython/v1r4/cmt
3. cmt br cmt config
4. source setup.(c)sh
5. cmt br gmake
6. cd ../python
7. python -i my_alignCond_template.py (Exit python with <CTRL>+d)
___________________
F2. Produce and simulate (GAUSS v25r7)
Into your working directory, create a directory called /Generation/. In this directory, create 3 subdirectories: /opts/, /scripts/, and /Xml/. Then, download the perl script create_jobs_gauss_v25r7.pl. It will produce an executable script to be sent to the batch system (in /scripts/), a job options file (in /opts/), and another xml file for the conditions database (in /Xml/). All you have to do is to adapt the parameters at the beginning of the file to your needs. Remember that the last paramerter, $conf_name must have the same name you used when creating the xml files for the alignment configuration you want to use. In addition, you have to provide an existing directory on CASTOR as $pathout that has two subdirectories called sim and log.
___________________
1. getpack Sim/Gauss v25r7
2. cd Sim/Gauss/v25r7/cmt/
3. GaussEnv v25r7
4. cmt br cmt config
5. source setup.(c)sh
6. cmt br gmake
___________________
___________________
// Geometry to be simulated Detector by detector
//----------------------------------------------------------------------------
//Geo.StreamItems += {"/dd/Structure/LHCb/BeforeMagnetRegion/Velo"};
// Uncomment following line to enable misaligneable VELO
#include "$GAUSSOPTS/SimVeloGeometry.opts"
___________________
___________________
chmod 755 launch_GAUSS.x
./launch_GAUSS.x
___________________
F3. Digitize (BOOLE v12r10)
It's quite similar than in the previous case, and in fact even simpler, as you don't have to deal with all the .xml stuff anymore.
___________________
1. getpack Digi/Boole v12r10
2. cd Digi/Boole/v12r10/cmt/
3. BooleEnv v12r10
4. cmt br cmt config
5. source setup.(c)sh
6. cmt br gmake
___________________
___________________
chmod 755 launch_BOOLE.x
./launch_BOOLE.x
___________________