Page MenuHomeHEPForge

No OneTemporary

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
Index: tags/opucem-00-00-00/makefile
===================================================================
--- tags/opucem-00-00-00/makefile (revision 0)
+++ tags/opucem-00-00-00/makefile (revision 7)
@@ -0,0 +1,11 @@
+CFLAGS=-Wall -I.
+CC=gcc
+
+lib: lib/opucem.o
+
+# st is an example driver code.
+all: lib st.o
+ $(CC) -o st.exe opucem.o st.o
+
+clean:
+ rm -f st.o lib/opucem.o
Index: tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.eps
===================================================================
--- tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.eps (revision 0)
+++ tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.eps (revision 7)
@@ -0,0 +1,179 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%BoundingBox: 0 0 567 384
+%%Title: /Users/erkcan/work/atlas-physics/nu4e4/stu/examples/kniehl_khors_fig1.eps: c1
+%%Creator: ROOT Version 5.18/00
+%%CreationDate: Mon Nov 2 18:18:03 2009
+%%EndComments
+%%BeginProlog
+80 dict begin
+/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
+/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
+/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
+/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
+/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
+/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
+/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
+/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
+/mp {newpath /y exch def /x exch def} def
+/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
+/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
+/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
+/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
+/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
+/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
+/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
+/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
+ 0 w3 neg d w3 neg 0 d cl s } def
+/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 4 {side} repeat cl fill gr} def
+/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
+ 4 {side} repeat cl s gr} def
+/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
+ sub m w w d s} def
+/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
+/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
+/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
+/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
+/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
+{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
+newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
+/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
+/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
+/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
+201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
+212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
+217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
+221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
+228 /Ocircumflex 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
+237 /udieresis 238 /Udieresis 239 /aring 240 /odieresis 242 /Aring 243 /ydieresis
+244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave
+127 /atilde 128 /Atilde 129 /oacute 130 /Oacute 131 /iacute
+132 /Iacute 133 /igrave 134 /Igrave 135 /otilde 136 /Otilde
+137 /uacute 138 /Uacute] def
+/Times-Roman /Times-Roman accvec ReEncode
+/Times-Italic /Times-Italic accvec ReEncode
+/Times-Bold /Times-Bold accvec ReEncode
+/Times-BoldItalic /Times-BoldItalic accvec ReEncode
+/Helvetica /Helvetica accvec ReEncode
+/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
+/Helvetica-Bold /Helvetica-Bold accvec ReEncode
+/Helvetica-BoldOblique /Helvetica-BoldOblique accvec ReEncode
+/Courier /Courier accvec ReEncode
+/Courier-Oblique /Courier-Oblique accvec ReEncode
+/Courier-Bold /Courier-Bold accvec ReEncode
+/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
+/oshow {gsave [] 0 sd true charpath stroke gr} def
+/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
+ text sw pop xs add /xs exch def} def
+/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
+pop neg xs add /xs exch def} def
+/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
+69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
+74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
+79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
+83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
+88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
+50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
+55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin 102 /intersection
+ 103 /union 104 /propersuperset 105 /reflexsuperset 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright
+ 118 /arrowdbldown 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
+/Symbol /Special accspe ReEncode
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 1538 0 0 bf black 1 1 1 c 1882 1215 272 246 bf black 1882 1215 272 246 bl 1 1 1 c 1882 1215 272 246 bf black 1882 1215 272 246 bl 272 246 m 1882 X s 429 284 m -38 Y s 468
+ 265 m -19 Y s 507 265 m -19 Y s 547 265 m -19 Y s 586 265 m -19 Y s 625 284 m -38 Y s 664 265 m -19 Y s 703 265 m -19 Y s 743 265 m -19 Y s 782 265 m -19 Y s 821 284 m -38 Y s 860 265 m -19 Y s 900 265 m -19 Y s 939 265 m -19 Y s 978 265 m -19 Y s
+ 1017 284 m -38 Y s 1056 265 m -19 Y s 1096 265 m -19 Y s 1135 265 m -19 Y s 1174 265 m -19 Y s 1213 284 m -38 Y s 1252 265 m -19 Y s 1292 265 m -19 Y s 1331 265 m -19 Y s 1370 265 m -19 Y s 1409 284 m -38 Y s 1449 265 m -19 Y s 1488 265 m -19 Y s
+ 1527 265 m -19 Y s 1566 265 m -19 Y s 1605 284 m -38 Y s 1645 265 m -19 Y s 1684 265 m -19 Y s 1723 265 m -19 Y s 1762 265 m -19 Y s 1801 284 m -38 Y s 1841 265 m -19 Y s 1880 265 m -19 Y s 1919 265 m -19 Y s 1958 265 m -19 Y s 1997 284 m -38 Y s
+ 429 284 m -38 Y s 390 265 m -19 Y s 351 265 m -19 Y s 311 265 m -19 Y s 1997 284 m -38 Y s 2037 265 m -19 Y s 2076 265 m -19 Y s 2115 265 m -19 Y s 2154 265 m -19 Y s
+ gsave 2268 1538 0 0 C 411 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (1) show NC gr
+ gsave 2268 1538 0 0 C 573 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (1.5) show NC gr
+ gsave 2268 1538 0 0 C 802 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (2) show NC gr
+ gsave 2268 1538 0 0 C 968 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (2.5) show NC gr
+ gsave 2268 1538 0 0 C 1193 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (3) show NC gr
+ gsave 2268 1538 0 0 C 1359 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (3.5) show NC gr
+ gsave 2268 1538 0 0 C 1583 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (4) show NC gr
+ gsave 2268 1538 0 0 C 1750 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (4.5) show NC gr
+ gsave 2268 1538 0 0 C 1978 179 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (5) show NC gr 272 1461 m 1882 X s 429 1423 m 38 Y s 468 1442 m 19 Y s 507 1442 m 19 Y s 547 1442 m 19 Y s 586 1442 m 19 Y s 625 1423 m 38 Y s 664 1442 m 19 Y s 703 1442 m
+ 19 Y s 743 1442 m 19 Y s 782 1442 m 19 Y s 821 1423 m 38 Y s 860 1442 m 19 Y s 900 1442 m 19 Y s 939 1442 m 19 Y s 978 1442 m 19 Y s 1017 1423 m 38 Y s 1056 1442 m 19 Y s 1096 1442 m 19 Y s 1135 1442 m 19 Y s 1174 1442 m 19 Y s 1213 1423 m 38 Y s
+ 1252 1442 m 19 Y s 1292 1442 m 19 Y s 1331 1442 m 19 Y s 1370 1442 m 19 Y s 1409 1423 m 38 Y s 1449 1442 m 19 Y s 1488 1442 m 19 Y s 1527 1442 m 19 Y s 1566 1442 m 19 Y s 1605 1423 m 38 Y s 1645 1442 m 19 Y s 1684 1442 m 19 Y s 1723 1442 m 19 Y s
+ 1762 1442 m 19 Y s 1801 1423 m 38 Y s 1841 1442 m 19 Y s 1880 1442 m 19 Y s 1919 1442 m 19 Y s 1958 1442 m 19 Y s 1997 1423 m 38 Y s 429 1423 m 38 Y s 390 1442 m 19 Y s 351 1442 m 19 Y s 311 1442 m 19 Y s 1997 1423 m 38 Y s 2037 1442 m 19 Y s 2076
+ 1442 m 19 Y s 2115 1442 m 19 Y s 2154 1442 m 19 Y s 272 246 m 1215 Y s 326 246 m -54 X s 299 281 m -27 X s 299 315 m -27 X s 299 350 m -27 X s 299 385 m -27 X s 326 420 m -54 X s 299 454 m -27 X s 299 489 m -27 X s 299 524 m -27 X s 299 558 m -27 X
+ s 326 593 m -54 X s 299 628 m -27 X s 299 663 m -27 X s 299 697 m -27 X s 299 732 m -27 X s 326 767 m -54 X s 299 801 m -27 X s 299 836 m -27 X s 299 871 m -27 X s 299 906 m -27 X s 326 940 m -54 X s 299 975 m -27 X s 299 1010 m -27 X s 299 1044 m
+ -27 X s 299 1079 m -27 X s 326 1114 m -54 X s 299 1149 m -27 X s 299 1183 m -27 X s 299 1218 m -27 X s 299 1253 m -27 X s 326 1287 m -54 X s 299 1322 m -27 X s 299 1357 m -27 X s 299 1392 m -27 X s 299 1426 m -27 X s 326 1461 m -54 X s
+ gsave 2268 1538 0 0 C 59 215 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (-0.005) show NC gr
+ gsave 2268 1538 0 0 C 222 388 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0) show NC gr
+ gsave 2268 1538 0 0 C 81 564 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.005) show NC gr
+ gsave 2268 1538 0 0 C 134 736 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.01) show NC gr
+ gsave 2268 1538 0 0 C 81 909 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.015) show NC gr
+ gsave 2268 1538 0 0 C 124 1082 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.02) show NC gr
+ gsave 2268 1538 0 0 C 81 1258 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.025) show NC gr
+ gsave 2268 1538 0 0 C 124 1430 t 0 r /Helvetica findfont 71.6807 sf 0 0 m (0.03) show NC gr 2154 246 m 1215 Y s 2101 246 m 53 X s 2127 281 m 27 X s 2127 315 m 27 X s 2127 350 m 27 X s 2127 385 m 27 X s 2101 420 m 53 X s 2127 454 m 27 X s 2127 489
+ m 27 X s 2127 524 m 27 X s 2127 558 m 27 X s 2101 593 m 53 X s 2127 628 m 27 X s 2127 663 m 27 X s 2127 697 m 27 X s 2127 732 m 27 X s 2101 767 m 53 X s 2127 801 m 27 X s 2127 836 m 27 X s 2127 871 m 27 X s 2127 906 m 27 X s 2101 940 m 53 X s 2127
+ 975 m 27 X s 2127 1010 m 27 X s 2127 1044 m 27 X s 2127 1079 m 27 X s 2101 1114 m 53 X s 2127 1149 m 27 X s 2127 1183 m 27 X s 2127 1218 m 27 X s 2127 1253 m 27 X s 2101 1287 m 53 X s 2127 1322 m 27 X s 2127 1357 m 27 X s 2127 1392 m 27 X s 2127
+ 1426 m 27 X s 2101 1461 m 53 X s 1 0 0 c black 429 1350 m 1568 X s 1 0 0 c /w 29 def /w2 {w 2 div} def /w3 {w 3 div} def 429 1350 433 1350 437 1350 441 1350 445 1350 449 1350 453 1350 456 1350 460 1350 464 1350 468 1350 472 1350 476 1350 480 1350
+ 484 1350 488 1350 492 1350 496 1350 500 1350 503 1350 507 1350 511 1350 515 1350 519 1350 523 1350 527 1350 531 1350 535 1350 539 1350 543 1350 547 1350 551 1350 554 1350 558 1350 562 1350 566 1350 570 1350 574 1350 578 1350 582 1350 586 1350 590
+ 1350 594 1350 598 1350 602 1350 605 1350 609 1350 613 1350 617 1350 621 1350 625 1350 629 1350 633 1350 637 1350 641 1350 645 1350 649 1350 652 1350 656 1350 660 1350 664 1350 668 1350 672 1350 676 1350 680 1350 684 1350 688 1350 692 1350 696 1350
+ 700 1350 703 1350 707 1350 711 1350 715 1350 719 1350 723 1350 727 1350 731 1350 735 1350 739 1350 743 1350 747 1350 751 1350 754 1350 758 1350 762 1350 766 1350 770 1350 774 1350 778 1350 782 1350 786 1350 790 1350 794 1350 798 1350 801 1350 805
+ 1350 809 1350 813 1350 817 1350 100 { m31} R 821 1350 825 1350 829 1350 833 1350 837 1350 841 1350 845 1350 849 1350 852 1350 856 1350 860 1350 864 1350 868 1350 872 1350 876 1350 880 1350 884 1350 888 1350 892 1350 896 1350 900 1350 903 1350 907
+ 1350 911 1350 915 1350 919 1350 923 1350 927 1350 931 1350 935 1350 939 1350 943 1350 947 1350 951 1350 954 1350 958 1350 962 1350 966 1350 970 1350 974 1350 978 1350 982 1350 986 1350 990 1350 994 1350 998 1350 1001 1350 1005 1350 1009 1350 1013
+ 1350 1017 1350 1021 1350 1025 1350 1029 1350 1033 1350 1037 1350 1041 1350 1045 1350 1049 1350 1052 1350 1056 1350 1060 1350 1064 1350 1068 1350 1072 1350 1076 1350 1080 1350 1084 1350 1088 1350 1092 1350 1096 1350 1100 1350 1103 1350 1107 1350
+ 1111 1350 1115 1350 1119 1350 1123 1350 1127 1350 1131 1350 1135 1350 1139 1350 1143 1350 1147 1350 1150 1350 1154 1350 1158 1350 1162 1350 1166 1350 1170 1350 1174 1350 1178 1350 1182 1350 1186 1350 1190 1350 1194 1350 1198 1350 1201 1350 1205
+ 1350 1209 1350 100 { m31} R 1213 1350 1217 1350 1221 1350 1225 1350 1229 1350 1233 1350 1237 1350 1241 1350 1245 1350 1249 1350 1252 1350 1256 1350 1260 1350 1264 1350 1268 1350 1272 1350 1276 1350 1280 1350 1284 1350 1288 1350 1292 1350 1296 1350
+ 1299 1350 1303 1350 1307 1350 1311 1350 1315 1350 1319 1350 1323 1350 1327 1350 1331 1350 1335 1350 1339 1350 1343 1350 1347 1350 1350 1350 1354 1350 1358 1350 1362 1350 1366 1350 1370 1350 1374 1350 1378 1350 1382 1350 1386 1350 1390 1350 1394
+ 1350 1398 1350 1401 1350 1405 1350 1409 1350 1413 1350 1417 1350 1421 1350 1425 1350 1429 1350 1433 1350 1437 1350 1441 1350 1445 1350 1449 1350 1452 1350 1456 1350 1460 1350 1464 1350 1468 1350 1472 1350 1476 1350 1480 1350 1484 1350 1488 1350
+ 1492 1350 1496 1350 1499 1350 1503 1350 1507 1350 1511 1350 1515 1350 1519 1350 1523 1350 1527 1350 1531 1350 1535 1350 1539 1350 1543 1350 1547 1350 1550 1350 1554 1350 1558 1350 1562 1350 1566 1350 1570 1350 1574 1350 1578 1350 1582 1350 1586
+ 1350 1590 1350 1594 1350 1598 1350 1601 1350 100 { m31} R 1605 1350 1609 1350 1613 1350 1617 1350 1621 1350 1625 1350 1629 1350 1633 1350 1637 1350 1641 1350 1645 1350 1648 1350 1652 1350 1656 1350 1660 1350 1664 1350 1668 1350 1672 1350 1676 1350
+ 1680 1350 1684 1350 1688 1350 1692 1350 1696 1350 1699 1350 1703 1350 1707 1350 1711 1350 1715 1350 1719 1350 1723 1350 1727 1350 1731 1350 1735 1350 1739 1350 1743 1350 1747 1350 1750 1350 1754 1350 1758 1350 1762 1350 1766 1350 1770 1350 1774
+ 1350 1778 1350 1782 1350 1786 1350 1790 1350 1794 1350 1797 1350 1801 1350 1805 1350 1809 1350 1813 1350 1817 1350 1821 1350 1825 1350 1829 1350 1833 1350 1837 1350 1841 1350 1845 1350 1848 1350 1852 1350 1856 1350 1860 1350 1864 1350 1868 1350
+ 1872 1350 1876 1350 1880 1350 1884 1350 1888 1350 1892 1350 1896 1350 1899 1350 1903 1350 1907 1350 1911 1350 1915 1350 1919 1350 1923 1350 1927 1350 1931 1350 1935 1350 1939 1350 1943 1350 1947 1350 1950 1350 1954 1350 1958 1350 1962 1350 1966
+ 1350 1970 1350 1974 1350 1978 1350 1982 1350 1986 1350 1990 1350 1994 1350 100 { m31} R 1997 1350 1 { m31} R black 0 0 1 c 429 1176 433 1184 437 1192 441 1199 445 1205 449 1211 453 1216 456 1221 460 1226 464 1231 468 1235 472 1239 476 1243 480 1246
+ 484 1250 488 1253 492 1256 496 1259 500 1262 503 1264 507 1267 511 1269 515 1271 519 1273 523 1275 527 1277 531 1279 535 1281 539 1283 543 1285 547 1286 551 1288 554 1289 558 1291 562 1292 566 1293 570 1295 574 1296 578 1297 582 1298 586 1299 590
+ 1300 594 1301 598 1302 602 1303 605 1304 609 1305 613 1306 617 1307 621 1308 625 1308 629 1309 633 1310 637 1311 641 1311 645 1312 649 1313 652 1313 656 1314 660 1315 664 1315 668 1316 672 1316 676 1317 680 1318 684 1318 688 1319 692 1319 696 1320
+ 700 1320 703 1321 707 1321 711 1321 715 1322 719 1322 723 1323 727 1323 731 1323 735 1324 739 1324 743 1325 747 1325 751 1325 754 1326 758 1326 762 1326 766 1327 770 1327 774 1327 778 1328 782 1328 786 1328 790 1328 794 1329 798 1329 801 1329 805
+ 1330 809 1330 813 1330 817 1330 100 { m31} R 821 1331 825 1331 829 1331 833 1331 837 1331 841 1332 845 1332 849 1332 852 1332 856 1333 860 1333 864 1333 868 1333 872 1333 876 1333 880 1334 884 1334 888 1334 892 1334 896 1334 900 1335 903 1335 907
+ 1335 911 1335 915 1335 919 1335 923 1336 927 1336 931 1336 935 1336 939 1336 943 1336 947 1336 951 1337 954 1337 958 1337 962 1337 966 1337 970 1337 974 1337 978 1337 982 1337 986 1338 990 1338 994 1338 998 1338 1001 1338 1005 1338 1009 1338 1013
+ 1338 1017 1339 1021 1339 1025 1339 1029 1339 1033 1339 1037 1339 1041 1339 1045 1339 1049 1339 1052 1339 1056 1340 1060 1339 1064 1340 1068 1340 1072 1340 1076 1340 1080 1340 1084 1340 1088 1340 1092 1340 1096 1340 1100 1340 1103 1340 1107 1341
+ 1111 1341 1115 1341 1119 1341 1123 1341 1127 1341 1131 1341 1135 1341 1139 1341 1143 1341 1147 1341 1150 1341 1154 1341 1158 1341 1162 1341 1166 1342 1170 1342 1174 1342 1178 1342 1182 1342 1186 1342 1190 1342 1194 1342 1198 1342 1201 1342 1205
+ 1342 1209 1342 100 { m31} R 1213 1342 1217 1342 1221 1343 1225 1342 1229 1343 1233 1343 1237 1343 1241 1343 1245 1343 1249 1343 1252 1343 1256 1343 1260 1343 1264 1343 1268 1343 1272 1343 1276 1343 1280 1343 1284 1343 1288 1344 1292 1343 1296 1344
+ 1299 1343 1303 1344 1307 1344 1311 1344 1315 1344 1319 1344 1323 1344 1327 1344 1331 1344 1335 1344 1339 1344 1343 1344 1347 1344 1350 1344 1354 1344 1358 1344 1362 1344 1366 1344 1370 1344 1374 1344 1378 1344 1382 1344 1386 1344 1390 1344 1394
+ 1344 1398 1344 1401 1345 1405 1345 1409 1345 1413 1345 1417 1345 1421 1345 1425 1345 1429 1345 1433 1345 1437 1345 1441 1345 1445 1345 1449 1345 1452 1345 1456 1345 1460 1345 1464 1345 1468 1345 1472 1345 1476 1345 1480 1345 1484 1345 1488 1346
+ 1492 1345 1496 1345 1499 1345 1503 1345 1507 1345 1511 1346 1515 1346 1519 1346 1523 1345 1527 1346 1531 1345 1535 1346 1539 1346 1543 1346 1547 1346 1550 1346 1554 1346 1558 1346 1562 1346 1566 1346 1570 1346 1574 1346 1578 1345 1582 1346 1586
+ 1346 1590 1346 1594 1346 1598 1346 1601 1346 100 { m31} R 1605 1346 1609 1345 1613 1346 1617 1346 1621 1346 1625 1347 1629 1347 1633 1344 1637 1346 1641 1347 1645 1346 1648 1346 1652 1346 1656 1347 1660 1346 1664 1347 1668 1347 1672 1347 1676 1346
+ 1680 1346 1684 1344 1688 1347 1692 1346 1696 1347 1699 1347 1703 1347 1707 1345 1711 1347 1715 1346 1719 1347 1723 1345 1727 1347 1731 1346 1735 1346 1739 1347 1743 1347 1747 1348 1750 1348 1754 1347 1758 1345 1762 1347 1766 1348 1770 1347 1774
+ 1347 1778 1347 1782 1345 1786 1348 1790 1348 1794 1348 1797 1349 1801 1347 1805 1348 1809 1346 1813 1347 1817 1348 1821 1346 1825 1348 1829 1344 1833 1351 1837 1351 1841 1352 1845 1352 1848 1353 1852 1353 1856 1351 1860 1351 1864 1353 1868 1353
+ 1872 1349 1876 1352 1880 1349 1884 1352 1888 1348 1892 1352 1896 1348 1899 1352 1903 1349 1907 1353 1911 1353 1915 1351 1919 1351 1923 1353 1927 1350 1931 1349 1935 1349 1939 1348 1943 1352 1947 1348 1950 1349 1954 1351 1958 1349 1962 1348 1966
+ 1350 1970 1352 1974 1351 1978 1355 1982 1349 1986 1351 1990 1351 1994 1343 100 { m31} R 1997 1350 1 { m31} R black 1 0 0 c 429 357 433 357 437 357 441 357 445 357 449 357 453 357 456 357 460 357 464 357 468 357 472 357 476 357 480 357 484 357 488
+ 357 492 357 496 357 500 357 503 357 507 357 511 357 515 357 519 357 523 357 527 357 531 357 535 357 539 357 543 357 547 357 551 357 554 357 558 357 562 357 566 357 570 357 574 357 578 357 582 357 586 357 590 357 594 357 598 357 602 357 605 357 609
+ 357 613 357 617 357 621 357 625 357 629 357 633 357 637 357 641 357 645 357 649 357 652 357 656 357 660 357 664 357 668 357 672 357 676 357 680 357 684 357 688 357 692 357 696 357 700 357 703 357 707 357 711 357 715 357 719 357 723 357 727 357 731
+ 357 735 357 739 357 743 357 747 357 751 357 754 357 758 357 762 357 766 357 770 357 774 357 778 357 782 357 786 357 790 357 794 357 798 357 801 357 805 357 809 357 813 357 817 357 100 { m31} R 821 357 825 357 829 357 833 357 837 357 841 357 845 357
+ 849 357 852 357 856 357 860 357 864 357 868 357 872 357 876 357 880 357 884 357 888 357 892 357 896 357 900 357 903 357 907 357 911 357 915 357 919 357 923 357 927 357 931 357 935 357 939 357 943 357 947 357 951 357 954 357 958 357 962 357 966 357
+ 970 357 974 357 978 357 982 357 986 357 990 357 994 357 998 357 1001 357 1005 357 1009 357 1013 357 1017 357 1021 357 1025 357 1029 357 1033 357 1037 357 1041 357 1045 357 1049 357 1052 357 1056 357 1060 357 1064 357 1068 357 1072 357 1076 357 1080
+ 357 1084 357 1088 357 1092 357 1096 357 1100 357 1103 357 1107 357 1111 357 1115 357 1119 357 1123 357 1127 357 1131 357 1135 357 1139 357 1143 357 1147 357 1150 357 1154 357 1158 357 1162 357 1166 357 1170 357 1174 357 1178 357 1182 357 1186 357
+ 1190 357 1194 357 1198 357 1201 357 1205 357 1209 357 100 { m31} R 1213 357 1217 357 1221 357 1225 357 1229 357 1233 357 1237 357 1241 357 1245 357 1249 357 1252 357 1256 357 1260 357 1264 357 1268 357 1272 357 1276 357 1280 357 1284 357 1288 357
+ 1292 357 1296 357 1299 357 1303 357 1307 357 1311 357 1315 357 1319 357 1323 357 1327 357 1331 357 1335 357 1339 357 1343 357 1347 357 1350 357 1354 357 1358 357 1362 357 1366 357 1370 357 1374 357 1378 357 1382 357 1386 357 1390 357 1394 357 1398
+ 357 1401 357 1405 357 1409 357 1413 357 1417 357 1421 357 1425 357 1429 357 1433 357 1437 357 1441 357 1445 357 1449 357 1452 357 1456 357 1460 357 1464 357 1468 357 1472 357 1476 357 1480 357 1484 357 1488 357 1492 357 1496 357 1499 357 1503 357
+ 1507 357 1511 357 1515 357 1519 357 1523 357 1527 357 1531 357 1535 357 1539 357 1543 357 1547 357 1550 357 1554 357 1558 357 1562 357 1566 357 1570 357 1574 357 1578 357 1582 357 1586 357 1590 357 1594 357 1598 357 1601 357 100 { m31} R 1605 357
+ 1609 357 1613 357 1617 357 1621 357 1625 357 1629 357 1633 357 1637 357 1641 357 1645 357 1648 357 1652 357 1656 357 1660 357 1664 357 1668 357 1672 357 1676 357 1680 357 1684 357 1688 357 1692 357 1696 357 1699 357 1703 357 1707 357 1711 357 1715
+ 357 1719 357 1723 357 1727 357 1731 357 1735 357 1739 357 1743 357 1747 357 1750 357 1754 357 1758 357 1762 357 1766 357 1770 357 1774 357 1778 357 1782 357 1786 357 1790 357 1794 357 1797 357 1801 357 1805 357 1809 357 1813 357 1817 357 1821 357
+ 1825 357 1829 357 1833 357 1837 357 1841 357 1845 357 1848 357 1852 357 1856 357 1860 357 1864 357 1868 357 1872 357 1876 357 1880 357 1884 357 1888 357 1892 357 1896 357 1899 357 1903 357 1907 357 1911 357 1915 357 1919 357 1923 357 1927 357 1931
+ 357 1935 357 1939 357 1943 357 1947 357 1950 357 1954 357 1958 357 1962 357 1966 357 1970 357 1974 357 1978 357 1982 357 1986 357 1990 357 1994 357 100 { m31} R 1997 357 1 { m31} R black 0 0 1 c 429 636 433 626 437 617 441 608 445 600 449 592 453
+ 585 456 578 460 571 464 565 468 559 472 554 476 548 480 543 484 538 488 534 492 529 496 525 500 521 503 517 507 514 511 510 515 507 519 503 523 500 527 497 531 494 535 491 539 488 543 486 547 483 551 481 554 478 558 476 562 474 566 471 570 469 574
+ 467 578 465 582 463 586 461 590 460 594 458 598 456 602 454 605 453 609 451 613 450 617 448 621 447 625 445 629 444 633 442 637 441 641 440 645 439 649 437 652 436 656 435 660 434 664 433 668 432 672 430 676 429 680 428 684 427 688 426 692 425 696
+ 425 700 424 703 423 707 422 711 421 715 420 719 419 723 419 727 418 731 417 735 416 739 415 743 415 747 414 751 413 754 413 758 412 762 411 766 411 770 410 774 409 778 409 782 408 786 408 790 407 794 406 798 406 801 405 805 405 809 404 813 404 817
+ 403 100 { m31} R 821 403 825 402 829 402 833 401 837 401 841 400 845 400 849 399 852 399 856 398 860 398 864 398 868 397 872 397 876 396 880 396 884 396 888 395 892 395 896 394 900 394 903 394 907 393 911 393 915 393 919 392 923 392 927 392 931 391
+ 935 391 939 391 943 390 947 390 951 390 954 390 958 389 962 389 966 389 970 388 974 388 978 388 982 388 986 387 990 387 994 387 998 386 1001 386 1005 386 1009 386 1013 386 1017 385 1021 385 1025 385 1029 385 1033 384 1037 384 1041 384 1045 384 1049
+ 383 1052 383 1056 383 1060 383 1064 383 1068 382 1072 382 1076 382 1080 382 1084 382 1088 381 1092 381 1096 381 1100 381 1103 381 1107 380 1111 380 1115 380 1119 380 1123 380 1127 380 1131 379 1135 379 1139 379 1143 379 1147 379 1150 379 1154 378
+ 1158 378 1162 378 1166 378 1170 378 1174 378 1178 378 1182 377 1186 377 1190 377 1194 377 1198 377 1201 377 1205 377 1209 377 100 { m31} R 1213 376 1217 376 1221 376 1225 376 1229 376 1233 376 1237 376 1241 376 1245 375 1249 375 1252 375 1256 375
+ 1260 375 1264 375 1268 374 1272 374 1276 374 1280 374 1284 374 1288 374 1292 374 1296 374 1299 374 1303 374 1307 373 1311 373 1315 373 1319 373 1323 373 1327 373 1331 373 1335 373 1339 373 1343 373 1347 372 1350 372 1354 372 1358 372 1362 372 1366
+ 372 1370 372 1374 372 1378 372 1382 372 1386 371 1390 371 1394 371 1398 371 1401 371 1405 371 1409 371 1413 371 1417 371 1421 371 1425 370 1429 371 1433 370 1437 370 1441 370 1445 370 1449 370 1452 370 1456 370 1460 370 1464 370 1468 369 1472 370
+ 1476 370 1480 370 1484 370 1488 369 1492 369 1496 369 1499 369 1503 369 1507 369 1511 369 1515 368 1519 368 1523 369 1527 368 1531 369 1535 368 1539 369 1543 368 1547 368 1550 368 1554 368 1558 368 1562 368 1566 368 1570 368 1574 368 1578 368 1582
+ 368 1586 367 1590 368 1594 367 1598 368 1601 367 100 { m31} R 1605 367 1609 368 1613 369 1617 370 1621 369 1625 368 1629 368 1633 370 1637 369 1641 368 1645 369 1648 368 1652 369 1656 368 1660 368 1664 367 1668 368 1672 368 1676 369 1680 368 1684
+ 369 1688 368 1692 367 1696 367 1699 366 1703 368 1707 368 1711 367 1715 368 1719 367 1723 368 1727 367 1731 369 1735 368 1739 368 1743 367 1747 365 1750 366 1754 367 1758 368 1762 367 1766 366 1770 367 1774 368 1778 367 1782 368 1786 367 1790 368
+ 1794 365 1797 367 1801 368 1805 368 1809 368 1813 368 1817 366 1821 367 1825 366 1829 371 1833 362 1837 363 1841 362 1845 363 1848 363 1852 362 1856 364 1860 364 1864 362 1868 362 1872 365 1876 363 1880 364 1884 362 1888 367 1892 363 1896 367 1899
+ 362 1903 363 1907 362 1911 362 1915 364 1919 362 1923 363 1927 363 1931 364 1935 364 1939 365 1943 361 1947 365 1950 365 1954 362 1958 365 1962 364 1966 364 1970 359 1974 362 1978 361 1982 364 1986 361 1990 361 1994 365 100 { m31} R 1997 362 1 {
+ m31} R
+ gr gr
+showpage
+end
+%%EOF
Index: tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.sh
===================================================================
--- tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.sh (revision 0)
+++ tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.sh (revision 7)
@@ -0,0 +1,24 @@
+# This is a dirty and highly unportable way of compiling and running. To be fixed later with a proper makefile.
+# Anyway, you should see this only as an example.
+
+# Compile and link
+gcc -o kniehl_khors_fig1.exe ../../lib/opucem.o -I../.. kniehl_khors_fig1.c
+
+# remove temp files (in case they did not get cleaned at the end of last run)
+rm -f ./out?.dat drtmp.C
+
+# run the created binary and produce the inputs to ROOT graphs
+./kniehl_khors_fig1.exe | sed s/=/' '/g | awk '{for (i=0;i<4;i++) {print $2, $(i*2+4) > "./out"i".dat"}}'
+
+# create a temporary .C to draw the plot
+echo '{TGraph g0("out0.dat"); g0.Draw("alp*"); g0.SetMarkerColor(2);' > drtmp.C
+echo ' g0.GetHistogram().SetMinimum(-0.005); g0.GetHistogram().SetMaximum(0.03);' >> drtmp.C
+echo ' TGraph g1("out1.dat"); g1.Draw("*"); g1.SetMarkerColor(4);' >> drtmp.C
+echo ' TGraph g2("out2.dat"); g2.Draw("*"); g2.SetMarkerColor(2);' >> drtmp.C
+echo ' TGraph g3("out3.dat"); g3.Draw("*"); g3.SetMarkerColor(4);}' >> drtmp.C
+
+# assuming that ROOT is installed on the system, run the macro
+root -l drtmp.C
+
+# done, clean the temp files
+rm -f ./out?.dat drtmp.C
Property changes on: tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.sh
___________________________________________________________________
Added: svn:executable
\ No newline at end of property
Index: tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.c
===================================================================
--- tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.c (revision 0)
+++ tags/opucem-00-00-00/examples/prd48_pg225/kniehl_khors_fig1.c (revision 7)
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "inc/opucem.h"
+
+// Simple example file that reproduces the values from the fig. 1 of:
+// "Oblique radiative corrections from Majorana neutrinos", B.A. Kniehl, H.-G. Kohrs, PRD 48 (1993) 225.
+int main(int argc, char *argv[] ){
+
+ const double Z=91.1875;
+ const double S2W=0.22272;
+ const double W=sqrt(Z*Z*(1-S2W));
+
+ int i;
+ for (i=100; i<=500; i++){
+ float ksi=i*.01;
+ double m1 = ksi*50;
+ double m2 = ksi*150;
+ double mE = ksi*100;
+ double smexact = SMexact(m1, m2, mE, S2W, Z*Z);
+ printf("ksi=%f \tSa=%f\tSe=%f\tUa=%f\tUe=%f\n", ksi,
+ SM(m1, m2, mE), smexact ,
+ UMapprox(m1,m2,mE), SpUMexact(m1,m2,mE,W*W,Z*Z)-smexact);
+ }
+
+ return 0;
+}
Index: tags/opucem-00-00-00/lib/opucem.c
===================================================================
--- tags/opucem-00-00-00/lib/opucem.c (revision 0)
+++ tags/opucem-00-00-00/lib/opucem.c (revision 7)
@@ -0,0 +1,348 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "inc/opucem.h"
+
+// **************************************************
+// Formulas from Forshaw, Ross, White, hep-ph/0107232
+// **************************************************
+
+double THSM ( double Z, double s2w, double h) {
+ return 3./(16*M_PI*(1-s2w)*s2w) * ( h*h/(Z*Z-h*h)*2*log(h/Z) - (1-s2w)*h*h/((1-s2w)*Z*Z-h*h)*log(h*h/(1-s2w)/Z/Z) );
+}
+
+double SHSM ( double Z, double h) {
+ double multiplier=0.;
+ if ( h < 2*Z) {
+ multiplier=sqrt(4*Z*Z-h*h)*atan(sqrt((4*Z*Z-h*h)/h/h));
+ } else {
+ multiplier=sqrt(h*h-4*Z*Z)*log(2*Z/(h+sqrt(h*h-4*Z*Z)));
+ }
+
+ return 1./M_PI* ( 3/8.*(h*h/Z/Z) - 1/12.*pow(h/Z,4)
+ + pow(h/Z,2)*2*log(h/Z)*((3*Z*Z-h*h)/4/Z/Z+1./24.*pow(h/Z,4)+3./4.*Z*Z/(Z*Z-h*h))
+ + (1-1/3.*h*h/Z/Z+1/12.*pow(h/Z,4))*h/Z/Z*multiplier );
+}
+
+
+// **********************************************
+// Formulas from He, Polonsky, Su, hep-ph/0102144
+// **********************************************
+
+double F ( double x1, double x2 ) {
+ // We added the equality case, using l'Hôpital's rule
+ if ( x1 == x2 ) return 0;
+ return ( (x1+x2)/2.0 - log(x1/x2)*(x1*x2)/(x1-x2));
+}
+
+double G ( double x ) {
+ return ( -4*sqrt(4*x -1)*atan(1/sqrt(4*x-1)));
+}
+
+double f ( double x1, double x2 ) {
+ double Delta = 2*(x1+x2) - (x1-x2)*(x1-x2) -1;
+
+ if (Delta == 0) return 0;
+ if (Delta < 0)
+ return ( sqrt(-Delta)*log((x1+x2-1+sqrt(-Delta))/(x1+x2-1-sqrt(-Delta)) ));
+ //if (Delta > 0)
+ return ( -2*sqrt(Delta)*(atan((x1-x2+1)/sqrt(Delta)) - atan((x1-x2-1)/sqrt(Delta)) ) );
+}
+
+double bet22 ( double qsq, double m1sq, double m2sq ) {
+ double x1=m1sq/qsq;
+ double x2=m2sq/qsq;
+
+ if (m1sq == m2sq) {
+ return ( (qsq/24)*
+ (2*log(qsq)+2*log(x1) + (16*x1 - 10./3.) + (4*x1-1)*G(x1))
+ );
+ }
+ return ( (qsq/24)*
+ (2*log(qsq)+log(x1*x2)
+ +( pow(x1-x2,3) -3*(x1*x1 -x2*x2) +3*(x1-x2))*log(x1/x2)
+ -( 2*(x1-x2)*(x1-x2) -8*(x1+x2) +10./3.)
+ -( (x1-x2)*(x1-x2) -2*(x1+x2) +1)*f(x1,x2) -6*F(x1,x2) )
+ );
+}
+
+double bet0( double qsq, double m1sq, double m2sq ) {
+ double x1=m1sq/qsq;
+ double x2=m2sq/qsq;
+ if (m1sq == m2sq) {
+ return ( 2-2*sqrt(4*x1-1)*atan(1/sqrt(4*x1-1)));
+ }
+ return ( 1+0.5*( (x1+x2)/(x1-x2) -(x1-x2))*log(x1/x2) +0.5*f(x1,x2));
+}
+
+
+double bbar0( double m1sq, double m2sq, double m3sq ) {
+ return (
+ (m1sq*log(m1sq) -m3sq*log(m3sq))/(m1sq-m3sq)
+ -(m1sq*log(m1sq) -m2sq*log(m2sq))/(m1sq-m2sq)
+ );
+}
+
+double SH_2HDM ( double Z,
+ double H, double A, double Hc, double h,
+ double b, double a ) {
+ return 1/(M_PI*Z*Z)*(
+ sin(b-a)*sin(b-a)*bet22(Z*Z, H*H, A*A) -bet22(Z*Z, Hc*Hc, Hc*Hc)
+ +cos(b-a)*cos(b-a)*( bet22(Z*Z, h*h, A*A) +bet22(Z*Z, Z*Z, H*H) -bet22(Z*Z, Z*Z, h*h)
+ -Z*Z*bet0(Z*Z,Z*Z, H*H) +Z*Z*bet0(Z*Z,Z*Z,h*h))
+ );
+}
+
+// Our modified SH. Removed all terms which have H,A,Hc. Multiplied by -1. Took cos(b-a)={1,-1}
+// Gives the same results as SHSM()
+double SH ( double Z, double h ) {
+ return -1./(M_PI*Z*Z) * ( -bet22(Z*Z, Z*Z, h*h) +Z*Z*bet0(Z*Z,Z*Z,h*h) );
+}
+
+double TH_2HDM ( double Z, double W, double s2w,
+ double H, double A, double Hc, double h,
+ double b, double a ) {
+
+ return 1/(16*M_PI*W*W*s2w)*(
+ F(Hc*Hc, A*A) + sin(b-a)*sin(b-a)*( F(Hc*Hc, H*H) - F(A*A, H*H) )
+ + cos(b-a)*cos(b-a)*( F(Hc*Hc, h*h) - F(A*A, H*H) - F(W*W, h*h)
+ - F(Z*Z, H*H) + F(Z*Z, h*h) + 4*Z*Z*bbar0(Z*Z, H*H, h*h) - 4*W*W*bbar0(W*W, H*H, h*h) )
+ );
+}
+
+// Our modified TH. Removed all terms which have H,A,Hc. Multiplied by 3. Took cos(b-a)={1,-1}
+// It gives a difference of about -0.025 when we move from mH=114 to mH=1000, in agreement with the LEPEWWG plot
+// from http://lepewwg.web.cern.ch/LEPEWWG/plots/summer2006/s06_stu_contours.eps
+// It is also in agreement with fig.1 of He, et.al.
+// Gives the same results as THSM()
+double TH ( double Z, double W, double s2w, double h) {
+ return 3./(16*M_PI*W*W*s2w)*( - F(W*W, h*h) + F(Z*Z, h*h) ) ;
+}
+
+// IMPORTANT! He et.al. define hypercharge using Q=I_z+Y. For this reason Y=1/6 (-1/2) for quarks (leptons).
+double SF ( double Y, double Nc, double m1, double m2, double Z ) {
+ double x1=(m1/Z)*(m1/Z);
+ double x2=(m2/Z)*(m2/Z);
+ return Nc/(6*M_PI)*( 2*(4*Y+3)*x1 + 2*(-4*Y+3)*x2 - 2*Y*log(x1/x2)
+ + ((1.5+2*Y)*x1+Y)*G(x1) + ((1.5-2*Y)*x2-Y)*G(x2) );
+}
+
+double TF ( double Nc, double m1, double m2, double Z, double s2w ) {
+ double x1=(m1/Z)*(m1/Z);
+ double x2=(m2/Z)*(m2/Z);
+ return Nc/(8.*M_PI*s2w*(1-s2w)) * F(x1,x2);
+}
+
+// This formula was checked against fig 2(c).
+double UF ( double Nc, double m1, double m2, double Z ) {
+ if ( m1 == m2 ) return 0; // Limiting case added manually. Oct 8, 2009, veo.
+ double x1=(m1/Z)*(m1/Z);
+ double x2=(m2/Z)*(m2/Z);
+ return Nc/(-2*M_PI)*( (x1+x2)/2 - (x1-x2)*(x1-x2)/3 + (pow(x1-x2,3)/6-0.5*(x1*x1+x2*x2)/(x1-x2))*log(x1/x2)
+ + (x1-1)/6*f(x1,x1) + (x2-1)/6*f(x2,x2) + (1/3.-(x1+x2)/6-(x1-x2)*(x1-x2)/6)*f(x1,x2) );
+}
+
+
+// ***********************************************************
+// Majorana related formulae from Gates & Terning, PRL67, 1991
+// ***********************************************************
+
+double f1 ( double m1, double m2 ) {
+ return (3*m1*m2*m2*m2 + 3*m1*m1*m1*m2 - 4*m1*m1*m2*m2) / pow((m1*m1-m2*m2),2); }
+
+double f2 ( double m1, double m2 ) {
+ return ( pow(m1,6) - 3*pow(m1,4)*m2*m2 + 6*pow(m1*m2,3) - 3*m1*m1*pow(m2,4) + pow(m2,6) ) / pow(m1*m1-m2*m2,3) ; }
+
+double SM ( double m1, double m2, double mE ) {
+ double ctsq=pow(m2/(m1+m2),1); // Power reduced to 1: Gates and Terning has an incorrect equation 10!
+ double stsq=pow(m1/(m1+m2),1);
+ return 1/(6*M_PI)*( ctsq*2*log(m1/mE) + stsq*2*log(m2/mE) + 1.5 - stsq*ctsq*(8./3.+ f1(m1,m2) - f2(m1,m2)*2*log(m1/m2)) ); }
+
+double TM ( double m1, double m2, double mE, double s2w, double W ) {
+ double ctsq=pow(m2/(m1+m2),1); // Power reduced to 1: Gates and Terning has an incorrect equation 10!
+ double stsq=pow(m1/(m1+m2),1);
+ return 1/(16*M_PI*s2w*W*W)*( ctsq*(m1*m1+mE*mE-(2*m1*m1*mE*mE)/(m1*m1-mE*mE)*2*log(m1/mE))
+ + stsq*(m2*m2+mE*mE-(2*m2*m2*mE*mE)/(m2*m2-mE*mE)*2*log(m2/mE))
+ - stsq*ctsq*(m1*m1+m2*m2-4*m1*m2 + 2*(m1*m1*m1*m2-m1*m1*m2*m2+m1*m2*m2*m2)*2*log(m1/m2)/(m1*m1-m2*m2)) ) ;
+}
+
+
+// *******************************************************************
+// Majorana related approx and exact formulae from Kniehl & Kohrs, PRD
+// *******************************************************************
+
+double A( double m1, double m2 ) {
+ // Limiting case of m1==m2 computed with Mathematica manually (Oct 5, 2009, veo)
+ if ( m1 == m2 ) return 2*m1*m1/3;
+ return m1*m1*m2*m2/pow(m1*m1-m2*m2,2)*(-3*(m1*m1+m2*m2)+4*m1*m2)
+ + m1*m2/(m1*m1-m2*m2)*(m1*m1+m2*m2+2*m1*m1*m2*m2/pow(m1*m1-m2*m2,2)*(3*m1*m2-m1*m1-m2*m2))*2*log(m1/m2) ;
+}
+
+// SMapprox() gives the same result as SM() a la Gates & Terning, but we use the modified A(), so it also works when m1==m2.
+// It gives 0.026807 as the result to inputs 100, 200, 300, in agreement with fig.1
+double SMapprox( double m1, double m2, double mE ) {
+ return 1/(6*M_PI)/(m1+m2)*(
+ 1/(m1+m2)*(1.5*(m1*m1+m2*m2)+(m1*m2/3)+A(m1,m2))
+ + m2*2*log(m1/mE) + m1*2*log(m2/mE) );
+}
+
+// UMapprox gives -0.00180571 as the result of 100,200,300, in agreement with fig.1
+double UMapprox( double m1, double m2, double mE ) {
+ return 1/(6*M_PI)/(m1+m2)*(
+ -1/(m1+m2)*(13*(m1*m1+m2*m2)/6+5*m1*m2/3+A(m1,m2))
+ +m2/pow(m1*m1-mE*mE,2)*(4*pow(m1*mE,2)+(m1*m1+mE*mE)*(pow(m1,4)+pow(mE,4)-4*pow(m1*mE,2))/(m1*m1-mE*mE)*2*log(m1/mE))
+ +m1/pow(m2*m2-mE*mE,2)*(4*pow(m2*mE,2)+(m2*m2+mE*mE)*(pow(m2,4)+pow(mE,4)-4*pow(m2*mE,2))/(m2*m2-mE*mE)*2*log(m2/mE)) );
+}
+
+// TMexact() gives the same result as TM() a la Gates & Terning
+double TMexact( double m1, double m2, double mE, double s2w, double W ) {
+ // Limiting equality cases computed with Mathematica manually (Nov 2, 2009, veo)
+ double m1mEterm = m1==mE ? -2*mE : (m2-m1*(m1*m1+mE*mE)/(m1*m1-mE*mE))*2*log(m1/mE);
+ double m2mEterm = m2==mE ? -2*mE : (m1-m2*(m2*m2+mE*mE)/(m2*m2-mE*mE))*2*log(m2/mE);
+ double m1m2term = m1==m2 ? 4*m1*m1 : 6*m1*m2+((pow(m1,4)+pow(m2,4)-2*m1*m2*(m1*m1+m2*m2))/(m1*m1-m2*m2))*2*log(m1/m2);
+ return 1/(16*M_PI*s2w*W*W)*( mE*mE
+ + m1*m2/pow(m1+m2,2) * m1m2term
+ + m1*m2/(m1+m2) * ( m1mEterm + m2mEterm ) );
+}
+
+double complex lambda( double complex x, double y, double z) {
+ return x*x + y*y + z*z - 2*(x*y+y*z+z*x);
+}
+
+long double complex B0(double s1, double m1sq, double m2sq) {
+ const double C = 0.5772156649; // Euler-Mascheroni constant
+ long double Delta = 2/little/little-C-log(M_PI); // 2/(4-n)-C-log(M_PI);
+
+ if (s1==0 && m1sq==m2sq) return Delta - logl(m1sq);
+
+ // Imaginary part of lambda(s1+I*epsilon,m1sq,m2sq) changes sign when m1sq+m2sq<s1. This causes a sign change in the
+ // imaginary part of csqrtl(lambda(...)) term, which ends up changing the real part of B0(...) itself.
+ double epssign = (m1sq+m2sq<s1) ? -1 : 1; // Accounts for lambda(...) sign issue. veo, oct 11, 2009.
+ return Delta - 0.5*logl(m1sq*m2sq) + 2
+ + 1/s1*( -0.5*(m1sq-m2sq)*logl(m1sq/m2sq)
+ + csqrtl(lambda(s1+I*epsilon*epssign,m1sq,m2sq)) * cacoshl((m1sq+m2sq-s1-I*epsilon)/(2*sqrtl(m1sq*m2sq))) );
+}
+
+long double complex PI( int vasign, double qsq, double m1, double m2 ) {
+ if ( abs(vasign)!=1 ) {
+ printf("PI function called with wrong vasign value!\n");
+ exit(1); }
+ // the first term modified to qsq from s, a la Natale-DaSilva MPLA'95. KK paper is incorrect.
+ return 1/(12*M_PI*M_PI)*(
+ ( qsq - (m1*m1+m2*m2)/2 + vasign*3*m1*m2 - pow(m1*m1-m2*m2,2)/(2*qsq) ) * B0(qsq,m1*m1,m2*m2)
+ + m1*m1*(-1+0.5*(m1*m1-m2*m2)/qsq) * B0(0,m1*m1,m1*m1)
+ + m2*m2*(-1+0.5*(m2*m2-m1*m1)/qsq) * B0(0,m2*m2,m2*m2)
+ - qsq/3 + 0.5*pow(m1*m1-m2*m2,2)/qsq ) ;
+}
+
+long double complex PI_V( double qsq, double m1, double m2 ) { return PI( 1, qsq, m1, m2 ); }
+long double complex PI_A( double qsq, double m1, double m2 ) { return PI( -1, qsq, m1, m2 ); }
+
+// Highly recommend using the wrapper SMexactWithChecks() instead of SMexact() itself. See below!
+// SMexact() can exactly reproduce fig1.
+// For ksi=1, it gives : 0.021802, and as ksi increases, it converges on to SMapprox().
+double SMexact( double m1, double m2, double mE, double s2w, double z ) {
+ long double ctsq=m2/(m1+m2);
+ long double stsq=m1/(m1+m2);
+
+ return M_PI/z*(
+ -2*ctsq*ctsq*( creall( PI_A(z,m1,m1) ) - PI_A(0+little,m1,m1) ) // creall's are actually not needed
+ -2*stsq*stsq*( creall( PI_A(z,m2,m2) ) - PI_A(0+little,m2,m2) ) // since typecasting to double takes
+ -4*ctsq*stsq*( creall( PI_V(z,m1,m2) ) - PI_V(0+little,m1,m2) ) // only the real part of complex nos
+
+ //+3* creall( PI_V(z,mE,mE) ) // the version that appears in the paper
+ +3* ( creall( PI_V(z,mE,mE) ) - PI_V(0+little,mE,mE) ) // adding PI_V(0,...) term improves the result
+ // sin2thetaW runs between q2=mZ2 down to q2=0. Take the Kappa from Ferroglia et.al., hep-ph/0307200v2 :
+ //-pow(4*s2w-1,2)* creall( PI_V(z,mE,mE) ) + pow(4*s2w*1.0317/1.0028-1,2)* PI_V(0+little,mE,mE)
+ -1* ( creall( PI_A(z,mE,mE) ) - PI_A(0+little,mE,mE) )
+ );
+}
+
+
+// S+U exact formula, checked against fig1: SpUMexact()-SMexact() replicates fig1 successfully.
+// At ksi=1, SpUMexact()-SMexact() gives 0.00623479, and it slowly converges onto UMapprox() as in fig1.
+// At ksi=5, SpUMexact()-SMexact() gives -0.00163245, in good agreement with the UMapprox() value of -0.00180571
+// SpUMexact()-SMexact() is also checked against SF() when m1=m2 and seems ok for lowish masses - at higher masses UMapprox() looks better
+double SpUMexact( double m1, double m2, double mE, double w, double z ) {
+ long double ctsq=m2/(m1+m2);
+ long double stsq=m1/(m1+m2);
+ return 2*M_PI*(
+ -1*ctsq/w* ( creall( PI_V(w,m1,mE)+PI_A(w,m1,mE) ) - (PI_V(0+little,m1,mE)+PI_A(0+little,m1,mE)) )
+ -1*stsq/w* ( creall( PI_V(w,m2,mE)+PI_A(w,m2,mE) ) - (PI_V(0+little,m2,mE)+PI_A(0+little,m2,mE)) )
+ //+2/z * ( creall( PI_V(z,mE,mE) ) )
+ +2/z * ( creall( PI_V(z,mE,mE) ) - PI_V(0+little,mE,mE) ) // adding PI_V(little,...) slightly improves agreement with UF()
+ );
+}
+
+
+// **************************************
+// Test methods for the Majorana formulae
+// **************************************
+
+long double testB0( double m ) {
+ if ( epsilon > little / 100 ) // I could also check that imag(B0(...)) << real(B0(...))
+ printf("Your B0 implementation might have a large epsilon (%Lg) compared to q^2 scale of %Lg\n", epsilon, little );
+ long double test = creall(B0(0, m*m, m*m));
+ if ( test < 0 )
+ printf("Your B0 implementation might have a very small Delta at mass scale %g (B0=%Lg)\n", m, test );
+ test = test / creall(B0(0+little, m*m, m*m)) - 1;
+ if ( fabs(test) > 5e-6 )
+ printf("Your B0 implementation is not reliable at mass scale = %g (error~=%Lg)\n", m, test );
+ return test; }
+
+// SM exact should give the same results as SF, when m1==m2, equivalent of Dirac case
+void testSMvsSF( double m, double mE, double s2w, double Z ){
+ double sf = SF(-0.5, 1, m, mE, Z);
+ double sm = SMexact(m, m, mE, s2w, Z*Z);
+ if ( fabs(sf/sm-1) > 1e-4 || fabs(sf-sm) > 1e-4 )
+ printf("Testing failed for m1=m2=%g, mE=%g, Sdirac=%g\tSmaj=%g\n", m, mE, sf, sm );
+}
+
+double SMexactWithChecks( double m1, double m2, double mE, double s2w, double Z ){
+
+ // Before we move on to the actual calculation, let's test if our epsilon and little are OK.
+ testB0(m1); testB0(m2);
+
+ // for the two neutrinos masses check that maj->dirac
+ testSMvsSF( m1, mE, s2w, Z );
+ testSMvsSF( m2, mE, s2w, Z );
+
+ // Now test against SM approx.
+ double smapprox = SMapprox(m1, m2, mE);
+ double smexact = SMexact(m1, m2, mE, s2w, Z*Z);
+ if ( fabs(smapprox/smexact-1) > 0.25 || fabs(smapprox-smexact) > 0.1 )
+ printf("Warning! Approx and exact formulas differ significantly! Sa=%g\tSe=%g\n", smapprox, smexact );
+ return smexact;
+}
+
+double UMexactWithChecks( double m1, double m2, double mE, double s2w, double Z, double smexact ) {
+ double w = Z*Z*(1-s2w);
+ // if smexact has been provided for us, we use it, otherwise we compute:
+ if ( smexact == 0 )
+ smexact = SMexactWithChecks( m1, m2, mE, s2w, Z );
+
+ // Test against UM approx.
+ double umapprox = UMapprox(m1,m2,mE);
+ double umexact = SpUMexact(m1,m2,mE,w,Z*Z) - smexact;
+ if ( fabs(umapprox-umexact) > 0.05 )
+ printf("Warning! Approx and exact formulas differ significantly! Ua=%g\tUe=%g\n", umapprox, umexact );
+ return umexact;
+}
+
+
+// ******************************
+// Other functions of convenience
+// ******************************
+
+// Contributions from the changes in the reference Higgs and top-quark masses
+double SshiftFromRef( double h, double href, double t, double tref, double Z ) {
+ double shift = SF(1/6., 3, t, 500, Z) - SF(1/6., 3, tref, 500, Z); // Sshift is independent of b-quark mass
+ shift += SH(Z,h) - SH(Z,href);
+ return shift;
+}
+
+double TshiftFromRef( double h, double href, double t, double tref, double Z, double s2w ) {
+ double shift = TF(3, t, 4.5, Z, s2w) - TF(3, tref, 4.5, Z, s2w);
+ double W = Z*sqrt(1-s2w);
+ shift += TH(Z,W,s2w,h) - TH(Z,W,s2w,href);
+ return shift;
+}
Index: tags/opucem-00-00-00/inc/opucem.h
===================================================================
--- tags/opucem-00-00-00/inc/opucem.h (revision 0)
+++ tags/opucem-00-00-00/inc/opucem.h (revision 7)
@@ -0,0 +1,80 @@
+#include <math.h>
+#include <complex.h>
+
+
+// **************************************************
+// Formulas from Forshaw, Ross, White, hep-ph/0107232
+// **************************************************
+
+double THSM ( double Z, double s2w, double h );
+double SHSM ( double Z, double h );
+
+// **********************************************
+// Formulas from He, Polonsky, Su, hep-ph/0102144
+// **********************************************
+
+double F ( double x1, double x2 );
+double G ( double x );
+double f ( double x1, double x2 );
+double bet22 ( double qsq, double m1sq, double m2sq );
+double bet0( double qsq, double m1sq, double m2sq );
+double bbar0( double m1sq, double m2sq, double m3sq );
+double SH_2HDM ( double Z,
+ double H, double A, double Hc, double h,
+ double b, double a );
+double SH ( double Z, double h );
+double TH_2HDM ( double Z, double W, double s2w,
+ double H, double A, double Hc, double h,
+ double b, double a );
+double TH ( double Z, double W, double s2w, double h );
+
+// IMPORTANT! He et.al. define hypercharge using Q=I_z+Y. For this reason Y=1/6 (-1/2) for quarks (leptons).
+double SF ( double Y, double Nc, double m1, double m2, double Z );
+double TF ( double Nc, double m1, double m2, double Z, double s2w );
+double UF ( double Nc, double m1, double m2, double Z );
+
+// ***********************************************************
+// Majorana related formulae from Gates & Terning, PRL67, 1991
+// ***********************************************************
+
+double f1 ( double m1, double m2 );
+double f2 ( double m1, double m2 );
+double SM ( double m1, double m2, double mE );
+double TM ( double m1, double m2, double mE, double s2w, double W );
+
+// *******************************************************************
+// Majorana related exact and approx formulae from Kniehl & Kohrs, PRD
+// *******************************************************************
+
+// Very small number to be used as imaginary part in complex integrals.
+static const long double epsilon = 0.00005;
+// PI() formulas have problems at q^2=0. We need a scale << m_Z^2.
+static const long double little = 91.1875*91.1875*0.00004;
+
+double A( double m1, double m2 );
+double SMapprox( double m1, double m2, double mE );
+double UMapprox( double m1, double m2, double mE );
+double TMexact( double m1, double m2, double mE, double s2w, double W );
+double complex lambda( double complex x, double y, double z );
+long double complex B0(double s1, double m1sq, double m2sq );
+long double complex PI( int vasign, double qsq, double m1, double m2 );
+long double complex PI_V( double qsq, double m1, double m2 );
+long double complex PI_A( double qsq, double m1, double m2 );
+double SMexact( double m1, double m2, double mE, double s2w, double z );
+double SpUMexact( double m1, double m2, double mE, double w, double z );
+
+// **************************************
+// Test methods for the Majorana formulae
+// **************************************
+
+long double testB0( double m );
+void testSMvsSF( double m, double mE, double s2w, double Z );
+double SMexactWithChecks( double m1, double m2, double mE, double s2w, double Z );
+double UMexactWithChecks( double m1, double m2, double mE, double s2w, double Z, double smexact );
+
+// ******************************
+// Other functions of convenience
+// ******************************
+
+double SshiftFromRef( double h, double href, double t, double tref, double Z );
+double TshiftFromRef( double h, double href, double t, double tref, double Z, double s2w );

File Metadata

Mime Type
text/x-diff
Expires
Sat, Dec 21, 12:57 PM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4022852
Default Alt Text
(47 KB)

Event Timeline