Coombes Automated Alignment Procedure (CAAP)

For the mirrors of the RICH1 detector

Table of Contents

Introduction

The general idea

The idea of this alignment method is to find the alignment parameters of each mirror pair in the RICH1 detector. Four flat mirrors are then associated with each spherical mirror. If more than half of the mirror combinations associated with one spherical mirror are misaligned in the same direction then the misalignment is assumed to be due to the spherical mirror only and this is aligned. If less than three of the mirror combinations associated to one spherical mirror are misaligned in one direction the misalignments are assumed to be due to the flat mirrors and these are then aligned. This process is repeated in an iterative loop until all alignment parameters are less than 0.1mrads.

http://indico.cern.ch/getFile.py/access?contribId=0&resId=1&materialId=slides&confId=79804

How it works

The alignment process currently works in two ways a ganga script that runs semi-interactivly by submitting Brunel jobs to the grid and running a root macro locally. Or a DIRAC script which submits one job to the grid where the whole iterative procedure takes place. However the later does not support sub-jobs and therefore the ganga option has been preferred.

  • A Brunel job is submitted to the grid (or whichever backend you prefer).
  • The ganga script waits for the jobs to complete before retrieving the merged output histograms from your output sandbox.
  • A ROOT Macro is then run which fits these alignment histograms extracting the alignment parameters and calculating the tilts to apply to each mirror.
  • These tilts are written to a .dat file which is read at the next iteration.
  • The tilts are also output in a Brunel options file.
  • Once this is complete Brunel runs again with the new options attached.
  • The whole process is repeated until the alignment conditions are less than 0.1mrads.
  • At this point the ROOT macro creates a file Stoprunning.now which tells the ganga script to end.

How to Run

Here are instructions on how to run the semi-interactive Rich1 Alignment method named Coombes Automated Alignment Procedure (CAAP)

  • Copy across the directory /afs/cern.ch/user/m/mcoombes/public/Rich1AutoAlign to your local area in the directory ~/cmtuser/Brunel_v**/Rec/Brunel/job/
cp -r /afs/cern.ch/user/m/mcoombes/public/Rich1AutoAlign ~/cmtuser/Brunel_v37r1/Rec/Brunel/job/. 

  • Edit the file Ganga-2010-Rich1FullAlignment.py. You will need to change the following lines to point to your area
p.application.user_release_area='/afs/cern.ch/user/m/mcoombes/cmtuser' 
GangaArea ='/afs/cern.ch/user/m/mcoombes/scratch0/gangadir1/workspace/mcoombes/LocalXML/' 
    • Change the line
File ( myOptsPath + 'Rich1Events.py'     ), 
to a file of DSTs that you wish to use for the alignment procedure.

  • Then compile the ROOT Macro
root 
.L Rich1AutoAlign.C++
.q
    

  • Use the Brunel options file supplied. Which must contain the following lines
from Configurables import RichAlignmentConf
RichAlignmentConf("OfflineRichMoni_RichAlignmentConf").Histograms = "OfflineExpress"

from Configurables import HistogramPersistencySvc
HistogramPersistencySvc().OutputFile = "Histos-2010-Collisions.root"
    

  • Run the Alignment Process
cd ~/cmtuser/Brunelv37r1/Rec/Brunel/job/Rich1AutoAlign
setenv CMTCONFIG slc4_ia32_gcc34
SetupProject Ganga
ganga
ganga Ganga-2010-Rich1FullAlignment.py
    

note the line

setenv CMTCONFIG slc4_ia32_gcc34 
is required to run on the Dirac backend

Further Additions

The .dat files currently contain the mirror number, tilt in y, tilt in x, radius of curvature. They will also contain the magnification factor for each mirror pair. This should reduce the time the program takes to converge requiring less iterations.

-- MattCoombes - 19-Apr-2010

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2011-05-26 - MattCoombes
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

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