Added to repository.
This commit is contained in:
130
mcv3k/paw/plot_range.kumac
Normal file
130
mcv3k/paw/plot_range.kumac
Normal file
@ -0,0 +1,130 @@
|
||||
*
|
||||
* $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
|
||||
*
|
||||
*-------------------------------------------------------------------------------
|
||||
*
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user