Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
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