Pre-beam work: circ raster with the Hall C waveform

From SBS wiki
Jump to: navigation, search

9/12/22

This is how the raster output is processed:

  • The voltage output from the 4 raster coils is sent to 4 FADC channels in one FADC that resides in the a crate in the SBS bunker and in another FADC that sits in a crate in the LHRS hut.
  • The FADCs are ran in pulse mode (mode 7).The FADC running parameters are:
FADC250_SLOT 14 - LHRS (in sbs-onl@halladaq8 /home/sbs-onl/cfg/fadc250/halladaq8.cnf) and FADC250_SLOT 20 - SBS (in sbs-onl@sbsvme29 /home/sbs-onl/cfg/fadc250/sbsvme29.cnf)

FADC250_MODE      7 
FADC250_W_OFFSET  1650 (in ns)
FADC250_W_WIDTH   400 (in ns)
FADC250_NSB 4 (in ns)
FADC250_NSA 99 (in ns)
FADC250_NPEAK 1 (nr of peaks to keep)
FADC250_TET 1
FADC250_DAC 2200
FADC250_PED  1
FADC250_GAIN 1
channel:  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
FADC250_ADC_MASK  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
FADC250_TRG_MASK  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  • Once the replay is ran the FADC pulse integral per channel ends up in the root tree under:
 Lrb.Raster.rawcur.x, Lrb.Raster.rawcur.y, Lrb.Raster.rawcur2.x, Lrb.Raster.rawcur2.y for LHRS 
 SBSrb.Raster.rawcur.x, SBSrb.Raster.rawcur.y, SBSrb.Raster2.rawcur.x, SBSrb.Raster2.rawcur.y for SBS
  • What is called rawcur is actually the sum over the NSA+NSB FADC samples in units of FADC channels, where NSA and NSB are specified in the crl code. To get the "pulse" integral in units of C one must use a conversion factor which includes the dynamical range of the FADC as set by user (2 V I am told, I will check next time when I start a run in the appropriate DAQ ROC), the number of FADC channels, the resistance of the FADC and the time between samples (4 ns) - see below for the exact formula of the conversion factor.
  • The pedestals for the LHRS/SBS FADC channels are (meaning no current on the raster coils):
Figure 1. PED for LHRS raster x
Figure 2. PED for LHRS raster y
Figure 1. PED for LHRS raster 2 x
Figure 1. PED for LHRS raster 2 y
Figure 1. PED for SBS raster x
Figure 2. PED for SBS raster y
Figure 1. PED for SBS raster 2 x
Figure 1. PED for SBS raster 2 y
  • The code circRaster.C will loop through the number of entries in these branches and:
 if(PlotInMM){
         lhrs_x1 = (Lrb_raster1_rawcur_x - offset)*conv; 
         lhrs_y1 = (Lrb_raster1_rawcur_y - offset)*conv; 
         lhrs_x2 = (Lrb_raster2_rawcur_x - offset)*conv; 
         lhrs_y2 = (Lrb_raster2_rawcur_y - offset)*conv; 
         sbs_x1  = (SBSrb_raster1_rawcur_x - offset)*conv; 
         sbs_y1  = (SBSrb_raster1_rawcur_y - offset)*conv; 
         sbs_x2  = (SBSrb_raster2_rawcur_x - offset)*conv; 
         sbs_y2  = (SBSrb_raster2_rawcur_y - offset)*conv;

 if(SmearWithBeam){
            bx = myRand->Gaus(beamCenter,beamWidth);
            by = myRand->Gaus(beamCenter,beamWidth);
	    lhrs_x1 += bx;
	    lhrs_y1 += by;  
	    lhrs_x2 += bx;  
	    lhrs_y2 += by;  
	    sbs_x1  += bx;  
	    sbs_y1  += by;  
	    sbs_x2  += bx;  
	    sbs_y2  += by;  
	    sbs_y2  += by;  
	 }
   
where: 

* "offset" is the pedestal 
* "conv" is a factor that takes us from units of FADC raw integral to mm 

For example, in the case shown in Fig. below "conv" will be 3.0/(64000 - 44000), where 3 is half the desired raster size in mm, 64000 is the highest FADC raw integral with current on the raster coils and 44000 is the pedestal. 

 }else{
	lhrs_x1 = (Lrb_raster1_rawcur_x - offset)*conv_to_nC; 
	lhrs_y1 = (Lrb_raster1_rawcur_y - offset)*conv_to_nC; 
	lhrs_x2 = (Lrb_raster2_rawcur_x - offset)*conv_to_nC; 
	lhrs_y2 = (Lrb_raster2_rawcur_y - offset)*conv_to_nC; 
	sbs_x1  = (SBSrb_raster1_rawcur_x - offset)*conv_to_nC; 
	sbs_y1  = (SBSrb_raster1_rawcur_y - offset)*conv_to_nC; 
	sbs_x2  = (SBSrb_raster2_rawcur_x - offset)*conv_to_nC; 
	sbs_y2  = (SBSrb_raster2_rawcur_y - offset)*conv_to_nC; 


where conv_to_nC = 2 (V)/4096*4(ns)/50(ohm) and "offset" is the pedestal per FADC channel.

For the plots below the charge integral in nC is used (PlotInMM and SmearWithBeam are both false)
Plot to explain how "conv" is calculated for "no beam" raster plots

Raster checkout with the waveform used in Hall C in 2020

At the request of the GeN collaboration the waveform used during A1n/d2 in Hall C in 2020 to run the raster coils has been used to run the Hall A raster. Here is a summary of our findings:

  • The Hall C waveform was loaded into the Hall A generator to run the Hall A raster
  • Th carry frequency was 7751 Hz and we tried various AM frequencies: 0.5, 5, 10, 20 and 50 Hz
  • The most uniform distributions of charge is at lower AM frequencies
  • Here is a talk by Michael who wrote the code that generates the waveform for the function generator types we use in A and C (Agilent 33522A): https://userweb.jlab.org/~rom/raster/Berkowitz_12GeV_Circular_Raster_Aug18.pdf; more on the Hall A raster here: https://userweb.jlab.org/~rom/raster/
  • The plots below show the charge integral from the raster coils in units of nC
Figure 1. Raster with Hall C waveform with 7751 Hz and 0.5 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 0.5 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 10 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 10 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 20 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 20 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 50 Hz
Figure 1. Raster with Hall C waveform with 7751 Hz and 50 Hz
Figure 1. Raster1_Y with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster1_Y with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster1_Y with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster1_X with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster1_X with Hall C waveform with 7751 Hz and 5 Hz
Figure 1. Raster1_X with Hall C waveform with 7751 Hz and 5 Hz


  • Check with GMN runs: 13709
Bbytar fresh 13709.png
Xy at targ with nocut fresh 13709.png
Xy at targ with cut fresh 13709.png
Raster1 noytargcut fresh 13709.png
Raster1 withytargcut fresh 13709.png
  • Latest work with Bill
Raster-check run-1523.png
Raster-check run-1523 lego.png
  • Beam line survey --> needs to be updated: IPM1H04A is actually IPM1H04. Unclear if the survey group did the IPM1H04A, they will check. If not, they will survey it before we lock up the hall.
Survey beamline.png

}

  • Online replay:

--> Replay directory: /adaqfs/home/a-onl/gmn

--> replay script: run_gen.sh (/adaqfs/home/a-onl/sbs/sbs_devel/SBS-replay/replay/replay_gen.C and /adaqfs/home/a-onl/sbs/sbs_devel/SBS-replay/replay/replay_gmn.odef; in here replay_beam.odef will secure the branches I need in the root file)