EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dlower.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file dlower.F
1 
2 C **********************************************************************
3 
4  FUNCTION dlower(V1)
5 
6 C...Lower limit on second variable (y, Q**2 or W**2) depending on first
7 C...variable x=V1. Used for integrating differential cross-section.
8 
9 
10 *
11 * to avoid variable conflictions, a second keep element is necessary
12 * with the same common block name (see LPTOU2)
13 *
14  COMMON /leptou/ cut(14),lst(40),parl(30),
15  & x,y,w2,q2,u
16  REAL cut,parl,x,y,w2,q2,u
17  INTEGER lst
18  SAVE /leptou/
19 
20  COMMON /lintrl/ psave(3,4,5),ksave(4),xmin,xmax,ymin,ymax,
21  &q2min,q2max,w2min,w2max,ilep,inu,ig,iz
22  REAL psave,xmin,xmax,ymin,ymax,q2min,q2max,w2min,w2max
23  INTEGER ksave,ilep,inu,ig,iz
24  SAVE /lintrl/
25 
26  REAL dlower,v1,s,pm2
27 
28 C...CMS energy squared and target nucleon mass.
29  s=parl(21)
30  pm2=psave(3,2,5)**2
31  IF(lst(31).EQ.1) THEN
32  dlower=max(q2min,v1*ymin*s,(w2min-pm2)*v1/max(1.-v1,1.e-22))
33  ELSEIF(lst(31).EQ.2) THEN
34  dlower=max(ymin,q2min/(s*v1),(w2min-pm2)/max(s*(1.-v1),1.e-22))
35  ELSEIF(lst(31).EQ.3) THEN
36  dlower=max(w2min,(1.-v1)*ymin*s+pm2,
37  & q2min*(1.-v1)/max(v1,1.e-22)+pm2)
38  ENDIF
39  RETURN
40  END