Beam Polariazation Measurement (How to)
Back to main Moller
Contents
- 1 Polarization measurement with Hall A Moller polarimeter
- 2 Check list before measurements
- 2.1 Helicity, BCM signals in Hall A Counting Room
- 2.2 Helicity, BCM, 100kHz signals in Hall A Moller electronics rack
- 2.3 Helmholtz coils power supply
- 2.4 Target motion
- 2.5 Start CODA Moller database (msqld)
- 2.6 CODA LED test run
- 2.7 Check Helicity signals and scalers data in CODA data file
- 2.8 ADC Pedestals check
- 3 Software to start
- 4 Epics screens
- 5 Moller magnet settings and beam tuning
- 6 Detector HV tuning
- 7 Thresholds tuning
- 8 Polarization measurements
- 9 Data analysis
- 10 Results presentation
- 11 Spin dance
- 12 Troubleshooting
Polarization measurement with Hall A Moller polarimeter
Please, look at these useful documents
- Hall A Møller Polarimeter OSP 2019 (need to update)
- Hall A Moller Polarization Measurement Procedure
- Old DAQ PAW Analysis
- Slides: DAQ signals and PAW analyzer output (pdf) odp
- CODA Data Format (moller_data_RNNB.dat)
- Data Ntuple Format (moller_data_RNNB.nt)
- Scaler Ntuple Format (moller_scal_RNNB.nt)
Check list before measurements
Helicity, BCM signals in Hall A Counting Room
Patch panel in Counting Room with cables going to the Hall A:
Connector# Signals (all NIM level) (width) 4 - BCM signal for Moller (1us) from VtoF unit (??) Dx10 14 - Helicity signal (33ms) ----_____--- 15 - QRT signal (33ms) ----_____---- 16 - MPS signal (200 us) ---__---- front with 1us ahead of front of Helicity signal
Helicity, BCM, 100kHz signals in Hall A Moller electronics rack
- NIM Module type of PS757 (Fan in/out) in NIM crate of FADC electronics rack
#input Signals width 1 Clock 100kHz (50ns) 4 Helicity (33ms) 7 MPS (200us)
- ADC V792 in FADC VME crate:
#CH 00 Helicity signal #CH 01 QRT signal GATE 1.5us after front of MPS signal, width=130ns
- Check calorimeter OFFSETs with digital multimeter on NIM modules type of PS748 in slot #1 and PS740 slot #2 NIM crate in old DAQ rack.
- June 11, 2019 (set with oscilloscope by Simona, LED run)
PS748 (slot #1) Ch # OFFSET(mV) 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0.
PS740 (slot #2) Ch # OFFSET(mV) 0 0 1 0 2 0 3 0
- Dec 1, 2015
PS748 (slot #1) Ch # OFFSET(mV) 0 +11. 1 +12. 2 +11. 3 +11. 4 +12. 5 +10. 6 +10. 7 +12.
PS740 (slot #2) Ch # OFFSET(mV) 0 +18 1 +22 2 +14 3 +15
- Nov 25, 2014
PS748 (slot #1) Ch # OFFSET(mV) 0 +18.5 1 +18.6 2 +20.4 3 +21.7 4 +19.5 5 +25.5 6 +19.3 7 +10.3
PS740 (slot #2) Ch # OFFSET(mV) 0 +21.5 1 +21.6 2 +22. 3 +21.5
Helmholtz coils power supply
Target motion
3 July 2019 from Ethan
Power Switch to reboot Target Magnet Cooling and Motion Systems:
IP address is 129.57.188.130 ( in web interface: http://129.57.188.130 ) Username: hacuser Password: as for hacuser
The outlets are labelled:
Outlet 1: Lakeshore 218 (temperature monitor) Outlet 2: Raspberry pi (the IOC) ( magnet temperature and compressor readout) Outlet 3 and 4 are empty Outlet 5: Moller Target controls (not the motor drives though) Outlet 6: Power supply controller (Probably should NOT reboot this remotely. If this is rebooted, the power supply will likely need to be rebooted as well) Outlet 7: Portserver Outlet 8 is empty
Start CODA Moller database (msqld)
Login to adaq1 (since January 2016 we have moved our old DAQ from adaql1 to adaq1) as moller and check if msqld daemon is running:
adaq1> ps -u moller | grep msqld
if output like that:
22600 ? 00:00:01 msqld
that means msqld is running.
If not, type to start it:
adaq1> run_daemon_db msqld &
CODA LED test run
- To take test run with LED, select "test_LED" in CODA configuration.
Configuration file for Detector settings in 'mpc' program: "File"->"Load" and select file "LED_2019"
- Dead time measurement with LED generator [diagram ] .
Select "test_LED" in CODA configuration.
Configuration file for Detector settings in 'mpc' program:
"File"->"Load"
and select file "LED_dt"
SET threshold for "LedDiscriminator" to value that was used with "beam_pol" CODA configuration.
Check Helicity signals and scalers data in CODA data file
In ~/paw/moller start paw.
To check helicity, QRT signals type in paw:
paw> exe run run=15623 Run=15624 is attached to lun=21 paw> nt/sca //lun21/1 nsca>0 50 1 ! itick itrig(1) itrig(6) itrig(8)
This is output for 30Hz helicity (pair):
+-------+-------------+-------------+-------------+-------------+ | Event | itick | itrig(1) | itrig(6) | itrig(8) | +-------+-------------+-------------+-------------+-------------+ | 2 | 11155369 | z'0' | z'1' | z'0' | | 5 | 11155373 | z'0' | z'0' | z'1' | | 8 | 11155377 | z'0' | z'0' | z'1' | | 11 | 11155381 | z'0' | z'1' | z'1' | | 14 | 11155385 | z'0' | z'0' | z'1' | | 17 | 11155389 | z'0' | z'1' | z'1' | | 20 | 11155393 | z'0' | z'1' | z'1' | | 23 | 11155397 | z'0' | z'0' | z'1' | | 26 | 11155401 | z'0' | z'0' | z'0' | | 29 | 11155405 | z'0' | z'1' | z'1' | | 32 | 11155409 | z'0' | z'1' | z'1' | | 35 | 11155413 | z'0' | z'0' | z'1' | | 38 | 11155417 | z'0' | z'1' | z'1' | | 41 | 11155421 | z'0' | z'0' | z'1' | | 44 | 11155425 | z'0' | z'0' | z'1' | | 47 | 11155429 | z'0' | z'1' | z'1' | | 50 | 11155433 | z'0' | z'1' | z'0' | +-------+-------------+-------------+-------------+-------------+
Where:
itick - VxWorks time ticks (set in ~/daq/coda2/crlppc/moller_onl.crl to 8.33mS) itrig(1) - ADC gate on input #1 of TIR board itrig(6) - Helicity signal on input #6 of TIR board itrig(8) - QRT signal on input #8 of TIR board
To check scalers data type in paw:
paw> nt/sca //lun21/1 nsca>0 50 1 ! itick isca(1) isca(2) isca(3) isca(4) isca(5) +-------+-------------+-------------+-------------+-------------+-------------+-------------+ | Event | itick | isca(1) | isca(2) | isca(3) | isca(4) | isca(5) | +-------+-------------+-------------+-------------+-------------+-------------+-------------+ | 2 | 11155369 | 9315 | 9315 | 9315 | 0 | 0 | | 5 | 11155373 | 9463 | 9463 | 9463 | 0 | 0 | | 8 | 11155377 | 9611 | 9611 | 9611 | 0 | 0 | | 11 | 11155381 | 9760 | 9760 | 9760 | 0 | 0 | | 14 | 11155385 | 9909 | 9909 | 9909 | 0 | 0 | | 17 | 11155389 | 10057 | 10057 | 10057 | 0 | 0 | | 20 | 11155393 | 10205 | 10205 | 10205 | 0 | 0 | | 23 | 11155397 | 10353 | 10353 | 10353 | 0 | 0 | | 26 | 11155401 | 10502 | 10502 | 10502 | 0 | 0 | | 29 | 11155405 | 10650 | 10650 | 10650 | 0 | 0 | | 32 | 11155409 | 10798 | 10798 | 10798 | 0 | 0 | | 35 | 11155413 | 10946 | 10946 | 10946 | 0 | 0 | | 38 | 11155417 | 11095 | 11095 | 11095 | 0 | 0 | | 41 | 11155421 | 11243 | 11243 | 11243 | 0 | 0 | | 44 | 11155425 | 11391 | 11391 | 11391 | 0 | 0 | | 47 | 11155429 | 11539 | 11539 | 11539 | 0 | 0 | | 50 | 11155433 | 11688 | 11688 | 11688 | 0 | 0 | +-------+-------------+-------------+-------------+-------------+-------------+-------------+
Where:
isca(1) - Left arm (LG and Ap) isca(2) - Right arm (LG and Ap) isca(3) - Coincidence Left and Right arms isca(4) - Accidentals Left and Right arms isca(5) - BCM isca(6) - PLU out 7; in LED setup - number of LED flashes isca(7) - isca(8) - isca(9) - isca(10) - (Helicity delayed)*Clock(100kHz) isca(11) - !MPS isca(12) - PLU out #6 (TimerGenarator * helicity window) isca(13) - isca(14) - isca(15) - Clock TimerGenerator 100kHz
ADC Pedestals check
- Set HV ON on moller detector. (Need link to HV ON)
- Select configuration "moller_puls" in old CODA, download it.
- In "mpc" programm load configuration "PULSER_SET" to detector electronics and start CODA run.
- Take 3000-5000 events and stop run.
- In ~/paw/moller start paw:
> paw paw> exec run run=15627 paw> exec lg_pedes run=15627 pulschk=1
- Copy first 12 lines of output results into text file with name "pedes_#RunNumber.dat", where #RunNumber is CODA "pulser" run.
- Edit file "lg_spectra.kumac", replace:
... else ve/read pedes,pedcut pedes_14754.dat endif ...
with:
elseif [run]<#RunNumber then ve/read pedes,pedcut pedes_14754.dat else ve/read pedes,pedcut pedes_#RunNumber.dat endif ...
- For scintillators:
paw> exec sc_pedes run=15627 pulschk=1
- Copy first 12 lines of output results and add to the end of file with calorimeter pedestals (see above).
- Edit file "sc_spectra.kumac", replace:
... else ve/read pedes,pedcut pedes_14754.dat endif ...
with:
elseif [run]<#RunNumber then ve/read pedes,pedcut pedes_14754.dat else ve/read pedes,pedcut pedes_#RunNumber.dat endif ...
Software to start
- CODA
- old DAQ ( data in /adaq1/data1/raw ):
ssh moller@adaq1 adaq1> start_coda
- Detector settings and HV control GUI
ssh moller@adaql2 adaq2> cd Java/msettings/ adaq2> mpc
- FADC DAQ ( data in /data1/raw ) :
ssh moller@hamoller (open 3 terminals) hamoller> start_coda_fadc
- FADC settings:
hamoller> cd crl/FADC/ hamoller> gui_fadc_par
- FADC online monitor:
hamoller> cd fadc_online/mollmon/ hamoller> mollmon -n moller25 -h hamoller
- EPICS control
ssh adaq@adaq1 adaq1> monticello (OS Menu -> EDM -> Hall A -> HallA Moller polarimeter control)
OR
adaq1> jtabs (Beam Setup -> HallA-> Magnets-> Moller-> Combo)
Epics screens
Start JMenu (login to 'adaq1' as 'moller' and type):
jmenu
input password for user 'adaq'
Then select from JMenu:
- Helicity Control
JMenu->Beam Setup->Injector->Parity->Helicity Control
- Moller Combo (Magnets Q1-Q4, Dipolem Solenoid (sup.cond.) control, Target motion control, )
JMenu->Beam Setup->Hall A->Hall A Moller->Combo
- Target Motion Control
JMenu->Beam Setup->Hall A->Moller Measurements->Moller Target Control
- BPMs position
JMenu->Operations->Bpms->Hall A Absolute Spikes
or
JMenu->Operations->Bpms->Hall A Relative Spikes
Moller magnet settings and beam tuning
- Ask target operator to remove the main Hall A target
- Raster OFF
- Moller magnet settings: (Q1,Q2,Q3,Q4, Dipole-OFF)
1st Moller quadrupole magnet Q1 - MQO1H02 2nd Moller quadrupole magnet Q2 - MQM1H02 3rd Moller quadrupole magnet Q3 - MQO1H03 4th Moller quadrupole magnet Q4 - MQO1H03A Moller dipole magnet - MMA1H01
- Get magnet settings for energy (as example) e0=7.37GeV
paw> lcd mag_optim paw> exec sett_magp11 e0=7.37 Eb=7.37GeV . Q1 Q2 Q3 Q4 Dipole kG -4.2742 -1.85808 1.994 4.345 10.8837 kG*m -30791.3 -16358.5 14315.3 30839.5 1.78793E+06 A -197.853 -93.5748 97.3212 208.451 399.068
- Ask MCC operator for beam current 0.5uA
- Beam position tuning with magnet settings (Q1,Q2,Q3,Q4) on IPM1H01 BPM ~0.2mm (absolute X,Y)
- Turn Beam OFF
- Turn ON Moller Dipole
- Ask Beam current 0.5uA
- Beam position tuning with Dipole ON on IPM1H01 BPM ~0.2mm
- Set Moller target on beam (as on March 15, 2019)
1: Empty, 2: Fe 10.0um, 3: Fe 4.0um, 4: Fe 1.0um
Detector HV tuning
- HV for Moller detector:
portserver: hatsv5:2003 slot #5: ch:(0-3) - Calorimeter Left (1-4); ch:(4-7) - Calorimeter Right (1-4) slot #6: ch:(0-3) - Aperture Left (1-4); ch:(4-7) - Aperture Right (1-4)
- HV prediction (printout predicted HV calorimeter values for energy e0):
paw> exec hvlg e0=7.3 set=0
- Tune detector HV
- Start CODA run
- Check signals peak position at ADC channel.
paw> exec run run=15625 paw> exec lg_spectra run=15625
- Change HV for calorimeter in order to align the Møller peak position at ADC channel 300 for each block.
- Repeat from #1
- FADC DAQ: check signals peak position on online monitor 'mollmon'
Thresholds tuning
Polarization measurements
- Start dbedit on adaq1, select "mollerpol_l" database and set in "beam_pol" configuration table in row "code" parameter "adcevents" from 9 to 2: " ... adcevents=2"
- Make at least two CODA runs in order to use both coil polarities.
Data analysis
- old DAQ: adaq1:~/paw/moller/
> paw paw> exec run run=15625 paw> exec lg_spectra run=15625 paw> exec time run=15625 paw> lcd mag_optim paw> exec anpow_set e0=7.37 (E0 - beam energy in GeV) paw> lcd .. paw> exec asym19 anpow=0.7735 gate=0.033 run=15625 (gate=0.033 for 30Hz helicity frequency, gate=0.008 for 120Hz, gate=0.004 for 240Hz, gate=0.0008 for 1kHz)
- FADC DAQ: hamoller:~/fadc_analysis/moller_fadc-17Dec2015/
> bash > source root-setup.sh > cd onlana > analyser analyser> replay_test(3023) analyser> .x do_analyse(3023)
The above steps have been tested and are up to data as of November 17th, 2018 - Bill H.
Bugs To Fix in Software[1]
Results presentation
- Results of all runs from "asym19" stored in files: runs.tab, res.dat
- These files are not rewritable (just add new lines)
- Do copy these files to paw/moller/meas:
> cp runs.tab meas/runs.tab.#RunBeg-#RunEnd > cp res.dat meas/res.dat.#RunBeg-#RunEnd
- 1. To plot and average results, edit file: ~/paw/moller/asym_avt.kumac
- comment old beam polarization data and add new one, modify output of 'ps' file and titles with date then run it.
- 2. To plot and average results, run (plot is stored in file 'paw.ps'):
PAW> exec asym_avv run1=#RunBeg run2=#RunEnd
Spin dance
- Some information about spin dance measurements is here: https://hallaweb.jlab.org/equipment/moller/spin_dance.html
- Take 3-5 beam polarization measurements with different Wien filter angle settings.
- To plot and fit spin dance results use one of kumac file, like:
~paw/moller/spin/spin_prec_21.kumac
- Values of beam polarization, errors, wien angles - are defined inside kumac file. It used 'wave.f' function to fit spin dance points, like:
WAVE=PARA(1)*SIN((X-PARA(2))*3.1415/180.*period)
- To run it, set beam polarization, errors, wien angles, range in kumac file, then in PAW type:
> lc spin > exec spin_prec_21 > lc ../
- It produced plot file:
~paw/moller/spin/spin_prec_21.ps
Troubleshooting
- Power Switch to reboot Target Magnet Cooling and Motion Systems:
IP address is 129.57.188.130 ( in web interface: http://129.57.188.130 ) Username: hacuser Password: as for hacuser
The outlets are labelled:
Outlet 1: Lakeshore 218 (temperature monitor) Outlet 2: Raspberry pi (the IOC) ( magnet temperature and compressor readout) Outlet 3 and 4 are empty Outlet 5: Moller Target controls (not the motor drives though) Outlet 6: Power supply controller (Probably should NOT reboot this remotely. If this is rebooted, the power supply will likely need to be rebooted as well) Outlet 7: Portserver Outlet 8 is empty
- VME crates reboot
- Software reboot if VME crate is running:
- old DAQ hallavme5:
> telnet hatsv5 2004 > reboot Ctrl and "]" telnet> quit
- FADC DAQ:
> telnet hatsv12 2005 > reboot Ctrl and "]" telnet> quit
Boot parameters of VME CPU (as on 26 Oct 2016):
VxWorks (for Motorola MVME6100-0163 - MPC 7457) version 5.5.1. Kernel: WIND version 2.6. Made on Feb 23 2009, 15:41:51.
boot device : geisc unit number : 0 processor number : 0 host name : adaq1 file name : /adaqfs/home/moller/vxworks/vx6100_v4.1big inet on ethernet (e) : 129.57.192.55:ffffff00 host inet (h) : 129.57.192.102 gateway inet (g) : 129.57.192.1 user (u) : moller flags (f) : 0x20 target name (tn) : bbspare1 startup script (s) : /adaqfs/home/moller/vxworks/fadcmoller.boot
Boot parameters of VME CPU (as on 26 Oct 2016):
VxWorks (for Motorola MVME2300 - MPC 604r) version 5.3.1. Kernel: WIND version 2.5. Made on Mar 25 1998, 08:54:04.
boot device : dc processor number : 0 host name : adaq1 file name : /adaqfs/home/moller/vxworks/vx2306_14 inet on ethernet (e) : 129.57.192.31:ffffff00 host inet (h) : 129.57.192.102 gateway inet (g) : 129.57.192.1 user (u) : moller flags (f) : 0x20 target name (tn) : hallavme5 startup script (s) : /adaqfs/home/moller/vxworks/hallavme5_c4.boot
- old DAQ hallavme5:
- Hardware reboot if crates not response:
- On adaq1 start firefox
old DAQ hallavme5:
Go to: http://hareboot26
(outlet #3)user: hlauser select in "ON" box Outlet #3, select in small box Outlet #3, select Action "Reboot Immediatly" and press "Next" button to activate menu. press "Apply" button to activate action.
Wait for few minutes while VME crate is rebooting.
- FADC DAQ crate:
Go to: http://hareboot26
(outlet #1)user: hlauser select in "ON" box Outlet #1, select in small box Outlet #1, select Action "Reboot Immediatly" and press "Next" button to activate menu. press "Apply" button to activate action.
Wait for few minutes while VME crate is rebooting.
- On adaq1 start firefox
old DAQ hallavme5:
- Moller target softIOC reboot
-
You can reboot it from jtabs. Here are the steps:
ssh hlal00 jtabs (or jmenu) select System Experts select Control System select Individual IOCs by Area select Hall A IOCs and select iocsofthahfm push button Reboot
Or you can call MCC to have operator reboot it for you.
- HV control
-
HV GUI is running on adaq1 computer.
To check measured voltages of detector go to directory and type
adaq1> cd ~/daq/coda2/scripts adaq1> get_hv hatsv5:2003
-
To disable or enable HV channels for Moller detector type:
adaq1> ch_ce.sh 0 (disable all channels) adaq1> ch_ce.sh 1 (enable all channels)
- Remote Threshold setup for modified Discriminator PS708
-
Modified NIM Discriminator PS708 (8ch) (left NIM crate slot #12 [photo]) and VME board DAC VMIVME-1440
are installed in the Hall A as spare discriminator with remote control.
Software to setup thresholds for PS708 is only low level for today.
But it allows to setup thresholds from VxWorks shell terminal,
like: set_thr_708(channel,threshold_in_mV).
-
To setup threshold use command from VxWorks shell:
adaq1> telnet hatsv5 2004 -> set_thr_708(0,200) set threshold 200 mV to channel 0 (channel, threshold_mV) -> get_thr_708(0) get threshold from channel 0
28 May 2019. Measured threshold value on T check point of discriminator PS708 vs setting threshold for DAC VMIVME-4140:
#set_thr_708() Measured value on "T" point of PS708, V (10 times of real threshold) #set value, mV Multimeter BK2703B 10 0.09 50 0.48 150 1.46 250 2.41 350 3.38 500 4.83 700 6.77 900 8.70 1000 9.68
- Data analysis