New version of OpenLoops (#22240)
New version of OpenLoops; new list of processes; update lcg process collection Add script to scrape openloops website for process list
This commit is contained in:
parent
e22b2ff5c9
commit
1e70ee38a2
@ -0,0 +1,47 @@
|
|||||||
|
from html.parser import HTMLParser
|
||||||
|
import re
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
|
|
||||||
|
class my_html_parser(HTMLParser):
|
||||||
|
def error(self, message):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.state = 0
|
||||||
|
self.processes = []
|
||||||
|
|
||||||
|
def handle_starttag(self, tag, attrs):
|
||||||
|
if tag == 'tr' and self.state == 2:
|
||||||
|
for att in attrs:
|
||||||
|
if att[0] == 'id':
|
||||||
|
return
|
||||||
|
self.state = 3
|
||||||
|
if tag == 'td' and self.state == 3:
|
||||||
|
self.state = 4
|
||||||
|
pass
|
||||||
|
|
||||||
|
def handle_endtag(self, tag):
|
||||||
|
if tag == 'table' and self.state == 1:
|
||||||
|
self.state = 2
|
||||||
|
pass
|
||||||
|
|
||||||
|
def handle_data(self, data):
|
||||||
|
# print("Encountered some data :", data)
|
||||||
|
if data == 'Categories' and self.state == 0:
|
||||||
|
self.state = 1
|
||||||
|
|
||||||
|
if self.state == 4:
|
||||||
|
if re.findall('[^a-z0-9_]', data):
|
||||||
|
return
|
||||||
|
self.processes.append(data)
|
||||||
|
self.state = 2
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
url = "https://openloops.hepforge.org/process_library.php?repo=public"
|
||||||
|
data = urllib.request.urlopen(url).read()
|
||||||
|
parser = my_html_parser()
|
||||||
|
parser.feed(data.decode('UTF8'))
|
||||||
|
print(parser.processes)
|
@ -19,47 +19,48 @@ class Openloops(Package):
|
|||||||
|
|
||||||
tags = ['hep']
|
tags = ['hep']
|
||||||
|
|
||||||
|
version('2.1.2', sha256='f52575cae3d70b6b51a5d423e9cd0e076ed5961afcc015eec00987e64529a6ae')
|
||||||
version('2.1.1', sha256='f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91')
|
version('2.1.1', sha256='f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91')
|
||||||
|
|
||||||
all_processes = (
|
all_processes = ['tbln', 'tbln_ew', 'tbqq', 'tbw', 'pptttt', 'pptttt_ew',
|
||||||
"tbln", "tbln_ew", "tbqq", "tbw", "pptttt", "pptttt_ew", "pptt",
|
'pptt', 'pptt_ew', 'ppttbb', 'ppttj', 'ppttj_ew', 'ppttjj',
|
||||||
"pptt_ew", "ppttbb", "ppttj", "ppttj_ew", "ppttjj",
|
'pptaj', 'pptajj', 'pptllj', 'pptlljj', 'pptln', 'pptw',
|
||||||
"pptaj", "pptajj", "pptllj", "pptlljj", "pptln", "pptw", "pptwj",
|
'pptwj', 'pptzj', 'pptzjj', 'ppthj', 'ppthjj', 'pptj',
|
||||||
"pptzj", "pptzjj", "ppthj", "ppthjj", "pptj",
|
'pptjj', 'ppjj', 'ppjj_ew', 'ppjjj', 'ppjjj_ew', 'ppjjj_nf5',
|
||||||
"pptjj", "ppjj", "ppjj_ew", "ppjjj", "ppjjj_ew", "ppjjj_nf5", "ppjjjj",
|
'ppjjjj', 'pplllvvv_ew', 'ppatt', 'ppatt_ew', 'ppattj',
|
||||||
"pplllvvv_ew", "ppatt", "ppatt_ew",
|
'pplltt', 'pplltt_ew', 'ppllttj', 'ppllttj_ew', 'pplntt',
|
||||||
"ppattj", "pplltt", "pplltt_ew", "ppllttj", "ppllttj_ew", "pplntt",
|
'pplnttj', 'ppwtt', 'ppwtt_ew', 'ppwttj', 'ppwttj_ew',
|
||||||
"pplnttj", "ppwtt", "ppwtt_ew", "ppwttj",
|
'ppztt', 'ppztt_ew', 'ppzttj', 'ppaatt', 'ppwwtt', 'ppzatt',
|
||||||
"ppwttj_ew", "ppztt", "ppztt_ew", "ppzttj", "ppaatt", "ppwwtt",
|
'ppzztt', 'ppvvvv', 'ppaaaj2', 'ppllaa', 'ppllaaj',
|
||||||
"ppzatt", "ppzztt", "ppvvvv", "ppaaaj2", "ppllaa",
|
'pplllla', 'ppvvv', 'ppvvv2', 'ppvvv_ew', 'ppvvvj',
|
||||||
"ppllaaj", "pplllla", "ppvvv", "ppvvv2", "ppvvv_ew", "ppvvvj",
|
'ppaajj', 'ppaajj2', 'ppaajjj', 'pplla', 'pplla2',
|
||||||
"ppaajj", "ppaajj2", "ppaajjj", "pplla", "pplla2",
|
'pplla_ew', 'ppllaj', 'ppllaj2', 'ppllaj_ew', 'ppllaj_nf5',
|
||||||
"pplla_ew", "ppllaj", "ppllaj2", "ppllaj_ew", "ppllaj_nf5", "ppllajj",
|
'ppllajj', 'ppllll', 'ppllll2', 'ppllll2_nf5',
|
||||||
"ppllll", "ppllll2", "ppllll2_nf5",
|
'ppllll2_onlyh', 'ppllll_ew', 'ppllllbb', 'ppllllj',
|
||||||
"ppllll2_onlyh", "ppllll_ew", "ppllllj", "ppllllj2", "ppllllj2_nf5",
|
'ppllllj2', 'ppllllj2_nf5', 'ppllllj2_nf5_notridr',
|
||||||
"ppllllj2_nf5_notridr", "ppllllj2_nf5_sr",
|
'ppllllj2_nf5_sr', 'ppllllj2_onlyh', 'ppllnnjj_ew',
|
||||||
"ppllllj2_onlyh", "ppllnnjj_ew", "ppllnnjj_vbs", "pplnajj", "ppvv",
|
'ppllnnjj_vbs', 'pplnaj_ckm', 'pplnajj', 'pplnajj_ckm',
|
||||||
"ppvv2", "ppvv_ew", "ppvvj", "ppvvj2",
|
'ppvv', 'ppvv2', 'ppvv_ew', 'ppvvj', 'ppvvj2', 'ppvvj_ew',
|
||||||
"ppvvj_ew", "ppwajj", "ppwwjj", "ppzajj", "ppzwj_ew", "ppzwjj",
|
'ppwajj', 'ppwwjj', 'ppzajj', 'ppzwj_ew', 'ppzwjj', 'ppzzjj',
|
||||||
"ppzzjj", "ppajj", "ppajj2", "ppajj_ew", "ppajjj",
|
'ppajj', 'ppajj2', 'ppajj_ew', 'ppajjj', 'ppllj', 'ppllj2',
|
||||||
"ppllj", "ppllj2", "ppllj_ew", "ppllj_nf5", "pplljj", "pplljj_ew",
|
'ppllj_ew', 'ppllj_nf5', 'pplljj', 'pplljj_ew', 'pplljjj',
|
||||||
"pplljjj", "pplnj_ckm", "pplnjj", "pplnjj_ckm",
|
'pplnj_ckm', 'pplnjj', 'pplnjj_ckm', 'pplnjj_ew', 'pplnjjj',
|
||||||
"pplnjj_ew", "pplnjjj", "ppnnjj_ew", "ppnnjjj", "ppvj", "ppvj2",
|
'ppnnjj_ew', 'ppnnjjj', 'ppvj', 'ppvj2', 'ppvj_ew',
|
||||||
"ppvj_ew", "ppwj_ckm", "ppwjj", "ppwjj_ckm",
|
'ppwj_ckm', 'ppwjj', 'ppwjj_ckm', 'ppwjj_ew', 'ppwjjj',
|
||||||
"ppwjj_ew", "ppwjjj", "ppzjj", "ppzjj_ew", "ppzjjj", "pphtt",
|
'ppzjj', 'ppzjj_ew', 'ppzjjj', 'pphtt', 'pphtt_ew', 'pphttj',
|
||||||
"pphtt_ew", "pphttj", "pphlltt", "pphll", "pphll2",
|
'pphlltt', 'pphll', 'pphll2', 'pphll_ew', 'pphllj',
|
||||||
"pphll_ew", "pphllj", "pphllj2", "pphllj_ew", "pphlljj", "pphlljj_top",
|
'pphllj2', 'pphllj_ew', 'pphlljj', 'pphlljj_top',
|
||||||
"pphlnj_ckm", "pphlnjj", "pphv", "pphv_ew",
|
'pphlnj_ckm', 'pphlnjj', 'pphv', 'pphv_ew', 'pphwjj',
|
||||||
"pphwjj", "pphz2", "pphzj2", "pphzjj", "pphhtt", "pphhv", "pphhh2",
|
'pphz2', 'pphzj2', 'pphzjj', 'pphhtt', 'pphhv', 'pphhh2',
|
||||||
"heftpphh", "heftpphhj", "heftpphhjj", "pphh2",
|
'heftpphh', 'heftpphhj', 'heftpphhjj', 'pphh2', 'pphhj2',
|
||||||
"pphhj2", "pphhjj2", "pphhjj_vbf", "bbhj", "heftpphj", "heftpphjj",
|
'pphhjj2', 'pphhjj_vbf', 'bbhj', 'heftpphj', 'heftpphjj',
|
||||||
"heftpphjjj", "pphbb", "pphbbj", "pphj2",
|
'heftpphjjj', 'pphbb', 'pphbbj', 'pphj2', 'pphjj2',
|
||||||
"pphjj2", "pphjj_vbf", "pphjj_vbf_ew", "pphjjj2", "eetttt", "eettttj",
|
'pphjj_vbf', 'pphjj_vbf_ew', 'pphjjj2', 'eetttt', 'eettttj',
|
||||||
"eellllbb", "eett", "eett_ew", "eettj",
|
'eellllbb', 'eett', 'eett_ew', 'eettj', 'eettjj', 'eevtt',
|
||||||
"eettjj", "eevtt", "eevttj", "eevttjj", "eevvtt", "eevvttj",
|
'eevttj', 'eevttjj', 'eevvtt', 'eevvttj', 'eellll_ew',
|
||||||
"eellll_ew", "eevv_ew", "eevvjj", "eell_ew", "eevjj",
|
'eevv_ew', 'eevvjj', 'eell_ew', 'eevjj', 'eehtt', 'eehttj',
|
||||||
"eehtt", "eehttj", "eehll_ew", "eehvtt", "eehhtt", "heftppllj",
|
'eehll_ew', 'eehvtt', 'eehhtt', 'heftppllj', 'heftpplljj',
|
||||||
"heftpplljj", "heftpplljjj")
|
'heftpplljjj']
|
||||||
|
|
||||||
variant('compile_extra', default=False,
|
variant('compile_extra', default=False,
|
||||||
description='Compile real radiation tree amplitudes')
|
description='Compile real radiation tree amplitudes')
|
||||||
@ -97,7 +98,7 @@ def configure(self, spec, prefix):
|
|||||||
f.write('fortran_compiler = {0}\n'.format(env['SPACK_FC']))
|
f.write('fortran_compiler = {0}\n'.format(env['SPACK_FC']))
|
||||||
if self.spec.satisfies('@1.3.1') and not is_intel:
|
if self.spec.satisfies('@1.3.1') and not is_intel:
|
||||||
f.write('gfortran_f_flags = -ffree-line-length-none\n')
|
f.write('gfortran_f_flags = -ffree-line-length-none\n')
|
||||||
if self.spec.satisfies('@2.1.1') and not is_intel:
|
if self.spec.satisfies('@2.1.1:') and not is_intel:
|
||||||
f.write('gfortran_f_flags = -ffree-line-length-none ' +
|
f.write('gfortran_f_flags = -ffree-line-length-none ' +
|
||||||
'-fdollar-ok ')
|
'-fdollar-ok ')
|
||||||
if self.spec.target.family == 'aarch64':
|
if self.spec.target.family == 'aarch64':
|
||||||
@ -107,8 +108,10 @@ def configure(self, spec, prefix):
|
|||||||
|
|
||||||
if self.spec.satisfies('@:1.999.999 processes=lcg.coll'):
|
if self.spec.satisfies('@:1.999.999 processes=lcg.coll'):
|
||||||
copy(join_path(os.path.dirname(__file__), 'sft1.coll'), 'lcg.coll')
|
copy(join_path(os.path.dirname(__file__), 'sft1.coll'), 'lcg.coll')
|
||||||
elif self.spec.satisfies('@2:2.999.999 processes=lcg.coll'):
|
elif self.spec.satisfies('@2:2.1.2 processes=lcg.coll'):
|
||||||
copy(join_path(os.path.dirname(__file__), 'sft2.coll'), 'lcg.coll')
|
copy(join_path(os.path.dirname(__file__), 'sft2.coll'), 'lcg.coll')
|
||||||
|
elif self.spec.satisfies('@2.1.2:2.99.99 processes=lcg.coll'):
|
||||||
|
copy(join_path(os.path.dirname(__file__), 'sft3.coll'), 'lcg.coll')
|
||||||
|
|
||||||
def build(self, spec, prefix):
|
def build(self, spec, prefix):
|
||||||
scons = Executable('./scons')
|
scons = Executable('./scons')
|
||||||
|
171
var/spack/repos/builtin/packages/openloops/sft3.coll
Normal file
171
var/spack/repos/builtin/packages/openloops/sft3.coll
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
tbln
|
||||||
|
tbln_ew
|
||||||
|
tbqq
|
||||||
|
tbw
|
||||||
|
pptttt
|
||||||
|
pptttt_ew
|
||||||
|
pptt
|
||||||
|
pptt_ew
|
||||||
|
ppttbb
|
||||||
|
ppttj
|
||||||
|
ppttj_ew
|
||||||
|
ppttjj
|
||||||
|
pptaj
|
||||||
|
pptajj
|
||||||
|
pptllj
|
||||||
|
pptlljj
|
||||||
|
pptln
|
||||||
|
pptw
|
||||||
|
pptwj
|
||||||
|
pptzj
|
||||||
|
pptzjj
|
||||||
|
ppthj
|
||||||
|
ppthjj
|
||||||
|
pptj
|
||||||
|
pptjj
|
||||||
|
ppjj
|
||||||
|
ppjj_ew
|
||||||
|
ppjjj
|
||||||
|
ppjjj_ew
|
||||||
|
ppjjj_nf5
|
||||||
|
ppjjjj
|
||||||
|
pplllvvv_ew
|
||||||
|
ppatt
|
||||||
|
ppatt_ew
|
||||||
|
ppattj
|
||||||
|
pplltt
|
||||||
|
pplltt_ew
|
||||||
|
ppllttj
|
||||||
|
ppllttj_ew
|
||||||
|
pplntt
|
||||||
|
pplnttj
|
||||||
|
ppwtt
|
||||||
|
ppwtt_ew
|
||||||
|
ppwttj
|
||||||
|
ppwttj_ew
|
||||||
|
ppztt
|
||||||
|
ppztt_ew
|
||||||
|
ppzttj
|
||||||
|
ppaatt
|
||||||
|
ppwwtt
|
||||||
|
ppzatt
|
||||||
|
ppzztt
|
||||||
|
ppvvvv
|
||||||
|
ppaaaj2
|
||||||
|
ppllaa
|
||||||
|
ppllaaj
|
||||||
|
pplllla
|
||||||
|
ppvvv
|
||||||
|
ppvvv2
|
||||||
|
ppvvv_ew
|
||||||
|
ppvvvj
|
||||||
|
ppaajj
|
||||||
|
ppaajj2
|
||||||
|
ppaajjj
|
||||||
|
pplla
|
||||||
|
pplla2
|
||||||
|
pplla_ew
|
||||||
|
ppllaj
|
||||||
|
ppllaj2
|
||||||
|
ppllaj_ew
|
||||||
|
ppllaj_nf5
|
||||||
|
ppllajj
|
||||||
|
ppllll
|
||||||
|
ppllll2
|
||||||
|
ppllll2_nf5
|
||||||
|
ppllll2_onlyh
|
||||||
|
ppllll_ew
|
||||||
|
ppllllbb
|
||||||
|
ppllllj
|
||||||
|
ppllllj2
|
||||||
|
ppllllj2_nf5
|
||||||
|
ppllllj2_nf5_notridr
|
||||||
|
ppllllj2_nf5_sr
|
||||||
|
ppllllj2_onlyh
|
||||||
|
ppllnnjj_ew
|
||||||
|
ppllnnjj_vbs
|
||||||
|
pplnaj_ckm
|
||||||
|
pplnajj
|
||||||
|
pplnajj_ckm
|
||||||
|
ppvv
|
||||||
|
ppvv2
|
||||||
|
ppvv_ew
|
||||||
|
ppvvj
|
||||||
|
ppvvj2
|
||||||
|
ppvvj_ew
|
||||||
|
ppwajj
|
||||||
|
ppwwjj
|
||||||
|
ppzajj
|
||||||
|
ppzwj_ew
|
||||||
|
ppzwjj
|
||||||
|
ppzzjj
|
||||||
|
ppajj
|
||||||
|
ppajj2
|
||||||
|
ppajj_ew
|
||||||
|
ppajjj
|
||||||
|
ppllj
|
||||||
|
ppllj2
|
||||||
|
ppllj_ew
|
||||||
|
ppllj_nf5
|
||||||
|
pplljj
|
||||||
|
pplljj_ew
|
||||||
|
pplljjj
|
||||||
|
pplnj_ckm
|
||||||
|
pplnjj
|
||||||
|
pplnjj_ckm
|
||||||
|
pplnjj_ew
|
||||||
|
pplnjjj
|
||||||
|
ppnnjj_ew
|
||||||
|
ppnnjjj
|
||||||
|
ppvj
|
||||||
|
ppvj2
|
||||||
|
ppvj_ew
|
||||||
|
ppwj_ckm
|
||||||
|
ppwjj
|
||||||
|
ppwjj_ckm
|
||||||
|
ppwjj_ew
|
||||||
|
ppwjjj
|
||||||
|
ppzjj
|
||||||
|
ppzjj_ew
|
||||||
|
ppzjjj
|
||||||
|
pphtt
|
||||||
|
pphtt_ew
|
||||||
|
pphttj
|
||||||
|
pphlltt
|
||||||
|
pphll
|
||||||
|
pphll2
|
||||||
|
pphll_ew
|
||||||
|
pphllj
|
||||||
|
pphllj2
|
||||||
|
pphllj_ew
|
||||||
|
pphlljj
|
||||||
|
pphlljj_top
|
||||||
|
pphlnj_ckm
|
||||||
|
pphlnjj
|
||||||
|
pphv
|
||||||
|
pphv_ew
|
||||||
|
pphwjj
|
||||||
|
pphz2
|
||||||
|
pphzj2
|
||||||
|
pphzjj
|
||||||
|
pphhtt
|
||||||
|
pphhv
|
||||||
|
pphhh2
|
||||||
|
heftpphh
|
||||||
|
heftpphhj
|
||||||
|
heftpphhjj
|
||||||
|
pphh2
|
||||||
|
pphhj2
|
||||||
|
pphhjj2
|
||||||
|
pphhjj_vbf
|
||||||
|
bbhj
|
||||||
|
heftpphj
|
||||||
|
heftpphjj
|
||||||
|
heftpphjjj
|
||||||
|
pphbb
|
||||||
|
pphbbj
|
||||||
|
pphj2
|
||||||
|
pphjj2
|
||||||
|
pphjj_vbf
|
||||||
|
pphjj_vbf_ew
|
||||||
|
pphjjj2
|
Loading…
Reference in New Issue
Block a user