N2O repeat overnights; shutter closer

This commit is contained in:
2021-12-02 13:25:45 +01:00
parent 692115c751
commit 983ff0abd1

View File

@ -412,50 +412,603 @@ from slic.utils import nice_arange
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
#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
]
base = "CH3I_C1s_with_shutter_200_microJ"
end_time = datetime(2021, 11, 29, 7, 45)
x0 = -2.816
start = x0 - 0.12
stop = x0 + 0.12
step = 0.003
for i in range(100):
now = datetime.now()
if now > end_time:
break
n_pulses = 4 * 250
for I in currents:
chic_delay.set(I).wait()
for i in range(currents):
chic_delay.set(I).wait()
for energy1 in (406,): # if done, switch to: 403
und1.set(energy1).wait()
print("Chicane set to :",i)
for energy2 in range(530, 545+1):
und2.set(energy2).wait()
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)
fname = f"afternoon17_N2O_{i:04}_{energy1}eV_{energy2}eV_{I}A"
print(datetime.now(), fname)
print("close shutter")
shutter.put(0)
sleep(3)
while check_intensity.wants_repeat():
daq.acquire(fname, n_pulses=1000 * 2).wait()
print(i, "bkg")
daq.acquire(f"{base}_bkg_{i:04}", n_pulses=n_pulses)
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)
print("open shutter")
shutter.put(1)
sleep(3)