00001 import sys 00002 import os 00003 import psana 00004 import TimeTool 00005 from mpi4py import MPI 00006 rank = MPI.COMM_WORLD.Get_rank() 00007 worldsize = MPI.COMM_WORLD.Get_size() 00008 00009 numevents=50 00010 ttOptions = TimeTool.AnalyzeOptions( 00011 get_key='TSS_OPAL', 00012 eventcode_nobeam=0, 00013 calib_poly='0 1 0', 00014 sig_roi_x='0 1023', 00015 sig_roi_y='425 724', 00016 ref_avg_fraction=0.5, 00017 use_calib_db_ref=True, 00018 ref_load='', 00019 ref_store='') 00020 00021 ttAnalyze = TimeTool.PyAnalyze(ttOptions) 00022 ds = psana.DataSource('exp=sxrd5814:run=150', module=ttAnalyze) 00023 00024 for idx, evt in enumerate(ds.events()): 00025 if (numevents > 0) and (idx >= numevents): break 00026 if ttAnalyze.isRefShot(evt): 00027 print "is ref shot" 00028 ttAnalyze.process(evt) 00029 if idx % worldsize != rank: 00030 continue 00031 ttdata = ttAnalyze.process(evt) 00032 if ttdata is None: continue 00033 print "rank=%3d event %4d has TimeTool results. Peak is at pixel_position=%6.1f with amplitude=%7.5f nxt_amplitude=%7.5f fwhm=%5.1f" % \ 00034 (rank, idx, ttdata.position_pixel(), ttdata.amplitude(), ttdata.nxt_amplitude(), ttdata.position_fwhm()) 00035 00036