You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Calibration

Dark processing command: det_dark_proc -e tmoc00318 -d epix100 -r 10 -D

Common-mode correction (optional, off by default): Common mode correction algorithms for LCLS2 detectors

Monitoring Stream

Runs on drp-neh-cmp014.  Start up an EDM window on any DRP node (currently recommended node: drp-srcf-cmp024):  

/cds/home/m/mcbrowne/trunk2/ioc/common/epixMon/children/build/iocBoot/ioc-det-epix3/edm-ioc-det-epix3.cmd

Currently only updates when DAQ is triggering.

Timing Scan

tmoc00318 run 38. Suggests optimal timing around 40000ns:

This required setting acqToAsicR0Delay to zero as shown in this diagram from Conny Hansson:

Performance

700keV photons in tmoc00120 run 79.  Seem to see 2 and 3 photon peaks:

from psana import DataSource
from psana import container
import matplotlib.pyplot as plt
import numpy as np
import math

sigroi = np.s_[295:312,491:615]

def dump(obj, attrlist):
    allattrs = dir(obj)
    usefulattrs=[attr for attr in allattrs if (not attr.startswith('_') and attr !
= 'help')]
    for attr in usefulattrs:
        val = getattr(obj, attr)
        attrlist.append(attr)
        if type(val) in [int, float, np.ndarray, str]:
            print('.'.join(attrlist)+':', val)
        elif type(val) is container.Container:
            dump(val, attrlist)
        attrlist.pop(-1)

ds = DataSource(exp='tmoc00318',run=38)
myrun = next(ds.runs())
det = myrun.Detector('epix100')
step_value = myrun.Detector('step_value')
step_docstring = myrun.Detector('step_docstring')
cfg = det.raw._seg_configs()[0]
start_ns = []
intensity = []
intensity_err = []
for step in myrun.steps():
    #print('***',step_value(step),step_docstring(step))
    attrlist=[]
    #dump(cfg, attrlist)
    mysum = []
    for nevt,evt in enumerate(step.events()):
         mysum.append(np.sum(det.raw.image(evt)[sigroi]))
    start_ns.append(cfg.config.user.start_ns)
    intensity.append(np.mean(mysum))
    intensity_err.append(np.std(mysum)/math.sqrt(nevt))
plt.errorbar(start_ns,intensity,yerr=intensity_err)
plt.xlabel('start_ns')
plt.ylabel('ROI Intensity Sum (keV)')
plt.show()

Power Instructions

From Kaz: https://docs.google.com/document/d/1C33Hj1ABeDawbweOAVGJj2_PedpvLphzEQVGxMFA3HM/edit?usp=sharing

  • No labels