Versions Compared

Key

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

...

Run, Step, and Event Loops

Code Block
  class Arguments:
     expt = 'ueddaq02'
     run = 66
     evtmax = 1005
     detname = 'epixquad'

  args = Arguments()

  from psana.pyalgos.generic.NDArrUtils import info_ndarr
  from psana import DataSource
  ds = DataSource(exp=args.expt, run=args.run, dir=f'/cds/data/psdm/{args.expt[:3]}/{args.expt}/xtc')

  #orun = next(ds.runs())
  for irun,run in enumerate(ds.runs()):
  print('\n==== %02d  print('%s\nRun index %1drun: %d exp: %s detnames: %s' % (50*'_',irunirun, run.runnum, run.expt, ','.join(run.detnames)))

     print('Makemake detector object %s' % args.detname)
     det = run.Detector(args.detname)

     for stepnumistep,step in enumerate(run.steps()):
        print('%s\nStep %1d' % (50*'_',stepnum))istep)

         for evnumievt,evt in enumerate(step.events()):
            if evnum>args if ievt>args.evtmax: exit('exit by number of events limit %d' % args.evtmax)

            print print('%s\nEvent %04d' % (5080*'_',evnumievt))
            segs = det.raw.segments(evt)
            raw  = det.raw.raw(evt)

            print(info_ndarr(segs, 'segsments '))
            print(info_ndarr(raw,  'raw '))

Method calib

Method image

...