Privacy and Security Notice
BPM
Calibration of the BPM horiz position
12/14/05
If I take the runs corresponding to Fig
9, all
optics runs,
nominal HMS accept. cut for central fast raster position and separate
them by month:



Calibration
of the BPM vertical position
12/14/05
The
vertical calibration of the BPM appears to change from month to
month. The calibration determined in this study was:
September 04
LAB_y [cm] = (0.0354 cm) + 1.0 * (BPM_y[cm])
December 04
LAB_y [cm] = (-0.0468 cm) + 1.0 * (BPM_y[cm])
|
where,
BPM_y[cm]
=([bpmay]+327.15*([bpmby]-[bpmay])/(327.15-231.46))
and the bpm values were taken from the raw entries in the epics scaler
files. The bpm values were divided by 10.0 to convert from mm to
cm.
Plots used to determine
the vertical BPM's
Tables of BPM values
The beam vertical position was
determined using hsxptar using
HMS_vert(up)
[cm] = - (mean hsxptar) *1000. / -1.73 /10.0,
where (mean hsxptar) is the mean of the peak from the central sieve
hole. The factor of 1000. converts rad to mrad. The factor
of -1.73 is Henk's
conversion factor. The factor of 10.0 is to convert from mm
to cm.
The cuts used were:
hcer_npe>2.
abs(hsyptar)<0.03
abs(hsxptar)<0.04
abs(hsdelta)<5.0
The vertical position determined using the HMS for run 50130 was
checked against Dave's
value. His result was y_beam = -0.12mm. My result
was 0.096 +- 0.032 mm, where the error is 1 std deviation of the
mean. When Dave projected the BPM to the target for this run, he
obtained -0.43mm, I obtained -0.48mm.
A possible reason for the two points in the bottom right corner are
that they are from the December '04 running period. The remaining
data points are from Sept '04.

The
two running periods were separated in the plots below and the slope was
constrained to 1.0


Calibration of the BPM horiz position
11/23/05
A mistake was found in the previous work
below on 11/09/05 for the determination of the beam horizontal position
by the HMS. The HMS survey offset was not converted from mm to
cm. My beamx determined by the HMS now agree with Dave's
graph-paper plot here.
By reading off the lab x position at z= 2.3mm from Dave's plot I get:
Run
|
Dave's lab_x (mm)
|
Ben's lab_x (mm)
|
Bens's std dev of the mean (mm)
|
51388
|
-0.9
|
-0.92
|
0.02
|
51389
|
-1.2
|
-1.23
|
0.02
|
51349
|
-1.4
|
-1.40
|
0.03
|
51017
|
-0.85
|
-0.86
|
0.05
|
51610
|
-1.3
|
-1.25
|
0.03
|
51321
|
-1.1
|
-1.09
|
0.09
|
51570
|
-1.25
|
-0.95
|
0.15
|
I then attempted to calibrate the BPM lab x position using the HMS
again. Different conditions were tried because there was no
linear relationship between the HMS_x and BPM_x at first.
- All optics runs
(hcer_npe>2.0)*
- All
optics runs with no survey offset (hcer_npe>2.0)
- Runs
at HMS<20 deg including survey offset (hcer_npe>2.0)
- All optics runs with average lab_x
calculated assuming hsyptar=0 (hcer_npe>2.0)
- Runs with raster turned off, including
survey offset and assuming
hsyptar=0 (hcer_npe>2.0)
- All optics runs, nominal HMS
acceptance and assuming
hsyptar=0 (hcer_npe>2.0.and.nominal_accept.)
- Runs with raster
turned off, nominal HMS acceptance and
assuming hsyptar=0 (hcer_npe>2.0.and.nominal_accept.)
- All optics runs, nominal HMS accept.
cut for central fast raster position and assuming
hsyptar=0 (hcer_npe>2.0.and.nominal_accept..and.abs(gbeam_x)<0.01)
- All optics runs,
nominal HMS accept. cut for central fast raster position (hcer_npe>2.0.and.nominal_accept..and.abs(gbeam_x)<0.01)
- Runs with
raster turned off, nominal HMS acceptance (hcer_npe>2.0.and.nominal_accept.)*
The nominal HMS acceptance was
abs(hsyptar)<0.04.and.abs(hsxptar)<0.07.and.abs(hsdelta)<8.
There appears to be a problem with calibrating the BPM using runs where
the raster was on. This can be seen by comparing the slopes in
plots 9 (slope=0.414) and 10 (slope=1.065). Plot number 10 would
probably be the most reliable calibration, and it shows the most
linear relationship between HMS_x and BPM_x. It is interesting
that the cut on the fast raster position has little effect on the
position of the data points (compare 6 and 8), but only increases the
error bars on those data points where the raster was on.
The calibration for
the BPM horizontal position is therefore:
LAB_x [cm] = (-0.0355 cm) + 1.065 * (BPM_x [cm])
|
Where median BPM_x [cm] can be extracted from the epics file using the bpm kumac, median
kumac and c++ program.
BPM_y[cm] is also output from this kumac. Only epics events where
the current is > 8uA are used.
Note on std dev of the mean used in the plots: this was
determined by fitting a gaussian to the peak and extracting the sigma
and height.
std_dev_of_mean = sqrt ( [sigma] * [bin_size] / ( sqrt(2*pi) *
[height]) )
However, all of the errors shown in the plots above for HMS_x need to
be scaled by 0.14. This error was corrected in the plots for
HMS_y. Plot numbers 1 and 10 (*) were corrected by this factor.
Comment: This BPM calibration is of little use if the raster
changes the calibration. Is it the BPM calibration that is
affected by the raster, or the average reconstructed position by the
HMS? If it is the latter, then it is safe to use this calibration
when the raster is turned on.
Calibration of the BPMs 11/09/05
My previous
attempt to calibrate the BPMs had limited success. In particular, the
horizontal calibration changed between runs.
Beam position using the BPMs
The
average BPM for each run was obtained from the epics scaler file.
The variables
IPM3H00A.XRAW
IPM3H00A.YRAW
IPM3H00B.XRAW
IPM3H00B.YRAW
were
used and averaged over a run, with the condition that the current >
9 uA for a given epics event.
The BPMs were converted from mm->cm
and projected to the target using:
tgx
=([bpmax]+327.15*([bpmbx]-[bpmax])/(327.15-231.46))
tgy
=([bpmay]+327.15*([bpmby]-[bpmay])/(327.15-231.46))
This is the raw beam position in cm and
in the BPM frame (BPM x = LAB -x)
Beam position using the HMS
The
HMS ytar and xptar were used to determine the beam position, so we can
calibrate the BPM. The z=0 target position was assumed to be
located at z=0.23cm. A plot
showing this work for run 50130 is included below (all runs can be
found here).
The first two plots in the panel show the
stability of the BPMs during the run. The third shows the average
reconstructed hsxptar. The third shows the event-by-event
determination of the horizontal beam position.
The importance of determining the
horizontal beam position event-by-event can be seen below. The
horizontal beam position at z_lab=0.23 cm is given by
beamx
= (-hsyptar*[ctheta]+[stheta])/(hsyptar*[stheta]+[ctheta]) *
([ztarg]-(hsytar+[y_offset])*[stheta])
- (hsytar+[y_offset])*[ctheta]
where, ctheta = cos(theta_sos),
stheta= sin(theta_sos), y_offset is the mispointing offset (see
Dave's work)
The average beamx for run 50130
Beamx
= -0.059 cm
If
I set hsyptar=0 in the above equation (equivalent to not determing
beamx event-by-event)
Beamx = -0.056 cm
The calibration
For
now, I have only attempted to calibrate the horizontal BPM.
Here is a plot of the reconstructed beam position using the HMS vs. the
raw BPM position at the target.
vertical
axis = reconstructed beam horizontal position
using the HMS (cm)
horizontal axis = raw BPM position at the target (cm)

There should be a linear fit to these points that will allow me to
calibrate the BPMs. The good points are located above horizontal
axis > 0.2 cm. I am not sure yet why some of the points were
not fit well (runs are listed here).

The linear fit to this plot gives
Lab frame beamx (cm) = -0.0027 cm+
1.437 * [raw_BPM_x (cm)]