ATLAS Offline Software
Loading...
Searching...
No Matches
powheg_RES.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3from .powheg_base import PowhegBase
4import glob
5
6
8 """! Base class for PowhegBox RES processes.
9
10 All RES processes inherit from this class.
11
12 @author James Robinson <james.robinson@cern.ch>
13 """
14
15 def __init__(self, base_directory, executable_name,warning_output = [], info_output = [], error_output = [], **kwargs):
16 """! Constructor.
17
18 @param base_directory path to PowhegBox code.
19 @param executable_name folder containing appropriate PowhegBox executable.
20 @param is_LO True if this is a leading-order process.
21 @param warning_output list of patterns which if found in the output will be treated as warning in the log.
22 @param error_output list of patterns which if found in the output will be treated as error in the log.
23 @param info_output list of patterns which if found in the output will be treated as info in the log.
24 """
25 super(PowhegRES, self).__init__(base_directory, "POWHEG-BOX-RES", executable_name, warning_output = warning_output, info_output = info_output, error_output = error_output, **kwargs)
26
27 @property
28 def default_PDFs(self):
29 """! Default PDFs for this process."""
30 __PDF_list = list(range(260000, 260101)) # NNPDF30_nlo_as_0118 central with eigensets
31 __PDF_list += [266000, 265000] # NNPDF30_nlo_as_0119 and NNPDF30_nlo_as_0117
32 __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
33 __PDF_list += [27400, 27100] # MSHT20nnlo_as118, MSHT20nlo_as118
34 __PDF_list += [14000, 14400] # CT18NNLO, CT18NLO
35 __PDF_list += [304400, 304200] # NNPDF31_nnlo_as_0118_hessian, NNPDF31_nlo_as_0118_hessian
36 __PDF_list += [331500, 331100] # NNPDF40_nnlo_as_01180_hessian, NNPDF40_nlo_as_01180
37 __PDF_list += [14200, 14300, 14100] # CT18ANNLO, CT18XNNLO and CT18ZNNLO
38 __PDF_list += list(range(93300, 93343)) # PDF4LHC21_40_pdfas with eigensets
39 __PDF_list += [338500, 338520, 338540] # NNPDF40MC_lo_as_01180, NNPDF40MC_nlo_as_01180, NNPDF40MC_nnlo_as_01180
40 return __PDF_list
41
42 @property
44 """! Default PDFs for this process."""
45 __PDF_list = list(range(261000, 261101)) # NNPDF30_nnlo_as_0118 central with eigensets
46 __PDF_list += [270000, 269000] # NNPDF30_nnlo_as_0119 and NNPDF30_nnlo_as_0117
47 # __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
48 __PDF_list += [27400] # MSHT20nnlo_as118
49 __PDF_list += [14000] # CT18NNLO
50 __PDF_list += [304400] # NNPDF31_nnlo_as_0118_hessian
51 __PDF_list += [331500] # NNPDF40_nnlo_as_01180_hessian
52 __PDF_list += [14200, 14300, 14100] # CT18ANNLO, CT18XNNLO and CT18ZNNLO
53 __PDF_list += list(range(93300, 93343)) # PDF4LHC21_40_pdfas with eigensets
54 # __PDF_list += [338500, 338520, 338540] # NNPDF40MC_lo_as_01180, NNPDF40MC_nlo_as_01180, NNPDF40MC_nnlo_as_01180
55 return __PDF_list
56
57 @property
59 """! Default PDFs for this process."""
60 __PDF_list = list(range(261400, 261501)) # NNPDF30_nnlo_as_0118_nf_4 central with eigensets
61 __PDF_list += [266400, 265400] # NNPDF30_nnlo_as_0119_nf_4 and NNPDF30_nnlo_as_0117_nf_4
62 # __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
63 __PDF_list += [28300] # MSHT20nnlo_nf4
64 __PDF_list += [14084] # CT18NNLO_NF4
65 __PDF_list += [320900] # NNPDF31_nnlo_as_0118_nf_4
66 __PDF_list += [334300] # NNPDF40_nnlo_as_01180_nf_4
67 __PDF_list += list(range(93700, 93743)) # PDF4LHC21_40_pdfas_nf4 with eigensets
68 return __PDF_list
69
70 @property
71 def default_scales(self):
72 """! Default scale variations for this process."""
73 return [[1.0, 1.0, 1.0, 0.5, 0.5, 2.0, 2.0],\
74 [1.0, 0.5, 2.0, 0.5, 1.0, 1.0, 2.0]]
75
76 @property
78 """! Wildcarded list of files created by this process that can be deleted."""
79 return [
80 "allborn_equiv",
81 "FlavRegList",
82 "mint*.top",
83 "parameters.ol",
84 "pwg*.top",
85 "pwgboundviolations*.dat",
86 "pwgcounters*.dat",
87 "pwgseeds.dat",
88 "pwhg_checklimits",
89 "sigreal_btl0_equiv",
90 "sigregular_equiv",
91 "sigvirtual_equiv"
92 ]
93
94
95 @property
97 """! Wildcarded list of integration files that might be created by this process."""
98 return [
99 "pwg*upb*.dat",
100 "pwg*xgrid*.dat",
101 "pwgfullgrid*.dat",
102 "pwggrid*.dat",
103 "pwgubound*.dat",
104 "pwg*stat.dat",
105 ]
106
107 @property
109 """! Wildcarded list of integration files that are needed for this process."""
110 return self.integration_file_names
111
112 @property
113 def powheg_version(self):
114 """! Version of PowhegBox process."""
115 return "RES"
116
117 def stage_is_completed(self, stage):
118 """! Set whether the specified POWHEG-BOX generation stage is complete."""
119 if stage == 1:
120 required_files = ["pwg*xgrid*.dat"]
121 elif stage == 2:
122 required_files = ["pwg*upb*.dat", "pwggrid*.dat"]
123 elif stage == 3:
124 required_files = ["pwgfullgrid*.dat", "pwgubound*.dat"]
125 else:
126 return False
127
128 # Check that required files have been found
129 for required_file in required_files:
130 if not glob.glob(required_file):
131 return False
132 return True
Base class for PowhegBox RES processes.
Definition powheg_RES.py:7
default_PDFs_nnlo_nf_4(self)
Default PDFs for this process.
Definition powheg_RES.py:58
default_scales(self)
Default scale variations for this process.
Definition powheg_RES.py:71
__init__(self, base_directory, executable_name, warning_output=[], info_output=[], error_output=[], **kwargs)
Constructor.
Definition powheg_RES.py:15
default_PDFs(self)
Default PDFs for this process.
Definition powheg_RES.py:28
files_for_cleanup(self)
Wildcarded list of files created by this process that can be deleted.
Definition powheg_RES.py:77
mandatory_integration_file_names(self)
Wildcarded list of integration files that are needed for this process.
default_PDFs_nnlo(self)
Default PDFs for this process.
Definition powheg_RES.py:43
stage_is_completed(self, stage)
Set whether the specified POWHEG-BOX generation stage is complete.
powheg_version(self)
Version of PowhegBox process.
integration_file_names(self)
Wildcarded list of integration files that might be created by this process.
Definition powheg_RES.py:96
Base class for PowhegBox processes.
integration_file_names(self)
Wildcarded list of integration files that might be created by this process.