30 KiB
30 KiB
In [1]:
import numpy as np
In [2]:
%run cristallina.py
2023-05-22 at 08:16:27 | INFO | Loading started.
]0;⊚sliccould not set up DBusNotify: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
2023-05-22 at 08:16:32 | INFO | Connected to stand server 2023-05-22 at 08:16:33 | INFO | Using undulator (Aramis) offset to PSSS energy of 13 eV. 2023-05-22 at 08:16:33 | INFO | Running at cristallina with pgroup p21147. 2023-05-22 at 08:16:33 | INFO | Loading finished.
We recorded at 1 Hz with the CTA and 6000 repetions.
In [3]:
shots = 6000 # repetitions from CTA
In [5]:
pids = shots*100 missing = np.arange(2,10)*pids/10 missing
array([120000., 180000., 240000., 300000., 360000., 420000., 480000., 540000.])
Missing are the images from pids 12000 to 18000, 18000 to 24000 and so on. Already recorded are the first 60000.
In [24]:
# with scratch pgroup: daq_test = SFAcquisition( instrument, "p19150", default_channels=bs_channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=100, ) slow_daq_test = SFAcquisition( instrument, "p19150", default_channels=bs_channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=100, ) slow_daq = SFAcquisition( instrument, pgroup, default_channels=bs_channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=100, )
In [ ]:
pgroup = "p21147" # SAXS if False: res = daq.retrieve( "CTA_pulses", np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + n_pulses * 10), run_number=run_number, )
In [11]:
CTA_sequence_start_PID = 18111678900 length = 200 res = slow_daq_test.retrieve( "CTA_pulses", np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length), run_number=None, )
--------------------------------------------------------------------------- BrokerError Traceback (most recent call last) Cell In[11], line 5 1 CTA_sequence_start_PID = 18111678900 3 length = 200 ----> 5 res = slow_daq_test.retrieve( 6 "CTA_pulses", 7 np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length), 8 run_number=None, 9 ) File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/sfacquisition.py:125, in SFAcquisition.retrieve(self, filename, pulseids, run_number) 122 if not is_continuous(pulseids): 123 params["selected_pulse_ids"] = pulseids --> 125 res = retrieve(client.address, params, timeout=client.timeout) 127 res_run_number = res["run_number"] 128 assert res_run_number == run_number, f"received {res_run_number} and expected {run_number} run numbers not identical" File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:251, in retrieve(address, *args, **kwargs) 249 def retrieve(address, *args, **kwargs): 250 requrl = address.rstrip("/") + "/retrieve_from_buffers" --> 251 response = post_request(requrl, *args, **kwargs) 252 res = dict( 253 run_number = int(response["run_number"]), 254 acq_number = int(response["acquisition_number"]), 255 total_acq_number = int(response["unique_acquisition_number"]), 256 filenames = response["files"] 257 ) 258 return res File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:275, in post_request(requrl, params, timeout) 273 params = json_validate(params) 274 response = requests.post(requrl, json=params, timeout=timeout).json() --> 275 return validate_response(response) File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:289, in validate_response(resp) 287 message = resp.get("message", "Unknown error") 288 msg = "An error happened on the server:\n{}".format(message) --> 289 raise BrokerError(msg) BrokerError: An error happened on the server: Unknown error
In [11]:
CTA_sequence_start_PID = 18111678900 CTA_sequence_start_PID = 18111618800 length = 1000 res = slow_daq.retrieve( "CTA_pulses", np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length), run_number=1120, )
--------------------------------------------------------------------------- BrokerError Traceback (most recent call last) Cell In[11], line 6 2 CTA_sequence_start_PID = 18111618800 4 length = 1000 ----> 6 res = slow_daq.retrieve( 7 "CTA_pulses", 8 np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length), 9 run_number=1120, 10 ) File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/sfacquisition.py:125, in SFAcquisition.retrieve(self, filename, pulseids, run_number) 122 if not is_continuous(pulseids): 123 params["selected_pulse_ids"] = pulseids --> 125 res = retrieve(client.address, params, timeout=client.timeout) 127 res_run_number = res["run_number"] 128 assert res_run_number == run_number, f"received {res_run_number} and expected {run_number} run numbers not identical" File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:251, in retrieve(address, *args, **kwargs) 249 def retrieve(address, *args, **kwargs): 250 requrl = address.rstrip("/") + "/retrieve_from_buffers" --> 251 response = post_request(requrl, *args, **kwargs) 252 res = dict( 253 run_number = int(response["run_number"]), 254 acq_number = int(response["acquisition_number"]), 255 total_acq_number = int(response["unique_acquisition_number"]), 256 filenames = response["files"] 257 ) 258 return res File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:275, in post_request(requrl, params, timeout) 273 params = json_validate(params) 274 response = requests.post(requrl, json=params, timeout=timeout).json() --> 275 return validate_response(response) File /gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:289, in validate_response(resp) 287 message = resp.get("message", "Unknown error") 288 msg = "An error happened on the server:\n{}".format(message) --> 289 raise BrokerError(msg) BrokerError: An error happened on the server: Unknown error
In [40]:
#CTA_sequence_start_PID = 18111678900 CTA_sequence_start_PID = 18111618800 CTA_sequence_start_PID = 18116377800 CTA_sequence_start_PID = 18114660400 # works CTA_sequence_start_PID = 18113444000 # fails CTA_sequence_start_PID = 18114052200 # fails CTA_sequence_start_PID = 18114660400 # works length = 60000 for start_pid in [18114720400, 18114780500, 18114840600, 18114900700, 18114960800, 18115020900, 18115081000, 18115141100, 18115201200, 18115261300]: res = slow_daq.retrieve( "CTA_pulses", np.arange(start_pid, start_pid + length), run_number=1129, )
In [32]:
slow_daq.acquire('something', n_pulses=2)
Advanced run number to 1129. No detectors specified, using default detector list. No PVs specified, using default PV list. No channels specified, using default channel list. Offline Channels: ----------------- - SAR-CVME-TIFALL6:EvtSet - SARFE10-PSSS059:FIT_ERR - SARFE10-PSSS059:SPECTRUM_AVG_CENTER - SARFE10-PSSS059:SPECTRUM_AVG_FWHM - SARFE10-PSSS059:SPECTRUM_AVG_Y
1%|██ | 2/200 [00:03<05:02, 1.5s/@]
run number: 1129 acq number: 1 total acq number: 1970
DAQTask: done Output files: ------------- - /sf/cristallina/data/p21147/raw/run1129/data/acq0001.PVDATA.h5 - /sf/cristallina/data/p21147/raw/run1129/data/acq0001.BSDATA.h5 - /sf/cristallina/data/p21147/raw/run1129/data/acq0001.JF16T03V01.h5
In [37]:
np.array([[18114720400], [18114780500], [18114840600], [18114900700], [18114960800], [18115020900], [18115081000], [18115141100], [18115201200], [18115261300]]).flatten()
array([18114720400, 18114780500, 18114840600, 18114900700, 18114960800, 18115020900, 18115081000, 18115141100, 18115201200, 18115261300])
In [38]:
[18114720400, 18114780500, 18114840600, 18114900700, 18114960800, 18115020900, 18115081000, 18115141100, 18115201200, 18115261300]
[ 18114720400, 18114780500, 18114840600, 18114900700, 18114960800, 18115020900, 18115081000, 18115141100, 18115201200, 18115261300 ]
In [ ]: