Files
cristallina/retrieve.ipynb
T
2023-09-13 17:29:36 +02:00

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 [ ]:
 
<script type="application/vnd.jupyter.widget-state+json"> {"state": {}, "version_major": 2, "version_minor": 0} </script>