version 1.2, 2005/09/22 02:13:57
|
version 1.5, 2005/09/22 17:17:49
|
|
|
z=0.0 | z=0.0 |
dxdz=tan(phtgt*3.14159265/180.0) | dxdz=tan(phtgt*3.14159265/180.0) |
dydz=tan(thtgt*3.14159265/180.0) | dydz=tan(thtgt*3.14159265/180.0) |
write(*,*)p_spec,th_spec,dpp |
c write(*,*)p_spec,th_spec,dpp |
write(*,*)x,y,z |
c write(*,*)x,y,z |
write(*,*)dxdz,dydz |
c write(*,*)dxdz,dydz |
c | c |
c Call to SIMC routine | c Call to SIMC routine |
c | c |
|
decay_flag=.false. |
|
wcs_flag=.false. |
|
ms_flag=.false. |
|
m2=(938.2796**2) |
call mc_hms (p_spec, th_spec, dpp, x, y, z, dxdz, dydz, | call mc_hms (p_spec, th_spec, dpp, x, y, z, dxdz, dydz, |
> x_fp, dx_fp, y_fp, dy_fp, m2, | > x_fp, dx_fp, y_fp, dy_fp, m2, |
> ms_flag, wcs_flag, decay_flag, resmult, fry, | > ms_flag, wcs_flag, decay_flag, resmult, fry, |
> ok_spec, pathlen) | > ok_spec, pathlen) |
write(*,*)p_spec,th_spec,dpp |
c write(*,*)p_spec,th_spec,dpp |
write(*,*)x,y,z |
c write(*,*)x,y,z |
write(*,*)dxdz,dydz |
c write(*,*)dxdz,dydz |
write(6,*)x_fp,dx_fp,y_fp,dy_fp |
write(6,*)x_fp,dx_fp,y_fp,dy_fp,ok_spec |
write(*,*)m2,ms_flag,wcs_flag,decay_flag |
c write(*,*)m2,ms_flag,wcs_flag,decay_flag |
write(*,*)resmult,fry,ok_spec,pathlen |
c write(*,*)resmult,fry,ok_spec,pathlen |
| |
xfp=x_fp | xfp=x_fp |
phfp=atan(dx_fp)/3.14159265*180.0 | phfp=atan(dx_fp)/3.14159265*180.0 |
yfp=y_fp |
yfp=y_fp*100.0 |
thfp=atan(dy_fp)/3.14159265*180.0 |
thfp=atan(dy_fp)/3.14159265*180.0*100.0 |
|
c |
|
do ii=1,20 |
|
ntuple_array(ii)=0.0 |
|
enddo |
|
ntuple_array(11)=real(xfp) |
|
ntuple_array(12)=real(yfp) |
|
ntuple_array(13)=real(thfp) |
|
ntuple_array(14)=real(phfp) |
c | c |
pcentral=ptgt | pcentral=ptgt |
pfp=dptgt | pfp=dptgt |
|
|
c what the corresponding theta and phi are for the other arm. | c what the corresponding theta and phi are for the other arm. |
| |
if (abs(eang).gt.abs(hang)) then | if (abs(eang).gt.abs(hang)) then |
phie=-.065+rndm(1)*.130 |
phie=-.025+rndm(1)*.050 |
thetae=-.030+rndm(2)*.060 |
thetae=-.009+rndm(2)*.018 |
|
c phie=-.0+rndm(1)*.0 |
|
c thetae=-.0+rndm(2)*.0 |
escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie)) | escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie)) |
pscat=sqrt(e0**2+escat**2- | pscat=sqrt(e0**2+escat**2- |
$ 2.0*e0*escat*cos(fg*eang+thetae)*cos(phie)) | $ 2.0*e0*escat*cos(fg*eang+thetae)*cos(phie)) |
|
|
else | else |
c Hadron arm defining acceptance | c Hadron arm defining acceptance |
1221 call grndm ( rndm, 3) | 1221 call grndm ( rndm, 3) |
phie=-.065+rndm(1)*.130 |
phie=-.025+rndm(1)*.050 |
thetae=-.030+rndm(2)*.060 |
thetae=-.009+rndm(2)*.018 |
|
c phie=-.0+rndm(1)*.0 |
|
c thetae=-.0+rndm(2)*.0 |
escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie)) | escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie)) |
pscat=sqrt(e0**2+escat**2- | pscat=sqrt(e0**2+escat**2- |
$ 2.0*e0*escat*cos(fg*eang+thetae)*cos(phie)) | $ 2.0*e0*escat*cos(fg*eang+thetae)*cos(phie)) |
|
|
endif | endif |
| |
ptgt=pscat | ptgt=pscat |
|
c write(*,*)escat,eang,pscat,hang |
dptgt=(pcentral-pscat)/pcentral | dptgt=(pcentral-pscat)/pcentral |
c | c |
c Following statement to fill just the high and low dp bins | c Following statement to fill just the high and low dp bins |