E08-010 ~ N-Delta BPM Calibration |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The beam positioning monitor (BPM) system in Hall A at Jefferson Lab consists of two sets of antenna detectors positioned
7.524 m (A) and 1.286 m (B) upstream of the target. HARP scans are run by the MCC to determine the exact positioning of the
beam at those locations. That positioning is then supplied to the data stream through the EPICs interface every 3-4 seconds
through the variables IPM1H04A and IPM1H04B. For both the A and B locations, there is an x and a y location, resulting in a total
of four EPICs variables: Ax, Ay, Bx, and By. Additionally, there are BPM antennae set up at the A and B locations to obtain event-by-event data, and like the EPICs variables, there are both x and y BPM variables for each location, resulting in another four variables. The main goal of this calibration is to find a relationship between the BPM variables, which we obtain for each event, and the EPICs variables, which we assume are accurate. To do this calibration, "bull's-eye" scans are needed, in which the beam is purposefully moved and the results measured. For the N-Delta experiment, runs from 1579 to 1599 were taken for this purpose. It should be noted that after the N-Delta experiment, another sets of scans were taken, runs 4139 to 4149, for the SRC experiment that followed. However, the results from those scans differ slightly from those of the earlier runs, as will be shown later. The following table shows the relationship between the HARP scan and CODA run numbers, as well as the approximate position of the beam for each run.
Due to the errors noticed in runs 1586, 1587, 1597, 1598, and 1599, they were not included in the analysis. However, that still leaves 16 runs which are more than enough for this analysis. The database file containing the results from this calibration are here: db_beam.dat. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BPM Pedestals Run The first step in the BPM calibration is to determine the pedestal values of the BPM detectors. This is done with a BPM pedestal run, which in this case was run 1184. ![]() From this run, pedestal values can be determined, which are then entered into the "db_beam.dat" file in the analyzer's DB directory. Once this has been done, then the runs you wish you analyze must be replayed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All Runs Plot The second step in the BPM calibration is to plot the BPM and EPICs variables and look for any problems. If you mouse-over the image, you can see which runs correspond to which points. ![]() The top two plots correspond to the location of the BPM variables, while the bottom two plots correspond to the location of the EPICs variables, with the goal being to determine a relationship between the location of the points in the top plots with the "true" locations in the bottom plots. Aside from some odd noise in the lower-right corners of the BPM plots, which doesn't appear to affect the calibration, all of the points from the BPM plots seem to correspond to points in the EPICs plots, with the BPM variables appearing to be rotated approximately 45 degrees clockwise from the EPICs variables. The exact relationship will be determined later using a rotation matrix and offsets, but first, the mean values from each of those points needs to be measured. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Measure Means The third step is to go through and obtain the mean values for the different variables from each of the runs. Luckily, there is a handy piece of code that does this for us.
It should be noted that for the BPM values, a gaussian fit was applied and the mean of that fit recorded, while for the EPICs variables a simple mean was used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Calculate Coefficients These means are then processed into a matrix, which is then inverted and used to produce a set of beam position transformation coefficients used to transform the coordinates from the BPM frame to the lab frame.
where
Then, like the pedestals from before, these values would then be inserted into the "db_beam.dat" file in the database directory for the analyzer. Note, however, than the offsets are in millimeters and need to be converted into meters for the database file. The results from the second set of "bull's-eye" scans, taken during the SRC experiment, give the following results.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Calculation Check It's necessary to check these coefficients against the EPICs variables. ![]() For comparison, here is the calculation check from the second set of scans. If we attempt to use the coefficients from the second set of scans with the data from the first set, we have these results. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raster Constants In addition to the main BPM matrix values, which should apply to all runs, raster constants can be calculated for individual runs or kinematics, which can be important for the mispointing calibration later. For this analysis, raster constants were calculated for the BeO runs in each of the kinematics.
For the most part, the values above are reasonably close, suggesting that the raster constants don't very much between kinematics. For this reason, and because it was found that it changed the results little, an average of the above raster constants was used instead.
|