Alignment process



The alignment proceeds in several steps, from the smallest elements up to the largest groupings. At each stage, we can derive information from the surveys that were done, and after that we can use tracks from real data to improve on that. The alignment stages are:
  1. Wedges mounted onto the half-disks:
    The silicon wedges have fiducial marks. After completion of the half-disks, these marks were surveyed by Hexagon in Rhode Island. The survey results have been processed and entered into the data base, and are now used in the FVTX geometry definition.
  2. Half-disks into the cages:
    After production at LBL, the disks were mounted into the cages, and surveyed before being shipped to BNL. Second, after completion of the fully populated cages at BNL, the disks and cages were surveyed by the BNL survey crew.
    Analysis of data taken show small offsets of the disks relative to each other.
  3. Cages into the VTX/FVTX master frame:
    After integration, the cages and visible disk marks were again surveyed. These surveys, as well as software alignment, will be used to align the VTX and FVTX relative to each other.
  4. VTX/FVTX in the IR:
    The West and East halves were installed in the IR and surveyed. The survey data and track matches from the Muon arms will be used to define the relative global position of the VTX/FVTX in the Phenix hall. in the IR
  5. The Millipede software, operating on large track sets, will be used to refine the relative positions of each of the elements and groups to optimize the geometry.
We have to go from the survey points to placing the wedges in Pisa.

Steve Pate's presentation of Aug 17 2011, and May 11 2011.
His software is in CVS: offline/analysis/fvtx/metrology/. There is a README
(1)

Drawing is from here
Coordinates are from the bottom center of the silicon. In the (Geant3 and offline) software, the object of interest is volume SISI, which describes one column of strips, one on the left and one on the right of the center line. This column is bounded by the oval pads indicated in yellow. From there, we can calculate the center point of each volume SISI, and then calculate the location of this centerpoint to the measured fiducial marks, the 2 indicated squares on the center line.

(2)

Angles and lengths not to scale. Use this script to calculate (xc,yc)

 Center of sisi: ( +- 2.506, 24.931 ) mm
(relative to the bottom edge of the silicon). The (small) silicon length in Pisa is now set to 50.00mm (note in the spec document it is 50.06 mm 'cut line to cut line'. In the mechanical pdf (see above), it is 49.985 mm, for a presumed saw blade width of 0.075 mm.

Because of this, if we place SISI at -0.069 mm in SISS, the silicon may be a hair long, but the correspondence between the fiducial marks and the strip positions is correct.

(3)

When we want to move the silicon based on the measurements of the two fiducial marks (yellow dots on the center line), we want to move the entire module (volume SIPS), not just the strips SISI.

(4)

I ran Steve's root macro, with commands as folows:

.L diskMetro.C
diskmetro *str1 = new  diskmetro(0);
st1->showdesign();
st1->guidata("Station1-NorthWest");
         use rotation angle 3.17
st1->dofits();
st1->printraw();
st1->printcsv();
The angles I used for the 4 quadrants were:
NorthWest   3.17
Northeast   0.025
SouthEast   3.17
Southwest   0.03
I collected the outputs into file Station1_all.csv.

The numbers were read in from this file to Pisa, and the wedges are placed accordingly. What the picture on the right (SI11, which is SW) shows is an overlay of the ideal wedge positions in magenta, and in green the new positions according to the survey. You can see that some of the magenta lines are visible, meaning that the survey positions are not identical to the ideal ones.

(5)

Phenix data base and Geant3
There are C libraries to talk to the Phenix SQL data bases, so we need a Fortran/C interface. Here is what works. We pass the large arrays via named common blocks (Fortran) and structs (C). Note the 'extern's and the added underscore in the struct name.

Note how the integer and character arguments are passed.

Routine fvtx_getsurvey.C gets data from table fvtx_survey in the SQL data base.

The Makefile is modified to pick up the C and the data base libraries.

Files (from simulation/pisa2000/src/svx/):
svx_fvtx.f
fvtx_getsurvey.C
Makefile.am

In the Fortran code:

integer version
real xmid(24), ymid(24), wphi(24)        ! declare arrays, and put
common /wedgesurvey/ xmid, ymid, wphi    ! them in a named common

call fvtx_getsurvey(version,disk)        ! call to C, with arguments
 
----------------------------------------------------
In the C code:

extern "C" {             // This constuction is used
  extern struct {        // to pass variables to/from
    float xmid[24];      // named common block
    float ymid[24];      // common/wedgesurvey/.
    float wphi[24];      // 
  } wedgesurvey_ ;       // (name cannot contain underscores)  
}                        //

extern "C" void fvtx_getsurvey__(int &ver, char station[3])
{ ...
(C code talking to the data base)
(6)

Survey data for the big disks was processed by Steve and Darshana and collected into files Station1_all.csv,   Station2_all.csv,   Station3_all.csv, and entered into the data base with php script survey_insert_1.php, which is run on rcf2.

The image shows disk SI05 ( = SW St.3), with the ideal and measured silicon overlayed. There appears to be a systematic rotation between the two, of order 0.5°, likely due to the definition of the coordinate system in the measured data.


The geom.root file that incorporates all this is here.

(7)

After using the new geometry, the residuals dropped significantly for the North Arm, but no effect was seen on the South. (Melynda's plot)

(8)

This shows the residuals using only the wedge survey numbers. The fits are to sin(φ), with the phase fixed such that the amplitudes represent shifts in (Phenix global) x. Let's concentrate on the NE quadrant, the left halves of the plots. The biggest shift appears to be for the NE2 disk. If NE2 is indeed shifted by (+or-)154μm, it naturally pulls the fits of the other three stations in the opposite direction, which is what we see. In order to find out the sign of the shift, I do a run with station NE2 only shifted by +200um.

(9)

Surprisingly, this seems to correct most of the x-shifts. As for the sign, it is opposite the amplitude (-153), at least for the East disks.

(10)

Then, using these results, I looked for tilts of the plane by plotting the residuals vs. x, y, and r. A slope would indicate a tilt.
Plotted here are residuals vs. x, for North stations 0-3. On each panel I separated the measurements for each of the 4 planes (upstream high, upstream low, downstream low, downstream high), offset by -0.03, -0.01, +0.01, +0.03 respectively, as indicated by the red lines.
The fits (black lines) are independent, though for a given station they should be the same [should do a joint fit].
No large effects are seen.

Same plots for residuals vs. y, and residuals vs. r.


Hubert Van Hecke
Last modified: Sun May 13 21:58:49 EDT 2012