BPM Calibration

From PREX Wiki
Revision as of 15:02, 24 June 2019 by Catherinef (Talk | contribs)

Jump to: navigation, search

In the process of editing and updating this page. Please contact Juliette Mammei crowder@jlab.org with questions or suggestions.

PREX Main<< Information for Shift Takers << Shift Leader << HOW TOs << Expert Tools

This page will show you step-by-step how to calibrate the BPMS for spot++.

Getting Started

Finding the files you need

You need to be logged on to the a-onl account: ssh –X aonl@aonl2

  • Analysis macros are located in
    •  /adaqfs/home/a-onl/rastersize/bpmCalibration 
  • Database files are located in
    •  /adaqfs/home/a-onl/rastersize/DB 
  • Output files are located in
    •  /chafs1/work1/spot 
    • Root output files have the format Lrun#.root or Rrun#.root for the LHRS and RHRS, respectively
    • Plot output files have the format FADC_prex_run#.pdf
  • Harp scan file location is described below

Getting the harp scan files

You will need to have an ops account to do this.

  1. Check the HALOG for the HarpFitter entries corresponding to the harp scans you took
    • Write down the Entry Log # and Timestamp
    • An example can be found [here]
  2. Log into your ops account
    •  ssh ''username''@opsl01 
  3. Harp scan files can be found in
    •  /cs/data/harpData/IHA1H04A and /cs/data/harpData/IHA1H04B 
  4. Create a new directory in the /adaqfs/home/a-onl/rastersize/bpmCalibration directory for your harp scans
    • Some example directories are already there
  5. scp the harp scan files for your harp scans into the new directory


How to Analyze the Pedestal Run

  1. Make sure you are in the correct directory for macros
  2. Run spot++ on the pedestal runs that you took for the LHRS and RHRS
  3. Run pedestals.C
    • Changes to make
      1. Change the name and location of the root files for the LHRS and RHRS pedestal runs
        • TFile *fileLPed = new TFile("/chafs1/work1/spot/Lrun#.root");
        • TFile *fileRPed = new TFile("/chafs1/work1/spot/Rrun#.root");
  4. Save the resulting plots
  5. The pedestals are the means of the gaussian fits to the data.
    • Write down the pedestals or save them to a file - Right now it doesn’t output to a file or anything
  6. Update database files in the database directory with the new pedestals
    • Make sure to put today’s date with the timestamp 00:00:00! The analyzer will use the pedestals from the most recent date
    • Change the pedestals in these files:
      1. db_Lrb.BPMA.db
      2. db_Lrb.BPMB.db
      3. db_Rrb.BPMA.db
      4. db_Rrb.BPMB.db


How to Analyze the Harp Scan Data

  1. Make sure you are in the correct directory for macros.
  2. Run get_harp_pos.C
    • Run TWICE - once for LHRS and once for RHRS
    • Changes to make
      1. Change char date[256] to the date the harp scans were taken
      2. Change run_number[5] to the run numbers for the LHRS or RHRS
      3. Change logbook_num[5] to the corresponding harp run numbers
      4. Change timestamp[] to the corresponding harp timestamps
        • First come the timestamps for harp A, and then for harp B
      5. Change the name of the text file that will store the results
        • sprintf(Hresults, filename)
        • put L or R in the filename so you know the difference between the LHRS and RHRS files
      6. Change the directory of where the harp files are stored
        • sprintf(file_name, dirname)
  3. Save the pdf files
    • 5 each for Harp A and B
  4. When you are done, you should see two new .txt files, one for harp scan results for the LHRS, and one for the RHRS.
  5. File contents have the form
    • LHRS/RHRS Run #, Harp Run #, HarpA_X, HarpA_X sigma, HarpA_Y, HarpA_Y sigma, HarpB_X, HarpB_X sigma, HarpB_Y, HarpB_Y sigma


How to Calibrate the BPMs

  1. Open the output_rastersize.def file in the rastersize/LeftHRS and rastersize/RightHRS directories
    1. Edit the files to include EPICS variables that we will use later
 begin epics
         hac_bcm_average
 end epics 
  1. Run spot++ on the bullseye scan CODA runs that you took for the LHRS and RHRS.
    • This will analyze the data with the old calibration parameters
  2. Make sure you are in the correct directory for macros.
  3. Run plot_harp_results.c
    • Changes to make
      1. Change int run_numberL[5] and int run_numberR[5] to the run numbers for the LHRS and RHRS, respectively
      2. (If needed) Change t_file to the location where the spot++ root files are stored
        • You do NOT need to this for PREX, but to repurpose this script, you'll have to change it
      3. Change Double_t harpLA_X[5], harpLA_Y, harpLB_X, harpLB_Y, harpRA_X, harpRA_Y, harpRB_X, harpRB_Y to the results of the harp fit.
  4. Save the plot as the "before" calibration plot
  5. Run BPM_calibration.c
    • Run TWICE - once for LHRS and once for RHRS
    • Changes to make
      1. Change root_dir to the directory where the root files are stored
      2. Choose to run for the LHRS or RHRS: side = ‘L’ or ‘R’
      3. Change pedestal[9] and pedestalL[9] to the new pedestals for the LHRS and RHRS
        • The first number is always 0, then put in order the pedestals for the 4 antennas of BPMA, then BPMB
      4. Change double BCMcuts[5][2] if necessary
      5. Change double cur[5] to the minimum current value you want to look at
        • All data taken below this value of hac_bcm_average will NOT be analyzed - so be careful!
      6. Change char date[256] to the date the harp scans were taken
      7. Change Hresults to read the file the get_harp_pos() produced for the LHRS or RHRS
        • sprintf(Hresults,filename.txt);
      8. Change filein to read the root file for the LHRS or RHRS
  6. Copy the output to a file
    • The current file is called calibration_Const.txt
    • Output is in the format: 4 rotmatrix entries, 2 offsets
  7. Update database files in the database directory with the new rotation matrix and offsets
    • Make sure to put today’s date with the timestamp 00:00:00! The analyzer will use the rotation matrix and offsets from the most recent date.
    • Change the pedestals in these files:
      1. db_Lrb.BPMA.db
      2. db_Lrb.BPMB.db
      3. db_Rrb.BPMA.db
      4. db_Rrb.BPMB.db
  8. Re-run spot++ on the bullseye scan CODA runs that you took for the LHRS and RHRS.
    • This will analyze the data with the new calibration parameters
  9. Re-run plot_harp_results.c
    • You don't have to change anything this time, hooray!
  10. Save the plot as the "after" calibration plot