Page History
...
- will use a new detector for beam time
- *** 5kHz epixM
- run-trigger and daq-trigger patterns:
- 5k,5k
- 5k,120
- 5k,2.5k
- matt provides "divisors-of-5k" script which should still work
- run-trigger and daq-trigger patterns:
- *** timing scans
- (done?) configuration scan
- Looks like cas/epixhr_timing_scan.py should work for the ePixM, too
- (done?) configuration scan
- *** fibers/nodes
- have 11 working fiber pairs and 1 broken one. epixhr uses 3 (2 data 1 timing) epixm uses 5 (4 data 1 timing 1 register)
- cpo submitted Jira to fix broken fiber and add fix cassettes between 208 and src
- need to check that all 11 are working
- Chris Ford is tasked with running timing/data fibers in 208/srcf and by default will use cmp034 for the epixM
- need detector group help going from mezzanine to hutch
- have 11 working fiber pairs and 1 broken one. epixhr uses 3 (2 data 1 timing) epixm uses 5 (4 data 1 timing 1 register)
- *** does psana handle disabled lanes correctly? currently the disabled lanes get a fixed number put in them (lane-number). this may work with Mikhail's.
- tstx00417 in ~tstopr/data/drp/tst/tstx00417/xtc/ runs 313 and 314 but shape may be incorrect.
- (done) run 316 has the data organized as (4, 192, 384). Previously, it was (1, 384, 768).
- cable to see acquisition window on the scope?
- dawood will check
- intensity scans
- done by changing the beam so no work required from daq group
- pedestals
- soft-low
- soft-hi
- threshold in the middle SA
- mikhail will work on "placeholder" infrastructure but there are subtleties that we won't worry about for the beam time
- don't necessarily need calibrated data
- Need at least rough calibration constants to let AMI work
- (lower priority) more precisely define how we handle the gain-switching, if at all?
- soft-low (configurable threshold at one extreme)
- soft-high (configurable threshold at the other extreme)
- configurable threshold in the middle
- what are the nominal gains? nominal gain ratio is 4.7
- bit 15 is gain mode, bits 0-14 are data. data bits may be trimmed in the future (13 or 12?)
- (lower priority) charge-injection
- mikhail/ric are putting in placeholder code, but doesn't work: waiting for ASIC/FPGA fix
ConfigDb
The configDb schema for the ePixM consists of user
and expert
sections. It is set up from the lcls2/psdaq/psdaq/configdb
area as follows:
Code Block | ||
---|---|---|
| ||
python epixm320_config_store.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --dir /cds/home/c/cpo/git/epix-hr-m-320k/ |
The expert
section holds parameters that are laid out similar to the hardware writeable reigisters. Their names are the same as those found in devGui. These parameters contain default settings that are written to the hardware at appropriate times. Many of them were initialized from yaml files supplied in the epix-hr-m-320k project:
Code Block | ||
---|---|---|
| ||
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u1.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u2.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u3.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u4.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_PacketRegisters.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_PowerSupply_Enable.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_RegisterControl.yml
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_SspMonGrp_carrier.yml |
Note that he PowerSupply_Enable has recently been trivial and causes 'Exception: modify_device: operation failed!
', but this could change in the future. The exception is harmless. Some of these yaml files are specific to the hardware instance of the detector. Thus, currently, a given ePixM DB instance will likely not work well with a different detector. Also note that loading the yaml files into the DB overwrites default settings that may have been previously modified using the ConfigDb editor in Control_GUI.
The user
section contains several parameters that are used to determine values for parameters written to the hardware. The resulting values sometimes override values from the expert
section and are not reflected there. In the case of user.gain_mode
, for example, values for the CompTH_ePixM
and Precharge_DAC_ePixM
parameters are taken from the table above (in Pedestal Scans and Charge Injection) for modes 0, 1 and 2, but the values stored in the expert
section are used for mode 3.
Detector Interface: DAQ-Segments With Multiple Free-Floating ASICs
...