Table of Contents

News

18/02/2008

The current HEAD of the Alignment project compiles without problems against the latest verions of Lbcom (v6r14) and Rec (v5r3).

19/03/2008

The current HEAD of the Alignment project compiles without problems against the latest verions of Lbcom (v6r15) and Rec (v5r4).

Note There is a major bug in DetDesc v18r4. The inverse of the alignment conditions transform is set incorrectly. This has been fixed in the head and DetDesc has been re-tagged as v18r4p1. See the release notes for further info.

Building and running the Alignment framework against the LHCb Nightlies

# setenv User_release_area ${HOME}/MyAlignmentStuff
# setenvAlignment v3r1 --nightly lhcb1
# cd AlignmentSys/cmt
# cmt config
# source setup.csh

Note setenvAlignment v3r1 --nightly lhcb1 will set the environment to use the most recent nigthly. To use a different day do setenvAlignment v3r1 --nightly lhcb1

Setting up the Alignment framework

Here I'll give step by step instructions on how to set up the Alignment framework for those interested in debugging/testing the framework or want contribute.

Setting the environment and compiling the packages

Note The following is only necessary if you want to use different versions of Rec and Lbcom, typically the latest, than the official release.

In your $User_release_area_rea do

~/cmtuser>getpack ALIGNMENT ALIGNMENT_vXrY
where vXrY is the latest release of the alignment project.

Info By default the environment variable $User_release_area is set to ${HOME}/cmtuser. If you want to set it to different path, e.g. ${HOME}/MyUserReleaseArea, do (in tsch):

~>unsetenv CMTPROJECTPATH
~>setenv User_release_area ${HOME}/MyUserReleaseArea
~>setenv CMTPROJECTPATH ${User_release_area}:${LHCb_release_area}:${Gaudi_release_area}:${LCG_release_area}

Then modify the file project.cmt in ~/cmtuser/ALIGNMENT/ALIGNMENT_vXrY/cmt with your favourite editor so that your preferred versions of Rec and Lbcom are picked up, e.g.

~/cmtuser/ALIGNMENT/ALIGNMENT_vXrY/cmt> nano -w project.cmt
...
#use LBCOM LBCOM_v6r11 don't use
use LBCOM LBCOM_v6r13  #use this one 
#use REC      REC_v5r0 don't use
use REC      REC_v5r2 #use this one
... 

  • Now to set the Alignment environment simply do
    ~>setenvAlignment vXrY
        
    this will set the environment and create a directory Alignment_vXrY in your $User_release_area

  • Next getpack all the alignment packages with
    ~/cmtuser/Alignment_vXrY>getpack -r AlignmentSys vXrY
       
    Info The option "-r" tells getpack to recursively getpack the current release of all packages. The option "-rh" tells getpack to recursively getpack the HEAD of all packages.

  • To compile all the packages in one go one simply does
    ~/cmtuser/Alignment_vXrY>cd AlignmentSys/vXrY/cmt/
    ~/cmtuser/Alignment_v2r2/AlignmentSys/v2r2/cmt>source setup.csh
    ~/cmtuser/Alignment_v2r2/AlignmentSys/v2r2/cmt>cmt br -select=$User_release_area -global make 
      

That's it!!

Example:

~>setenvAlignment v2r3
~/cmtuser/Alignment_v2r3>getpack -r AlignmentSys v2r3
~/cmtuser/Alignment_v2r3>cd AlignmentSys/v2r3/cmt/
~/cmtuser/Alignment_v2r3/AlignmentSys/v2r3/cmt >source setup.csh
~/cmtuser/Alignment_v2r3/AlignmentSys/v2r3/cmt >cmt br -select=$User_release_area -global make
or if you want to use the HEAD
~>setenvAlignment v2r3
~/cmtuser/Alignment_v2r3>getpack -rh AlignmentSys v2r3
~/cmtuser/Alignment_v2r3>cd AlignmentSys/v2r3/cmt/
~/cmtuser/Alignment_v2r3/AlignmentSys/v2r3/cmt >source setup.csh
~/cmtuser/Alignment_v2r3/AlignmentSys/v2r3/cmt >cmt br -select=$User_release_area -global make

Note If the version of the Alignment project you want to use hasn't been officially released then you first need to getpack the project, i.e.

~/cmtuser>getpack ALIGNMENT ALIGNMENT_v2r3

What if there are bug fixes in the HEAD of any packages (dependencies) that are not in the Alignment project?

Say that the HEAD of LHCbKernel contains a bug fix to the trajectory code and you want to use it. Then all you need to do is
~>setenvLHCb vXrY
~/cmtuser/LHCb_vXrY>getpack Kernel/LHCbKernel head
~/cmtuser/LHCb_vXrY>cd ~/cmtuser/Alignment_vUrV
~/cmtuser/Alignment_vUrV>nano -w cmt/project.cmt
project Alignment_vUrV

use LHCb_vXrY #use my version of LHCb

use ALIGNMENT ALIGNMENT_vUrV
~/cmtuser/Alignment_vUrV>cd AlignmentSys/vUrV/cmt
~/cmtuser/Alignment_vUrV/AlignmentSys/vUrV/cm>cmt config
~/cmtuser/Alignment_vUrV/AlignmentSys/vUrV/cm>source setup.csh
~/cmtuser/Alignment_vUrV/AlignmentSys/vUrV/cm>cmt br -select=$User_release_area -global make

Monitoring histograms

The following monitoring histograms are produced by the alignment algorithm
Histo Type Histo ID Histo Title Note
IHistogram2D 10 Track chi2 distribution vs iteration distribution of the tracks per iteration
IHistogram2D 11 Normalised track chi2 distribution vs iteration Normalised, i.e. divided by the nDoF, distribution of the tracks per iteration
IProfile1D 20 Total number of used tracks for alignment vs iteration Tracks used for alignment per iteration
IProfile1D 30 Total sum of track chi2 vs iteration per iteration
IProfile1D 31 Average sum of track chi2 vs iteration per iteration
IProfile1D 32 Normalised total sum of track chi2 vs iteration per iteration
IProfile1D 40 Delta Alignment chi2 vs iteration per iteration
IProfile1D 41 Delta Alignment normalised chi2 vs iteration per iteration
IHistogram2D 1000+n Residual vs iteration for element n
IHistogram2D 2000+n Pull vs iteration for for element n
IHistogram1D 3000+n Number of hits vs iteration for element n
IHistogram1D 10000+n Delta Tx vs iteration for element n
IHistogram1D 20000+n Delta Ty vs iteration for element n
IHistogram1D 30000+n Delta Tz vs iteration for element n
IHistogram1D 40000+n Delta Rx vs iteration for element n
IHistogram1D 50000+n Delta Ry vs iteration for element n
IHistogram1D 60000+n Delta Rz vs iteration for element n
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2008-11-18 - JanAmoraal
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback