Kiwamu had an old set of scripts for measuring the sensing matrices, but they were hidden away in ..../scripts/general/kiwamuscripts/pyplant . I have moved them to a more useful place, and updated them.
The useful scripts (the main one is SensResp.py, and the PRMI-specific one, runPRMI_SENS.py, which calls SensResp.py) have been moved to .../scripts/LSC . I have also created a folder within the LSC scripts folder called SensMatData for the data.
The 2 big changes to Kiwamu's scripts: The ezca library that he was calling wasn't working. I switched it over to using the one that Yuta wrote, in ..../scripts/pylibs. Also, Kiwamu's script was written back during a time where we must have only had one total lockin for the whole LSC model. Now we have one per PD in the input matrix. This meant that several of his channel names were wrong. I have fixed this, and also made it measure all the sensors at once using tdsread of the _OUT16 channels (the OUT16's have some AA action, other EPICS channels don't).
So, now (after you're locked), it shakes one "mirror" (the ITMs are shaken differentially at the same time, as one "mirror"), and reads out all of the RF PD lockin values. Then it moves to the next mirror. (For the PRMI case, there are only 2 "mirrors": The ITM set and the PRM.) All of the information is stored in a dictionary, which is written to a text file.
The format of the dictionary is:
{ OPTIC_1: [Photodiode_1, Lockin_I, Lockin_Q], [Photodiode_2, Lockin_I, Lockin_Q], OPTIC_2: [Photodiode_1, Lockin_I, Lockin_Q], [Photodiode_2, Lockin_I, Lockin_Q] }
At this point, I am too tired to actually do a measurement, although next time the PRMI is locked, we should just have to run the runPRMI_SENS.py, and look at the data. I'm also not quite sure how to extract the information from a dictionary after it has been written to a text file. This may not be a good way to store data, and I'll ask Jamie about it tomorrow.
OTHER NOTES:
* I need to set up another iteration of the sensing matrix measurement with no drive, measuring several times, to get an estimate of the error in a single measurement.
* I had the PRMI locked on AS55Q/REFL33I for more than half an hour. Then the MC started unlocking semi-regularly. Seismic was good except for one EQ ~2 hours ago. After the earthquake (unlocked MC, but no tripped optics), the MC has remained locked.
* The LSC Lockin Overview screen does not click-through to the _SIG individual screens. We need to fix the path to these screens.
* All of the _SIG filters are band passes around 285 Hz, but the names of the filters all say 238Hz. I need to fix all 27 of these.
* We can perhaps change the LSCoffsets script someday to use tdsread a few times, and average the results (since the PDs don't have lowpass filters, and we're measuring the offset of the IN1 location, not the OUT). This way we can hopefully measure all the PDs at once and speed up the script, without having failed tdsavg runs. |