macro xfit_le hid=0 textfile=txt/landau.txt chopt= exec def_func IF ([hid] = 0) THEN hid = $exec(kumac/read_cid) ENDIF 1Dflag = $HINFO([hid],'1DHISTO') IF ([1Dflag] = 0) THEN mess ' ' mess 'This Histogam is not 1D Histogram. Input 1D Historam ID! ' mess ' ' stopm ENDIF hi/pl [hid] vec/del vx vec/del vy vlocate vx vy np = $vlen(vx,1) do i=1,[np] vx[i]= vx([i]) vy[i]= vy([i]) enddo lg_yi = $sigma(log([vy1])) lg_yf = $sigma(log([vy[np]])) p4 = ([vx1]*[lg_yf]-[vx[np]]*[lg_yi])/([vx1]-[vx[np]]) p5 = ([lg_yi]-[lg_yf])/([vx1]-[vx[np]]) cons = $sigma([vy2]-exp([p4]+([p5])*([vx2]))) mean = [vx2] width = $sigma(abs(([vx3]-[vx1])/5)) npar = 5 vec/cre par([npar]) r vec/cre epar([npar]) r vec/input par(1:5) [cons] [mean] [width] [p4] [p5] vec/pri par hi/fit [hid]([vx1]:[vx[np]]) l_exp e 5 par ! ! ! epar IF ( [chopt] .eq.'d') THEN hid2 = 101 while $hexist([hid2]) .eq. 1 do hid2 = [hid2] + 1 endwhile p4 = par(4) p5 = par(5) fun1 [hid2] exp([p4]+([p5])*x) 100 [vx1] [vx[np]] s hi/del [hid2] ENDIF mes ----------------------------------- mes P1 : $sigma(par(1)) mes P2 : $sigma(abs(par(2))) mes P3 : $sigma(abs(par(3))) mes P4 : $sigma(par(4)) mes P5 : $sigma(par(5)) mes ----------------------------------- mes peak : $sigma(abs(par(2))) sh echo [HID] $sigma(abs(par(2))) >> [textfile] return macro def_func app comis quit REAL FUNCTION l_exp(x) COMMON/PAWPAR/PAR(5) l_exp = par(1)*denlan((x-par(2))/abs(par(3))) & + exp(par(4) + par(5)*x) END quit return