macro comp_data field=perp read field ttype=h pmom=4.723 tar=top read tar fname=[tar]_[field][ttype]_[pmom].out vec/del vrun,vtar,vtpol,vbpol,vcasy,ptime,ntime,pcharge,ncharge vec/read vrun,vtar,vtpol,vbpol,vcasy,ptime,ntime,pcharge,ncharge [fname] nrtot=$vlen(vrun,1) filecase keep chain -all nst=3 nrtot=8 tot_charge=0 tot_eff=0 do nr=[nst],[nrtot] nrun=vrun([nr]) sh tclsh get_info_run.tcl [nrun] > t.out sh cat t.out vec/del ch,t,f vec/read ch,t,f t.out charge=ch(1) time=t(1) current=[charge]/[time]*1000. fideff=f(1)/100. sh rm t.out message Total charge = [charge] mC message Total time = [time] sec message ave current = [current] nA message Tracking eff = [fideff] tot_charge=[tot_charge]+[charge] tot_eff=[tot_eff]+[fideff] nseg=1 dir=/work/hallc/e93026/rss/pass3 fname=[dir]/ntup/hms[nrun].[nseg].hbook message check [fname] while ($FEXIST([fname])) do message add [fname] to chain chain all [fname] nseg=[nseg]+1 fname=[dir]/ntup/hms[nrun].[nseg].hbook endwhile zone 1 2 enddo nr=[nrtot]-[nst]+1 ave_fideff=[tot_eff]/[nr] cf=1./[tot_charge]/[ave_fideff] message Total charge = [tot_charge] and averarge fideff= [ave_fideff] * background run if ( [field] .eq. 'para') then nrun=43775 * C+He during parah running nchain=3 vec/create runlist([nchain]) i 43775 43776 43799 endif if ( [field] .eq. 'perp') then nrun=43407 nchain=6 vec/create runlist([nchain]) i 43227 43230 43285 43324 43395 43396 endif chain -back btot_charge=0 btot_eff=0 do nr=1,[nchain] nrun=runlist([nr]) sh tclsh get_info_run.tcl [nrun] > t.out sh cat t.out vec/del ch,t,f vec/read ch,t,f t.out bcharge=ch(1) btime=t(1) bcurrent=[charge]/[time]*1000. bfideff=f(1)/100. btot_charge=[btot_charge]+[bcharge] btot_eff=[btot_eff]+[bfideff] sh rm t.out message Background Total charge = [bcharge] mC message Background Total time = [btime] sec message Background ave current = [bcurrent] nA message Background Tracking eff = [bfideff] nseg=1 dir=/work/hallc/e93026/rss/pass3 fname=[dir]/ntup/hms[nrun].[nseg].hbook message check [fname] while ($FEXIST([fname])) do message add [fname] to chain chain back [fname] nseg=[nseg]+1 fname=[dir]/ntup/hms[nrun].[nseg].hbook endwhile zone 1 2 enddo bavefideff=[btot_eff]/[nchain] bcf=1./[btot_charge]/[bavefideff] message Background Total charge = [btot_charge] and averarge fideff= [bavefideff] * zone 1 1 cut $1 hsp>.01.and.0.8