added some example config files, cleaned up things a bit

This commit is contained in:
2019-12-02 16:14:10 +00:00
parent e2f667e085
commit ff253408af
5 changed files with 379 additions and 168 deletions

View File

@ -5,21 +5,21 @@ from slic.daq import BS, DIA, Scanner
from slic.utils import Channels, Config, Elog, Screenshot
from slic.checkers import PVChecker
from slic.devices.device import Device
from alvra_devices import *
from alvra_adhoc import *
cfg = Config("/sf/alvra/config/exp/current_experiment.json")
#fn_cfg = "/sf/alvra/config/exp/current_experiment.json"
fn_cfg = "./slickits/alvra/config.json"
cfg = Config(fn_cfg)
elog = Elog(cfg.elog_url, cfg.user, cfg.screenshot_directory)
elog = Elog(cfg.elog_url, cfg.screenshot_directory, user=cfg.user, password="supercorrect") #TODO: remove fake password
screenshot = Screenshot(cfg.screenshot_directory)
check_intensity = PVChecker("SARFE10-PBPG050:HAMP-INTENSITY-CAL", vmin=100, vmax=300, wait_time=3)
bsdaqJF = DIA(
bsdaqJF = DIA(#TODO: gain and pedestal?
api_address="http://sf-daq-alvra:10000",
jf_name="JF_4.5M",
pgroup=cfg.pgroup
@ -30,22 +30,28 @@ scansJF = Scanner(
scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup),
default_counters=[bsdaqJF],
checker=check_intensity,
scan_directories=True,
scan_directories=True
)
channels = Channels("/sf/alvra/config/com/channel_lists/default_channel_list")
#fn_channels = "/sf/alvra/config/com/channel_lists/default_channel_list"
fn_channels = "./slickits/alvra/channel_list"
channels = Channels(fn_channels)
bsdaq = BS(channels, default_file_path="???")
scansBSreadLocal = Scanner(
data_base_dir="/sf/alvra/config/com/data/scan_data",
scan_info_dir="/sf/alvra/config/com/data/scan_info",
data_base_dir="/sf/alvra/data/{}/res/scan_data".format(cfg.pgroup),
scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup),
default_counters=[bsdaq],
scan_directories=True
)
#TODO: just some generic examples:
from slic.devices.device import Device
shut_und = Device(
"SARFE10-OPSH044",
description="Photon shutter after Undulator"
@ -62,14 +68,3 @@ print(pbps_und)

View File

@ -5,3 +5,18 @@ class LXT:
lxt = LXT()
from slic.devices.xoptics.dcm import AlvraDCM_FEL
monoFEL = AlvraDCM_FEL("SAROP11-ODCM105")
from slic.devices.general.smaract import SmarActRecord
laser_pitch = SmarActRecord("SARES11-XICM125:ROX1")
laser_trans = SmarActRecord("SARES11-XICM125:TRX1")
laser_yaw = SmarActRecord("SARES11-XICM125:ROY1")
microscope_pitch = SmarActRecord("SARES11-XMI125:ROY1")
microscope_yaw = SmarActRecord("SARES11-XMI125:ROZ1")

View File

@ -7,17 +7,27 @@ phaseShifter = sd.general.alvra_timing.PhaseShifterAramis(
description="Experiment laser phase shifter (Globi)"
)
flexTable = sd.endstations.alvra_flex.table(
"SARES12-XOTA128",
z_undulator=129,
description="Flex optical table"
)
prism = sd.general.smaract.SmarActStage(
gonio="SARES11-CMOV-SMA691110",
trans="SARES11-CMOV-SMA691111",
rotat="SARES11-CMOV-SMA691112",
dict(
gonio="SARES11-CMOV-SMA691110",
trans="SARES11-CMOV-SMA691111",
rotat="SARES11-CMOV-SMA691112"
),
z_undulator=127,
description="Prime laser prism"
)
xmic = sd.general.smaract.SmarActStage(
gonio="SARES11-CMOV-SMA691113",
rotat="SARES11-CMOV-SMA691114",
dict(
gonio="SARES11-CMOV-SMA691113",
rotat="SARES11-CMOV-SMA691114"
),
z_undulator=127,
description="Prime microscope mirror"
)
@ -52,171 +62,171 @@ primeCryTrans = sd.endstations.alvra_prime.VonHamosBragg(
description="Prime von Hamos X-trans (Bragg)"
)
#laser = sd.loptics.alvra_experiment.Laser_Exp(
# "SLAAR11-LMOT",
# z_undulator=122,
# description="Experiment laser hardware"
laser = sd.loptics.alvra_experiment.Laser_Exp(
"SLAAR11-LMOT",
z_undulator=122,
description="Experiment laser hardware"
)
laserShutter = sd.loptics.alvra_laser_shutter.laser_shutter(
"SLAAR11-LDIO-LAS6891",
z_undulator=122,
description="Laser Shutter"
)
pbpsOpt = sd.xdiagnostics.intensity_monitors.SolidTargetDetectorPBPS(
"SAROP11-PBPS117",
VME_crate="SAROP11-CVME-PBPS1",
link=9,
description="Intensity/position monitor after Optics hutch (PBPS)"
)
pbpsAtt = sd.xdiagnostics.intensity_monitors.SolidTargetDetectorPBPS(
"SAROP11-PBPS122",
VME_crate="SAROP11-CVME-PBPS1",
link=9,
description="Intensity/Position monitor after Attenuator"
)
screenFE = sd.xdiagnostics.profile_monitors.Pprm(
"SARFE10-PPRM053",
description="Profile monitor after single-shot spectrometer (PPRM)"
)
screenOP = sd.xdiagnostics.profile_monitors.Pprm(
"SARFE10-PPRM064",
description="Profile monitor after Front End"
)
screenMirrAlv1 = sd.xdiagnostics.profile_monitors.Pprm(
"SAROP11-PPRM066",
description="Profile monitor after Alvra Mirror 1 (PPRM)"
)
screenMirrAlv2 = sd.xdiagnostics.profile_monitors.Pprm(
"SAROP11-PPRM078",
description="Profile monitor after Alvra Mirror 2 (PPRM)"
)
screenMirrorV2 = sd.xdiagnostics.profile_monitors.Pprm(
"SAROP11-PPRM110",
description="Profile monitor after Vertical Mirror 2 (PPRM)"
)
screenOPEnd = sd.xdiagnostics.profile_monitors.Pprm(
"SAROP11-PPRM117",
description="Profile monitor after Optics hutch (PPRM)"
)
screenAtt = sd.xdiagnostics.profile_monitors.Pprm(
"SAROP11-PPRM122",
description="Profile monitor after Attenuator"
)
kbHor = sd.xoptics.kbhor.KBhor(
"SAROP11-OKBH124",
description="Alvra horizontal KB mirror"
)
kbVer = sd.xoptics.kbver.KBver(
"SAROP11-OKBV123",
description="Alvra vertical KB mirror"
)
attFE = sd.xoptics.attenuator_aramis.AttenuatorAramis(
"SARFE10-OATT053",
description="Attenuator in Front End"
)
attExp = sd.xoptics.attenuator_aramis.AttenuatorAramis(
"SAROP11-OATT120",
description="Attenuator Alvra"
)
mono = sd.xoptics.dcm.Double_Crystal_Mono(
"SAROP11-ODCM105",
description="Alvra DCM Monochromator"
)
refLaser = sd.xoptics.reflaser.RefLaser_Aramis(
"SAROP11-OLAS120",
description="Alvra beamline reference laser before KBs (OLAS)"
)
slitSwitch = sd.xoptics.slits.SlitBlades_old(
"SAROP11-OAPU104",
description="Slit in Optics hutch after Photon switchyard and before Alvra mono"
)
slitUnd = sd.xoptics.slits.SlitFourBlades_old(
"SARFE10-OAPU044",
description="Slit after Undulator"
)
slitAttExp = sd.xoptics.slits.SlitPosWidth_old(
"SAROP11-OAPU120",
description="Slits behind attenuator"
)
#shutUnd = sd.???(
# "SARFE10-OPSH044",
# description="Photon shutter after Undulator"
#)
#laserShutter = sd.loptics.alvra_laser_shutter.laser_shutter(
# "SLAAR11-LTIM01-EVR0",
# z_undulator=122,
# description="Laser Shutter"
#gasMon = sd.???(
# "SARFE10-PBIG050",
# description="Gas Monitor Intensity (PBIG)"
#)
#pbpsOpt = sd.xdiagnostics.intensity_monitors.SolidTargetDetectorPBPS(
# "SAROP11-PBPS117",
# VME_crate="SAROP11-CVME-PBPS1",
# link=9,
# description="Intensity/position monitor after Optics hutch (PBPS)"
#pbpsUnd = sd.???(
# "SARFE10-PBPS053",
# z_undulator=44,
# description="Intensity position monitor after Undulator (PBPS)"
#)
#pbpsAtt = sd.xdiagnostics.intensity_monitors.SolidTargetDetectorPBPS(
# "SAROP11-PBPS122",
# VME_crate="SAROP11-CVME-PBPS1",
# link=9,
# description="Intensity/Position monitor after Attenuator"
#shutFE = sd.???(
# "SARFE10-SBST060",
# description="Photon shutter in the end of Front End"
#)
#screenFE = sd.xdiagnostics.profile_monitors.Pprm(
# "SARFE10-PPRM053",
# description="Profile monitor after single-shot spectrometer (PPRM)"
#mirrorAlv1 = sd.???(
# "SAROP11-OOMH064",
# description="First Alvra Horizontal offset mirror (OMH064)"
#)
#screenOP = sd.xdiagnostics.profile_monitors.Pprm(
# "SARFE10-PPRM064",
# description="Profile monitor after Front End"
#mirrorAlv2 = sd.???(
# "SAROP11-OOMH076",
# description="Second Alvra Horizontal offset mirror (OMH076)"
#)
#screenMirrAlv1 = sd.xdiagnostics.profile_monitors.Pprm(
# "SAROP11-PPRM066",
# description="Profile monitor after Alvra Mirror 1 (PPRM)"
#mirrorV1 = sd.???(
# "SAROP11-OOMV108",
# description="Alvra Vertical offset Mirror 1 (OMV108)"
#)
#screenMirrAlv2 = sd.xdiagnostics.profile_monitors.Pprm(
# "SAROP11-PPRM078",
# description="Profile monitor after Alvra Mirror 2 (PPRM)"
#mirrorV2 = sd.???(
# "SAROP11-OOMV109",
# description="Alvra Vertical offset Mirror 2 (OMV109)"
#)
#screenMirrorV2 = sd.xdiagnostics.profile_monitors.Pprm(
# "SAROP11-PPRM110",
# description="Profile monitor after Vertical Mirror 2 (PPRM)"
#pulsePicker = sd.???(
# "SAROP11-OPPI110",
# description="X-ray pulse picker"
#)
#screenOPEnd = sd.xdiagnostics.profile_monitors.Pprm(
# "SAROP11-PPRM117",
# description="Profile monitor after Optics hutch (PPRM)"
#shutOpt = sd.???(
# "SAROP11-SBST114",
# description="Shutter after Optics hutch"
#)
#screenAtt = sd.xdiagnostics.profile_monitors.Pprm(
# "SAROP11-PPRM122",
# description="Profile monitor after Attenuator"
#DelayPALM = sd.???(
# "SAROP11-PALM118",
# description="Timing diagnostics THz streaking (PALM)"
#)
#kbHor = sd.xoptics.KBhor.KBhor(
# "SAROP11-OKBH124",
# description="Alvra horizontal KB mirror"
#DelayPSEN = sd.???(
# "SAROP11-PSEN119",
# description="Timing diagnostics spectral encoding (PSEN)"
#)
#kbVer = sd.xoptics.KBver.KBver(
# "SAROP11-OKBV123",
# description="Alvra vertical KB mirror"
#)
#attFE = sd.xoptics.attenuator_aramis.AttenuatorAramis(
# "SARFE10-OATT053",
# description="Attenuator in Front End"
#)
#attExp = sd.xoptics.attenuator_aramis.AttenuatorAramis(
# "SAROP11-OATT120",
# description="Attenuator Alvra"
#)
#mono = sd.xoptics.dcm.Double_Crystal_Mono(
# "SAROP11-ODCM105",
# description="Alvra DCM Monochromator"
#)
#refLaser = sd.xoptics.reflaser.RefLaser_Aramis(
# "SAROP11-OLAS120",
# description="Alvra beamline reference laser before KBs (OLAS)"
#)
#slitSwitch = sd.xoptics.slits.SlitBlades_old(
# "SAROP11-OAPU104",
# description="Slit in Optics hutch after Photon switchyard and before Alvra mono"
#)
#slitUnd = sd.xoptics.slits.SlitFourBlades_old(
# "SARFE10-OAPU044",
# description="Slit after Undulator"
#)
#slitAttExp = sd.xoptics.slits.SlitPosWidth_old(
# "SAROP11-OAPU120",
# description="Slits behind attenuator"
#)
##shutUnd = sd.???(
## "SARFE10-OPSH044",
## description="Photon shutter after Undulator"
##)
##gasMon = sd.???(
## "SARFE10-PBIG050",
## description="Gas Monitor Intensity (PBIG)"
##)
##pbpsUnd = sd.???(
## "SARFE10-PBPS053",
## z_undulator=44,
## description="Intensity position monitor after Undulator (PBPS)"
##)
##shutFE = sd.???(
## "SARFE10-SBST060",
## description="Photon shutter in the end of Front End"
##)
##mirrorAlv1 = sd.???(
## "SAROP11-OOMH064",
## description="First Alvra Horizontal offset mirror (OMH064)"
##)
##mirrorAlv2 = sd.???(
## "SAROP11-OOMH076",
## description="Second Alvra Horizontal offset mirror (OMH076)"
##)
##mirrorV1 = sd.???(
## "SAROP11-OOMV108",
## description="Alvra Vertical offset Mirror 1 (OMV108)"
##)
##mirrorV2 = sd.???(
## "SAROP11-OOMV109",
## description="Alvra Vertical offset Mirror 2 (OMV109)"
##)
##pulsePicker = sd.???(
## "SAROP11-OPPI110",
## description="X-ray pulse picker"
##)
##shutOpt = sd.???(
## "SAROP11-SBST114",
## description="Shutter after Optics hutch"
##)
##DelayPALM = sd.???(
## "SAROP11-PALM118",
## description="Timing diagnostics THz streaking (PALM)"
##)
##DelayPSEN = sd.???(
## "SAROP11-PSEN119",
## description="Timing diagnostics spectral encoding (PSEN)"
##)

182
channel_list Normal file
View File

@ -0,0 +1,182 @@
##### WARNING: DUPLICATE ENTRIES BREAK BEAM SYNCHRONOUS DATA ACQUISITION #####
# fresh list of channels working 15.2.2019 - CJM
## edited list of channels to try to reduce time taken to retrieve BS data - 2.11.2019 CJM
# note that according to Dima there is a limit of 100 BS channels in this file
# otherwise bs writer on the server crashes, there are currently 93 channels in this list
# that aren't commented out
SLAAR11-LTIM01-EVR0:DUMMY_PV10_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV1_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV2_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV3_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV4_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV5_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV6_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV7_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV8_NBS
SLAAR11-LTIM01-EVR0:DUMMY_PV9_NBS
# PSSS channels, including the new extracted values
# updated from Tine 23.8.2019
#SARFE10-PSSS059:FPICTURE
##SARFE10-PSSS059:SPECTRUM_CENTER
##SARFE10-PSSS059:SPECTRUM_FWHM
##SARFE10-PSSS059:SPECTRUM_X
##SARFE10-PSSS059:SPECTRUM_Y
# Laser IOxOS
SLAAR11-LSCP1-FNS:CH0:VAL_GET
##SLAAR11-LSCP1-FNS:CH1:VAL_GET
SLAAR11-LSCP1-FNS:CH2:VAL_GET
##SLAAR11-LSCP1-FNS:CH3:VAL_GET
SLAAR11-LSCP1-FNS:CH4:VAL_GET
##SLAAR11-LSCP1-FNS:CH5:VAL_GET
##SLAAR11-LSCP1-FNS:CH6:VAL_GET
##SLAAR11-LSCP1-FNS:CH7:VAL_GET
# Prime Keysight
##SARES11-GES1:BUFF_BS_INT
##SARES11-GES1:BUFF_WFM_CTR
##SARES11-GES1:CH1_BUFFER
##SARES11-GES1:CH1_VAL_GET
##SARES11-GES1:CH2_BUFFER
##SARES11-GES1:CH2_VAL_GET
#SARCL01-DBPM150:X1-RT
#SARCL01-DBPM060:X1-RT
#SARMA01-DBPM100:Q1-RT
#SARCL02-DBPM110:X1-RT
# arrival time BAM in ps
S10BC01-DBAM070:EOM1_T1
# Phil's Empire of delay lines bwahahahahah
# Topas pump delay
SLAAR11-LMOT-M451:ENC_1_BS
# Global Globi
SLAAR11-LMOT-M452:ENC_1_BS
# Harmonics pump delay (800 nm#)
##SLAAR11-LMOT-M453:ENC_1_BS
# Edwin CALC channels running on Laser IOxOS
##SLAAR11-LTIM01-EVR0:CALCI
##SLAAR11-LTIM01-EVR0:CALCX
##SLAAR11-LTIM01-EVR0:CALCY
##SLAAR11-LTIM01-EVR0:CALCS
# PALM Keysight
SAROP11-PALMK118:BUFF_BS_INT
SAROP11-PALMK118:BUFF_WFM_CTR
SAROP11-PALMK118:CH1_BUFFER
SAROP11-PALMK118:CH1_VAL_GET
SAROP11-PALMK118:CH2_BUFFER
SAROP11-PALMK118:CH2_VAL_GET
# and additional PALM calc channels
SAROP11-PALMK118:ANALYSIS_PALM_DEL
SAROP11-PALMK118:ANALYSIS_PALM_DT
##SARCL02-DBPM220:X1
##SARCL02-DBPM260:X1
##SARCL02-DBPM330:X1
##SARCL02-DBPM470:X1
##SARBD02-DBPM010:T1
##SARBD02-DBPM040:T1
##SARBD01-DBPM040:T1
# Gas monitor
# these two are in the bs channels as of today 6.9.2019
##SARFE10-PBPG050:HAMP-INTENSITY-AVG
##SARFE10-PBPG050:HAMP-INTENSITY-CAL
# FE electronics channels (PBPS117)
SAROP11-CVME-PBPS2:Lnk9Ch12-DATA-CALIBRATED
SAROP11-CVME-PBPS2:Lnk9Ch13-DATA-CALIBRATED
SAROP11-CVME-PBPS2:Lnk9Ch14-DATA-CALIBRATED
SAROP11-CVME-PBPS2:Lnk9Ch15-DATA-CALIBRATED
SAROP11-CVME-PBPS2:Lnk9Ch12-DATA-SUM
SAROP11-CVME-PBPS2:Lnk9Ch13-DATA-SUM
SAROP11-CVME-PBPS2:Lnk9Ch14-DATA-SUM
SAROP11-CVME-PBPS2:Lnk9Ch15-DATA-SUM
SAROP11-PBPS117:XPOS
SAROP11-PBPS117:YPOS
SAROP11-PBPS117:INTENSITY
# FE electronics channels (PBPS122)
##SAROP11-CVME-PBPS1:Lnk9Ch3-DATA-CALIBRATED
##SAROP11-CVME-PBPS1:Lnk9Ch3-DATA-SUM
##SAROP11-CVME-PBPS1:Lnk9Ch4-DATA-CALIBRATED
##SAROP11-CVME-PBPS1:Lnk9Ch4-DATA-SUM
##SAROP11-CVME-PBPS1:Lnk9Ch5-DATA-CALIBRATED
##SAROP11-CVME-PBPS1:Lnk9Ch5-DATA-SUM
##SAROP11-CVME-PBPS1:Lnk9Ch7-DATA-CALIBRATED
##SAROP11-CVME-PBPS1:Lnk9Ch7-DATA-SUM
##SAROP11-PBPS122:XPOS
##SAROP11-PBPS122:YPOS
##SAROP11-PBPS122:INTENSITY
#ESA IOxOS
##SARES11-LSCP10-FNS:CH0:VAL_GET
##SARES11-LSCP10-FNS:CH1:VAL_GET
##SARES11-LSCP10-FNS:CH2:VAL_GET
##SARES11-LSCP10-FNS:CH3:VAL_GET
##SARES11-LSCP10-FNS:CH4:VAL_GET
##SARES11-LSCP10-FNS:CH5:VAL_GET
##SARES11-LSCP10-FNS:CH6:VAL_GET
##SARES11-LSCP10-FNS:CH7:VAL_GET
# Event code mask
SAR-CVME-TIFALL5:EvtSet
SAR-CVME-TIFALL4:EvtSet
# PCO edge camera for spatial TT
#SARES20-CAMS142-M4:FPICTURE
## BS channels for Prime Huber XYZ encoders
## added 25.7.2019 - CJM
SARES11-XSAM125:ENC_X1_BS
SARES11-XSAM125:ENC_Y1_BS
SARES11-XSAM125:ENC_Z1_BS
## Flex - currently not connected
#SARES12-XSAM128:ENC_X1_BS
#SARES12-XSAM128:ENC_Y1_BS
#SARES12-XSAM128:ENC_Z1_BS
# add some cameras for testing the microscope LCP viewing ability:
# microscope
#
##SARES11-XMI125-C4P1:FPICTURE
# YAG
#SARES11-XPR125-C4P2:FPICTURE
# Edwin test setup with flushing numbers
#SLAAR11-LCAM-C452:FPICTURE
# testing for Goran
SARCL01-DBPM060:Q1-RT
SARCL01-DBPM060:Q1-VALID-RT
SARCL01-DBPM060:X1-RT
SARCL01-DBPM060:X1-VALID-RT
SARCL01-DBPM060:Y1-RT
SARCL01-DBPM060:Y1-VALID-RT
SARCL01-DBPM150:Q1-RT
SARCL01-DBPM150:Q1-VALID-RT
SARCL01-DBPM150:X1-RT
SARCL01-DBPM150:X1-VALID-RT
SARCL01-DBPM150:Y1-RT
SARCL01-DBPM150:Y1-VALID-RT
SARCL02-DBPM110:Q1-RT
SARCL02-DBPM110:Q1-VALID-RT
SARCL02-DBPM110:X1-RT
SARCL02-DBPM110:X1-VALID-RT
SARCL02-DBPM110:Y1-RT
SARCL02-DBPM110:Y1-VALID-RT
SARMA01-DBPM100:Q1-RT
SARMA01-DBPM100:Q1-VALID-RT
SARMA01-DBPM100:X1-RT
SARMA01-DBPM100:X1-VALID-RT
SARMA01-DBPM100:Y1-RT
SARMA01-DBPM100:Y1-VALID-RT

9
config.json Normal file
View File

@ -0,0 +1,9 @@
{
"elog_url": "https://elog-gfa.psi.ch/Alvra",
"user": "gac-alvra",
"screenshot_directory": "/sf/alvra/config/screenshots",
"pgroup": "p17983"
}