Files
maloja/overnight.py
2022-05-17 09:39:16 +02:00

1153 lines
29 KiB
Python

from datetime import datetime
from time import sleep, time
import numpy as np
from epics import PV
from slic.utils import nice_arange
from slic.devices.general.motor import Motor
#def kescan3D():
# x0 = 11.0
# y0 = 4.0
# z0 = 0.029
# npulses = 500
# step = 0.0005
# xstart = 10.535
# xstop = 10.575
# ystart = 0.295
# ystop = 0.335
# ntry = "04"
# wait_time = 0.1
# for i in range(100):
## for z_val in nice_arange(z0-1.0, z0+0.2, 0.05):
## for z_val in np.linspace(z0-1.0, z0+0.2, 25):
# for z_val in list(reversed(list(z0 + np.linspace(-1.0, -0.4, 5)) + list(z0 + np.linspace(-0.2, 0.2, 5)))):
# mot_z.set(z_val).wait()
# print(i)
# print(mot_x)
# print(mot_y)
# print(mot_z)
# mot_y.set(y0).wait()
# mot_x.set(xstart).wait()
# scan.scan1D(mot_x, xstart, xstop, step, npulses, f"focus_knifeedge3D_x_scan_{ntry}_{z_val}", return_to_initial_values=False)
# sleep(wait_time)
# print(mot_x)
# print(mot_y)
# print(mot_z)
# mot_x.set(x0).wait()
# mot_y.set(ystart).wait()
# scan.scan1D(mot_y, ystart, ystop, step, npulses, f"focus_knifeedge3D_y_scan_{ntry}_{z_val}", return_to_initial_values=False)
# sleep(wait_time)
# print("-" * 10)
# print()
#def overnight():
# current = mot_z.get_current_value()
# start = time()
# ntry = 7
# for i in range(100):
# si = str(i).zfill(6)
# fname = f"z_hop_{ntry}_coarse_{si}"
# print(fname)
# print(current, mot_z)
# mot_z.set_target_value(current).wait()
## sleep(0.5)
# if np.abs(mot_z.get_current_value() - current) > 0.01:
# break
# print(current, mot_z)
# scan.scan1D(mot_z, -0.1, +0.1, 0.1, 500, fname, relative=True, return_to_initial_values=True)
# print(current, mot_z)
## sleep(0.5)
# fname = f"z_hop_{ntry}_fine_{si}"
# print(fname)
# print(current, mot_z)
# mot_z.set_target_value(current).wait()
## sleep(0.5)
# if np.abs(mot_z.get_current_value() - current) > 0.01:
# break
# print(current, mot_z)
# scan.scan1D(mot_z, -0.01, +0.01, 0.001, 500, fname, relative=True, return_to_initial_values=True)
# print(current, mot_z)
## sleep(0.5)
# now = time()
# deltat = now - start
# print(start, now, deltat, 4*60*60)
# if deltat > 4*60*60:
# break
#def kescan3Dv2():
# x0 = 23.947
# y0 = 0
# npulses = 25 * 100/25
# step = 0.0005
# xstart = 21.897
# xstop = 21.997
# ystart = -2.573
# ystop = -2.713
# wait_time = 0.01
# for i in range(100):
# for z_val in nice_arange(0.2, -1.3, 0.1):
# mot_z.set(z_val).wait()
# print(i)
# print(mot_x)
# print(mot_y)
# print(mot_z)
# mot_y.set(y0).wait()
# mot_x.set(xstart).wait()
# scan.scan1D(mot_x, xstart, xstop, step, npulses, f"focus_knifeedge3D_v2_x_scan_{i}_{z_val}", return_to_initial_values=False)
# sleep(wait_time)
# print(mot_x)
# print(mot_y)
# print(mot_z)
# mot_x.set(x0).wait()
# mot_y.set(ystart).wait()
# scan.scan1D(mot_y, ystart, ystop, step, npulses, f"focus_knifeedge3D_v2_y_scan_{i}_{z_val}", return_to_initial_values=False)
# sleep(wait_time)
# print("-" * 10)
# print()
#def tof_loop():
# for i in range(50):
# fn = f"tof_loop2_{i}"
# daq.acquire(fn, n_pulses=10*10000)
#def overnight():
# sig = 101.617
# bkg = sig + 1
# while True:
# delay.set(sig).wait()
# sleep(10)
# daq.acquire("TT_overnight_sig", n_pulses=10 * 10000)
# delay.set(bkg).wait()
# daq.acquire("TT_overnight_bkg", n_pulses=10 * 1000)
# sleep(10)
#def overnight():
# start = 102.1
# stop = 102.4
# step = 0.015
# n_pulses = 10 * 500
# bkg = 103.3
# for i in range(1000):
# print(i, "sig")
# delay.set(start).wait()
# sleep(10)
# scan.scan1D(delay, start, stop, step, n_pulses, f"TT_overnight2_sig_{i:04}", return_to_initial_values=False)
# print(i, "bkg")
# delay.set(bkg).wait()
# daq.acquire(f"TT_overnight2_bkg_{i:04}", n_pulses=n_pulses)
# sleep(10)
#def overnight():
# start = 102.0
# stop = 102.3
# step = 0.0075
# n_pulses = 10 * 500
# bkg = 103.3
# for i in range(1000):
# print(i, "sig")
# delay.set(start).wait()
# sleep(10)
# scan.scan1D(delay, start, stop, step, n_pulses, f"TT_overnight3_sig_{i:04}", return_to_initial_values=False)
# print(i, "bkg")
# delay.set(bkg).wait()
# daq.acquire(f"TT_overnight3_bkg_{i:04}", n_pulses=n_pulses)
# sleep(10)
#SATFE10-OPSH066:REQUEST
#STATE 0: close
#STATE 1: open
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
# print("open shutter")
# shutter.put(1)
# sleep(3)
# base = "TT_overnight"
# x0 = 22.24
# start = x0 - 0.23
# stop = x0 + 0.23
# step = 0.01
# n_pulses = 2 * 2000
# for i in range(1000):
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
# print("open shutter")
# shutter.put(1)
# sleep(3)
# base = "TT_overnight2"
# x0 = 21.36
# start = x0 - 0.225
# stop = x0 + 0.225
# step = 0.003
# n_pulses = 2 * 1000
# for i in range(1000):
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
# print("open shutter")
# shutter.put(1)
# sleep(3)
# base = "TT_overnight3"
# x0 = 16.92
# start = x0 - 0.15
# stop = x0 + 0.15
# step = 0.003
# n_pulses = 4 * 500
# for i in range(1000):
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#end_time = datetime(2021, 9, 3, 8, 0, 0, 0)
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
#
# print("open shutter")
# shutter.put(1)
# sleep(3)
#
# base = "TT_nitrogen_overnight2"
#
# x0 = -14.55
# start = x0 - 0.2
# stop = x0 + 0.2
# step = 0.01
#
# n_pulses = 40 * 100
#
# for i in range(1000):
# if datetime.now() > end_time:
# break
#
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
#
# print("close shutter")
# shutter.put(0)
# sleep(3)
#
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
#
# print("open shutter")
# shutter.put(1)
# sleep(3)
#
#
# shutter2 = PV("SATFE10-OPSH066:REQUEST")
#
# print("close both shutters")
# shutter.put(0)
# shutter2.put(0)
# sleep(3)
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
# print("open shutter")
# shutter.put(1)
# sleep(3)
# base = "CH3I_C1s_with_shutter_200_microJ"
# x0 = -2.816
# start = x0 - 0.12
# stop = x0 + 0.12
# step = 0.003
# n_pulses = 4 * 250
# for i in range(1000):
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#def overnight():
# currents = [
# 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
# 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
# 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
# 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
# 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
# 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
# 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
# 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
# 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
# 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
# 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
# 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
# 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
# ]
# base = "CH3I_C1s_with_shutter_200_microJ"
# x0 = -2.816
# start = x0 - 0.12
# stop = x0 + 0.12
# step = 0.003
# n_pulses = 4 * 250
# for i in range(currents):
# chic_delay.set(I).wait()
# print("Chicane set to :",i)
# for ene in range(535,544):
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#def overnight():
# shutter = PV("SATOP21-OPSH138:REQUEST")
# print("open shutter")
# shutter.put(1)
# sleep(3)
# #base = "I4d_high_resolution_Ek472_Ep100_TTincluded_slit_2_008"
# #base = "I4d_high_resolution_Ek472_Ep200_TTincluded_slit_2_010"
# base = "CF3I_C1s_Ek230_Ep200_TTincluded_slit2_2609_130microJ_002"
# x0 = 15.813
# start = x0 - 0.12
# stop = x0 + 0.4
# step = 0.004
# n_pulses = 2 * 300
# for i in range(1000):
# print(i, "sig")
# scan.scan1D(exp_delay, start, stop, step, n_pulses, f"{base}_sig_{i:04}", return_to_initial_values=True)
# print("close shutter")
# shutter.put(0)
# sleep(3)
# print(i, "bkg")
# daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
# print("open shutter")
# shutter.put(1)
# sleep(3)
#from datetime import datetime
#from time import sleep, time
#end_time = datetime(2021, 10, 14, 6, 0, 0, 0)
#def megadimensionalscan():
# positions = [
# 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
# 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
# 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
# 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
# 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
# 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
# 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
# 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
# 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
# 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
# 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
# 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
# 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
# ]
## cycle = PV("SATUN14-MBND100:CYCLE")
# n_pulses = 2000
# und2.set(545)
## for i in range(1000):
## if datetime.now() > end_time:
## break
# for energy in (402, 420):
# und1.set(energy)
# fname = f"overnight_{energy}eV" #_{i:04}"
# scan.scan1D(chic_delay, positions, n_pulses, fname)
## cycle.put(1, wait=True)
## sleep(300)
#def overnight():
# currents = [
# 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
# 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
# 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
# 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
# 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
# 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
# 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
# 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
# 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
# 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
# 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
# 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
# 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
# ]
## und2.set(545).wait()
## for energy in (402, 420):
# for I in currents:
# chic_delay.set(I).wait()
# for energy1 in (401.5, 406.5, 420):
# und1.set(energy1).wait()
# for energy2 in (534, 545):
# und2.set(energy2).wait()
# fname = f"overnight4_{energy1}eV_{energy2}eV_{I}A"
# print(fname)
# daq.acquire(fname, n_pulses=1500*4).wait()
#def delay_energy_scan():
## currents = [
## 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
## 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
## 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
## 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
## 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
## 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
## 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
## 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
## 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
### 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
### 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
### 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
### 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
## ]
## currents = [
## 20, 35, 50
## ]
# currents = [
# 20.6694283,
# 23.8669628,
# 26.6840341,
# 29.2308494,
# 31.5728768,
# 33.7527725,
# 35.8001658,
# 37.7366295,
# 39.5784494,
# 41.3382779,
# 43.0261768,
# 44.6503044,
# 46.217384]
# #47.7330347,
# #49.2020095,
# #50.6283713]
# #52.015626,
# #53.3668232,
# #54.6846359,
# #55.9714223,
# #57.2292751,
# #59.6654582,
# #62.0059702,
# #64.2612654,
# #66.4400224,
# #68.5495396,
# #70.5960243
# #]
## shutter1 = PV("SATFE10-OPSH066:REQUEST")
## shutter2 = PV("SATOP21-OPSH138:REQUEST")
# cycle = PV("SATUN14-MBND100:CYCLE")
## end_time = datetime(2021, 11, 22, 8)
# for i in range(1):
## now = datetime.now()
## if now > end_time:
## break
# cycle.put(1, wait=True)
# sleep(250)
# for I in currents:
# chic_delay.set(I).wait()
## for energy1 in (510, 537.8, 555): # O2
## for energy1 in (540, 560): # N2O
## for energy1 in (403, 406.8, 420):
# for energy1 in (403,):
# und1.set(energy1).wait()
## for energy2 in (520, 543, 565): # O2
## for energy2 in (525, 535, 555): # N2O
## for energy2 in (543, 560):
# for energy2 in range(534, 544+1):
# und2.set(energy2).wait()
## !!! !!! !!! Change name here:
# fname = f"morning2_N2O_22mbar_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(fname)
## while True:
## check_intensity.get_ready()
## daq.acquire(fname, n_pulses=1500*2).wait()
## if check_intensity.is_happy():
## break
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
## print("close shutter")
## shutter1.put(0)
## shutter2.put(0)
#def overnight():
# currents = [
# 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
# 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
# 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
# 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
# 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
# 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
# 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
# 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
# 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
## 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
## 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
## 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
## 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
# ]
## currents = [
## 20, 35, 50
## ]
## currents = [
## 20.6694283,
## 23.8669628,
## 26.6840341,
## 29.2308494,
## 31.5728768,
## 33.7527725,
## 35.8001658,
## 37.7366295,
## 39.5784494,
## 41.3382779,
## 43.0261768,
## 44.6503044,
## 46.217384]
## #47.7330347,
## #49.2020095,
## #50.6283713]
## #52.015626,
## #53.3668232,
## #54.6846359,
## #55.9714223,
## #57.2292751,
## #59.6654582,
## #62.0059702,
## #64.2612654,
## #66.4400224,
## #68.5495396,
## #70.5960243
## #]
## shutter1 = PV("SATFE10-OPSH066:REQUEST")
## shutter2 = PV("SATOP21-OPSH138:REQUEST")
# cycle = PV("SATUN14-MBND100:CYCLE")
## end_time = datetime(2021, 11, 22, 8)
# for i in range(100):
## now = datetime.now()
## if now > end_time:
## break
# cycle.put(1, wait=True)
# sleep(250)
# for I in currents:
# chic_delay.set(I).wait()
## for energy1 in (510, 537.8, 555): # O2
## for energy1 in (540, 560): # N2O
## for energy1 in (403, 406.8, 420):
## for energy1 in (403,):
# for energy1 in (403, 406, 420):
# und1.set(energy1).wait()
## for energy2 in (520, 543, 565): # O2
## for energy2 in (525, 535, 555): # N2O
## for energy2 in (543, 560):
## for energy2 in range(534, 544+1):
# for energy2 in (543, 560):
# und2.set(energy2).wait()
# fname = f"overnight7_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(fname)
## while True:
## check_intensity.get_ready()
## daq.acquire(fname, n_pulses=1500*2).wait()
## if check_intensity.is_happy():
## break
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
## print("close shutter")
## shutter1.put(0)
## shutter2.put(0)
#def overnight():
## currents = [
### 10.0,
### 16.0,
### 22.7,
### 27.7,
### 32.0,
### 34.0,
### 35.8,
### 37.6,
### 39.2,
### 40.8,
### 42.2,
### 45.3,
### 48.0,
### 53.1
### 57.7,
### 62.0,
### 71.6,
### 80.0
###
## 31.48930094022534,
## 32.48918407498299,
## 33.459197405725845,
## 34.40186769985522,
## 35.31938437212558,
## 36.21365936509662,
## 37.08637401803952,
## 37.939016223878696,
## 38.77291022432906,
## 39.589240754262065,
## 40.38907278889524,
## 41.17336783651211,
## 41.9429974880303
### 35.8,
### 36.7,
### 37.6,
### 38.4,
### 39.2,
### 40.0,
### 40.8,
### 42.3
## ]
# currents = [
# 1.72090994e-04, 1.19335371e+01, 1.68765438e+01, 2.06694283e+01,
# 2.38669628e+01, 2.66840341e+01, 2.92308494e+01, 3.15728768e+01,
# 3.37527725e+01, 3.58001658e+01, 3.77366295e+01, 3.95784494e+01,
# 4.13382779e+01, 4.30261768e+01, 4.46503044e+01, 4.62173840e+01,
# 4.77330347e+01, 4.92020095e+01, 5.06283713e+01, 5.20156260e+01,
# 5.33668232e+01, 5.46846359e+01, 5.59714223e+01, 5.72292751e+01,
# 5.84600621e+01, 5.96654582e+01, 6.08469725e+01, 6.20059702e+01,
# 6.31436911e+01, 6.42612654e+01, 6.53597265e+01, 6.64400224e+01,
# 6.75030253e+01, 6.85495396e+01, 6.95803094e+01, 7.05960243e+01,
## 7.15973250e+01, 7.25848080e+01, 7.35590300e+01, 7.45205108e+01,
## 7.54697376e+01, 7.64071670e+01, 7.73332280e+01, 7.82483243e+01,
## 7.91528361e+01, 8.00471224e+01, 8.09315219e+01, 8.18063555e+01,
## 8.26719268e+01, 8.35285237e+01, 8.43764195e+01
# 7.45205108e+01,
# 7.82483243e+01,
# 8.18063555e+01,
# ]
# for i in range(100):
# for I in currents:
# chic_delay.set(I).wait()
# for energy1 in (395, 403, 406, 420):
# und1.set(energy1).wait()
# for energy2 in (543,):
# und2.set(energy2).wait()
# fname = f"overnight10_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(fname)
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
# cycle_magnet().wait()
#def morning():
## this for the signal
# currents = [
# 10.0,
## 28.83830235412312,
## 30.977257705828176,
# 31.99314930809352,
## 32.977757827608926,
## 33.93380646207095,
## 34.86364484244994,
## 35.76931706628362,
## 36.652614587304065,
## 37.51511788345494,
## 38.358229684315006,
# 39.18320176115609,
## 39.99115673481851,
## 40.78310599684759,
## 41.55996455126603,
## 43.071659987530104,
# 43.80,
## 44.54,
# 50.5,
# 62.0,
# 80.0,
# 100.0
# ]
### this for the reference
## currents = [
## 30.977257705828176,
## 39.18320176115609,
## 41.55996455126603,
## ]
# # change number here, in case of repeat
# for i in [0]:
# cycle_magnet().wait()
# for I in currents:
# chic_delay.set(I).wait()
# for energy1 in (406,): # if done, switch to: 403
# und1.set(energy1).wait()
# for energy2 in range(530, 545+1):
# und2.set(energy2).wait()
# # adjust name here (5 should be the next correct number)
# fname = f"afternoon16_N2O_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(fname)
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
#def mourning():
# currents = [
# 10.0,
# 31.99314930809352,
# 39.18320176115609,
# 43.80,
# 50.5,
# 62.0,
# 80.0,
# 100.0
# ]
#
# end_time = datetime(2021, 11, 29, 7, 45)
#
# for i in range(100):
# now = datetime.now()
# if now > end_time:
# break
#
# for I in currents:
# chic_delay.set(I).wait()
#
# for energy1 in (406,): # if done, switch to: 403
# und1.set(energy1).wait()
#
# for energy2 in range(530, 545+1):
# und2.set(energy2).wait()
#
# fname = f"afternoon17_N2O_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(datetime.now(), fname)
#
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
#
# cycle_magnet().wait()
#
#
#
#def klappe_zu():
# shutter1 = PV("SATFE10-OPSH066:REQUEST")
# shutter2 = PV("SATOP21-OPSH138:REQUEST")
#
# end_time = datetime(2021, 11, 29, 8)
#
# while True:
# now = datetime.now()
# if now > end_time:
# break
# print(now)
# sleep(30)
#
# print("close shutters", datetime.now())
# shutter1.put(0)
# shutter2.put(0)
def TTmeasurements(daq, numIterations, nBackground, nMeas):
#increment run number
print(daq.pgroup)
repratefactor = 10 #check reprate of machine
shutter266 = PV('SLAAT21-LDIO-LAS6291:SET_BO01')
exp_delay = Motor("SLAAT21-LMOT-M704:MOT", name="Laser Exp delay")
dsStart = exp_delay.get()
### take background Time tool:
for i in range(0,numIterations):
# #close shutter
# shutter266.put(1)
# ### Take data
# #timestamp = datetime.today().strftime("%d_%m_%H_%M")
# fname = f"TimeToolBackground_{i}"
# daq.acquire(fname, n_pulses=nBackground * repratefactor)
# #Open shutter
# shutter266.put(0)
### take spectrometer bacground Time tool:
#while shutters open
#move away from T0
exp_delay.set(dsStart-1)
sleep(3)
### Take data
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"SpectrometerBackground_{i}"
daq.acquire(fname, n_pulses=nBackground * repratefactor)
#move back to T0
exp_delay.set(dsStart)
sleep(3)
### measure:
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"Measurement_{i}"
daq.acquire(fname, n_pulses=nMeas * repratefactor)
# n_pulses=nMeas * repratefactor
# scan.scan1D(exp_delay, start, stop, step, n_pulses, fname, return_to_initial_values=True)
def TTmeasurementsScan(daq, scan, sStage, numIterations, nBackground, nMeas, start, stop, step):
#increment run number
print(daq.pgroup)
repratefactor = 10 #check reprate of machine
print(sStage.name)
print(sStage.get())
shutter266 = PV('SLAAT21-LDIO-LAS6291:SET_BO01')
# delayStage = PV('SLAAT21-LMOT-M704:MOT.VAL')
delay = Motor("SLAAT21-LMOT-M704:MOT", name="Laser Exp delay")
dsStart = delay.get()
### take background Time tool:
for i in range(0,numIterations):
# #close shutter
# shutter266.put(1)
# ### Take data
# #timestamp = datetime.today().strftime("%d_%m_%H_%M")
# fname = f"TimeToolBackground_{i}"
# daq.acquire(fname, n_pulses=nBackground * repratefactor)
# #Open shutter
# shutter266.put(0)
### take spectrometer bacground Time tool:
#while shutters open
#move away from T0
delay.set(dsStart-1)
sleep(3)
### Take data
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"SpectrometerBackground_{i}"
daq.acquire(fname, n_pulses=nBackground * repratefactor)
#move back to T0
delay.set(dsStart)
sleep(3)
### measure:
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"Measurement_{i}"
# daq.acquire(fname, n_pulses=nMeas * repratefactor)
n_pulses=nMeas * repratefactor
print(sStage.get())
scan.scan1D(sStage, start, stop, step, n_pulses, fname, return_to_initial_values=True, relative=True)
from tqdm import trange
def focus_test(daq):
daq.pgroup = "p19743"
# daq.pgroup = "p19509"
i = 1
while True:
i += 1
name = f"focus_test2_{i}"
daq.acquire(name, n_pulses=1000)
print("sleep")
for _ in trange(900):
sleep(1)
#def scan_with_bkg():
# start = 102.1
# stop = 102.4
# step = 0.015
# n_pulses = 1 * 1000
# bkg = 0
# for i in range(1000):
# print(i, "sig")
# delay.set(start).wait()
# sleep(10)
# scan.scan1D(delay, start, stop, step, n_pulses, f"TT_overnight2_sig_{i:04}", return_to_initial_values=False)
# print(i, "bkg")
# delay.set(bkg).wait()
# daq.acquire(f"TT_overnight2_bkg_{i:04}", n_pulses=n_pulses)
# sleep(10)