* * $mcv3k_root\paw\plot_range.kumac * * Plot mu+ ranges in Al up to p_in = 29.8 MeV/c and fit * a1xp**3.5 to the data. * Ranges calculated with mcv3k. * Histograms saved in $mcv3_root\data\al_range.rz. * * requires one input parameter: * * [1] material, for example al * * TP, 28-Nov-2000, PSI LEM group * *----------------------------------------------------------------------------- * if ( [#] = 0 ) then mess mess Need input parameter to build input file name. mess For example: mess mess plot_range al mess mess Input file name will be $mcv3k_root/data/al_range.rz mess exitm endif * mat = [1] * *------------------------------------------------------------------------------ * close 0 | close all open units hi/de 0 | delete all histograms in //pawc v/de * | delete all vectors * v/crea hid(100) | vector for histogram ID's v/crea x0(2) | for defining graphic window v/crea y0(2) | same for y * *------------------------------- * file = $mcv3k_root/data/[mat]_range.rz | file with range histograms if ( $fexist([file]) = 0) then mess mess File [file] does not exist ?! mess exitm endif * * open file * hi/file 20 [file] hrin 0 close 20 nhist = 0 do i = 1, 300 | look for histograms; ID = 10 x momentum [MeV/c] if ( $hexist([i]) ) then mess Found histogram [i] nhist = [nhist] + 1 v/inp hid([nhist]) [i] endif enddo * * now we are ready to extract information from histograms * v/crea r([nhist]) | vector for mean ranges v/crea er([nhist]) | vector for RMS range v/crea p([nhist]) | vector for momenta v/crea ep([nhist]) r 8*0. | error in momentum = 0 * do i = 1, [nhist] id = hid([i]) mom = [id]/10. range = $hinfo([id],'MEAN') rms = $hinfo([id],'RMS') v/inp r([i]) [range] v/inp er([i]) [rms] v/inp p([i]) [mom] enddo xmax = [mom]*1.15 ymax = [range]*1.07 v/inp x0(1) 0. v/inp y0(1) 0. v/inp x0(2) [xmax] v/inp y0(2) [ymax] * * plot * set ysiz zone opt grid mat = $upper([mat]) title [mat]//', [m]^+! mean range, [D]p=0' * * * graph 2 x0 y0 aw hpl/err p r ep er [nhist] 20 0.3 * * fit to data par(1)xp**3.5 * v/crea par(1) r 1. opt nstat opt fit set fit 111 v/fit p r er $mcv3k_root/paw/range.f s 1 par scale = par(1) max = p(1) func/pl [scale]*x**3.5 0. [max] s atitle 'p (MeV/c)' 'mean range ([m]m)' * xpos = 0.05*x0(2) ypos = 0.95*r([nhist]) str = $mcv3k_root/paw/plot"-#range.kumac text [xpos] [ypos] [str] 0.2 ypos = 0.90*r([nhist]) text [xpos] [ypos] 'Fit function "J# P1 x p^3.5!' .25 * * * title ' ' opt ngri opt stat * *------------------------------------------------------------------------------- *