macro deadtime * pub * zon11p exe def_fill vec/del * vec/cre deadt(3) r 100 300 700 sigma rate=array(11,0#5) vec/cre x(11,3) r vec/cre y(11,3) r do j=1,3 do i=1,11 rate=$rsigma(rate([i])/1000) str=livetime([rate],$rsigma(deadt([j]))) livetime=$call([str])*100 vec/inp x([i],[j]) rate([i]) vec/inp y([i],[j]) [livetime] enddo enddo * for/file 33 ps/deadtime_emu.eps * gr/me 33 -113 set ndvx 508 null -0.2 5.2 0. 120. sym1=20 sym2=21 sym3=24 sym4=25 set chhe 0.2 do j=1,3 sigma ycal=100/(1+deadt([j])*rate/1000) set ltyp [j] graph 11 x(1:11,[j]) ycal(1:11) c hp/sym x(1:11,[j]) y(1:11,[j]) 11 [sym[j]] 0.2 exe legend_line [j] [j] $eval(deadt([j]))//' [m]s' exe legend_symbol [j] [sym[j]] 0.2 $eval(deadt([j]))//' [m]s' enddo atit 'Rate (kcps)' 'Live time (%)' ! 220 * for/clo 33 return macro def_fill APPLICATION COMIS QUIT real function livetime(rate,deadtime) ifirst=1 sum_time=0. igated=1 do i=1,100000 x=rndm(0.1234) y=-(1/rate)*log(x) sum_time = sum_time + y if (sum_time .gt. deadtime) then igated = igated + 1 livetime = igated / float(i) sum_time = 0. endif enddo end QUIT return macro legend_line nline=1 typ=1 com='' for str in_ wnxmin wnxmax xsiz xmgl xmgr xwin xzones_ wnymin wnymax ysiz ymgu ymgl ywin yzones_ chhe [str]=$grafinfo([str]) endfor xwns = [xsiz] - ([xmgl] + [xmgr] + [xwin]*[xzones]) xwid = ([wnxmax]) - ([wnxmin]) xtxr = [chhe] / [xwns] ywns = [ysiz] - ([ymgu] + [ymgl] + [ywin]*[yzones]) ywid = ([wnymax]) - ([wnymin]) ytxr = [chhe] / [ywns] x1 = 0.60 * [xwid] + ([wnxmin]) x2 = 0.75 * [xwid] + ([wnxmin]) x3 = 0.77 * [xwid] + ([wnxmin]) y1 = (0.9-[ytxr]*([nline]-1)) * [ywid] + ([wnymin]) if $OPTION('LOGX') = 1 then x1 = $sigma(10**([x1])) x2 = $sigma(10**([x2])) x3 = $sigma(10**([x3])) endif if $OPTION('LOGY') = 1 then y1 = $sigma(10**([y1])) endif set dmod [typ] dline [x1] [x2] [y1] [y1] set txal 13 itx [x3] [y1] [com] return macro legend_symbol nline=1 typ=1 siz=0.28 com='' do i=1,2147483647 if $vexist('temp'//[i]) .eq. 0 then vecname='temp'//[i] breakl endif enddo vec/cre [vecname](2) r for str in_ wnxmin wnxmax xsiz xmgl xmgr xwin xzones_ wnymin wnymax ysiz ymgu ymgl ywin yzones_ chhe [str]=$grafinfo([str]) endfor xwns = [xsiz] - ([xmgl] + [xmgr] + [xwin]*[xzones]) xwid = ([wnxmax]) - ([wnxmin]) xtxr = [chhe] / [xwns] ywns = [ysiz] - ([ymgu] + [ymgl] + [ywin]*[yzones]) ywid = ([wnymax]) - ([wnymin]) ytxr = [chhe] / [ywns] x1 = 0.675 * [xwid] + ([wnxmin]) x3 = 0.77 * [xwid] + ([wnxmin]) y1 = (0.9-[ytxr]*([nline]-1)) * [ywid] + ([wnymin]) if $OPTION('LOGX') = 1 then x1 = $sigma(10**([x1])) x3 = $sigma(10**([x3])) endif if $OPTION('LOGY') = 1 then y1 = $sigma(10**([y1])) endif vec/inp [vecname](1) [x1] vec/inp [vecname](2) [y1] hp/sym [vecname](1) [vecname](2) 1 [typ] [siz] [com] set txal 13 itx [x3] [y1] [com] vec/del [vecname] return