Merge lp:~maddevelopers/mg5amcnlo/2.2.2 into lp:mg5amcnlo/lts
- 2.2.2
- Merge into series2.0
Status: | Merged |
---|---|
Merged at revision: | 257 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/2.2.2 |
Merge into: | lp:mg5amcnlo/lts |
Diff against target: |
6860 lines (+1464/-3092) 95 files modified
MadSpin/decay.py (+8/-6) Template/LO/Source/PDF/pdf.f (+1/-0) Template/LO/Source/dsample.f (+1/-1) Template/LO/Source/rw_events.f (+1/-1) Template/LO/SubProcesses/setcuts.f (+83/-29) Template/LO/SubProcesses/unwgt.f (+2/-2) Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script (+1/-2) Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIGPP.Script (+1/-2) Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script (+1/-2) Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script (+1/-2) Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA8.Script (+61/-10) Template/NLO/MCatNLO/include/LHEF.h (+3/-3) Template/NLO/MCatNLO/shower_template.sh (+1/-1) Template/NLO/MCatNLO/srcPythia8/Makefile (+10/-2) Template/NLO/MCatNLO/srcPythia8/Makefile_hep (+12/-6) Template/NLO/MCatNLO/srcPythia8/Pythia8.cc (+0/-152) Template/NLO/MCatNLO/srcPythia8/Pythia82.cc (+153/-0) Template/NLO/MCatNLO/srcPythia8/Pythia82_hep.cc (+112/-0) Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc (+0/-111) Template/NLO/Source/PDF/pdf.f (+1/-0) Template/NLO/Source/banner_header.txt (+1/-1) Template/NLO/Source/make_opts.inc (+1/-2) Template/NLO/Source/setrun.f (+3/-2) Template/NLO/SubProcesses/FKSParamReader.f (+10/-9) Template/NLO/SubProcesses/add_write_info.f (+1/-1) Template/NLO/SubProcesses/ajob_template (+3/-1) Template/NLO/SubProcesses/check_poles.f (+4/-2) Template/NLO/SubProcesses/configs_and_props_inc_chooser.f (+84/-1) Template/NLO/SubProcesses/cuts.f (+30/-23) Template/NLO/SubProcesses/fks_singular.f (+2/-1) Template/NLO/SubProcesses/handling_lhe_events.f (+2/-2) Template/NLO/SubProcesses/iproc_map.f (+1/-1) Template/NLO/SubProcesses/leshouche_inc_chooser.f (+54/-1) Template/NLO/SubProcesses/makefile_fks_dir (+9/-0) Template/NLO/SubProcesses/montecarlocounter.f (+1/-0) Template/NLO/SubProcesses/symmetry_fks_test_MC.f (+11/-0) Template/NLO/SubProcesses/write_event.f (+1/-1) Template/NLO/Utilities/makefile (+2/-2) Template/loop_material/StandAlone/SubProcesses/makefile.inc (+0/-5) UpdateNotes.txt (+19/-0) aloha/aloha_lib.py (+4/-0) input/.mg5_configuration_default.txt (+3/-5) madgraph/__init__.py (+1/-6) madgraph/interface/amcatnlo_run_interface.py (+43/-15) madgraph/interface/common_run_interface.py (+20/-6) madgraph/interface/madevent_interface.py (+1/-2) madgraph/interface/madgraph_interface.py (+16/-3) madgraph/iolibs/export_fks.py (+166/-89) madgraph/iolibs/export_v4.py (+59/-10) madgraph/iolibs/template_files/addmothers.f (+1/-1) madgraph/iolibs/template_files/get_mass_width_fcts.inc (+23/-0) madgraph/iolibs/template_files/madevent_combine_events.f (+3/-3) madgraph/iolibs/template_files/matrix_madevent_group_v4.inc (+1/-1) madgraph/iolibs/template_files/matrix_madevent_v4.inc (+1/-1) madgraph/iolibs/ufo_expression_parsers.py (+68/-4) madgraph/loop/loop_diagram_generation.py (+0/-1) madgraph/various/banner.py (+9/-2) madgraph/various/cluster.py (+12/-7) madgraph/various/lhe_parser.py (+3/-0) madgraph/various/misc.py (+26/-3) mg5decay/decay_objects.py (+25/-2) models/import_ufo.py (+8/-2) models/taudecay_UFO/param_card.dat (+18/-9) models/taudecay_UFO/parameters.py (+8/-8) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_decl.inc (+12/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_info.inc (+0/-1077) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_decl.inc (+6/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_info.inc (+0/-156) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_decl.inc (+12/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_info.inc (+0/-419) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%leshouche_decl.inc (+6/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%leshouche_info.inc (+0/-134) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%configs_and_props_decl.inc (+12/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%configs_and_props_info.inc (+0/-419) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%leshouche_decl.inc (+6/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%leshouche_info.inc (+0/-134) tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%MadLoopCommons.f (+1/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_coupl.inc (+0/-1) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+0/-1) tests/time_db (+38/-36) tests/unit_tests/iolibs/test_export_fks_EW.py (+114/-133) tests/unit_tests/iolibs/test_export_v4.py (+2/-2) tests/unit_tests/iolibs/test_ufo_parsers.py (+44/-0) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/2.2.2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Rikkert Frederix | Approve | ||
marco zaro | Needs Fixing | ||
Review via email: mp+240012@code.launchpad.net |
Commit message
Description of the change
I think that this is time for this version to be released since it contains a couple of important fixes already. I'm also investigating a problem at LO which might have huge impact on the efficiency of the code. This is not yet pushed in this version but I suggest that you take a look already.
If nobody disagree, I plan to release this one on Friday.
Cheers,
Olivier
- 276. By Rikkert Frederix
-
Added the 'strip' command to the makefiles to reduce the sizes of the
executables. - 277. By Rikkert Frederix
-
updated the UpdateNotes
- 278. By Rikkert Frederix
-
another update for the UpdateNotes
- 279. By marco zaro
-
added possibility to install lhapdf sets in LHAPDF_DATA_PATH if it is set as an environmental variable.
Paolo Torrielli (paolo-torrielli) wrote : | # |
Hi Olivier,
tomorrow morning I’ll merge the 2.2.2_py82 branch,
so please wait for this merging before releasing.
Cheers.
Paolo
On 29 Oct 2014, at 16:02, Olivier Mattelaer <email address hidden> wrote:
> Olivier Mattelaer has proposed merging lp:~maddevelopers/mg5amcnlo/2.2.2 into lp:mg5amcnlo.
>
> Requested reviews:
> MadTeam (madteam)
>
> For more details, see:
> https:/
>
> I think that this is time for this version to be released since it contains a couple of important fixes already. I'm also investigating a problem at LO which might have huge impact on the efficiency of the code. This is not yet pushed in this version but I suggest that you take a look already.
>
> If nobody disagree, I plan to release this one on Friday.
>
> Cheers,
>
> Olivier
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/2.2.2.
> === modified file 'MadSpin/decay.py'
> --- MadSpin/decay.py 2014-09-17 09:53:23 +0000
> +++ MadSpin/decay.py 2014-10-29 15:01:21 +0000
> @@ -1185,7 +1185,7 @@
> decaying_base = [id for id in final if abs(id) in self.decay_ids]
> decaying_
> topo['base_order'] = (initial , final)
> - topo['matrix_
> +# topo['matrix_
> tags = []
> topo['tag2order'] = {}
>
> @@ -2662,6 +2662,8 @@
> decay_text = []
> for decays in self.mscmd.
> for decay in decays:
> + if '=' not in decay:
> + decay += ' QCD=99'
> if ',' in decay:
> decay_text.
> else:
> @@ -2791,11 +2793,11 @@
> 'processes': matrix_
> 'tag': me.shell_
> #
> - if __debug__:
> - #check that all decay matrix element correspond to a decay only
> - for prod in self.all_
> - for decay in prod['matrix_
> - assert decay.shell_
> +# if __debug__:
> +# #check that all decay matrix element correspond to a decay only
> +# for prod in self.all_
> +# for decay in prod['matrix_
> +# assert decay.shell_
>
>
> def get_branching_
>
> === modified file 'Template/
> --- Template/
> +++ Template/
> @@ -45,6 +45,7 @@
> do i=-5,5
> fx(i)=nnfx(i)/x
> enddo
> + fx(7)=nnfx(7)/x
> elseif ((pdlabel(1:3) .eq. 'mrs')
> . .or. (pdlabel(2:4) .eq. 'mrs')) then
>
>
> === modified file 'Template/
> --- Template/LO/S...
- 280. By marco zaro
-
the default accuracy for check_poles is taken from FKSparams.dat
Fix in ajob relative to HelConfigs.dat (see Question #256309)
marco zaro (marco-zaro) wrote : | # |
Hi,
btw there are some unit tests failing:
=======
ERROR: test_write_
tests the correct writing of the B-LH order file
-------
Traceback (most recent call last):
File "/Users/
self.myfks_me)
File "/Users/
replace_
TypeError: 'FKSHelasProcess' object does not support indexing
=======
FAIL: test_export_
Test the result of exporting a subprocess group matrix element
-------
Traceback (most recent call last):
File "/Users/
self.
File "/Users/
self.
AssertionError: ' JAMP2(I)
=======
FAIL: test_export_
Test the result of exporting a subprocess group matrix element
-------
Traceback (most recent call last):
File "/Users/
self.
File "/Users/
self.
AssertionError: ' JAMP2(I)
-------
Marco
- 281. By Paolo Torrielli
-
merged with the py82 branch
- 282. By marco zaro
-
merged with 2.2.2_read_
conf_props
Rikkert Frederix (frederix) wrote : | # |
I've got the same 3 unit tests failing as Marco. I guess the DABS() problem is not serious, but the first one related to the order file might be. Although also that one is only used when not linking with MadLoop.
Valentin, do you have an idea what the problem is?
Rikkert
Rikkert Frederix (frederix) : | # |
Valentin Hirschi (valentin-hirschi) wrote : | # |
So, these three changes are related to two small modifications I brought
directly to 2.2.2 a week ago or so.
The new 'DABS(DBLE(' is correct as we recently realized with Olivier, that
the former expression was not correct as it could yields negative JAMP**2
in presence of interferences.
I think the first crash is due to the '[0]' I appended to
'join(matrix_
because it was necessary when writing the order file for the GoSam
interface. However, apparently, in the context of this test 'IOExportFKSEWTest'
the type of the object 'matrix_elements' passed is not the same as in an
actual run. So I think the test should be updated so as to pass a list of
matrix_elements instead.
Marco, do you confirm that this would be ok?
Cheers,
On Fri, Oct 31, 2014 at 6:20 AM, Rikkert Frederix <email address hidden>
wrote:
> Review: Needs Fixing
>
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch
> lp:~maddevelopers/mg5amcnlo/2.2.2.
>
--
Valentin
- 283. By Olivier Mattelaer
-
1. saver use of gzip module (not used for file > 4Gb)
2. add security in MadWidth for scale close to Lambda_QCD
3. improve the security associate to the pickle of the model
4. improve cluster support for lsf/nlo run (thanks Josh) - 284. By marco zaro
-
fixed failing test test_write_
lh_order_ EW
marco zaro (marco-zaro) wrote : | # |
ciao,
i have fixed the
test_weite_
Cheers,
Marco
On 31 Oct 2014, at 19:45, Valentin Hirschi <email address hidden> wrote:
> So, these three changes are related to two small modifications I brought
> directly to 2.2.2 a week ago or so.
>
> The new 'DABS(DBLE(' is correct as we recently realized with Olivier, that
> the former expression was not correct as it could yields negative JAMP**2
> in presence of interferences.
>
> I think the first crash is due to the '[0]' I appended to
> 'join(matrix_
> because it was necessary when writing the order file for the GoSam
> interface. However, apparently, in the context of this test 'IOExportFKSEWTest'
> the type of the object 'matrix_elements' passed is not the same as in an
> actual run. So I think the test should be updated so as to pass a list of
> matrix_elements instead.
> Marco, do you confirm that this would be ok?
>
> Cheers,
>
> On Fri, Oct 31, 2014 at 6:20 AM, Rikkert Frederix <email address hidden>
> wrote:
>
>> Review: Needs Fixing
>>
>>
>> --
>> https:/
>> Your team MadDevelopers is subscribed to branch
>> lp:~maddevelopers/mg5amcnlo/2.2.2.
>>
>
>
>
> --
> Valentin
>
> https:/
> You are reviewing the proposed merge of lp:~maddevelopers/mg5amcnlo/2.2.2 into lp:mg5amcnlo.
- 285. By Marco Zaro <email address hidden>
-
fix in check_poles.f (case error) and FKSParamsReader (problem with declaration of filename variable)
- 286. By Marco Zaro <email address hidden>
-
added required output for fNLO runs
- 287. By Olivier Mattelaer
-
Fix a small crash in MadWidth
- 288. By Olivier Mattelaer
-
fix the remaining unittest
- 289. By marco zaro
-
randinit is also symlinked to the P* dirs
- 290. By Olivier Mattelaer
-
safer version of checking if MG5 is on a readonly disk
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi Valentin,
What is the status with the IOTest which were crashing?
Please do it asap.
I found a real deep bug, (I'm evaluating how deep it is with Tim and Fabio) and need to have this version ready as soon as we have finish our investigation).
Cheers,
Olivier
- 291. By Olivier Mattelaer
-
- correct the bug of a a > mu+ mu-
- bypass the call to do_plots for pythia8/herwig++ shower
- fix a problem with the set command (in AskforEdit)for HC model
- fix a problem with the name of the particle for the compute_width command - 292. By Valentin Hirschi
-
1. Updated IOTests
Valentin Hirschi (valentin-hirschi) wrote : | # |
Hi Olivier,
IOTest pass on my computer, so what do you mean by fixing it? Make them
pass as well on your computer despite the fact that you don't have PJFry or
Golem? If so, I think it can be done for the next release no? Also I have
to update the parsing for the date and version appearing in the MadLoop
banner.
Cheers
On Wed, Nov 5, 2014 at 6:00 AM, Olivier Mattelaer <
<email address hidden>> wrote:
> Hi Valentin,
>
> What is the status with the IOTest which were crashing?
> Please do it asap.
> I found a real deep bug, (I'm evaluating how deep it is with Tim and
> Fabio) and need to have this version ready as soon as we have finish our
> investigation).
>
> Cheers,
>
> Olivier
>
>
> --
> https:/
> Your team MadTeam is subscribed to branch lp:mg5amcnlo.
>
--
Valentin
Rikkert Frederix (frederix) wrote : | # |
I think we can make this version public.
Rikkert
Preview Diff
1 | === modified file 'MadSpin/decay.py' |
2 | --- MadSpin/decay.py 2014-09-17 09:53:23 +0000 |
3 | +++ MadSpin/decay.py 2014-11-06 06:25:51 +0000 |
4 | @@ -1185,7 +1185,7 @@ |
5 | decaying_base = [id for id in final if abs(id) in self.decay_ids] |
6 | decaying_base.sort() |
7 | topo['base_order'] = (initial , final) |
8 | - topo['matrix_element'] = me |
9 | +# topo['matrix_element'] = me |
10 | tags = [] |
11 | topo['tag2order'] = {} |
12 | |
13 | @@ -2662,6 +2662,8 @@ |
14 | decay_text = [] |
15 | for decays in self.mscmd.list_branches.values(): |
16 | for decay in decays: |
17 | + if '=' not in decay: |
18 | + decay += ' QCD=99' |
19 | if ',' in decay: |
20 | decay_text.append('(%s)' % decay) |
21 | else: |
22 | @@ -2791,11 +2793,11 @@ |
23 | 'processes': matrix_element.get('processes'), |
24 | 'tag': me.shell_string(pdg_order=True)} |
25 | # |
26 | - if __debug__: |
27 | - #check that all decay matrix element correspond to a decay only |
28 | - for prod in self.all_ME.values(): |
29 | - for decay in prod['matrix_element']['base_amplitude']['process']['decay_chains']: |
30 | - assert decay.shell_string() in self.all_decay |
31 | +# if __debug__: |
32 | +# #check that all decay matrix element correspond to a decay only |
33 | +# for prod in self.all_ME.values(): |
34 | +# for decay in prod['matrix_element']['base_amplitude']['process']['decay_chains']: |
35 | +# assert decay.shell_string() in self.all_decay |
36 | |
37 | |
38 | def get_branching_ratio(self): |
39 | |
40 | === modified file 'Template/LO/Source/PDF/pdf.f' |
41 | --- Template/LO/Source/PDF/pdf.f 2014-05-16 08:15:16 +0000 |
42 | +++ Template/LO/Source/PDF/pdf.f 2014-11-06 06:25:51 +0000 |
43 | @@ -45,6 +45,7 @@ |
44 | do i=-5,5 |
45 | fx(i)=nnfx(i)/x |
46 | enddo |
47 | + fx(7)=nnfx(7)/x |
48 | elseif ((pdlabel(1:3) .eq. 'mrs') |
49 | . .or. (pdlabel(2:4) .eq. 'mrs')) then |
50 | |
51 | |
52 | === modified file 'Template/LO/Source/dsample.f' |
53 | --- Template/LO/Source/dsample.f 2014-06-23 14:11:08 +0000 |
54 | +++ Template/LO/Source/dsample.f 2014-11-06 06:25:51 +0000 |
55 | @@ -974,7 +974,7 @@ |
56 | im = ng -1 |
57 | ddum(j) = ng |
58 | endif |
59 | - if (im.le.0) im = 1 |
60 | + if (im.lt.0) im = 0 |
61 | ip = im + 1 |
62 | ij = Minvar(j,ipole) |
63 | c------ |
64 | |
65 | === modified file 'Template/LO/Source/rw_events.f' |
66 | --- Template/LO/Source/rw_events.f 2014-06-27 13:31:53 +0000 |
67 | +++ Template/LO/Source/rw_events.f 2014-11-06 06:25:51 +0000 |
68 | @@ -142,7 +142,7 @@ |
69 | integer nexternal, ic(7,*) |
70 | double precision P(0:4,*),wgt |
71 | double precision aqcd, aqed, scale |
72 | - character*300 buff |
73 | + character*1000 buff |
74 | logical u_syst |
75 | character*(s_bufflen) s_buff(*) |
76 | integer nclus |
77 | |
78 | === modified file 'Template/LO/SubProcesses/setcuts.f' |
79 | --- Template/LO/SubProcesses/setcuts.f 2014-05-05 15:00:26 +0000 |
80 | +++ Template/LO/SubProcesses/setcuts.f 2014-11-06 06:25:51 +0000 |
81 | @@ -95,13 +95,17 @@ |
82 | $ ,IS_A_ONIUM_SAVE(NEXTERNAL),IS_A_NU_SAVE(NEXTERNAL) |
83 | $ ,IS_HEAVY_SAVE(NEXTERNAL),DO_CUTS_SAVE(NEXTERNAL) |
84 | double precision r2min_save(nexternal,nexternal) |
85 | - $ ,s_min_save(nexternal,nexternal),s_max_save(nexternal |
86 | - $ ,nexternal),ptll_min_save(nexternal,nexternal) |
87 | - $ ,ptll_max_save(nexternal,nexternal) |
88 | + $ ,r2max_save(nexternal,nexternal),s_min_save(nexternal |
89 | + $ ,nexternal),s_max_save(nexternal,nexternal) |
90 | + $ ,ptll_min_save(nexternal,nexternal),ptll_max_save(nexternal |
91 | + $ ,nexternal),etmin_save(nexternal),etmax_save(nexternal) |
92 | + $ ,emin_save(nexternal) ,emax_save(nexternal) |
93 | + $ ,etamin_save(nexternal),etamax_save(nexternal) |
94 | save IS_A_J_SAVE,IS_A_L_SAVE,IS_A_B_SAVE,IS_A_A_SAVE |
95 | $ ,IS_A_ONIUM_SAVE,IS_A_NU_SAVE,IS_HEAVY_SAVE,DO_CUTS |
96 | - $ ,r2min_save,s_min_save,s_max_save,ptll_min_save |
97 | - $ ,ptll_max_save |
98 | + $ ,r2min_save,r2max_save,s_min_save,s_max_save,ptll_min_save |
99 | + $ ,ptll_max_save,etmin_save,etmax_save,emin_save,emax_save |
100 | + $ ,etamin_save,etamax_save |
101 | c |
102 | c setup masses for the final-state particles |
103 | c |
104 | @@ -419,14 +423,14 @@ |
105 | ptll_min(j,i)=0.0d0**2 |
106 | ptll_max(j,i)=-1 |
107 | if(((is_a_l(i).and.is_a_l(j)).and. |
108 | - & (abs(idup(i,1,iproc)).eq.abs(idup(j,1,iproc))).and. |
109 | - & (idup(i,1,iproc)*idup(j,1,iproc).lt.0))! Leptons from same flavor but different charge |
110 | - & .or.(is_a_nu(i).and.is_a_l(j)) |
111 | - & .or.(is_a_l(i).and.is_a_nu(j)) !a lepton and a neutrino |
112 | - & .or.(is_a_nu(i).and.is_a_nu(j))) then ! two neutrinos |
113 | + & (abs(idup(i,1,iproc)).eq.abs(idup(j,1,iproc))).and. |
114 | + & (idup(i,1,iproc)*idup(j,1,iproc).lt.0)) ! Leptons from same flavor but different charge |
115 | + & .or.(is_a_nu(i).and.is_a_l(j)) |
116 | + & .or.(is_a_l(i).and.is_a_nu(j)) !a lepton and a neutrino |
117 | + & .or.(is_a_nu(i).and.is_a_nu(j))) then ! two neutrinos |
118 | ptll_min(j,i)=ptllmin*dabs(ptllmin) |
119 | ptll_max(j,i)=ptllmax*dabs(ptllmax) |
120 | - endif |
121 | + endif |
122 | enddo |
123 | enddo |
124 | |
125 | @@ -506,16 +510,23 @@ |
126 | if (iproc.eq.1) then |
127 | do i=nincoming+1,nexternal |
128 | do_cuts_save(i)=do_cuts(i) |
129 | - is_a_j_save(i) = is_a_j(i) |
130 | - is_a_l_save(i) = is_a_l(i) |
131 | - is_a_b_save(i) = is_a_b(i) |
132 | - is_a_a_save(i) = is_a_a(i) |
133 | - is_a_nu_save(i) = is_a_nu(i) |
134 | - is_heavy_save(i) = is_heavy(i) |
135 | + is_a_j_save(i)=is_a_j(i) |
136 | + is_a_b_save(i)=is_a_b(i) |
137 | + is_a_l_save(i)=is_a_l(i) |
138 | + is_a_a_save(i)=is_a_a(i) |
139 | + is_a_nu_save(i)=is_a_nu(i) |
140 | is_a_onium_save(i)=is_a_onium(i) |
141 | + is_heavy_save(i)=is_heavy(i) |
142 | + etmin_save(i)=etmin(i) |
143 | + etmax_save(i)=etmax(i) |
144 | + emin_save(i)=emin(i) |
145 | + emax_save(i)=emax(i) |
146 | + etamin_save(i)=etamin(i) |
147 | + etamax_save(i)=etamax(i) |
148 | if (i.eq.nexternal) cycle |
149 | do j=i+1,nexternal |
150 | r2min_save(j,i) = r2min(j,i) |
151 | + r2max_save(j,i) = r2max(j,i) |
152 | s_min_save(j,i) = s_min(j,i) |
153 | s_max_save(j,i) = s_max(j,i) |
154 | ptll_min_save(j,i) = ptll_min(j,i) |
155 | @@ -526,16 +537,55 @@ |
156 | equal=.true. |
157 | do i=nincoming+1,nexternal |
158 | if (do_cuts_save(i).neqv.do_cuts(i)) equal=.false. |
159 | - if (is_a_j_save(i).neqv.is_a_j(i)) equal=.false. |
160 | - if (is_a_l_save(i).neqv.is_a_l(i)) equal=.false. |
161 | - if (is_a_b_save(i).neqv.is_a_b(i)) equal=.false. |
162 | - if (is_a_a_save(i).neqv.is_a_a(i)) equal=.false. |
163 | - if (is_a_nu_save(i).neqv.is_a_nu(i)) equal=.false. |
164 | - if (is_heavy_save(i).neqv.is_heavy(i)) equal=.false. |
165 | - if (is_a_onium_save(i).neqv.is_a_onium(i)) equal=.false. |
166 | + if (is_a_j_save(i).neqv.is_a_j(i)) then |
167 | + if (ptjmin4(1).gt.0d0 .or. ptjmax4(1).ge.0d0) equal=.false. |
168 | + if (ptjmin4(2).gt.0d0 .or. ptjmax4(2).ge.0d0) equal=.false. |
169 | + if (ptjmin4(3).gt.0d0 .or. ptjmax4(3).ge.0d0) equal=.false. |
170 | + if (ptjmin4(4).gt.0d0 .or. ptjmax4(4).ge.0d0) equal=.false. |
171 | + if (Htjmin4(2).gt.0d0 .or. Htjmax4(2).ge.0d0) equal=.false. |
172 | + if (Htjmin4(3).gt.0d0 .or. Htjmax4(3).ge.0d0) equal=.false. |
173 | + if (Htjmin4(4).gt.0d0 .or. Htjmax4(4).ge.0d0) equal=.false. |
174 | + if (inclHtmin.gt.0d0 .or. inclHtmax.ge.0d0) equal=.false. |
175 | + if (htjmin.gt.0d0 .or. htjmax.ge.0d0) equal=.false. |
176 | + if (xptj.gt.0d0) equal=.false. |
177 | + if (xetamin.gt.0d0 .or. deltaeta.gt.0d0) equal=.false. |
178 | + if (ptgmin.ne.0d0) equal=.false. |
179 | + if (kt_durham.gt.0d0) equal=.false. |
180 | + endif |
181 | + if (is_a_b_save(i).neqv.is_a_b(i)) then |
182 | + if (inclHtmin.gt.0d0 .or. inclHtmax.ge.0d0) equal=.false. |
183 | + if (xptb.gt.0d0) equal=.false. |
184 | + endif |
185 | + if (is_a_a_save(i).neqv.is_a_a(i)) then |
186 | + if (xpta.gt.0d0) equal=.false. |
187 | + if (ptgmin.ne.0d0) equal=.false. |
188 | + endif |
189 | + if (is_a_l_save(i).neqv.is_a_l(i)) then |
190 | + if (ptlmin4(1).gt.0d0 .or. ptlmax4(1).ge.0d0) equal=.false. |
191 | + if (ptlmin4(2).gt.0d0 .or. ptlmax4(2).ge.0d0) equal=.false. |
192 | + if (ptlmin4(3).gt.0d0 .or. ptlmax4(3).ge.0d0) equal=.false. |
193 | + if (ptlmin4(4).gt.0d0 .or. ptlmax4(4).ge.0d0) equal=.false. |
194 | + if (mmnl.gt.0d0 .or. mmnlmax.ge.0d0) equal=.false. |
195 | + if (xptl.gt.0d0) equal=.false. |
196 | + if (ptgmin.ne.0d0 .and. isoEM) equal=.false. |
197 | + endif |
198 | + if (is_a_nu_save(i).neqv.is_a_nu(i)) then |
199 | + if (misset.gt.0d0 .or. missetmax.ge.0d0) equal=.false. |
200 | + if (mmnl.gt.0d0 .or. mmnlmax.ge.0d0) equal=.false. |
201 | + endif |
202 | + if (is_heavy_save(i).neqv.is_heavy(i)) then |
203 | + if (ptheavy.gt.0d0) equal=.false. |
204 | + endif |
205 | + if (etmin_save(i).ne.etmin(i)) equal=.false. |
206 | + if (etmax_save(i).ne.etmax(i)) equal=.false. |
207 | + if (emin_save(i).ne.emin(i)) equal=.false. |
208 | + if (emax_save(i).ne.emax(i)) equal=.false. |
209 | + if (etamin_save(i).ne.etamin(i)) equal=.false. |
210 | + if (etamax_save(i).ne.etamax(i)) equal=.false. |
211 | if (i.eq.nexternal) cycle |
212 | do j=i+1,nexternal |
213 | if (r2min_save(j,i).ne.r2min(j,i)) equal=.false. |
214 | + if (r2max_save(j,i).ne.r2max(j,i)) equal=.false. |
215 | if (s_min_save(j,i).ne.s_min(j,i)) equal=.false. |
216 | if (s_max_save(j,i).ne.s_max(j,i)) equal=.false. |
217 | if (ptll_min_save(j,i).ne.ptll_min(j,i)) equal=.false. |
218 | @@ -626,7 +676,7 @@ |
219 | |
220 | c set possible xqcut combinations (for better grid preparation) |
221 | if(xqcut.gt.0) |
222 | - $ call setxqcuts() |
223 | + $ call setxqcuts(do_cuts) |
224 | |
225 | c call write_cuts() |
226 | RETURN |
227 | @@ -634,7 +684,7 @@ |
228 | END |
229 | |
230 | |
231 | - subroutine setxqcuts() |
232 | + subroutine setxqcuts(do_cuts) |
233 | c************************************************** |
234 | c Set xqcuti and xqcutij between all particles |
235 | c to allow for grid preparation based on xqcut |
236 | @@ -645,6 +695,8 @@ |
237 | include 'nexternal.inc' |
238 | include 'cuts.inc' |
239 | |
240 | + logical do_cuts(nexternal) |
241 | + |
242 | double precision pmass(nexternal) |
243 | common/to_mass/ pmass |
244 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
245 | @@ -682,13 +734,15 @@ |
246 | $ idup(iforest(2,k,j),1,1).eq.21.or. |
247 | $ iabs(idup(iforest(2,k,j),1,1)).le.maxjetflavor.or. |
248 | $ idup(iforest(2,k,j),1,1).eq.21)then |
249 | - xqcutij(iforest(2,k,j),iforest(1,k,j))=xqcut |
250 | - xqcutij(iforest(1,k,j),iforest(2,k,j))=xqcut |
251 | + if (do_cuts(iforest(2,k,j)).and. do_cuts(iforest(1,k,j)))then |
252 | + xqcutij(iforest(2,k,j),iforest(1,k,j))=xqcut |
253 | + xqcutij(iforest(1,k,j),iforest(2,k,j))=xqcut |
254 | + endif |
255 | endif |
256 | endif |
257 | enddo |
258 | if(.not.foundpartner.and.(iabs(idup(i,1,1)).le.maxjetflavor.or. |
259 | - $ idup(i,1,1).eq.21)) xqcuti(i)=max(0d0,sqrt(xqcut**2-pmass(i)**2)) |
260 | + $ idup(i,1,1).eq.21).and.do_cuts(i)) xqcuti(i)=max(0d0,sqrt(xqcut**2-pmass(i)**2)) |
261 | enddo |
262 | enddo |
263 | |
264 | |
265 | === modified file 'Template/LO/SubProcesses/unwgt.f' |
266 | --- Template/LO/SubProcesses/unwgt.f 2014-02-19 01:00:53 +0000 |
267 | +++ Template/LO/SubProcesses/unwgt.f 2014-11-06 06:25:51 +0000 |
268 | @@ -241,7 +241,7 @@ |
269 | integer iseed, nover, nstore |
270 | double precision scale,aqcd,aqed |
271 | integer ievent |
272 | - character*300 buff |
273 | + character*1000 buff |
274 | logical u_syst |
275 | character*(s_bufflen) s_buff(7) |
276 | integer nclus |
277 | @@ -408,7 +408,7 @@ |
278 | real ran1 |
279 | external ran1 |
280 | |
281 | - character*300 buff |
282 | + character*1000 buff |
283 | character*(s_bufflen) s_buff(7) |
284 | integer nclus |
285 | character*(clus_bufflen) buffclus(nexternal) |
286 | |
287 | === modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script' |
288 | --- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script 2014-07-10 16:03:27 +0000 |
289 | +++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script 2014-11-06 06:25:51 +0000 |
290 | @@ -92,7 +92,6 @@ |
291 | EXTRAPOLATE|extrapolate) PDFGROUP=LHAEXT ;; |
292 | *) echo "no such option; failure in linklhapdf" ; exit 1 ;; |
293 | esac |
294 | -source ../Source/fj_lhapdf_opts |
295 | } |
296 | |
297 | # creates the executable for NLO and MC; the entry of the function |
298 | @@ -295,7 +294,7 @@ |
299 | fi |
300 | fi |
301 | echo " " |
302 | -echo "***** Now ready for showering" $NEVENTS "events with $MC_TYPE " |
303 | +echo "***** Now ready for showering" $NEVENTS "events with $MCMODE " |
304 | echo " " |
305 | runMCMadFKS |
306 | teststatus runMC |
307 | |
308 | === modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIGPP.Script' |
309 | --- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIGPP.Script 2014-05-02 11:09:41 +0000 |
310 | +++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIGPP.Script 2014-11-06 06:25:51 +0000 |
311 | @@ -92,7 +92,6 @@ |
312 | EXTRAPOLATE|extrapolate) PDFGROUP=LHAEXT ;; |
313 | *) echo "no such option; failure in linklhapdf" ; exit 1 ;; |
314 | esac |
315 | -source ../Source/fj_lhapdf_opts |
316 | } |
317 | |
318 | # converts pdg numbers to names, relevant for decays |
319 | @@ -337,7 +336,7 @@ |
320 | let "ERR_NUM_HWPP += 1" |
321 | |
322 | echo " " |
323 | -echo "***** Now ready for showering" $NEVENTS "events with $MC_TYPE " |
324 | +echo "***** Now ready for showering" $NEVENTS "events with $MCMODE " |
325 | echo " " |
326 | runMCMadFKS |
327 | teststatus runMC |
328 | |
329 | === modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script' |
330 | --- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script 2014-05-02 11:09:41 +0000 |
331 | +++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script 2014-11-06 06:25:51 +0000 |
332 | @@ -92,7 +92,6 @@ |
333 | EXTRAPOLATE|extrapolate) PDFGROUP=LHAEXT ;; |
334 | *) echo "no such option; failure in linklhapdf" ; exit 1 ;; |
335 | esac |
336 | -source ../Source/fj_lhapdf_opts |
337 | } |
338 | |
339 | # creates the executable for NLO and MC; the entry of the function |
340 | @@ -296,7 +295,7 @@ |
341 | fi |
342 | fi |
343 | echo " " |
344 | -echo "***** Now ready for showering" $NEVENTS "events with $MC_TYPE " |
345 | +echo "***** Now ready for showering" $NEVENTS "events with $MCMODE " |
346 | echo " " |
347 | runMCMadFKS |
348 | teststatus runMC |
349 | |
350 | === modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script' |
351 | --- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script 2014-05-02 11:09:41 +0000 |
352 | +++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script 2014-11-06 06:25:51 +0000 |
353 | @@ -92,7 +92,6 @@ |
354 | EXTRAPOLATE|extrapolate) PDFGROUP=LHAEXT ;; |
355 | *) echo "no such option; failure in linklhapdf" ; exit 1 ;; |
356 | esac |
357 | -source ../Source/fj_lhapdf_opts |
358 | } |
359 | |
360 | # creates the executable for NLO and MC; the entry of the function |
361 | @@ -296,7 +295,7 @@ |
362 | fi |
363 | fi |
364 | echo " " |
365 | -echo "***** Now ready for showering" $NEVENTS "events with $MC_TYPE " |
366 | +echo "***** Now ready for showering" $NEVENTS "events with $MCMODE " |
367 | echo " " |
368 | runMCMadFKS |
369 | teststatus runMC |
370 | |
371 | === modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA8.Script' |
372 | --- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA8.Script 2014-07-16 16:23:08 +0000 |
373 | +++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA8.Script 2014-11-06 06:25:51 +0000 |
374 | @@ -92,7 +92,6 @@ |
375 | EXTRAPOLATE|extrapolate) PDFGROUP=LHAEXT ;; |
376 | *) echo "no such option; failure in linklhapdf" ; exit 1 ;; |
377 | esac |
378 | -source ../Source/fj_lhapdf_opts |
379 | } |
380 | |
381 | # creates the executable for NLO and MC; the entry of the function |
382 | @@ -211,23 +210,43 @@ |
383 | # new compilation step for PY8 mode |
384 | export PYTHIA8LOCATION=$PY8PATH |
385 | |
386 | +# check the PYTHIA8 version by the position of certain files |
387 | + |
388 | +if [ ! -d $PYTHIA8LOCATION/xmldoc ] |
389 | +then |
390 | + PY8VER="8.2" |
391 | + echo ' USING PYTHIA 8, version >= 8.200' |
392 | + chmod +x $PYTHIA8LOCATION/bin/pythia8-config |
393 | + read HEPMCINCLIB <<< $($PYTHIA8LOCATION/bin/pythia8-config --hepmc2) |
394 | +else |
395 | + PY8VER="8.1" |
396 | + echo ' USING PYTHIA 8, version < 8.200' |
397 | +fi |
398 | + |
399 | if [ "$PY8UTI" != "" ] |
400 | then |
401 | - cp -rf $thisdir/srcPythia8/Pythia8.cc $thisdir/Pythia8.cc |
402 | + if [ $PY8VER == "8.1" ]; then cp -rf $thisdir/srcPythia8/Pythia8.cc $thisdir/Pythia8.cc; fi |
403 | + if [ $PY8VER == "8.2" ]; then cp -rf $thisdir/srcPythia8/Pythia82.cc $thisdir/Pythia82.cc; fi |
404 | cp -rf $thisdir/srcPythia8/Makefile $thisdir/Makefile |
405 | else |
406 | - cp -rf $thisdir/srcPythia8/Pythia8_hep.cc $thisdir/Pythia8.cc |
407 | + if [ $PY8VER == "8.1" ]; then cp -rf $thisdir/srcPythia8/Pythia8_hep.cc $thisdir/Pythia8.cc; fi |
408 | + if [ $PY8VER == "8.2" ]; then cp -rf $thisdir/srcPythia8/Pythia82_hep.cc $thisdir/Pythia82.cc; fi |
409 | cp -rf $thisdir/srcPythia8/Makefile_hep $thisdir/Makefile |
410 | fi |
411 | if [ -f $thisdir/Pythia8.exe ] |
412 | then |
413 | rm -rf $thisdir/Pythia8.exe |
414 | fi |
415 | -cp -rf $PYTHIA8LOCATION/xmldoc $thisdir |
416 | + |
417 | +if [ $PY8VER == "8.1" ]; then cp -rf $PYTHIA8LOCATION/xmldoc $thisdir; fi |
418 | +if [ $PY8VER == "8.2" ]; then cp -rf $PYTHIA8LOCATION/share/Pythia8/xmldoc $thisdir; fi |
419 | PY8UTIMAKE="PY8UTI="$PY8UTI |
420 | FORFILEMAKE="FORFILE="$PY8UTI |
421 | +HEPMCMAKE="HEPMCINCLIB="$HEPMCINCLIB |
422 | LGFORTRANMAKE="LIBGFORTRAN=-lgfortran" |
423 | -make Pythia8 "$PY8UTIMAKE" "$FORFILEMAKE" "$LGFORTRANMAKE" "$LIBSMAKE" "$LIBSMAKEP" "$INCLMAKE" |
424 | + |
425 | +if [ $PY8VER == "8.1" ]; then make Pythia8 "$PY8UTIMAKE" "$FORFILEMAKE" "$LGFORTRANMAKE" "$LIBSMAKE" "$LIBSMAKEP" "$INCLMAKE"; fi |
426 | +if [ $PY8VER == "8.2" ]; then make Pythia82 "$PY8UTIMAKE" "$FORFILEMAKE" "$LGFORTRANMAKE" "$LIBSMAKE" "$LIBSMAKEP" "$INCLMAKE" "$HEPMCMAKE"; fi |
427 | |
428 | cd $thisdir |
429 | if [ ! -f $thisdir/Pythia8.exe ] |
430 | @@ -296,7 +315,7 @@ |
431 | let "ERR_NUM_PY8 += 1" |
432 | |
433 | echo " " |
434 | -echo "***** Now ready for showering" $NEVENTS "events with $MC_TYPE " |
435 | +echo "***** Now ready for showering" $NEVENTS "events with $MCMODE " |
436 | echo " " |
437 | runMCMadFKS |
438 | teststatus runMC |
439 | @@ -320,8 +339,6 @@ |
440 | Main:spareWord1 = $EVENT_NORM ! Event weights are normalized to sum |
441 | ! or average to the cross section |
442 | Main:timesAllowErrors = $ERR_NUM_PY8 ! Number of allowed errors |
443 | -Main:showChangedSettings = on ! Shows all non-default settings |
444 | -Main:showChangedParticleData = off ! Shows all non-default particle settings |
445 | |
446 | ! 2) Settings related to output in init(), next(), amd stat(). |
447 | Init:showChangedSettings = on ! Shows all non-default settings |
448 | @@ -344,7 +361,9 @@ |
449 | EOF |
450 | if [ $UsedPdfLib = "LHAPDF" ] |
451 | then |
452 | -cat <<EOF >> $ifile |
453 | + if [ $PY8VER == "8.1" ] |
454 | + then |
455 | + cat <<EOF >> $ifile |
456 | PDF:useLHAPDF = on ! Use of LHAPDF |
457 | PDF:LHAPDFSET = $PDFSETN ! PDF set |
458 | EOF |
459 | @@ -362,9 +381,41 @@ |
460 | echo "Unknown PDFGROUP " $PDFGROUP |
461 | exit 1 |
462 | fi |
463 | + else |
464 | + if [ -f $PYTHIA8LOCATION/lib/libpythia8lhapdf5.so ] |
465 | + then |
466 | + cat <<EOF >> $ifile |
467 | +PDF:pSet = LHAPDF5:$PDFSETN |
468 | +EOF |
469 | + if [ $PDFGROUP = "LHAPDF" ] |
470 | + then |
471 | + cat <<EOF >> $ifile |
472 | +PDF:extrapolate = off ! extrapolate PDF set outside the boundaries |
473 | +EOF |
474 | + elif [ $PDFGROUP = "LHAEXT" ] |
475 | + then |
476 | + cat <<EOF >> $ifile |
477 | +PDF:extrapolate = on ! extrapolate PDF set outside the boundaries |
478 | +EOF |
479 | + else |
480 | + echo "Unknown PDFGROUP " $PDFGROUP |
481 | + exit 1 |
482 | + fi |
483 | + elif [ -f $PYTHIA8LOCATION/lib/libpythia8lhapdf6.so ] |
484 | + then |
485 | + cat <<EOF >> $ifile |
486 | +PDF:pSet = LHAPDF6:$PDFSETN |
487 | +EOF |
488 | + fi |
489 | + fi |
490 | else |
491 | -cat <<EOF >> $ifile |
492 | + if [ $PY8VER == "8.1" ] |
493 | + then |
494 | + cat <<EOF >> $ifile |
495 | PDF:useLHAPDF = off ! Use of LHAPDF |
496 | +EOF |
497 | + fi |
498 | + cat <<EOF >> $ifile |
499 | PDF:pSet = 7 ! CTEQ6L |
500 | EOF |
501 | fi |
502 | |
503 | === modified file 'Template/NLO/MCatNLO/include/LHEF.h' |
504 | --- Template/NLO/MCatNLO/include/LHEF.h 2014-01-23 17:04:40 +0000 |
505 | +++ Template/NLO/MCatNLO/include/LHEF.h 2014-11-06 06:25:51 +0000 |
506 | @@ -1698,9 +1698,9 @@ |
507 | version = 1; |
508 | if ( currentLine.find("version=\"2" ) != std::string::npos ) |
509 | version = 2; |
510 | - else if ( currentLine.find("version=\"1" ) == std::string::npos ) |
511 | - throw std::runtime_error |
512 | - ("Tried to read a LesHouchesEvents file which is not version 1.0."); |
513 | + //else if ( currentLine.find("version=\"1" ) == std::string::npos ) |
514 | + // throw std::runtime_error |
515 | + //("Tried to read a LesHouchesEvents file which is not version 1.0."); |
516 | |
517 | // Loop over all lines until we hit the </init> tag. |
518 | while ( getline() && currentLine.find("</init>") == std::string::npos ) { |
519 | |
520 | === modified file 'Template/NLO/MCatNLO/shower_template.sh' |
521 | --- Template/NLO/MCatNLO/shower_template.sh 2014-06-24 13:08:32 +0000 |
522 | +++ Template/NLO/MCatNLO/shower_template.sh 2014-11-06 06:25:51 +0000 |
523 | @@ -35,7 +35,7 @@ |
524 | ./MCATNLO_$SHOWER\_EXE < MCATNLO_$SHOWER\_input > mcatnlo_run.log 2>&1 |
525 | |
526 | elif [ $SHOWER == "PYTHIA8" ] ; then |
527 | - source config.sh |
528 | + if [ -f config.sh ] ; then source config.sh ; fi |
529 | ./Pythia8.exe Pythia8.cmd > mcatnlo_run.log 2>&1 |
530 | fi |
531 | |
532 | |
533 | === modified file 'Template/NLO/MCatNLO/srcPythia8/Makefile' |
534 | --- Template/NLO/MCatNLO/srcPythia8/Makefile 2014-01-23 17:04:40 +0000 |
535 | +++ Template/NLO/MCatNLO/srcPythia8/Makefile 2014-11-06 06:25:51 +0000 |
536 | @@ -66,11 +66,19 @@ |
537 | Pythia8: $(FORFILE) $(PYTHIA8LOCATION)/$(LIBDIRARCH)/libpythia8.a \ |
538 | $(PYTHIA8LOCATION)/$(LIBDIRARCH)/libpythia8tohepmc.a |
539 | $(CXX) $(CXXFLAGS) -I$(PYTHIA8LOCATION)/$(INCDIR) \ |
540 | - -I$(HEPMCLOCATION)/$(INCDIR) -I$(TOPDIR)/$(INCDIR) \ |
541 | - $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o $@.exe $(FORFILE) \ |
542 | + -I$(HEPMCLOCATION)/$(INCDIR) -I$(TOPDIR)/$(INCDIR) \ |
543 | + $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o Pythia8.exe $(FORFILE) \ |
544 | -L$(PYTHIA8LOCATION)/$(LIBDIRARCH) -lpythia8 $(LIBLHAPDF) $(LIBGZIP) \ |
545 | -lpythia8tohepmc -L$(HEPMCLOCATION)/$(LIBDIR) -lHepMC -lHepMCfio $(LIBGFORTRAN) \ |
546 | |
547 | +Pythia82: $(FORFILE) $(PYTHIA8LOCATION)/$(LIBDIR)/libpythia8.a |
548 | + $(CXX) $(CXXFLAGS) -I$(PYTHIA8LOCATION)/$(INCDIR) \ |
549 | + $(HEPMCINCLIB) -I$(TOPDIR)/$(INCDIR) \ |
550 | + -I$(TOPDIR)/$(INCDIR) $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o Pythia8.exe $(FORFILE) \ |
551 | + -L$(PYTHIA8LOCATION)/$(LIBDIR) -lpythia8 $(LIBGZIP) \ |
552 | + -lHepMCfio $(LIBGFORTRAN) \ |
553 | + |
554 | + |
555 | .PHONY: clean |
556 | clean: |
557 | rm -rf *.exe |
558 | |
559 | === modified file 'Template/NLO/MCatNLO/srcPythia8/Makefile_hep' |
560 | --- Template/NLO/MCatNLO/srcPythia8/Makefile_hep 2014-01-23 17:04:40 +0000 |
561 | +++ Template/NLO/MCatNLO/srcPythia8/Makefile_hep 2014-11-06 06:25:51 +0000 |
562 | @@ -64,12 +64,18 @@ |
563 | $(CXX) -c $< -fPIC $(INCLOPTION) -o $@ |
564 | |
565 | Pythia8: $(FORFILE) $(PYTHIA8LOCATION)/$(LIBDIRARCH)/libpythia8.a \ |
566 | - $(PYTHIA8LOCATION)/$(LIBDIRARCH)/libpythia8tohepmc.a |
567 | - $(CXX) $(CXXFLAGS) -I$(PYTHIA8LOCATION)/$(INCDIR) \ |
568 | - -I$(HEPMCLOCATION)/$(INCDIR) -I$(TOPDIR)/$(INCDIR) \ |
569 | - $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o $@.exe $(FORFILE) \ |
570 | - -L$(PYTHIA8LOCATION)/$(LIBDIRARCH) -lpythia8 $(LIBLHAPDF) $(LIBGZIP) \ |
571 | - -lpythia8tohepmc -L$(HEPMCLOCATION)/$(LIBDIR) -lHepMC |
572 | + $(PYTHIA8LOCATION)/$(LIBDIRARCH)/libpythia8tohepmc.a |
573 | + $(CXX) $(CXXFLAGS) -I$(PYTHIA8LOCATION)/$(INCDIR) \ |
574 | + -I$(HEPMCLOCATION)/$(INCDIR) -I$(TOPDIR)/$(INCDIR) \ |
575 | + $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o Pythia8.exe $(FORFILE) \ |
576 | + -L$(PYTHIA8LOCATION)/$(LIBDIRARCH) -lpythia8 $(LIBLHAPDF) $(LIBGZIP) \ |
577 | + -lpythia8tohepmc -L$(HEPMCLOCATION)/$(LIBDIR) -lHepMC |
578 | + |
579 | +Pythia82: $(FORFILE) $(PYTHIA8LOCATION)/$(LIBDIR)/libpythia8.a |
580 | + $(CXX) $(CXXFLAGS) -I$(PYTHIA8LOCATION)/$(INCDIR) \ |
581 | + $(HEPMCINCLIB) -I$(TOPDIR)/$(INCDIR) \ |
582 | + $(EXTRAPATHS) $(EXTRALIBS) $(INCLOPTION) $@.cc -o Pythia8.exe $(FORFILE) \ |
583 | + -L$(PYTHIA8LOCATION)/$(LIBDIR) -lpythia8 $(LIBGZIP) |
584 | |
585 | .PHONY: clean |
586 | clean: |
587 | |
588 | === added file 'Template/NLO/MCatNLO/srcPythia8/Pythia8.cc' |
589 | --- Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 1970-01-01 00:00:00 +0000 |
590 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2014-11-06 06:25:51 +0000 |
591 | @@ -0,0 +1,152 @@ |
592 | +// Driver for Pythia 8. Reads an input file dynamically created on |
593 | +// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
594 | +#include "Pythia8/Pythia.h" |
595 | +#include "Pythia8/Pythia8ToHepMC.h" |
596 | +#include "HepMC/GenEvent.h" |
597 | +#include "HepMC/IO_GenEvent.h" |
598 | +#include "HepMC/IO_BaseClass.h" |
599 | +#include "HepMC/IO_HEPEVT.h" |
600 | +#include "HepMC/HEPEVT_Wrapper.h" |
601 | +#include "fstream" |
602 | +#include "LHEFRead.h" |
603 | +#include "../examples/CombineMatchingInput.h" |
604 | + |
605 | +using namespace Pythia8; |
606 | + |
607 | +extern "C" { |
608 | + extern struct { |
609 | + double EVWGT; |
610 | + } cevwgt_; |
611 | +} |
612 | +#define cevwgt cevwgt_ |
613 | + |
614 | +extern "C" { |
615 | + void pyabeg_(int&,char(*)[15]); |
616 | + void pyaend_(double&); |
617 | + void pyanal_(int&,double(*)); |
618 | +} |
619 | + |
620 | +int main() { |
621 | + Pythia pythia; |
622 | + |
623 | + int cwgtinfo_nn; |
624 | + char cwgtinfo_weights_info[250][15]; |
625 | + double cwgt_ww[250]; |
626 | + |
627 | + string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
628 | + |
629 | + pythia.readFile(inputname.c_str()); |
630 | + |
631 | + //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
632 | + CombineMatchingInput combined; |
633 | + UserHooks* matching = combined.getHook(pythia); |
634 | + if (!matching) return 1; |
635 | + pythia.setUserHooksPtr(matching); |
636 | + |
637 | + pythia.init(); |
638 | + string filename = pythia.word("Beams:LHEF"); |
639 | + |
640 | + MyReader read(filename); |
641 | + read.lhef_read_wgtsinfo_(cwgtinfo_nn,cwgtinfo_weights_info); |
642 | + pyabeg_(cwgtinfo_nn,cwgtinfo_weights_info); |
643 | + |
644 | + int nAbort=10; |
645 | + int nPrintLHA=1; |
646 | + int iAbort=0; |
647 | + int iPrintLHA=0; |
648 | + int nstep=5000; |
649 | + int iEventtot=pythia.mode("Main:numberOfEvents"); |
650 | + int iEventshower=pythia.mode("Main:spareMode1"); |
651 | + string evt_norm=pythia.word("Main:spareWord1"); |
652 | + int iEventtot_norm=iEventtot; |
653 | + if (evt_norm == "average"){ |
654 | + iEventtot_norm=1; |
655 | + } |
656 | + |
657 | + //FxFx merging |
658 | + bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
659 | + if (isFxFx) { |
660 | + int nJmax=pythia.mode("JetMatching:nJetMax"); |
661 | + double Qcut=pythia.parm("JetMatching:qCut"); |
662 | + double PTcut=pythia.parm("JetMatching:qCutME"); |
663 | + if (Qcut <= PTcut || Qcut <= 0.) { |
664 | + std::cout << " \n"; |
665 | + std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
666 | + << Qcut << " " << PTcut << "\n"; |
667 | + return 0; |
668 | + } |
669 | + } |
670 | + |
671 | + HepMC::IO_BaseClass *_hepevtio; |
672 | + HepMC::Pythia8ToHepMC ToHepMC; |
673 | + HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
674 | + double nSelected; |
675 | + double norm; |
676 | + |
677 | + // Cross section |
678 | + double sigmaTotal = 0.; |
679 | + |
680 | + for (int iEvent = 0; ; ++iEvent) { |
681 | + if (!pythia.next()) { |
682 | + if (++iAbort < nAbort) continue; |
683 | + break; |
684 | + } |
685 | + // the number of events read by Pythia so far |
686 | + nSelected=double(pythia.info.nSelected()); |
687 | + // normalisation factor for the default analyses defined in pyanal_ |
688 | + norm=iEventtot_norm*iEvent/nSelected; |
689 | + |
690 | + if (nSelected >= iEventshower) break; |
691 | + if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
692 | + pythia.LHAeventList(); |
693 | + pythia.info.list(); |
694 | + pythia.process.list(); |
695 | + pythia.event.list(); |
696 | + ++iPrintLHA; |
697 | + } |
698 | + |
699 | + double evtweight = pythia.info.weight(); |
700 | + double normhepmc; |
701 | + // Add the weight of the current event to the cross section. |
702 | + normhepmc = 1. / double(iEventshower); |
703 | + if (evt_norm == "average") { |
704 | + sigmaTotal += evtweight*normhepmc; |
705 | + } else { |
706 | + sigmaTotal += evtweight*normhepmc*iEventtot; |
707 | + } |
708 | + |
709 | + HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
710 | + ToHepMC.fill_next_event( pythia, hepmcevt ); |
711 | + |
712 | + //define the IO_HEPEVT |
713 | + _hepevtio = new HepMC::IO_HEPEVT; |
714 | + _hepevtio->write_event(hepmcevt); |
715 | + |
716 | + //event weight |
717 | + cevwgt.EVWGT=hepmcevt->weights()[0]; |
718 | + |
719 | + //call the FORTRAN analysis for this event |
720 | + read.lhef_read_wgts_(cwgt_ww); |
721 | + pyanal_(cwgtinfo_nn,cwgt_ww); |
722 | + |
723 | + if (iEvent % nstep == 0 && iEvent >= 100){ |
724 | + pyaend_(norm); |
725 | + } |
726 | + delete hepmcevt; |
727 | + } |
728 | + pyaend_(norm); |
729 | + |
730 | + pythia.stat(); |
731 | + if (isFxFx){ |
732 | + std::cout << " \n"; |
733 | + std::cout << "*********************************************************************** \n"; |
734 | + std::cout << "*********************************************************************** \n"; |
735 | + std::cout << "Cross section, including FxFx merging is: " |
736 | + << sigmaTotal << "\n"; |
737 | + std::cout << "*********************************************************************** \n"; |
738 | + std::cout << "*********************************************************************** \n"; |
739 | + } |
740 | + delete matching; |
741 | + |
742 | + return 0; |
743 | +} |
744 | |
745 | === removed file 'Template/NLO/MCatNLO/srcPythia8/Pythia8.cc' |
746 | --- Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2014-05-20 11:47:02 +0000 |
747 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 1970-01-01 00:00:00 +0000 |
748 | @@ -1,152 +0,0 @@ |
749 | -// Driver for Pythia 8. Reads an input file dynamically created on |
750 | -// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
751 | -#include "Pythia8/Pythia.h" |
752 | -#include "Pythia8/Pythia8ToHepMC.h" |
753 | -#include "HepMC/GenEvent.h" |
754 | -#include "HepMC/IO_GenEvent.h" |
755 | -#include "HepMC/IO_BaseClass.h" |
756 | -#include "HepMC/IO_HEPEVT.h" |
757 | -#include "HepMC/HEPEVT_Wrapper.h" |
758 | -#include "fstream" |
759 | -#include "LHEFRead.h" |
760 | -#include "../examples/CombineMatchingInput.h" |
761 | - |
762 | -using namespace Pythia8; |
763 | - |
764 | -extern "C" { |
765 | - extern struct { |
766 | - double EVWGT; |
767 | - } cevwgt_; |
768 | -} |
769 | -#define cevwgt cevwgt_ |
770 | - |
771 | -extern "C" { |
772 | - void pyabeg_(int&,char(*)[15]); |
773 | - void pyaend_(double&); |
774 | - void pyanal_(int&,double(*)); |
775 | -} |
776 | - |
777 | -int main() { |
778 | - Pythia pythia; |
779 | - |
780 | - int cwgtinfo_nn; |
781 | - char cwgtinfo_weights_info[250][15]; |
782 | - double cwgt_ww[250]; |
783 | - |
784 | - string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
785 | - |
786 | - pythia.readFile(inputname.c_str()); |
787 | - |
788 | - //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
789 | - CombineMatchingInput combined; |
790 | - UserHooks* matching = combined.getHook(pythia); |
791 | - if (!matching) return 1; |
792 | - pythia.setUserHooksPtr(matching); |
793 | - |
794 | - pythia.init(); |
795 | - string filename = pythia.word("Beams:LHEF"); |
796 | - |
797 | - MyReader read(filename); |
798 | - read.lhef_read_wgtsinfo_(cwgtinfo_nn,cwgtinfo_weights_info); |
799 | - pyabeg_(cwgtinfo_nn,cwgtinfo_weights_info); |
800 | - |
801 | - int nAbort=10; |
802 | - int nPrintLHA=1; |
803 | - int iAbort=0; |
804 | - int iPrintLHA=0; |
805 | - int nstep=5000; |
806 | - int iEventtot=pythia.mode("Main:numberOfEvents"); |
807 | - int iEventshower=pythia.mode("Main:spareMode1"); |
808 | - string evt_norm=pythia.word("Main:spareWord1"); |
809 | - int iEventtot_norm=iEventtot; |
810 | - if (evt_norm == "average"){ |
811 | - iEventtot_norm=1; |
812 | - } |
813 | - |
814 | - //FxFx merging |
815 | - bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
816 | - if (isFxFx) { |
817 | - int nJmax=pythia.mode("JetMatching:nJetMax"); |
818 | - double Qcut=pythia.parm("JetMatching:qCut"); |
819 | - double PTcut=pythia.parm("JetMatching:qCutME"); |
820 | - if (Qcut <= PTcut || Qcut <= 0.) { |
821 | - std::cout << " \n"; |
822 | - std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
823 | - << Qcut << " " << PTcut << "\n"; |
824 | - return 0; |
825 | - } |
826 | - } |
827 | - |
828 | - HepMC::IO_BaseClass *_hepevtio; |
829 | - HepMC::Pythia8ToHepMC ToHepMC; |
830 | - HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
831 | - double nSelected; |
832 | - double norm; |
833 | - |
834 | - // Cross section |
835 | - double sigmaTotal = 0.; |
836 | - |
837 | - for (int iEvent = 0; ; ++iEvent) { |
838 | - if (!pythia.next()) { |
839 | - if (++iAbort < nAbort) continue; |
840 | - break; |
841 | - } |
842 | - // the number of events read by Pythia so far |
843 | - nSelected=double(pythia.info.nSelected()); |
844 | - // normalisation factor for the default analyses defined in pyanal_ |
845 | - norm=iEventtot_norm*iEvent/nSelected; |
846 | - |
847 | - if (nSelected >= iEventshower) break; |
848 | - if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
849 | - pythia.LHAeventList(); |
850 | - pythia.info.list(); |
851 | - pythia.process.list(); |
852 | - pythia.event.list(); |
853 | - ++iPrintLHA; |
854 | - } |
855 | - |
856 | - double evtweight = pythia.info.weight(); |
857 | - double normhepmc; |
858 | - // Add the weight of the current event to the cross section. |
859 | - normhepmc = 1. / double(iEventshower); |
860 | - if (evt_norm == "average") { |
861 | - sigmaTotal += evtweight*normhepmc; |
862 | - } else { |
863 | - sigmaTotal += evtweight*normhepmc*iEventtot; |
864 | - } |
865 | - |
866 | - HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
867 | - ToHepMC.fill_next_event( pythia, hepmcevt ); |
868 | - |
869 | - //define the IO_HEPEVT |
870 | - _hepevtio = new HepMC::IO_HEPEVT; |
871 | - _hepevtio->write_event(hepmcevt); |
872 | - |
873 | - //event weight |
874 | - cevwgt.EVWGT=hepmcevt->weights()[0]; |
875 | - |
876 | - //call the FORTRAN analysis for this event |
877 | - read.lhef_read_wgts_(cwgt_ww); |
878 | - pyanal_(cwgtinfo_nn,cwgt_ww); |
879 | - |
880 | - if (iEvent % nstep == 0 && iEvent >= 100){ |
881 | - pyaend_(norm); |
882 | - } |
883 | - delete hepmcevt; |
884 | - } |
885 | - pyaend_(norm); |
886 | - |
887 | - pythia.stat(); |
888 | - if (isFxFx){ |
889 | - std::cout << " \n"; |
890 | - std::cout << "*********************************************************************** \n"; |
891 | - std::cout << "*********************************************************************** \n"; |
892 | - std::cout << "Cross section, including FxFx merging is: " |
893 | - << sigmaTotal << "\n"; |
894 | - std::cout << "*********************************************************************** \n"; |
895 | - std::cout << "*********************************************************************** \n"; |
896 | - } |
897 | - delete matching; |
898 | - |
899 | - return 0; |
900 | -} |
901 | |
902 | === added file 'Template/NLO/MCatNLO/srcPythia8/Pythia82.cc' |
903 | --- Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 1970-01-01 00:00:00 +0000 |
904 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2014-11-06 06:25:51 +0000 |
905 | @@ -0,0 +1,153 @@ |
906 | +// Driver for Pythia 8. Reads an input file dynamically created on |
907 | +// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
908 | +#include "Pythia8/Pythia.h" |
909 | +#include "Pythia8Plugins/HepMC2.h" |
910 | +#include "Pythia8Plugins/aMCatNLOHooks.h" |
911 | +#include "Pythia8Plugins/CombineMatchingInput.h" |
912 | +#include "HepMC/GenEvent.h" |
913 | +#include "HepMC/IO_GenEvent.h" |
914 | +#include "HepMC/IO_BaseClass.h" |
915 | +#include "HepMC/IO_HEPEVT.h" |
916 | +#include "HepMC/HEPEVT_Wrapper.h" |
917 | +#include "fstream" |
918 | +#include "LHEFRead.h" |
919 | + |
920 | +using namespace Pythia8; |
921 | + |
922 | +extern "C" { |
923 | + extern struct { |
924 | + double EVWGT; |
925 | + } cevwgt_; |
926 | +} |
927 | +#define cevwgt cevwgt_ |
928 | + |
929 | +extern "C" { |
930 | + void pyabeg_(int&,char(*)[15]); |
931 | + void pyaend_(double&); |
932 | + void pyanal_(int&,double(*)); |
933 | +} |
934 | + |
935 | +int main() { |
936 | + Pythia pythia; |
937 | + |
938 | + int cwgtinfo_nn; |
939 | + char cwgtinfo_weights_info[250][15]; |
940 | + double cwgt_ww[250]; |
941 | + |
942 | + string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
943 | + |
944 | + pythia.readFile(inputname.c_str()); |
945 | + |
946 | + //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
947 | + CombineMatchingInput combined; |
948 | + UserHooks* matching = combined.getHook(pythia); |
949 | + if (!matching) return 1; |
950 | + pythia.setUserHooksPtr(matching); |
951 | + |
952 | + pythia.init(); |
953 | + string filename = pythia.word("Beams:LHEF"); |
954 | + |
955 | + MyReader read(filename); |
956 | + read.lhef_read_wgtsinfo_(cwgtinfo_nn,cwgtinfo_weights_info); |
957 | + pyabeg_(cwgtinfo_nn,cwgtinfo_weights_info); |
958 | + |
959 | + int nAbort=10; |
960 | + int nPrintLHA=1; |
961 | + int iAbort=0; |
962 | + int iPrintLHA=0; |
963 | + int nstep=5000; |
964 | + int iEventtot=pythia.mode("Main:numberOfEvents"); |
965 | + int iEventshower=pythia.mode("Main:spareMode1"); |
966 | + string evt_norm=pythia.word("Main:spareWord1"); |
967 | + int iEventtot_norm=iEventtot; |
968 | + if (evt_norm == "average"){ |
969 | + iEventtot_norm=1; |
970 | + } |
971 | + |
972 | + //FxFx merging |
973 | + bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
974 | + if (isFxFx) { |
975 | + int nJmax=pythia.mode("JetMatching:nJetMax"); |
976 | + double Qcut=pythia.parm("JetMatching:qCut"); |
977 | + double PTcut=pythia.parm("JetMatching:qCutME"); |
978 | + if (Qcut <= PTcut || Qcut <= 0.) { |
979 | + std::cout << " \n"; |
980 | + std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
981 | + << Qcut << " " << PTcut << "\n"; |
982 | + return 0; |
983 | + } |
984 | + } |
985 | + |
986 | + HepMC::IO_BaseClass *_hepevtio; |
987 | + HepMC::Pythia8ToHepMC ToHepMC; |
988 | + HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
989 | + double nSelected; |
990 | + double norm; |
991 | + |
992 | + // Cross section |
993 | + double sigmaTotal = 0.; |
994 | + |
995 | + for (int iEvent = 0; ; ++iEvent) { |
996 | + if (!pythia.next()) { |
997 | + if (++iAbort < nAbort) continue; |
998 | + break; |
999 | + } |
1000 | + // the number of events read by Pythia so far |
1001 | + nSelected=double(pythia.info.nSelected()); |
1002 | + // normalisation factor for the default analyses defined in pyanal_ |
1003 | + norm=iEventtot_norm*iEvent/nSelected; |
1004 | + |
1005 | + if (nSelected >= iEventshower) break; |
1006 | + if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
1007 | + pythia.LHAeventList(); |
1008 | + pythia.info.list(); |
1009 | + pythia.process.list(); |
1010 | + pythia.event.list(); |
1011 | + ++iPrintLHA; |
1012 | + } |
1013 | + |
1014 | + double evtweight = pythia.info.weight(); |
1015 | + double normhepmc; |
1016 | + // Add the weight of the current event to the cross section. |
1017 | + normhepmc = 1. / double(iEventshower); |
1018 | + if (evt_norm == "average") { |
1019 | + sigmaTotal += evtweight*normhepmc; |
1020 | + } else { |
1021 | + sigmaTotal += evtweight*normhepmc*iEventtot; |
1022 | + } |
1023 | + |
1024 | + HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
1025 | + ToHepMC.fill_next_event( pythia, hepmcevt ); |
1026 | + |
1027 | + //define the IO_HEPEVT |
1028 | + _hepevtio = new HepMC::IO_HEPEVT; |
1029 | + _hepevtio->write_event(hepmcevt); |
1030 | + |
1031 | + //event weight |
1032 | + cevwgt.EVWGT=hepmcevt->weights()[0]; |
1033 | + |
1034 | + //call the FORTRAN analysis for this event |
1035 | + read.lhef_read_wgts_(cwgt_ww); |
1036 | + pyanal_(cwgtinfo_nn,cwgt_ww); |
1037 | + |
1038 | + if (iEvent % nstep == 0 && iEvent >= 100){ |
1039 | + pyaend_(norm); |
1040 | + } |
1041 | + delete hepmcevt; |
1042 | + } |
1043 | + pyaend_(norm); |
1044 | + |
1045 | + pythia.stat(); |
1046 | + if (isFxFx){ |
1047 | + std::cout << " \n"; |
1048 | + std::cout << "*********************************************************************** \n"; |
1049 | + std::cout << "*********************************************************************** \n"; |
1050 | + std::cout << "Cross section, including FxFx merging is: " |
1051 | + << sigmaTotal << "\n"; |
1052 | + std::cout << "*********************************************************************** \n"; |
1053 | + std::cout << "*********************************************************************** \n"; |
1054 | + } |
1055 | + delete matching; |
1056 | + |
1057 | + return 0; |
1058 | +} |
1059 | |
1060 | === added file 'Template/NLO/MCatNLO/srcPythia8/Pythia82_hep.cc' |
1061 | --- Template/NLO/MCatNLO/srcPythia8/Pythia82_hep.cc 1970-01-01 00:00:00 +0000 |
1062 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia82_hep.cc 2014-11-06 06:25:51 +0000 |
1063 | @@ -0,0 +1,112 @@ |
1064 | +// Driver for Pythia 8. Reads an input file dynamically created on |
1065 | +// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
1066 | +#include "Pythia8/Pythia.h" |
1067 | +#include "Pythia8Plugins/HepMC2.h" |
1068 | +#include "Pythia8Plugins/aMCatNLOHooks.h" |
1069 | +#include "Pythia8Plugins/CombineMatchingInput.h" |
1070 | +#include "HepMC/GenEvent.h" |
1071 | +#include "HepMC/IO_GenEvent.h" |
1072 | + |
1073 | +using namespace Pythia8; |
1074 | + |
1075 | +int main() { |
1076 | + Pythia pythia; |
1077 | + |
1078 | + string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
1079 | + |
1080 | + pythia.readFile(inputname.c_str()); |
1081 | + |
1082 | + //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
1083 | + CombineMatchingInput combined; |
1084 | + UserHooks* matching = combined.getHook(pythia); |
1085 | + if (!matching) return 1; |
1086 | + pythia.setUserHooksPtr(matching); |
1087 | + |
1088 | + pythia.init(); |
1089 | + |
1090 | + int nAbort=10; |
1091 | + int nPrintLHA=1; |
1092 | + int iAbort=0; |
1093 | + int iPrintLHA=0; |
1094 | + int iEventtot=pythia.mode("Main:numberOfEvents"); |
1095 | + int iEventshower=pythia.mode("Main:spareMode1"); |
1096 | + string evt_norm=pythia.word("Main:spareWord1"); |
1097 | + |
1098 | + //FxFx merging |
1099 | + bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
1100 | + if (isFxFx) { |
1101 | + int nJmax=pythia.mode("JetMatching:nJetMax"); |
1102 | + double Qcut=pythia.parm("JetMatching:qCut"); |
1103 | + double PTcut=pythia.parm("JetMatching:qCutME"); |
1104 | + if (Qcut <= PTcut || Qcut <= 0.) { |
1105 | + std::cout << " \n"; |
1106 | + std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
1107 | + << Qcut << " " << PTcut << "\n"; |
1108 | + return 0; |
1109 | + } |
1110 | + } |
1111 | + |
1112 | + HepMC::Pythia8ToHepMC ToHepMC; |
1113 | + HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
1114 | + // Do not store cross section information, as this will be done manually. |
1115 | + ToHepMC.set_store_pdf(false); |
1116 | + ToHepMC.set_store_proc(false); |
1117 | + ToHepMC.set_store_xsec(false); |
1118 | + |
1119 | + // Cross section an error. |
1120 | + double sigmaTotal = 0.; |
1121 | + double errorTotal = 0.; |
1122 | + |
1123 | + for (int iEvent = 0; ; ++iEvent) { |
1124 | + if (!pythia.next()) { |
1125 | + if (++iAbort < nAbort) continue; |
1126 | + break; |
1127 | + } |
1128 | + // the number of events read by Pythia so far |
1129 | + int nSelected=pythia.info.nSelected(); |
1130 | + |
1131 | + if (nSelected >= iEventshower) break; |
1132 | + if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
1133 | + pythia.LHAeventList(); |
1134 | + pythia.info.list(); |
1135 | + pythia.process.list(); |
1136 | + pythia.event.list(); |
1137 | + ++iPrintLHA; |
1138 | + } |
1139 | + |
1140 | + HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
1141 | + double evtweight = pythia.info.weight(); |
1142 | + double normhepmc; |
1143 | + // ALWAYS NORMALISE HEPMC WEIGHTS TO SUM TO THE CROSS SECTION |
1144 | + if (evt_norm == "average") { |
1145 | + normhepmc = 1. / double(iEventshower); |
1146 | + } else { |
1147 | + normhepmc = double(iEventtot) / double(iEventshower); |
1148 | + } |
1149 | + hepmcevt->weights().push_back(evtweight*normhepmc); |
1150 | + ToHepMC.fill_next_event( pythia, hepmcevt ); |
1151 | + // Add the weight of the current event to the cross section. |
1152 | + // Report cross section to hepmc |
1153 | + HepMC::GenCrossSection xsec; |
1154 | + xsec.set_cross_section( sigmaTotal, pythia.info.sigmaErr() ); |
1155 | + hepmcevt->set_cross_section( xsec ); |
1156 | + // Write the HepMC event to file. Done with it. |
1157 | + ascii_io << hepmcevt; |
1158 | + delete hepmcevt; |
1159 | + } |
1160 | + |
1161 | + pythia.stat(); |
1162 | + if (isFxFx){ |
1163 | + std::cout << " \n"; |
1164 | + std::cout << "*********************************************************************** \n"; |
1165 | + std::cout << "*********************************************************************** \n"; |
1166 | + std::cout << "Cross section, including FxFx merging is: " |
1167 | + << sigmaTotal << "\n"; |
1168 | + std::cout << "*********************************************************************** \n"; |
1169 | + std::cout << "*********************************************************************** \n"; |
1170 | + } |
1171 | + |
1172 | + delete matching; |
1173 | + |
1174 | + return 0; |
1175 | +} |
1176 | |
1177 | === added file 'Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc' |
1178 | --- Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc 1970-01-01 00:00:00 +0000 |
1179 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc 2014-11-06 06:25:51 +0000 |
1180 | @@ -0,0 +1,111 @@ |
1181 | +// Driver for Pythia 8. Reads an input file dynamically created on |
1182 | +// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
1183 | +#include "Pythia8/Pythia.h" |
1184 | +#include "Pythia8/Pythia8ToHepMC.h" |
1185 | +#include "HepMC/GenEvent.h" |
1186 | +#include "HepMC/IO_GenEvent.h" |
1187 | +#include "../examples/CombineMatchingInput.h" |
1188 | + |
1189 | +using namespace Pythia8; |
1190 | + |
1191 | +int main() { |
1192 | + Pythia pythia; |
1193 | + |
1194 | + string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
1195 | + |
1196 | + pythia.readFile(inputname.c_str()); |
1197 | + |
1198 | + //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
1199 | + CombineMatchingInput combined; |
1200 | + UserHooks* matching = combined.getHook(pythia); |
1201 | + if (!matching) return 1; |
1202 | + pythia.setUserHooksPtr(matching); |
1203 | + |
1204 | + pythia.init(); |
1205 | + |
1206 | + int nAbort=10; |
1207 | + int nPrintLHA=1; |
1208 | + int iAbort=0; |
1209 | + int iPrintLHA=0; |
1210 | + int iEventtot=pythia.mode("Main:numberOfEvents"); |
1211 | + int iEventshower=pythia.mode("Main:spareMode1"); |
1212 | + string evt_norm=pythia.word("Main:spareWord1"); |
1213 | + |
1214 | + //FxFx merging |
1215 | + bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
1216 | + if (isFxFx) { |
1217 | + int nJmax=pythia.mode("JetMatching:nJetMax"); |
1218 | + double Qcut=pythia.parm("JetMatching:qCut"); |
1219 | + double PTcut=pythia.parm("JetMatching:qCutME"); |
1220 | + if (Qcut <= PTcut || Qcut <= 0.) { |
1221 | + std::cout << " \n"; |
1222 | + std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
1223 | + << Qcut << " " << PTcut << "\n"; |
1224 | + return 0; |
1225 | + } |
1226 | + } |
1227 | + |
1228 | + HepMC::Pythia8ToHepMC ToHepMC; |
1229 | + HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
1230 | + // Do not store cross section information, as this will be done manually. |
1231 | + ToHepMC.set_store_pdf(false); |
1232 | + ToHepMC.set_store_proc(false); |
1233 | + ToHepMC.set_store_xsec(false); |
1234 | + |
1235 | + // Cross section an error. |
1236 | + double sigmaTotal = 0.; |
1237 | + double errorTotal = 0.; |
1238 | + |
1239 | + for (int iEvent = 0; ; ++iEvent) { |
1240 | + if (!pythia.next()) { |
1241 | + if (++iAbort < nAbort) continue; |
1242 | + break; |
1243 | + } |
1244 | + // the number of events read by Pythia so far |
1245 | + int nSelected=pythia.info.nSelected(); |
1246 | + |
1247 | + if (nSelected >= iEventshower) break; |
1248 | + if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
1249 | + pythia.LHAeventList(); |
1250 | + pythia.info.list(); |
1251 | + pythia.process.list(); |
1252 | + pythia.event.list(); |
1253 | + ++iPrintLHA; |
1254 | + } |
1255 | + |
1256 | + HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
1257 | + double evtweight = pythia.info.weight(); |
1258 | + double normhepmc; |
1259 | + // ALWAYS NORMALISE HEPMC WEIGHTS TO SUM TO THE CROSS SECTION |
1260 | + if (evt_norm == "average") { |
1261 | + normhepmc = 1. / double(iEventshower); |
1262 | + } else { |
1263 | + normhepmc = double(iEventtot) / double(iEventshower); |
1264 | + } |
1265 | + hepmcevt->weights().push_back(evtweight*normhepmc); |
1266 | + ToHepMC.fill_next_event( pythia, hepmcevt ); |
1267 | + // Add the weight of the current event to the cross section. |
1268 | + // Report cross section to hepmc |
1269 | + HepMC::GenCrossSection xsec; |
1270 | + xsec.set_cross_section( sigmaTotal, pythia.info.sigmaErr() ); |
1271 | + hepmcevt->set_cross_section( xsec ); |
1272 | + // Write the HepMC event to file. Done with it. |
1273 | + ascii_io << hepmcevt; |
1274 | + delete hepmcevt; |
1275 | + } |
1276 | + |
1277 | + pythia.stat(); |
1278 | + if (isFxFx){ |
1279 | + std::cout << " \n"; |
1280 | + std::cout << "*********************************************************************** \n"; |
1281 | + std::cout << "*********************************************************************** \n"; |
1282 | + std::cout << "Cross section, including FxFx merging is: " |
1283 | + << sigmaTotal << "\n"; |
1284 | + std::cout << "*********************************************************************** \n"; |
1285 | + std::cout << "*********************************************************************** \n"; |
1286 | + } |
1287 | + |
1288 | + delete matching; |
1289 | + |
1290 | + return 0; |
1291 | +} |
1292 | |
1293 | === removed file 'Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc' |
1294 | --- Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc 2014-05-20 11:47:02 +0000 |
1295 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia8_hep.cc 1970-01-01 00:00:00 +0000 |
1296 | @@ -1,111 +0,0 @@ |
1297 | -// Driver for Pythia 8. Reads an input file dynamically created on |
1298 | -// the basis of the inputs specified in MCatNLO_MadFKS_PY8.Script |
1299 | -#include "Pythia8/Pythia.h" |
1300 | -#include "Pythia8/Pythia8ToHepMC.h" |
1301 | -#include "HepMC/GenEvent.h" |
1302 | -#include "HepMC/IO_GenEvent.h" |
1303 | -#include "../examples/CombineMatchingInput.h" |
1304 | - |
1305 | -using namespace Pythia8; |
1306 | - |
1307 | -int main() { |
1308 | - Pythia pythia; |
1309 | - |
1310 | - string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
1311 | - |
1312 | - pythia.readFile(inputname.c_str()); |
1313 | - |
1314 | - //Create UserHooks pointer for the FxFX matching. Stop if it failed. Pass pointer to Pythia. |
1315 | - CombineMatchingInput combined; |
1316 | - UserHooks* matching = combined.getHook(pythia); |
1317 | - if (!matching) return 1; |
1318 | - pythia.setUserHooksPtr(matching); |
1319 | - |
1320 | - pythia.init(); |
1321 | - |
1322 | - int nAbort=10; |
1323 | - int nPrintLHA=1; |
1324 | - int iAbort=0; |
1325 | - int iPrintLHA=0; |
1326 | - int iEventtot=pythia.mode("Main:numberOfEvents"); |
1327 | - int iEventshower=pythia.mode("Main:spareMode1"); |
1328 | - string evt_norm=pythia.word("Main:spareWord1"); |
1329 | - |
1330 | - //FxFx merging |
1331 | - bool isFxFx=pythia.flag("JetMatching:doFxFx"); |
1332 | - if (isFxFx) { |
1333 | - int nJmax=pythia.mode("JetMatching:nJetMax"); |
1334 | - double Qcut=pythia.parm("JetMatching:qCut"); |
1335 | - double PTcut=pythia.parm("JetMatching:qCutME"); |
1336 | - if (Qcut <= PTcut || Qcut <= 0.) { |
1337 | - std::cout << " \n"; |
1338 | - std::cout << "Merging scale (shower_card.dat) smaller than pTcut (run_card.dat)" |
1339 | - << Qcut << " " << PTcut << "\n"; |
1340 | - return 0; |
1341 | - } |
1342 | - } |
1343 | - |
1344 | - HepMC::Pythia8ToHepMC ToHepMC; |
1345 | - HepMC::IO_GenEvent ascii_io(outputname.c_str(), std::ios::out); |
1346 | - // Do not store cross section information, as this will be done manually. |
1347 | - ToHepMC.set_store_pdf(false); |
1348 | - ToHepMC.set_store_proc(false); |
1349 | - ToHepMC.set_store_xsec(false); |
1350 | - |
1351 | - // Cross section an error. |
1352 | - double sigmaTotal = 0.; |
1353 | - double errorTotal = 0.; |
1354 | - |
1355 | - for (int iEvent = 0; ; ++iEvent) { |
1356 | - if (!pythia.next()) { |
1357 | - if (++iAbort < nAbort) continue; |
1358 | - break; |
1359 | - } |
1360 | - // the number of events read by Pythia so far |
1361 | - int nSelected=pythia.info.nSelected(); |
1362 | - |
1363 | - if (nSelected >= iEventshower) break; |
1364 | - if (pythia.info.isLHA() && iPrintLHA < nPrintLHA) { |
1365 | - pythia.LHAeventList(); |
1366 | - pythia.info.list(); |
1367 | - pythia.process.list(); |
1368 | - pythia.event.list(); |
1369 | - ++iPrintLHA; |
1370 | - } |
1371 | - |
1372 | - HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); |
1373 | - double evtweight = pythia.info.weight(); |
1374 | - double normhepmc; |
1375 | - // ALWAYS NORMALISE HEPMC WEIGHTS TO SUM TO THE CROSS SECTION |
1376 | - if (evt_norm == "average") { |
1377 | - normhepmc = 1. / double(iEventshower); |
1378 | - } else { |
1379 | - normhepmc = double(iEventtot) / double(iEventshower); |
1380 | - } |
1381 | - hepmcevt->weights().push_back(evtweight*normhepmc); |
1382 | - ToHepMC.fill_next_event( pythia, hepmcevt ); |
1383 | - // Add the weight of the current event to the cross section. |
1384 | - // Report cross section to hepmc |
1385 | - HepMC::GenCrossSection xsec; |
1386 | - xsec.set_cross_section( sigmaTotal, pythia.info.sigmaErr() ); |
1387 | - hepmcevt->set_cross_section( xsec ); |
1388 | - // Write the HepMC event to file. Done with it. |
1389 | - ascii_io << hepmcevt; |
1390 | - delete hepmcevt; |
1391 | - } |
1392 | - |
1393 | - pythia.stat(); |
1394 | - if (isFxFx){ |
1395 | - std::cout << " \n"; |
1396 | - std::cout << "*********************************************************************** \n"; |
1397 | - std::cout << "*********************************************************************** \n"; |
1398 | - std::cout << "Cross section, including FxFx merging is: " |
1399 | - << sigmaTotal << "\n"; |
1400 | - std::cout << "*********************************************************************** \n"; |
1401 | - std::cout << "*********************************************************************** \n"; |
1402 | - } |
1403 | - |
1404 | - delete matching; |
1405 | - |
1406 | - return 0; |
1407 | -} |
1408 | |
1409 | === modified file 'Template/NLO/Source/PDF/pdf.f' |
1410 | --- Template/NLO/Source/PDF/pdf.f 2014-05-16 08:09:51 +0000 |
1411 | +++ Template/NLO/Source/PDF/pdf.f 2014-11-06 06:25:51 +0000 |
1412 | @@ -45,6 +45,7 @@ |
1413 | do i=-5,5 |
1414 | fx(i)=nnfx(i)/x |
1415 | enddo |
1416 | + fx(7)=nnfx(7)/x |
1417 | elseif ((pdlabel(1:3) .eq. 'mrs') |
1418 | . .or. (pdlabel(2:4) .eq. 'mrs')) then |
1419 | |
1420 | |
1421 | === modified file 'Template/NLO/Source/banner_header.txt' |
1422 | --- Template/NLO/Source/banner_header.txt 2013-11-30 09:22:32 +0000 |
1423 | +++ Template/NLO/Source/banner_header.txt 2014-11-06 06:25:51 +0000 |
1424 | @@ -1,4 +1,4 @@ |
1425 | -<LesHouchesEvents version="1.0"> |
1426 | +<LesHouchesEvents version="3.0"> |
1427 | <header> |
1428 | <!-- |
1429 | #********************************************************************* |
1430 | |
1431 | === modified file 'Template/NLO/Source/make_opts.inc' |
1432 | --- Template/NLO/Source/make_opts.inc 2014-09-02 12:20:56 +0000 |
1433 | +++ Template/NLO/Source/make_opts.inc 2014-11-06 06:25:51 +0000 |
1434 | @@ -16,8 +16,7 @@ |
1435 | CFLAGS = -O |
1436 | endif |
1437 | |
1438 | - |
1439 | - |
1440 | +# Increase the number of allowed charcters in a Fortran line |
1441 | FFLAGS+= -ffixed-line-length-132 |
1442 | |
1443 | # Set FC unless it's defined by an environment variable |
1444 | |
1445 | === modified file 'Template/NLO/Source/setrun.f' |
1446 | --- Template/NLO/Source/setrun.f 2014-09-11 05:33:30 +0000 |
1447 | +++ Template/NLO/Source/setrun.f 2014-11-06 06:25:51 +0000 |
1448 | @@ -56,7 +56,7 @@ |
1449 | & xmaxup(maxpup),lprup(maxpup) |
1450 | c |
1451 | include 'nexternal.inc' |
1452 | - include 'leshouche_info.inc' |
1453 | + include 'leshouche_decl.inc' |
1454 | logical gridrun,gridpack |
1455 | integer iseed |
1456 | common /to_seed/ iseed |
1457 | @@ -73,7 +73,8 @@ |
1458 | |
1459 | c MZ add the possibility to have shower_MC input lowercase |
1460 | call to_upper(shower_MC) |
1461 | - |
1462 | +C |
1463 | + call read_leshouche_info(idup_d,mothup_d,icolup_d) |
1464 | |
1465 | c merging cuts |
1466 | xqcut=0d0 |
1467 | |
1468 | === modified file 'Template/NLO/SubProcesses/FKSParamReader.f' |
1469 | --- Template/NLO/SubProcesses/FKSParamReader.f 2013-11-27 09:02:57 +0000 |
1470 | +++ Template/NLO/SubProcesses/FKSParamReader.f 2014-11-06 06:25:51 +0000 |
1471 | @@ -6,7 +6,8 @@ |
1472 | data HasReadOnce/.FALSE./ |
1473 | |
1474 | |
1475 | - CHARACTER*64 fileName, buff, buff2, mode |
1476 | + character(*) filename |
1477 | + CHARACTER*64 buff, buff2, mode |
1478 | include "FKSParams.inc" |
1479 | |
1480 | logical printParam, couldRead, paramPrinted |
1481 | @@ -18,36 +19,36 @@ |
1482 | goto 901 |
1483 | endif |
1484 | |
1485 | - open(666, file=fileName, err=676, action='READ') |
1486 | + open(68, file=fileName, err=676, action='READ') |
1487 | do |
1488 | - read(666,*,end=999) buff |
1489 | + read(68,*,end=999) buff |
1490 | if(index(buff,'#').eq.1) then |
1491 | |
1492 | if (buff .eq. '#IRPoleCheckThreshold') then |
1493 | - read(666,*,end=999) IRPoleCheckThreshold |
1494 | + read(68,*,end=999) IRPoleCheckThreshold |
1495 | if (IRPoleCheckThreshold .lt. -1.01d0 ) then |
1496 | stop 'IRPoleCheckThreshold must be >= -1.0d0.' |
1497 | endif |
1498 | |
1499 | elseif (buff .eq. '#PrecisionVirtualAtRunTime') then |
1500 | - read(666,*,end=999) PrecisionVirtualAtRunTime |
1501 | + read(68,*,end=999) PrecisionVirtualAtRunTime |
1502 | if (IRPoleCheckThreshold .lt. -1.01d0 ) then |
1503 | stop 'PrecisionVirtualAtRunTime must be >= -1.0d0.' |
1504 | endif |
1505 | |
1506 | else if (buff .eq. '#NHelForMCoverHels') then |
1507 | - read(666,*,end=999) NHelForMCoverHels |
1508 | + read(68,*,end=999) NHelForMCoverHels |
1509 | if (NHelForMCoverHels .lt. -1) then |
1510 | stop 'NHelForMCoverHels must be >= -1.' |
1511 | endif |
1512 | else if (buff .eq. '#VirtualFraction') then |
1513 | - read(666,*,end=999) Virt_fraction |
1514 | + read(68,*,end=999) Virt_fraction |
1515 | if (Virt_fraction .lt. 0 .or. virt_fraction .gt.1) then |
1516 | stop 'VirtualFraction should be a fraction'/ |
1517 | $ /' between 0 and 1' |
1518 | endif |
1519 | else if (buff .eq. '#MinVirtualFraction') then |
1520 | - read(666,*,end=999) Min_Virt_fraction |
1521 | + read(68,*,end=999) Min_Virt_fraction |
1522 | if (min_virt_fraction .lt. 0 .or. min_virt_fraction .gt.1) |
1523 | $ then |
1524 | stop 'VirtualFraction should be a fraction'/ |
1525 | @@ -100,7 +101,7 @@ |
1526 | paramPrinted=.TRUE. |
1527 | endif |
1528 | |
1529 | - close(666) |
1530 | + close(68) |
1531 | HasReadOnce=.TRUE. |
1532 | 901 continue |
1533 | end |
1534 | |
1535 | === modified file 'Template/NLO/SubProcesses/add_write_info.f' |
1536 | --- Template/NLO/SubProcesses/add_write_info.f 2014-08-05 13:04:11 +0000 |
1537 | +++ Template/NLO/SubProcesses/add_write_info.f 2014-11-06 06:25:51 +0000 |
1538 | @@ -9,7 +9,7 @@ |
1539 | include "coloramps.inc" |
1540 | include "reweight0.inc" |
1541 | include "nFKSconfigs.inc" |
1542 | - include "leshouche_info.inc" |
1543 | + include "leshouche_decl.inc" |
1544 | include "run.inc" |
1545 | |
1546 | c Arguments |
1547 | |
1548 | === modified file 'Template/NLO/SubProcesses/ajob_template' |
1549 | --- Template/NLO/SubProcesses/ajob_template 2014-09-12 10:53:25 +0000 |
1550 | +++ Template/NLO/SubProcesses/ajob_template 2014-11-06 06:25:51 +0000 |
1551 | @@ -8,7 +8,7 @@ |
1552 | } |
1553 | |
1554 | tarCounter=0 |
1555 | -while [[ (-e MadLoop5_resources.tar.gz) && (! -e MadLoop5_resources/HelConfigs.dat) && ($tarCounter < 10) ]]; do |
1556 | +while [[ (-f MadLoop5_resources.tar.gz) && (! -f MadLoop5_resources/HelConfigs.dat) && ($tarCounter < 10) ]]; do |
1557 | if [[ $tarCounter > 0 ]]; then |
1558 | sleep 2s |
1559 | fi |
1560 | @@ -90,6 +90,8 @@ |
1561 | fi |
1562 | |
1563 | link1up FKS_params.dat |
1564 | + link1up configs_and_props_info.dat |
1565 | + link1up leshouche_info.dat |
1566 | # Not necessary anymore |
1567 | # link1up MadLoop5_resources |
1568 | link1up OLE_order.olc |
1569 | |
1570 | === modified file 'Template/NLO/SubProcesses/check_poles.f' |
1571 | --- Template/NLO/SubProcesses/check_poles.f 2014-09-24 01:01:34 +0000 |
1572 | +++ Template/NLO/SubProcesses/check_poles.f 2014-11-06 06:25:51 +0000 |
1573 | @@ -15,7 +15,6 @@ |
1574 | double precision tolerance, tolerance_default |
1575 | double precision, allocatable :: accuracies(:) |
1576 | double precision accuracy |
1577 | - parameter (tolerance_default = 1d-5) |
1578 | double precision ren_scale, energy |
1579 | include 'genps.inc' |
1580 | include 'nexternal.inc' |
1581 | @@ -54,6 +53,7 @@ |
1582 | integer nfail |
1583 | logical first_time |
1584 | data first_time/.TRUE./ |
1585 | + include 'FKSParams.inc' |
1586 | |
1587 | C----- |
1588 | C BEGIN CODE |
1589 | @@ -72,13 +72,15 @@ |
1590 | call run_printout !Prints out a summary of the run settings |
1591 | include 'pmass.inc' |
1592 | |
1593 | + call FKSParamReader('FKS_params.dat',.TRUE.,.FALSE.) |
1594 | + tolerance_default = IRPoleCheckThreshold |
1595 | |
1596 | c Set the energy to be characteristic of the run |
1597 | totmass = 0.0d0 |
1598 | do i=1,nexternal |
1599 | totmass = totmass + pmass(i) |
1600 | enddo |
1601 | - energy = max((ebeam(1)+ebeam(2))/2.0d0,2.0d0*totmass) |
1602 | + energy = max((ebeam(1)+ebeam(2))/20.0d0,2.0d0*totmass) |
1603 | c Set the renormalization scale to be of the order of sqrt(s) but |
1604 | c not equal to it so as to be sensitive to all logs in the check. |
1605 | ren_scale = energy/2.0d0 |
1606 | |
1607 | === modified file 'Template/NLO/SubProcesses/configs_and_props_inc_chooser.f' |
1608 | --- Template/NLO/SubProcesses/configs_and_props_inc_chooser.f 2013-01-11 08:13:45 +0000 |
1609 | +++ Template/NLO/SubProcesses/configs_and_props_inc_chooser.f 2014-11-06 06:25:51 +0000 |
1610 | @@ -22,7 +22,11 @@ |
1611 | integer prow(-max_branch:-1,n_max_cg) |
1612 | common/c_props_inc/prmass,prwidth,prow |
1613 | double precision pmass(nexternal) |
1614 | - include 'configs_and_props_info.inc' |
1615 | + logical firsttime |
1616 | + data firsttime /.true./ |
1617 | + include 'configs_and_props_decl.inc' |
1618 | + save mapconfig_d, iforest_d, sprop_d, tprid_d, pmass_d, pwidth_d |
1619 | + $ , pow_d |
1620 | include "pmass.inc" |
1621 | c |
1622 | if (max_branch_used.gt.max_branch) then |
1623 | @@ -35,6 +39,15 @@ |
1624 | $ /' increase n_max_cg' ,n_max_cg,lmaxconfigs_used |
1625 | stop |
1626 | endif |
1627 | + |
1628 | +C the configurations and propagators infos are read at the first |
1629 | +C evaluation |
1630 | + if (firsttime) then |
1631 | + call read_configs_and_props_info(mapconfig_d,iforest_d,sprop_d, |
1632 | + 1 tprid_d,pmass_d,pwidth_d,pow_d) |
1633 | + firsttime = .false. |
1634 | + endif |
1635 | + |
1636 | c |
1637 | c Fill the arrays of the c_configs_inc and c_props_inc common |
1638 | c blocks. Some of the information might not be available in the |
1639 | @@ -65,3 +78,73 @@ |
1640 | return |
1641 | end |
1642 | |
1643 | + |
1644 | + subroutine read_configs_and_props_info(mapconfig_d,iforest_d,sprop_d, |
1645 | + 1 tprid_d,pmass_d,pwidth_d,pow_d) |
1646 | +C read the various information from the configs_and_props_info.dat file |
1647 | + implicit none |
1648 | + integer i,j,k |
1649 | + integer ndau, idau, dau, id |
1650 | + character *200 buff |
1651 | + double precision get_mass_from_id, get_width_from_id |
1652 | + include 'configs_and_props_decl.inc' |
1653 | + |
1654 | + open(unit=78, file='configs_and_props_info.dat', status='old') |
1655 | + do while (.true.) |
1656 | + read(78,'(a)',end=999) buff |
1657 | + if (buff(:1).eq.'#') cycle |
1658 | + if (buff(:1).eq.'C') then |
1659 | + ! mapconfig |
1660 | + ! C i j k -> MAPCONFIG_D(i,j)=k |
1661 | + read(buff(2:),*) i,j,k |
1662 | + mapconfig_d(i,j) = k |
1663 | + else if (buff(:1).eq.'F') then |
1664 | + ! iforest |
1665 | + ! after the first line there are as many lines |
1666 | + ! as the daughters |
1667 | + ! F i j k ndau |
1668 | + ! D dau_1 |
1669 | + ! D ... |
1670 | + ! D dau_ndau -> IFORREST_D(i,idau,i,k)=dau_idau |
1671 | + read(buff(2:),*) i,j,k,ndau |
1672 | + do idau=1,ndau |
1673 | + read(78,'(a)') buff |
1674 | + if (buff(:1).ne.'D') then |
1675 | + write(*,*) 'ERROR #1 in read_configs_and_props_info', |
1676 | + 1 i,j,k,ndau,buff |
1677 | + stop |
1678 | + endif |
1679 | + read(buff(2:),*) dau |
1680 | + iforest_d(i,idau,j,k) = dau |
1681 | + enddo |
1682 | + else if (buff(:1).eq.'S') then |
1683 | + ! sprop |
1684 | + ! S i j k id -> SPROP_D(i,j,k)=id |
1685 | + read(buff(2:),*) i,j,k,id |
1686 | + sprop_d(i,j,k) = id |
1687 | + else if (buff(:1).eq.'T') then |
1688 | + ! tprid |
1689 | + ! T i j k id -> TPRID_D(i,j,k)=id |
1690 | + read(buff(2:),*) i,j,k,id |
1691 | + tprid_d(i,j,k) = id |
1692 | + else if (buff(:1).eq.'M') then |
1693 | + ! pmass and pwidth |
1694 | + read(buff(2:),*) i,j,k,id |
1695 | + ! M i j k id -> gives id of particle of which |
1696 | + ! the mass/width is stored in PMASS/WIDTH_D(i,j,k) |
1697 | + pmass_d(i,j,k) = get_mass_from_id(id) |
1698 | + pwidth_d(i,j,k) = get_width_from_id(id) |
1699 | + else if (buff(:1).eq.'P') then |
1700 | + ! pow |
1701 | + ! P i j k id -> POW_D(i,j,k)=id |
1702 | + read(buff(2:),*) i,j,k,id |
1703 | + pow_d(i,j,k) = id |
1704 | + endif |
1705 | + enddo |
1706 | + 999 continue |
1707 | + close(78) |
1708 | + |
1709 | + return |
1710 | + end |
1711 | + |
1712 | + |
1713 | |
1714 | === modified file 'Template/NLO/SubProcesses/cuts.f' |
1715 | --- Template/NLO/SubProcesses/cuts.f 2014-07-16 16:23:08 +0000 |
1716 | +++ Template/NLO/SubProcesses/cuts.f 2014-11-06 06:25:51 +0000 |
1717 | @@ -463,29 +463,6 @@ |
1718 | END |
1719 | |
1720 | |
1721 | - subroutine unweight_function(p_born,unwgtfun) |
1722 | -c This is a user-defined function to which to unweight the events |
1723 | -c A non-flat distribution will generate events with a certain |
1724 | -c weight. This is particularly useful to generate more events |
1725 | -c (with smaller weight) in tails of distributions. |
1726 | -c It computes the unwgt factor from the momenta and multiplies |
1727 | -c the weight that goes into MINT (or vegas) with this factor. |
1728 | -c Before writing out the events (or making the plots), this factor |
1729 | -c is again divided out. |
1730 | -c This function should be called with the Born momenta to be sure |
1731 | -c that it stays the same for the events, counter-events, etc. |
1732 | -c A value different from 1 makes that MINT (or vegas) does not list |
1733 | -c the correct cross section. |
1734 | - implicit none |
1735 | - include 'nexternal.inc' |
1736 | - double precision unwgtfun,p_born(0:3,nexternal-1) |
1737 | - |
1738 | - unwgtfun=1d0 |
1739 | - |
1740 | - return |
1741 | - end |
1742 | - |
1743 | - |
1744 | function chi_gamma_iso(dr,R0,xn,epsgamma,pTgamma) |
1745 | c Eq.(3.4) of Phys.Lett. B429 (1998) 369-374 [hep-ph/9801442] |
1746 | implicit none |
1747 | @@ -909,3 +886,33 @@ |
1748 | end |
1749 | |
1750 | |
1751 | + subroutine unweight_function(p_born,unwgtfun) |
1752 | +c This is a user-defined function to which to unweight the events |
1753 | +c A non-flat distribution will generate events with a certain |
1754 | +c weight. This is particularly useful to generate more events |
1755 | +c (with smaller weight) in tails of distributions. |
1756 | +c It computes the unwgt factor from the momenta and multiplies |
1757 | +c the weight that goes into MINT (or vegas) with this factor. |
1758 | +c Before writing out the events (or making the plots), this factor |
1759 | +c is again divided out. |
1760 | +c This function should be called with the Born momenta to be sure |
1761 | +c that it stays the same for the events, counter-events, etc. |
1762 | +c A value different from 1 makes that MINT (or vegas) does not list |
1763 | +c the correct cross section. |
1764 | + implicit none |
1765 | + include 'nexternal.inc' |
1766 | + double precision unwgtfun,p_born(0:3,nexternal-1),shat,sumdot |
1767 | + external sumdot |
1768 | + |
1769 | + unwgtfun=1d0 |
1770 | + |
1771 | +c How to enhance the tails is very process dependent. But, it is |
1772 | +c probably easiest to enhance the tails using shat, e.g.: |
1773 | +c shat=sumdot(p_born(0,1),p_born(0,2),1d0) |
1774 | +c unwgtfun=max(100d0**2,shat)/100d0**2 |
1775 | +c unwgtfun=unwgtfun**2 |
1776 | + |
1777 | + return |
1778 | + end |
1779 | + |
1780 | + |
1781 | |
1782 | === modified file 'Template/NLO/SubProcesses/fks_singular.f' |
1783 | --- Template/NLO/SubProcesses/fks_singular.f 2014-09-11 05:33:30 +0000 |
1784 | +++ Template/NLO/SubProcesses/fks_singular.f 2014-11-06 06:25:51 +0000 |
1785 | @@ -955,7 +955,8 @@ |
1786 | & cnt_swgt*fkssymmetryfactor + |
1787 | & (bsv_wgt-born_wgt)*fkssymmetryfactorBorn + |
1788 | & deg_wgt*fkssymmetryfactorDeg + |
1789 | - & deg_swgt*fkssymmetryfactorDeg )*vegaswgt + virt_wgt |
1790 | + & deg_swgt*fkssymmetryfactorDeg )*vegaswgt + |
1791 | + & virt_wgt/unwgtfun |
1792 | if(abs(plot_wgt).gt.1.d-20) then |
1793 | if(iplot.eq.-3)then |
1794 | write(*,*)'Error #1 in dsig' |
1795 | |
1796 | === modified file 'Template/NLO/SubProcesses/handling_lhe_events.f' |
1797 | --- Template/NLO/SubProcesses/handling_lhe_events.f 2014-06-17 08:36:10 +0000 |
1798 | +++ Template/NLO/SubProcesses/handling_lhe_events.f 2014-11-06 06:25:51 +0000 |
1799 | @@ -32,7 +32,7 @@ |
1800 | # muF2_id_str,QES_id_str |
1801 | c |
1802 | write(ifile,'(a)') |
1803 | - # '<LesHouchesEvents version="1.0">' |
1804 | + # '<LesHouchesEvents version="3.0">' |
1805 | write(ifile,'(a)') |
1806 | # ' <!--' |
1807 | write(ifile,'(a)')' <scalesfunctionalform>' |
1808 | @@ -78,7 +78,7 @@ |
1809 | c statement. |
1810 | event_id=0 |
1811 | c |
1812 | - write(ifile,'(a)') '<LesHouchesEvents version="1.0">' |
1813 | + write(ifile,'(a)') '<LesHouchesEvents version="3.0">' |
1814 | write(ifile,'(a)') ' <header>' |
1815 | write(ifile,'(a)') ' <MG5ProcCard>' |
1816 | open (unit=92,file=path(1:index(path," ")-1)//'proc_card_mg5.dat' |
1817 | |
1818 | === modified file 'Template/NLO/SubProcesses/iproc_map.f' |
1819 | --- Template/NLO/SubProcesses/iproc_map.f 2014-06-26 08:45:41 +0000 |
1820 | +++ Template/NLO/SubProcesses/iproc_map.f 2014-11-06 06:25:51 +0000 |
1821 | @@ -206,7 +206,7 @@ |
1822 | include 'nFKSconfigs.inc' |
1823 | include 'nexternal.inc' |
1824 | include 'genps.inc' |
1825 | - include "leshouche_info.inc" |
1826 | + include "leshouche_decl.inc" |
1827 | include "reweight_appl.inc" |
1828 | include "appl_common.inc" |
1829 | * |
1830 | |
1831 | === modified file 'Template/NLO/SubProcesses/leshouche_inc_chooser.f' |
1832 | --- Template/NLO/SubProcesses/leshouche_inc_chooser.f 2012-08-28 21:06:34 +0000 |
1833 | +++ Template/NLO/SubProcesses/leshouche_inc_chooser.f 2014-11-06 06:25:51 +0000 |
1834 | @@ -4,7 +4,6 @@ |
1835 | implicit none |
1836 | include 'nexternal.inc' |
1837 | include 'genps.inc' |
1838 | - include 'leshouche_info.inc' |
1839 | integer i,j,k |
1840 | INTEGER NFKSPROCESS |
1841 | COMMON/C_NFKSPROCESS/NFKSPROCESS |
1842 | @@ -13,6 +12,11 @@ |
1843 | integer idup(nexternal,maxproc),mothup(2,nexternal,maxproc), |
1844 | & icolup(2,nexternal,maxflow) |
1845 | common /c_leshouche_inc/idup,mothup,icolup |
1846 | + logical firsttime |
1847 | + data firsttime /.true./ |
1848 | + include 'leshouche_decl.inc' |
1849 | + save idup_d, mothup_d, icolup_d |
1850 | + |
1851 | c |
1852 | if (maxproc_used.gt.maxproc) then |
1853 | write (*,*) 'ERROR in leshouche_inc_chooser: increase maxproc', |
1854 | @@ -24,6 +28,12 @@ |
1855 | & maxflow,maxflow_used |
1856 | stop |
1857 | endif |
1858 | + |
1859 | + if (firsttime) then |
1860 | + call read_leshouche_info(idup_d,mothup_d,icolup_d) |
1861 | + firsttime = .false. |
1862 | + endif |
1863 | + |
1864 | do j=1,maxproc_used |
1865 | do i=1,nexternal |
1866 | IDUP(i,j)=IDUP_D(nFKSprocess,i,j) |
1867 | @@ -42,3 +52,46 @@ |
1868 | return |
1869 | end |
1870 | |
1871 | + |
1872 | + subroutine read_leshouche_info(idup_d,mothup_d,icolup_d) |
1873 | +C read the various information from the configs_and_props_info.dat file |
1874 | + implicit none |
1875 | + include "nexternal.inc" |
1876 | + integer itmp_array(nexternal) |
1877 | + integer i,j,k,l |
1878 | + character *200 buff |
1879 | + include 'leshouche_decl.inc' |
1880 | + |
1881 | + open(unit=78, file='leshouche_info.dat', status='old') |
1882 | + do while (.true.) |
1883 | + read(78,'(a)',end=999) buff |
1884 | + if (buff(:1).eq.'#') cycle |
1885 | + if (buff(:1).eq.'I') then |
1886 | + ! idup |
1887 | + ! I i j id1 ..idn -> IDUP_D(i,k,j)=idk |
1888 | + read(buff(2:),*) i,j,(itmp_array(k),k=1,nexternal) |
1889 | + do k=1,nexternal |
1890 | + idup_d(i,k,j)=itmp_array(k) |
1891 | + enddo |
1892 | + else if (buff(:1).eq.'M') then |
1893 | + ! idup |
1894 | + ! I i j l id1 ..idn -> MOTHUP_D(i,j,k,l)=idk |
1895 | + read(buff(2:),*) i,j,l,(itmp_array(k),k=1,nexternal) |
1896 | + do k=1,nexternal |
1897 | + mothup_d(i,j,k,l)=itmp_array(k) |
1898 | + enddo |
1899 | + else if (buff(:1).eq.'C') then |
1900 | + ! idup |
1901 | + ! I i j l id1 ..idn -> ICOLUP_D(i,j,k,l)=idk |
1902 | + read(buff(2:),*) i,j,l,(itmp_array(k),k=1,nexternal) |
1903 | + do k=1,nexternal |
1904 | + icolup_d(i,j,k,l)=itmp_array(k) |
1905 | + enddo |
1906 | + endif |
1907 | + enddo |
1908 | + 999 continue |
1909 | + close(78) |
1910 | + |
1911 | + return |
1912 | + end |
1913 | + |
1914 | |
1915 | === modified file 'Template/NLO/SubProcesses/makefile_fks_dir' |
1916 | --- Template/NLO/SubProcesses/makefile_fks_dir 2014-09-11 05:33:30 +0000 |
1917 | +++ Template/NLO/SubProcesses/makefile_fks_dir 2014-11-06 06:25:51 +0000 |
1918 | @@ -94,35 +94,44 @@ |
1919 | gensym: $(SYM) |
1920 | $(FC) $(LDFLAGS) -o gensym $(SYM) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) |
1921 | rm fks_singular.o |
1922 | + strip gensym |
1923 | |
1924 | test_Sij: symmetry_fks_test_Sij.o $(TEST) |
1925 | $(FC) $(LDFLAGS) -o test_Sij symmetry_fks_test_Sij.o $(TEST) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) |
1926 | + strip test_Sij |
1927 | |
1928 | test_ME: symmetry_fks_test_ME.o $(TEST) |
1929 | $(FC) $(LDFLAGS) -o test_ME symmetry_fks_test_ME.o $(TEST) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) |
1930 | rm symmetry_fks_test_ME.o |
1931 | + strip test_ME |
1932 | |
1933 | test_MC: symmetry_fks_test_MC.o $(TEST) |
1934 | $(FC) $(LDFLAGS) -o test_MC symmetry_fks_test_MC.o $(TEST) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) |
1935 | rm symmetry_fks_test_MC.o |
1936 | + strip test_MC |
1937 | |
1938 | check_poles: $(POLES) $(libmadloop) |
1939 | $(FC) $(LDFLAGS) -o check_poles $(POLES) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) |
1940 | + strip check_poles |
1941 | |
1942 | madevent_vegas: $(VEGAS) $(libmadloop) makefile $(LIBS) |
1943 | $(FC) $(LDFLAGS) -o madevent_vegas $(VEGAS) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) |
1944 | + strip madevent_vegas |
1945 | |
1946 | madevent_mintMC: $(MINTMC) $(libmadloop) makefile $(LIBS) |
1947 | $(FC) $(LDFLAGS) -o madevent_mintMC $(MINTMC) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) |
1948 | + strip madevent_mintMC |
1949 | |
1950 | madevent_mintFO: $(MINTFO) $(libmadloop) makefile $(LIBS) |
1951 | $(FC) $(LDFLAGS) -o madevent_mintFO $(MINTFO) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) |
1952 | + strip madevent_mintFO |
1953 | |
1954 | madevent_reweight: $(BORN_REWEIGHT) $(libmadloop) makefile $(LIBS) |
1955 | $(FC) $(LDFLAGS) -o madevent_reweight $(BORN_REWEIGHT) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) |
1956 | |
1957 | reweight_xsec_events: $(RWGFILES) makefile $(LIBS) |
1958 | $(FC) $(LDFLAGS) -o reweight_xsec_events $(RWGFILES) $(LINKLIBS) $(FJLIBS) |
1959 | + strip reweight_xsec_events |
1960 | |
1961 | libMadLoop.a: |
1962 | for dir in `ls -d V*`; do cd $$dir; make; cd ../; done |
1963 | |
1964 | === modified file 'Template/NLO/SubProcesses/montecarlocounter.f' |
1965 | --- Template/NLO/SubProcesses/montecarlocounter.f 2014-08-05 13:04:11 +0000 |
1966 | +++ Template/NLO/SubProcesses/montecarlocounter.f 2014-11-06 06:25:51 +0000 |
1967 | @@ -2517,6 +2517,7 @@ |
1968 | & xm12,dum(1),dum(2),dum(3),dum(4),dum(5),qMC,.true.) |
1969 | |
1970 | emsca=2d0*sqrt(ebeam(1)*ebeam(2)) |
1971 | + scalemax=sqrt((1-xi_i_fks)*shat) |
1972 | if(dampMCsubt)then |
1973 | call assign_scaleminmax(shat,xi_i_fks,scalemin,scalemax,ileg,xm12) |
1974 | emscasharp=(scalemax-scalemin).lt.(1d-3*scalemax) |
1975 | |
1976 | === modified file 'Template/NLO/SubProcesses/symmetry_fks_test_MC.f' |
1977 | --- Template/NLO/SubProcesses/symmetry_fks_test_MC.f 2014-06-26 08:45:41 +0000 |
1978 | +++ Template/NLO/SubProcesses/symmetry_fks_test_MC.f 2014-11-06 06:25:51 +0000 |
1979 | @@ -144,6 +144,13 @@ |
1980 | |
1981 | character*10 MonteCarlo |
1982 | common/cMonteCarloType/MonteCarlo |
1983 | + |
1984 | + double precision shower_S_scale(fks_configs*2) |
1985 | + & ,shower_H_scale(fks_configs*2),ref_H_scale(fks_configs*2) |
1986 | + & ,pt_hardness |
1987 | + common /cshowerscale2/shower_S_scale,shower_H_scale,ref_H_scale |
1988 | + & ,pt_hardness |
1989 | + |
1990 | c integer icomp |
1991 | c |
1992 | c DATA |
1993 | @@ -371,6 +378,10 @@ |
1994 | |
1995 | call set_cms_stuff(0) |
1996 | calculatedBorn=.false. |
1997 | + |
1998 | +c Initialise shower_S_scale to a large value, not to get spurious dead zones |
1999 | + shower_S_scale=1d20 |
2000 | + |
2001 | if(ilim.eq.0)then |
2002 | call xmcsubt_wrap(p1_cnt(0,1,0),zero,y_ij_fks_ev,fxl) |
2003 | else |
2004 | |
2005 | === modified file 'Template/NLO/SubProcesses/write_event.f' |
2006 | --- Template/NLO/SubProcesses/write_event.f 2014-06-17 08:37:03 +0000 |
2007 | +++ Template/NLO/SubProcesses/write_event.f 2014-11-06 06:25:51 +0000 |
2008 | @@ -176,7 +176,7 @@ |
2009 | endif |
2010 | NPRUP=1 |
2011 | |
2012 | - write(lunlhe,'(a)')'<LesHouchesEvents version="1.0">' |
2013 | + write(lunlhe,'(a)')'<LesHouchesEvents version="3.0">' |
2014 | write(lunlhe,'(a)')' <!--' |
2015 | write(lunlhe,'(a)')' <scalesfunctionalform>' |
2016 | write(lunlhe,'(2a)')' muR ',muR_id_str(1:len_trim(muR_id_str)) |
2017 | |
2018 | === added symlink 'Template/NLO/Utilities/appl_interface_dummy.f' |
2019 | === target is u'../SubProcesses/appl_interface_dummy.f' |
2020 | === modified file 'Template/NLO/Utilities/makefile' |
2021 | --- Template/NLO/Utilities/makefile 2014-03-07 11:01:10 +0000 |
2022 | +++ Template/NLO/Utilities/makefile 2014-11-06 06:25:51 +0000 |
2023 | @@ -5,7 +5,7 @@ |
2024 | FF=gfortran -g -fno-automatic -ffixed-line-length-132 $(INCLUDE) |
2025 | FILES=handling_lhe_events.o fill_MC_mshell.o |
2026 | FILES2=madfks_plot.o dbook.o setcuts.o analysis_td_template.o \ |
2027 | - open_output_files.o open_output_files_dummy.o |
2028 | + open_output_files.o open_output_files_dummy.o appl_interface_dummy.o |
2029 | |
2030 | %.o : %.f |
2031 | $(FF) -c $< |
2032 | @@ -13,7 +13,7 @@ |
2033 | all: check_events combine_plots compare_events merge_events plot_events \ |
2034 | plot_events_lhef select_events split_events sum_plots uncertainties |
2035 | |
2036 | -check_events : $(FILES) check_events.o dbook.o |
2037 | +check_events : $(FILES) check_events.o dbook.o appl_interface_dummy.o |
2038 | $(FF) $^ -o $@ |
2039 | |
2040 | combine_plots : combine_plots.o |
2041 | |
2042 | === modified file 'Template/loop_material/StandAlone/SubProcesses/makefile.inc' |
2043 | --- Template/loop_material/StandAlone/SubProcesses/makefile.inc 2014-07-24 07:10:22 +0000 |
2044 | +++ Template/loop_material/StandAlone/SubProcesses/makefile.inc 2014-11-06 06:25:51 +0000 |
2045 | @@ -4,11 +4,6 @@ |
2046 | ROOT = ../.. |
2047 | endif |
2048 | |
2049 | - |
2050 | -if [ -a ../../Source/make_opts]; then ROOT = ../..; fi; |
2051 | - |
2052 | -if [ -a ../Source/make_opts]; then ROOT = ../; fi; |
2053 | - |
2054 | include $(ROOT)/Source/make_opts |
2055 | LIBDIR = $(ROOT)/lib/ |
2056 | |
2057 | |
2058 | === modified file 'UpdateNotes.txt' |
2059 | --- UpdateNotes.txt 2014-09-25 14:55:20 +0000 |
2060 | +++ UpdateNotes.txt 2014-11-06 06:25:51 +0000 |
2061 | @@ -1,5 +1,24 @@ |
2062 | Update notes for MadGraph5_aMC@NLO (in reverse time order) |
2063 | |
2064 | +2.2.2(XX/XX/XX) OM: Correct a bug in the integration grid (introduces in 2.1.2). This was biasing the cross-section of |
2065 | + processes like a a > mu+ mu- in the Effective Photon Approximation by three order of magnitude. |
2066 | + For LHC processes no sizeable effect have been observe so far. |
2067 | + MZ: some informations for aMC@NLO runs which were before passed via include files are |
2068 | + now read at runtime. The size of executables as well as compilation time / memory usage |
2069 | + is reduced for complicated processes |
2070 | + RF: Fix crash #1377187 (check that cuts were consistent with the grouping was too restrictive) |
2071 | + RF: For NLO running: added 'strip' to the makefiles to reduce executable sizes (removes symbol info) |
2072 | + Stefano Carrazza (by RF): fix for the photon PDF for the internal NNPDF sets |
2073 | + RF: Improved the check on the consistency of the cuts and the grouping of subprocesse (LO running) |
2074 | + PT: enabled PYTHIA8.2 |
2075 | + OM: restore the usage of external gzip library for file larger than 4Gb which were crashing with |
2076 | + the python gzip library |
2077 | + OM: Fixing the default card for Delphes |
2078 | + OM: Improve support of lsf cluster (thanks Josh) |
2079 | + OM: Adding support for the UFO file functions.py (which was ignored before) |
2080 | + OM: Reduce the amount of RAM used by MadSpin in gridpack mode. |
2081 | + OM: discard in MadWidth partial width lower than \Lambda_QCD for colored particle. |
2082 | + |
2083 | 2.2.1(25/09/14) OM: Fix a bug preventing the generation of events at LO due to a wrong treatment of |
2084 | the color-flow. |
2085 | |
2086 | |
2087 | === modified file 'aloha/aloha_lib.py' |
2088 | --- aloha/aloha_lib.py 2014-03-01 05:04:13 +0000 |
2089 | +++ aloha/aloha_lib.py 2014-11-06 06:25:51 +0000 |
2090 | @@ -209,7 +209,11 @@ |
2091 | continue |
2092 | tag = tuple(term.sort()) |
2093 | if tag in items: |
2094 | + orig_prefac = items[tag].prefactor # to assume to zero 0.33333 -0.3333 |
2095 | items[tag].prefactor += term.prefactor |
2096 | + if items[tag].prefactor and \ |
2097 | + abs(items[tag].prefactor) / (abs(orig_prefac)+abs(term.prefactor)) < 1e-8: |
2098 | + items[tag].prefactor = 0 |
2099 | del self[pos] |
2100 | pos -=1 |
2101 | else: |
2102 | |
2103 | === modified file 'input/.mg5_configuration_default.txt' |
2104 | --- input/.mg5_configuration_default.txt 2014-09-10 11:15:57 +0000 |
2105 | +++ input/.mg5_configuration_default.txt 2014-11-06 06:25:51 +0000 |
2106 | @@ -54,12 +54,10 @@ |
2107 | # timeout = 60 |
2108 | |
2109 | #! Pythia8 path. |
2110 | -#! Defines the path to the pythia8 directory. |
2111 | -#! This is the directory that contains the subdirectory examples; |
2112 | -#! in particular, it is crucial that the file |
2113 | -# pythia8_path/examples/config.sh be present. |
2114 | +#! Defines the path to the main pythia8 directory (i.e. that containing |
2115 | +#! the pythia8 configure script) . |
2116 | #! If using a relative path, that starts from the mg5 directory |
2117 | -# pythia8_path = ./pythia8 |
2118 | +# pythia8_path = |
2119 | |
2120 | #! Herwig++ paths |
2121 | #! specify here the paths also to HepMC ant ThePEG |
2122 | |
2123 | === modified file 'madgraph/__init__.py' |
2124 | --- madgraph/__init__.py 2013-11-29 07:28:53 +0000 |
2125 | +++ madgraph/__init__.py 2014-11-06 06:25:51 +0000 |
2126 | @@ -35,10 +35,5 @@ |
2127 | Please consider changing the path location of the code\033[0m''' % MG5DIR) |
2128 | time.sleep(1) |
2129 | MG4DIR = MG5DIR |
2130 | -ReadWrite = True |
2131 | +ReadWrite = os.access(MG5DIR, os.W_OK) # W_OK is for writing |
2132 | |
2133 | -try: |
2134 | - open(os.path.join(MG5DIR,'.test'),'w').write('test') |
2135 | - os.remove(os.path.join(MG5DIR,'.test')) |
2136 | -except IOError: |
2137 | - ReadWrite = False |
2138 | |
2139 | === modified file 'madgraph/interface/amcatnlo_run_interface.py' |
2140 | --- madgraph/interface/amcatnlo_run_interface.py 2014-09-24 19:41:18 +0000 |
2141 | +++ madgraph/interface/amcatnlo_run_interface.py 2014-11-06 06:25:51 +0000 |
2142 | @@ -2322,7 +2322,7 @@ |
2143 | def run_mcatnlo(self, evt_file): |
2144 | """runs mcatnlo on the generated event file, to produce showered-events |
2145 | """ |
2146 | - logger.info('Prepairing MCatNLO run') |
2147 | + logger.info('Preparing MCatNLO run') |
2148 | try: |
2149 | misc.gunzip(evt_file) |
2150 | except Exception: |
2151 | @@ -2401,6 +2401,9 @@ |
2152 | if shower == 'HERWIGPP': |
2153 | extrapaths.append(pjoin(self.options['hepmc_path'], 'lib')) |
2154 | |
2155 | + if shower == 'PYTHIA8' and not os.path.exists(pjoin(self.options['pythia8_path'], 'xmldoc')): |
2156 | + extrapaths.append(pjoin(self.options['pythia8_path'], 'lib')) |
2157 | + |
2158 | if 'LD_LIBRARY_PATH' in os.environ.keys(): |
2159 | ldlibrarypath = os.environ['LD_LIBRARY_PATH'] |
2160 | else: |
2161 | @@ -2464,8 +2467,11 @@ |
2162 | # special treatment for pythia8 |
2163 | files.mv(pjoin(self.me_dir, 'MCatNLO', 'Pythia8.cmd'), rundir) |
2164 | files.mv(pjoin(self.me_dir, 'MCatNLO', 'Pythia8.exe'), rundir) |
2165 | - files.ln(pjoin(self.options['pythia8_path'], 'examples', 'config.sh'), rundir) |
2166 | - files.ln(pjoin(self.options['pythia8_path'], 'xmldoc'), rundir) |
2167 | + if os.path.exists(pjoin(self.options['pythia8_path'], 'xmldoc')): |
2168 | + files.ln(pjoin(self.options['pythia8_path'], 'examples', 'config.sh'), rundir) |
2169 | + files.ln(pjoin(self.options['pythia8_path'], 'xmldoc'), rundir) |
2170 | + else: |
2171 | + files.ln(pjoin(self.options['pythia8_path'], 'share/Pythia8/xmldoc'), rundir) |
2172 | #link the hwpp exe in the rundir |
2173 | if shower == 'HERWIGPP': |
2174 | try: |
2175 | @@ -2550,11 +2556,12 @@ |
2176 | ' More information in %s' % pjoin(os.getcwd(), 'amcatnlo_run.log')) |
2177 | |
2178 | # run the plot creation in a secure way |
2179 | - try: |
2180 | - self.do_plot('%s -f' % self.run_name) |
2181 | - except Exception, error: |
2182 | - logger.info("Fail to make the plot. Continue...") |
2183 | - pass |
2184 | + if hep_format == 'StdHEP': |
2185 | + try: |
2186 | + self.do_plot('%s -f' % self.run_name) |
2187 | + except Exception, error: |
2188 | + logger.info("Fail to make the plot. Continue...") |
2189 | + pass |
2190 | |
2191 | elif out_id == 'TOP': |
2192 | #copy the topdrawer file(s) back in events |
2193 | @@ -3244,26 +3251,30 @@ |
2194 | if os.path.exists(pdfinput): |
2195 | input_files.append(pdfinput) |
2196 | input_files.append(pjoin(os.path.dirname(exe), os.path.pardir, 'reweight_xsec_events')) |
2197 | + input_files.append(pjoin(cwd, os.path.pardir, 'leshouche_info.dat')) |
2198 | input_files.append(args[0]) |
2199 | output_files.append('%s.rwgt' % os.path.basename(args[0])) |
2200 | output_files.append('reweight_xsec_events.output') |
2201 | output_files.append('scale_pdf_dependence.dat') |
2202 | |
2203 | return self.cluster.submit2(exe, args, cwd=cwd, |
2204 | - input_files=input_files, output_files=output_files) |
2205 | + input_files=input_files, output_files=output_files, |
2206 | + required_output=output_files) |
2207 | |
2208 | elif 'ajob' in exe: |
2209 | # the 'standard' amcatnlo job |
2210 | # check if args is a list of string |
2211 | if type(args[0]) == str: |
2212 | - input_files, output_files, args = self.getIO_ajob(exe,cwd, args) |
2213 | + input_files, output_files, required_output, args = self.getIO_ajob(exe,cwd, args) |
2214 | #submitting |
2215 | self.cluster.submit2(exe, args, cwd=cwd, |
2216 | - input_files=input_files, output_files=output_files) |
2217 | + input_files=input_files, output_files=output_files, |
2218 | + required_output=required_output) |
2219 | |
2220 | # keep track of folders and arguments for splitted evt gen |
2221 | - if len(args) == 4 and '_' in output_files[-1]: |
2222 | - self.split_folders[pjoin(cwd,output_files[-1])] = [exe] + args |
2223 | + subfolder=output_files[-1].split('/')[0] |
2224 | + if len(args) == 4 and '_' in subfolder: |
2225 | + self.split_folders[pjoin(cwd,subfolder)] = [exe] + args |
2226 | |
2227 | elif 'shower' in exe: |
2228 | # a shower job |
2229 | @@ -3276,7 +3287,10 @@ |
2230 | input_files.append(pjoin(cwd, 'Pythia8.exe')) |
2231 | input_files.append(pjoin(cwd, 'Pythia8.cmd')) |
2232 | input_files.append(pjoin(cwd, 'config.sh')) |
2233 | - input_files.append(pjoin(self.options['pythia8_path'], 'xmldoc')) |
2234 | + if os.path.exists(pjoin(self.options['pythia8_path'], 'xmldoc')): |
2235 | + input_files.append(pjoin(self.options['pythia8_path'], 'xmldoc')) |
2236 | + else: |
2237 | + input_files.append(pjoin(self.options['pythia8_path'], 'share/Pythia8/xmldoc')) |
2238 | else: |
2239 | input_files.append(pjoin(cwd, 'MCATNLO_%s_EXE' % shower)) |
2240 | input_files.append(pjoin(cwd, 'MCATNLO_%s_input' % shower)) |
2241 | @@ -3328,11 +3342,14 @@ |
2242 | |
2243 | keep_fourth_arg = False |
2244 | output_files = [] |
2245 | + required_output = [] |
2246 | input_files = [pjoin(self.me_dir, 'MGMEVersion.txt'), |
2247 | pjoin(self.me_dir, 'SubProcesses', 'randinit'), |
2248 | pjoin(cwd, 'symfact.dat'), |
2249 | pjoin(cwd, 'iproc.dat'), |
2250 | pjoin(cwd, 'initial_states_map.dat'), |
2251 | + pjoin(cwd, 'configs_and_props_info.dat'), |
2252 | + pjoin(cwd, 'leshouche_info.dat'), |
2253 | pjoin(cwd, 'param_card.dat'), |
2254 | pjoin(cwd, 'FKS_params.dat')] |
2255 | |
2256 | @@ -3370,7 +3387,13 @@ |
2257 | if os.path.exists(pjoin(cwd,current)): |
2258 | input_files.append(pjoin(cwd, current)) |
2259 | output_files.append(current) |
2260 | + |
2261 | + required_output.append('%s/results.dat' % current) |
2262 | + required_output.append('%s/log.txt' % current) |
2263 | + required_output.append('%s/mint_grids' % current) |
2264 | + required_output.append('%s/grid.MC_integer' % current) |
2265 | if len(args) == 4: |
2266 | + required_output.append('%s/scale_pdf_dependence.dat' % current) |
2267 | args[2] = '-1' |
2268 | # use a grid train on another part |
2269 | base = '%s_G%s' % (args[3],i) |
2270 | @@ -3414,6 +3437,11 @@ |
2271 | keep_fourth_arg = True |
2272 | # this is for the split event generation |
2273 | output_files.append('G%s%s_%s' % (args[1], i, args[3])) |
2274 | + required_output.append('%s/log_MINT%s.txt' % (current,args[2])) |
2275 | + if args[2] in ['0','1']: |
2276 | + required_output.append('%s/results.dat' % current) |
2277 | + if args[2] == '1': |
2278 | + output_files.append('%s/results.dat' % current) |
2279 | |
2280 | else: |
2281 | raise aMCatNLOError, 'not valid arguments: %s' %(', '.join(args)) |
2282 | @@ -3426,7 +3454,7 @@ |
2283 | if len(args) == 4 and not keep_fourth_arg: |
2284 | args = args[:3] |
2285 | |
2286 | - return input_files, output_files, args |
2287 | + return input_files, output_files, required_output, args |
2288 | |
2289 | def write_madinMMC_file(self, path, run_mode, mint_mode): |
2290 | """writes the madinMMC_?.2 file""" |
2291 | |
2292 | === modified file 'madgraph/interface/common_run_interface.py' |
2293 | --- madgraph/interface/common_run_interface.py 2014-09-24 19:41:18 +0000 |
2294 | +++ madgraph/interface/common_run_interface.py 2014-11-06 06:25:51 +0000 |
2295 | @@ -195,6 +195,7 @@ |
2296 | raise self.ConfigurationError, '''Can\'t load MG5. |
2297 | The variable mg5_path should not be correctly configure.''' |
2298 | |
2299 | + |
2300 | ufo_path = pjoin(self.me_dir,'bin','internal', 'ufomodel') |
2301 | # Import model |
2302 | if not MADEVENT: |
2303 | @@ -220,7 +221,7 @@ |
2304 | # raise self.InvalidCmd, 'The UFO model does not include partial widths information. Impossible to compute widths automatically' |
2305 | |
2306 | # check if the name are passed to default MG5 |
2307 | - if '-modelname' in open(pjoin(self.me_dir,'Cards','proc_card_mg5.dat')).read(): |
2308 | + if '-modelname' not in open(pjoin(self.me_dir,'Cards','proc_card_mg5.dat')).read(): |
2309 | model.pass_particles_name_in_mg_default() |
2310 | model = model_reader.ModelReader(model) |
2311 | particles_name = dict([(p.get('name'), p.get('pdg_code')) |
2312 | @@ -949,7 +950,7 @@ |
2313 | self.cluster.launch_and_wait(self.dirbin+'/run_hep2lhe', |
2314 | argument= [pydir], |
2315 | cwd=pjoin(self.me_dir,'Events'), |
2316 | - stdout=open(os.devnull,'w')) |
2317 | + stdout=os.devnull) |
2318 | |
2319 | logger.info('Warning! Never use this lhe file for detector studies!') |
2320 | # Creating ROOT file |
2321 | @@ -2058,7 +2059,11 @@ |
2322 | def get_lhapdf_pdfsetsdir(self): |
2323 | lhapdf_version = self.get_lhapdf_version() |
2324 | |
2325 | - if lhapdf_version.startswith('5.'): |
2326 | + # check if the LHAPDF_DATA_PATH variable is defined |
2327 | + if 'LHAPDF_DATA_PATH' in os.environ.keys() and os.environ['LHAPDF_DATA_PATH']: |
2328 | + datadir = os.environ['LHAPDF_DATA_PATH'] |
2329 | + |
2330 | + elif lhapdf_version.startswith('5.'): |
2331 | datadir = subprocess.Popen([self.options['lhapdf'], '--pdfsets-path'], |
2332 | stdout = subprocess.PIPE).stdout.read().strip() |
2333 | |
2334 | @@ -2141,7 +2146,12 @@ |
2335 | elif len(split) == 2: |
2336 | if re.search(r'''\[[A-Z]\]eV\^''', split[1]): |
2337 | all_var = [comment.strip().lower()] |
2338 | + elif len(split) >=2 and split[1].startswith('('): |
2339 | + all_var = [split[0].strip().lower()] |
2340 | else: |
2341 | + if not bname.startswith('qnumbers'): |
2342 | + logger.debug("not recognize information for %s %s : %s", |
2343 | + bname, lha_id, comment) |
2344 | # not recognized format |
2345 | continue |
2346 | |
2347 | @@ -2363,9 +2373,13 @@ |
2348 | if args[0] in self.special_shortcut: |
2349 | if len(args) == 1: |
2350 | values = {} |
2351 | - elif len(args) == 2: |
2352 | + elif len(args) == 2: |
2353 | + targettype = float |
2354 | + if args[1].strip().isdigit(): |
2355 | + targettype = int |
2356 | + |
2357 | try: |
2358 | - values = {'0': float(args[1])} |
2359 | + values = {'0': targettype(args[1])} |
2360 | except ValueError as e: |
2361 | logger.warning("Wrong argument: The last entry should be a number.") |
2362 | return |
2363 | @@ -2885,4 +2899,4 @@ |
2364 | except: |
2365 | import internal.madweight.Cards as mwcards |
2366 | self.mw_card = mwcards.Card(pjoin(self.me_dir,'Cards','MadWeight_card.dat')) |
2367 | - |
2368 | \ No newline at end of file |
2369 | + |
2370 | |
2371 | === modified file 'madgraph/interface/madevent_interface.py' |
2372 | --- madgraph/interface/madevent_interface.py 2014-09-24 19:41:18 +0000 |
2373 | +++ madgraph/interface/madevent_interface.py 2014-11-06 06:25:51 +0000 |
2374 | @@ -4064,11 +4064,10 @@ |
2375 | |
2376 | |
2377 | logfile = pjoin(Pdir, 'gen_ximprove.log') |
2378 | - proc = misc.Popen([pjoin(bindir, 'gen_ximprove')], |
2379 | + misc.call([pjoin(bindir, 'gen_ximprove')], |
2380 | stdin=subprocess.PIPE, |
2381 | stdout=open(logfile,'w'), |
2382 | cwd=Pdir) |
2383 | - proc.communicate('%s 1 F\n' % (precision)) |
2384 | |
2385 | if os.path.exists(pjoin(Pdir, 'ajob1')): |
2386 | alljobs = glob.glob(pjoin(Pdir,'ajob*')) |
2387 | |
2388 | === modified file 'madgraph/interface/madgraph_interface.py' |
2389 | --- madgraph/interface/madgraph_interface.py 2014-09-23 02:50:45 +0000 |
2390 | +++ madgraph/interface/madgraph_interface.py 2014-11-06 06:25:51 +0000 |
2391 | @@ -3541,7 +3541,7 @@ |
2392 | |
2393 | # Now check for perturbation orders, specified in between squared brackets |
2394 | perturbation_couplings_pattern = \ |
2395 | - re.compile("^(?P<proc>.+)\s*\[\s*((?P<option>\w+)\s*\=)?\s*"+\ |
2396 | + re.compile("^(?P<proc>.+>.+)\s*\[\s*((?P<option>\w+)\s*\=)?\s*"+\ |
2397 | "(?P<pertOrders>(\w+\s*)*)\s*\]\s*(?P<rest>.*)$") |
2398 | perturbation_couplings_re = perturbation_couplings_pattern.match(line) |
2399 | perturbation_couplings = "" |
2400 | @@ -3595,7 +3595,7 @@ |
2401 | # Notice that one can have a negative value of the squared order to |
2402 | # indicate that one should take the N^{n}LO contribution into account. |
2403 | order_pattern = re.compile(\ |
2404 | - "^(?P<before>.+)\s+(?P<name>(\w|(\^2))+)\s*(?P<type>"+\ |
2405 | + "^(?P<before>.+>.+)\s+(?P<name>(\w|(\^2))+)\s*(?P<type>"+\ |
2406 | "(=|(<=)|(==)|(===)|(!=)|(>=)|<|>))\s*(?P<value>-?\d+)\s*$") |
2407 | order_re = order_pattern.match(line) |
2408 | while order_re: |
2409 | @@ -4595,7 +4595,7 @@ |
2410 | out = open(pjoin(MG5DIR, 'Template','Common', 'Cards', 'delphes_card_default.dat'), 'w') |
2411 | out.write(data) |
2412 | if args[0] == 'Delphes3': |
2413 | - files.cp(pjoin(MG5DIR, 'Delphes','examples','delphes_card_CMS_PileUp.tcl'), |
2414 | + files.cp(pjoin(MG5DIR, 'Delphes','examples','delphes_card_CMS.tcl'), |
2415 | pjoin(MG5DIR,'Template', 'Common', 'Cards', 'delphes_card_default.dat')) |
2416 | files.cp(pjoin(MG5DIR, 'Delphes','examples','delphes_card_CMS.tcl'), |
2417 | pjoin(MG5DIR,'Template', 'Common', 'Cards', 'delphes_card_CMS.dat')) |
2418 | @@ -6288,6 +6288,13 @@ |
2419 | |
2420 | for pid in particles: |
2421 | width = param['decay'].get((pid,)).value |
2422 | + particle = self._curr_model.get_particle(pid) |
2423 | + #if particle['color'] !=1 and 0 < width.real < 0.1: |
2424 | + # logger.warning("width of colored particle \"%s(%s)\" lower than QCD scale: %s. Set width to zero " |
2425 | + # % (particle.get('name'), pid, width.real)) |
2426 | + # width = 0 |
2427 | + |
2428 | + |
2429 | if not pid in param['decay'].decay_table: |
2430 | continue |
2431 | if pid not in decay_info: |
2432 | @@ -6295,6 +6302,12 @@ |
2433 | for BR in param['decay'].decay_table[pid]: |
2434 | if len(BR.lhacode) == 3 and skip_2body: |
2435 | continue |
2436 | + if BR.value * width <0.1 and particle['color'] !=1: |
2437 | + logger.warning("partial width of particle %s lower than QCD scale:%s. Set it to zero. (%s)" \ |
2438 | + % (particle.get('name'), BR.value * width, BR.lhacode[1:])) |
2439 | + |
2440 | + continue |
2441 | + |
2442 | decay_info[pid].append([BR.lhacode[1:], BR.value * width]) |
2443 | |
2444 | madevent_interface.MadEventCmd.update_width_in_param_card(decay_info, |
2445 | |
2446 | === modified file 'madgraph/iolibs/export_fks.py' |
2447 | --- madgraph/iolibs/export_fks.py 2014-09-17 07:43:49 +0000 |
2448 | +++ madgraph/iolibs/export_fks.py 2014-11-06 06:25:51 +0000 |
2449 | @@ -469,15 +469,25 @@ |
2450 | matrix_element, |
2451 | fortran_model) |
2452 | |
2453 | - filename = 'leshouche_info.inc' |
2454 | - self.write_leshouche_info_file(writers.FortranWriter(filename), |
2455 | - matrix_element, |
2456 | - fortran_model) |
2457 | - |
2458 | - filename = 'configs_and_props_info.inc' |
2459 | - nconfigs=self.write_configs_and_props_info_file( |
2460 | - writers.FortranWriter(filename), |
2461 | - matrix_element, |
2462 | + filename = 'leshouche_info.dat' |
2463 | + nfksconfs,maxproc,maxflow,nexternal=\ |
2464 | + self.write_leshouche_info_file(filename,matrix_element) |
2465 | + |
2466 | + filename = 'leshouche_decl.inc' |
2467 | + self.write_leshouche_info_declarations( |
2468 | + writers.FortranWriter(filename), |
2469 | + nfksconfs,maxproc,maxflow,nexternal, |
2470 | + fortran_model) |
2471 | + |
2472 | + filename = 'configs_and_props_info.dat' |
2473 | + nconfigs,max_leg_number,nfksconfs=self.write_configs_and_props_info_file( |
2474 | + filename, |
2475 | + matrix_element) |
2476 | + |
2477 | + filename = 'configs_and_props_decl.inc' |
2478 | + self.write_configs_and_props_info_declarations( |
2479 | + writers.FortranWriter(filename), |
2480 | + nconfigs,max_leg_number,nfksconfs, |
2481 | fortran_model) |
2482 | |
2483 | filename = 'real_from_born_configs.inc' |
2484 | @@ -599,6 +609,7 @@ |
2485 | 'cluster.inc', |
2486 | 'cluster.f', |
2487 | 'reweight.f', |
2488 | + 'randinit', |
2489 | 'sudakov.inc', |
2490 | 'maxconfigs.inc', |
2491 | 'timing_variables.inc'] |
2492 | @@ -619,7 +630,7 @@ |
2493 | |
2494 | #import nexternal/leshouches in Source |
2495 | ln('nexternal.inc', '../../Source', log=False) |
2496 | - ln('leshouche_info.inc', '../../Source', log=False) |
2497 | + ln('leshouche_decl.inc', '../../Source', log=False) |
2498 | |
2499 | |
2500 | # Return to SubProcesses dir |
2501 | @@ -653,6 +664,10 @@ |
2502 | # check_param_card.convert_to_mg5card(param_card, mg5_param) |
2503 | # check_param_card.check_valid_param_card(mg5_param) |
2504 | |
2505 | +# # write the model functions get_mass/width_from_id |
2506 | + filename = os.path.join(self.dir_path,'Source','MODEL','get_mass_width_fcts.f') |
2507 | + makeinc = os.path.join(self.dir_path,'Source','MODEL','makeinc.inc') |
2508 | + self.write_get_mass_width_file(writers.FortranWriter(filename), makeinc, self.model) |
2509 | |
2510 | # # Write maxconfigs.inc based on max of ME's/subprocess groups |
2511 | filename = os.path.join(self.dir_path,'Source','maxconfigs.inc') |
2512 | @@ -826,25 +841,97 @@ |
2513 | writer.writelines(lines2+lines) |
2514 | |
2515 | |
2516 | - |
2517 | - def write_configs_and_props_info_file(self, writer, matrix_element, fortran_model): |
2518 | + #=============================================================================== |
2519 | + # write_get_mass_width_file |
2520 | + #=============================================================================== |
2521 | + #test written |
2522 | + def write_get_mass_width_file(self, writer, makeinc, model): |
2523 | + """Write the get_mass_width_file.f file for MG4. |
2524 | + Also update the makeinc.inc file |
2525 | + """ |
2526 | + mass_particles = [p for p in model['particles'] if p['mass'].lower() != 'zero'] |
2527 | + width_particles = [p for p in model['particles'] if p['width'].lower() != 'zero'] |
2528 | + |
2529 | + iflines_mass = '' |
2530 | + iflines_width = '' |
2531 | + |
2532 | + for i, part in enumerate(mass_particles): |
2533 | + if i == 0: |
2534 | + ifstring = 'if' |
2535 | + else: |
2536 | + ifstring = 'else if' |
2537 | + if part['self_antipart']: |
2538 | + iflines_mass += '%s (id.eq.%d) then\n' % \ |
2539 | + (ifstring, part.get_pdg_code()) |
2540 | + else: |
2541 | + iflines_mass += '%s (id.eq.%d.or.id.eq.%d) then\n' % \ |
2542 | + (ifstring, part.get_pdg_code(), part.get_anti_pdg_code()) |
2543 | + iflines_mass += 'get_mass_from_id=abs(%s)\n' % part.get('mass') |
2544 | + |
2545 | + for i, part in enumerate(width_particles): |
2546 | + if i == 0: |
2547 | + ifstring = 'if' |
2548 | + else: |
2549 | + ifstring = 'else if' |
2550 | + if part['self_antipart']: |
2551 | + iflines_width += '%s (id.eq.%d) then\n' % \ |
2552 | + (ifstring, part.get_pdg_code()) |
2553 | + else: |
2554 | + iflines_width += '%s (id.eq.%d.or.id.eq.%d) then\n' % \ |
2555 | + (ifstring, part.get_pdg_code(), part.get_anti_pdg_code()) |
2556 | + iflines_width += 'get_width_from_id=abs(%s)\n' % part.get('width') |
2557 | + |
2558 | + replace_dict = {'iflines_mass' : iflines_mass, |
2559 | + 'iflines_width' : iflines_width} |
2560 | + |
2561 | + file = open(os.path.join(_file_path, \ |
2562 | + 'iolibs/template_files/get_mass_width_fcts.inc')).read() |
2563 | + file = file % replace_dict |
2564 | + |
2565 | + # Write the file |
2566 | + writer.writelines(file) |
2567 | + |
2568 | + # update the makeinc |
2569 | + makeinc_content = open(makeinc).read() |
2570 | + makeinc_content = makeinc_content.replace('MODEL = ', 'MODEL = get_mass_width_fcts.o ') |
2571 | + open(makeinc, 'w').write(makeinc_content) |
2572 | + |
2573 | + return |
2574 | + |
2575 | + |
2576 | + def write_configs_and_props_info_declarations(self, writer, max_iconfig, max_leg_number, nfksconfs, fortran_model): |
2577 | + """writes the declarations for the variables relevant for configs_and_props |
2578 | + """ |
2579 | + lines = [] |
2580 | + lines.append("integer ifr,lmaxconfigs_used,max_branch_used") |
2581 | + lines.append("parameter (lmaxconfigs_used=%4d)" % max_iconfig) |
2582 | + lines.append("parameter (max_branch_used =%4d)" % -max_leg_number) |
2583 | + lines.append("integer mapconfig_d(%3d,0:lmaxconfigs_used)" % nfksconfs) |
2584 | + lines.append("integer iforest_d(%3d,2,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2585 | + lines.append("integer sprop_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2586 | + lines.append("integer tprid_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2587 | + lines.append("double precision pmass_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2588 | + lines.append("double precision pwidth_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2589 | + lines.append("integer pow_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nfksconfs) |
2590 | + |
2591 | + writer.writelines(lines) |
2592 | + |
2593 | + |
2594 | + def write_configs_and_props_info_file(self, filename, matrix_element): |
2595 | """writes the configs_and_props_info.inc file that cointains |
2596 | all the (real-emission) configurations (IFOREST) as well as |
2597 | the masses and widths of intermediate particles""" |
2598 | lines = [] |
2599 | + lines.append("# C -> MAPCONFIG_D") |
2600 | + lines.append("# F/D -> IFOREST_D") |
2601 | + lines.append("# S -> SPROP_D") |
2602 | + lines.append("# T -> TPRID_D") |
2603 | + lines.append("# M -> PMASS_D/PWIDTH_D") |
2604 | + lines.append("# P -> POW_D") |
2605 | lines2 = [] |
2606 | nconfs = len(matrix_element.get_fks_info_list()) |
2607 | (nexternal, ninitial) = matrix_element.real_processes[0].get_nexternal_ninitial() |
2608 | |
2609 | - lines.append("integer ifr,lmaxconfigs_used,max_branch_used") |
2610 | - lines.append("integer mapconfig_d(%3d,0:lmaxconfigs_used)" % nconfs) |
2611 | - lines.append("integer iforest_d(%3d,2,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2612 | - lines.append("integer sprop_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2613 | - lines.append("integer tprid_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2614 | - lines.append("double precision pmass_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2615 | - lines.append("double precision pwidth_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2616 | - lines.append("integer pow_d(%3d,-max_branch_used:-1,lmaxconfigs_used)" % nconfs) |
2617 | - |
2618 | max_iconfig=0 |
2619 | max_leg_number=0 |
2620 | |
2621 | @@ -872,7 +959,7 @@ |
2622 | lines.append("# Diagram %d for nFKSprocess %d" % \ |
2623 | (helas_diag.get('number'),iFKS)) |
2624 | # Correspondance between the config and the amplitudes |
2625 | - lines.append("data mapconfig_d(%3d,%4d)/%4d/" % (iFKS,iconfig, |
2626 | + lines.append("C %4d %4d %4d " % (iFKS,iconfig, |
2627 | helas_diag.get('number'))) |
2628 | |
2629 | # Need to reorganize the topology so that we start with all |
2630 | @@ -891,15 +978,16 @@ |
2631 | for vert in allchannels: |
2632 | daughters = [leg.get('number') for leg in vert.get('legs')[:-1]] |
2633 | last_leg = vert.get('legs')[-1] |
2634 | - lines.append("data (iforest_d(%3d, ifr,%3d,%4d),ifr=1,%d)/%s/" % \ |
2635 | - (iFKS,last_leg.get('number'), iconfig, len(daughters), |
2636 | - ",".join(["%3d" % d for d in daughters]))) |
2637 | + lines.append("F %4d %4d %4d %4d" % \ |
2638 | + (iFKS,last_leg.get('number'), iconfig, len(daughters))) |
2639 | + for d in daughters: |
2640 | + lines.append("D %4d" % d) |
2641 | if vert in schannels: |
2642 | - lines.append("data sprop_d(%3d,%4d,%4d)/%8d/" % \ |
2643 | + lines.append("S %4d %4d %4d %10d" % \ |
2644 | (iFKS,last_leg.get('number'), iconfig, |
2645 | last_leg.get('id'))) |
2646 | elif vert in tchannels[:-1]: |
2647 | - lines.append("data tprid_d(%3d,%4d,%4d)/%8d/" % \ |
2648 | + lines.append("T %4d %4d %4d %10d" % \ |
2649 | (iFKS,last_leg.get('number'), iconfig, |
2650 | abs(last_leg.get('id')))) |
2651 | |
2652 | @@ -909,7 +997,7 @@ |
2653 | |
2654 | # Write out number of configs |
2655 | lines.append("# Number of configs for nFKSprocess %d" % iFKS) |
2656 | - lines.append("data mapconfig_d(%3d,0)/%4d/" % (iFKS,iconfig)) |
2657 | + lines.append("C %4d %4d %4d" % (iFKS,0,iconfig)) |
2658 | |
2659 | # write the props.inc information |
2660 | lines2.append("# ") |
2661 | @@ -921,59 +1009,49 @@ |
2662 | leg = vertex.get('legs')[-1] |
2663 | if leg.get('id') == 21 and 21 not in particle_dict: |
2664 | # Fake propagator used in multiparticle vertices |
2665 | - mass = 'zero' |
2666 | - width = 'zero' |
2667 | pow_part = 0 |
2668 | else: |
2669 | particle = particle_dict[leg.get('id')] |
2670 | - # Get mass |
2671 | - if particle.get('mass').lower() == 'zero': |
2672 | - mass = particle.get('mass') |
2673 | - else: |
2674 | - mass = "abs(%s)" % particle.get('mass') |
2675 | - # Get width |
2676 | - if particle.get('width').lower() == 'zero': |
2677 | - width = particle.get('width') |
2678 | - else: |
2679 | - width = "abs(%s)" % particle.get('width') |
2680 | |
2681 | pow_part = 1 + int(particle.is_boson()) |
2682 | |
2683 | - lines2.append("pmass_d (%3d,%3d,%4d) = %s " % \ |
2684 | - (iFKS,leg.get('number'), iconf + 1, mass)) |
2685 | - lines2.append("pwidth_d(%3d,%3d,%4d) = %s " % \ |
2686 | - (iFKS,leg.get('number'), iconf + 1, width)) |
2687 | - lines2.append("pow_d (%3d,%3d,%4d) = %d " % \ |
2688 | + lines2.append("M %4d %4d %4d %10d " % \ |
2689 | + (iFKS,leg.get('number'), iconf + 1, leg.get('id'))) |
2690 | + lines2.append("P %4d %4d %4d %4d " % \ |
2691 | (iFKS,leg.get('number'), iconf + 1, pow_part)) |
2692 | - |
2693 | - |
2694 | - |
2695 | |
2696 | - lines.append("# ") |
2697 | - # insert the declaration of the sizes arrays at the beginning of the file |
2698 | - lines.insert(1,"parameter (lmaxconfigs_used=%4d)" % max_iconfig) |
2699 | - lines.insert(2,"parameter (max_branch_used =%4d)" % -max_leg_number) |
2700 | - |
2701 | # Write the file |
2702 | - writer.writelines(lines+lines2) |
2703 | - |
2704 | - return max_iconfig |
2705 | - |
2706 | - |
2707 | - |
2708 | - def write_leshouche_info_file(self, writer, matrix_element, fortran_model): |
2709 | - """writes the leshouche_info.inc file which contains the LHA informations |
2710 | - for all the real emission processes""" |
2711 | - lines = [] |
2712 | - nconfs = len(matrix_element.get_fks_info_list()) |
2713 | + open(filename,'w').write('\n'.join(lines+lines2)) |
2714 | + |
2715 | + return max_iconfig, max_leg_number, nconfs |
2716 | + |
2717 | + |
2718 | + def write_leshouche_info_declarations(self, writer, nfksconfs, |
2719 | + maxproc, maxflow, nexternal, fortran_model): |
2720 | + """writes the declarations for the variables relevant for leshouche_info |
2721 | + """ |
2722 | + lines = [] |
2723 | + lines.append('integer maxproc_used, maxflow_used') |
2724 | + lines.append('parameter (maxproc_used = %d)' % maxproc) |
2725 | + lines.append('parameter (maxflow_used = %d)' % maxflow) |
2726 | + lines.append('integer idup_d(%d,%d,maxproc_used)' % (nfksconfs, nexternal)) |
2727 | + lines.append('integer mothup_d(%d,%d,%d,maxproc_used)' % (nfksconfs, 2, nexternal)) |
2728 | + lines.append('integer icolup_d(%d,%d,%d,maxflow_used)' % (nfksconfs, 2, nexternal)) |
2729 | + |
2730 | + writer.writelines(lines) |
2731 | + |
2732 | + |
2733 | + def write_leshouche_info_file(self, filename, matrix_element): |
2734 | + """writes the leshouche_info.inc file which contains |
2735 | + the LHA informations for all the real emission processes |
2736 | + """ |
2737 | + lines = [] |
2738 | + lines.append("# I -> IDUP_D") |
2739 | + lines.append("# M -> MOTHUP_D") |
2740 | + lines.append("# C -> ICOLUP_D") |
2741 | + nfksconfs = len(matrix_element.get_fks_info_list()) |
2742 | (nexternal, ninitial) = matrix_element.real_processes[0].get_nexternal_ninitial() |
2743 | |
2744 | - lines.append('integer idup_d(%d,%d,maxproc_used)' % (nconfs, nexternal)) |
2745 | - lines.append('integer mothup_d(%d,%d,%d,maxproc_used)' % (nconfs, 2, nexternal)) |
2746 | - lines.append('integer icolup_d(%d,%d,%d,maxflow_used)' % (nconfs, 2, nexternal)) |
2747 | - lines.append('integer ilh') |
2748 | - lines.append('') |
2749 | - |
2750 | maxproc = 0 |
2751 | maxflow = 0 |
2752 | for i, conf in enumerate(matrix_element.get_fks_info_list()): |
2753 | @@ -984,10 +1062,10 @@ |
2754 | maxproc = max(maxproc, nprocs) |
2755 | maxflow = max(maxflow, nflows) |
2756 | |
2757 | - firstlines = ['integer maxproc_used, maxflow_used', |
2758 | - 'parameter (maxproc_used = %d)' % maxproc, |
2759 | - 'parameter (maxflow_used = %d)' % maxflow ] |
2760 | - writer.writelines(firstlines + lines) |
2761 | + # Write the file |
2762 | + open(filename,'w').write('\n'.join(lines)) |
2763 | + |
2764 | + return nfksconfs, maxproc, maxflow, nexternal |
2765 | |
2766 | |
2767 | def write_pdf_wrapper(self, writer, matrix_element, fortran_model): |
2768 | @@ -1471,7 +1549,7 @@ |
2769 | |
2770 | replace_dict = {} |
2771 | replace_dict['mesq'] = 'CHaveraged' |
2772 | - replace_dict['corr'] = ' '.join(matrix_elements.get('processes')[0].\ |
2773 | + replace_dict['corr'] = ' '.join(matrix_elements[0].get('processes')[0].\ |
2774 | get('perturbation_couplings')) |
2775 | replace_dict['irreg'] = 'CDR' |
2776 | replace_dict['aspow'] = QCD |
2777 | @@ -2364,14 +2442,14 @@ |
2778 | lines = [] |
2779 | for iproc, proc in enumerate(matrix_element.get('processes')): |
2780 | legs = proc.get_legs_with_decays() |
2781 | - lines.append("DATA (IDUP_D(%d,ilh,%d),ilh=1,%d)/%s/" % \ |
2782 | - (ime, iproc + 1, nexternal, |
2783 | - ",".join([str(l.get('id')) for l in legs]))) |
2784 | + lines.append("I %4d %4d %s" % \ |
2785 | + (ime, iproc + 1, |
2786 | + " ".join([str(l.get('id')) for l in legs]))) |
2787 | for i in [1, 2]: |
2788 | - lines.append("DATA (MOTHUP_D(%d,%d,ilh,%3r),ilh=1,%2r)/%s/" % \ |
2789 | - (ime, i, iproc + 1, nexternal, |
2790 | - ",".join([ "%3r" % 0 ] * ninitial + \ |
2791 | - [ "%3r" % i ] * (nexternal - ninitial)))) |
2792 | + lines.append("M %4d %4d %4d %s" % \ |
2793 | + (ime, i, iproc + 1, |
2794 | + " ".join([ "%3d" % 0 ] * ninitial + \ |
2795 | + [ "%3d" % i ] * (nexternal - ninitial)))) |
2796 | |
2797 | # Here goes the color connections corresponding to the JAMPs |
2798 | # Only one output, for the first subproc! |
2799 | @@ -2379,9 +2457,9 @@ |
2800 | # If no color basis, just output trivial color flow |
2801 | if not matrix_element.get('color_basis'): |
2802 | for i in [1, 2]: |
2803 | - lines.append("DATA (ICOLUP_D(%d,%d,ilh, 1),ilh=1,%2r)/%s/" % \ |
2804 | - (ime, i, nexternal, |
2805 | - ",".join([ "%3r" % 0 ] * nexternal))) |
2806 | + lines.append("C %4d %4d 1 %s" % \ |
2807 | + (ime, i, |
2808 | + " ".join([ "%3d" % 0 ] * nexternal))) |
2809 | color_flow_list = [] |
2810 | nflow = 1 |
2811 | |
2812 | @@ -2399,15 +2477,14 @@ |
2813 | # And output them properly |
2814 | for cf_i, color_flow_dict in enumerate(color_flow_list): |
2815 | for i in [0, 1]: |
2816 | - lines.append("DATA (ICOLUP_D(%d,%d,ilh,%3r),ilh=1,%2r)/%s/" % \ |
2817 | - (ime, i + 1, cf_i + 1, nexternal, |
2818 | - ",".join(["%3r" % color_flow_dict[l.get('number')][i] \ |
2819 | + lines.append("C %4d %4d %4d %s" % \ |
2820 | + (ime, i + 1, cf_i + 1, |
2821 | + " ".join(["%3d" % color_flow_dict[l.get('number')][i] \ |
2822 | for l in legs]))) |
2823 | |
2824 | nflow = len(color_flow_list) |
2825 | |
2826 | nproc = len(matrix_element.get('processes')) |
2827 | - lines.append('') |
2828 | |
2829 | return lines, nproc, nflow |
2830 | |
2831 | |
2832 | === modified file 'madgraph/iolibs/export_v4.py' |
2833 | --- madgraph/iolibs/export_v4.py 2014-09-08 11:03:40 +0000 |
2834 | +++ madgraph/iolibs/export_v4.py 2014-11-06 06:25:51 +0000 |
2835 | @@ -4698,13 +4698,12 @@ |
2836 | |
2837 | double complex gal(2) |
2838 | common/weak/ gal |
2839 | + |
2840 | + double precision MU_R |
2841 | + common/rscale/ MU_R |
2842 | |
2843 | """ |
2844 | - if self.model.get('expansion_order'): |
2845 | - header=header+"""double precision MU_R |
2846 | - common/rscale/ MU_R |
2847 | |
2848 | - """ |
2849 | header = header+"""double precision Nf |
2850 | parameter(Nf=%d) |
2851 | """ % self.model.get_nflav() |
2852 | @@ -4717,13 +4716,11 @@ |
2853 | |
2854 | %(complex_mp_format)s %(mp_prefix)sgal(2) |
2855 | common/MP_weak/ %(mp_prefix)sgal |
2856 | - |
2857 | + |
2858 | + %(complex_mp_format)s %(mp_prefix)sMU_R |
2859 | + common/MP_rscale/ %(mp_prefix)sMU_R |
2860 | """ |
2861 | - if self.model.get('expansion_order'): |
2862 | - header=header+"""%(complex_mp_format)s %(mp_prefix)sMU_R |
2863 | - common/MP_rscale/ %(mp_prefix)sMU_R |
2864 | - |
2865 | - """ |
2866 | + |
2867 | mp_fsock.writelines(header%{'real_mp_format':self.mp_real_format, |
2868 | 'complex_mp_format':self.mp_complex_format, |
2869 | 'mp_prefix':self.mp_prefix}) |
2870 | @@ -5240,6 +5237,58 @@ |
2871 | input = pjoin(model_path,'Fortran','functions.f') |
2872 | file.writelines(fsock, open(input).read()) |
2873 | fsock.write_comment_line(' END USER DEFINE FUNCTIONS ') |
2874 | + |
2875 | + # check for functions define in the UFO model |
2876 | + ufo_fct = self.model.get('functions') |
2877 | + if ufo_fct: |
2878 | + fsock.write_comment_line(' START UFO DEFINE FUNCTIONS ') |
2879 | + for fct in ufo_fct: |
2880 | + # already handle by default |
2881 | + if fct.name not in ["complexconjugate", "re", "im", "sec", "csc", "asec", "acsc", |
2882 | + "theta_function", "cond", "reglog", "arg"]: |
2883 | + ufo_fct_template = """ |
2884 | + double complex function %(name)s(%(args)s) |
2885 | + implicit none |
2886 | + double complex %(args)s |
2887 | + %(name)s = %(fct)s |
2888 | + |
2889 | + return |
2890 | + end |
2891 | + """ |
2892 | + text = ufo_fct_template % { |
2893 | + 'name': fct.name, |
2894 | + 'args': ", ".join(fct.arguments), |
2895 | + 'fct': self.p_to_f.parse(fct.expr) |
2896 | + } |
2897 | + fsock.writelines(text) |
2898 | + if self.opt['mp']: |
2899 | + fsock.write_comment_line(' START UFO DEFINE FUNCTIONS FOR MP') |
2900 | + for fct in ufo_fct: |
2901 | + # already handle by default |
2902 | + if fct.name not in ["complexconjugate", "re", "im", "sec", "csc", "asec", "acsc", |
2903 | + "theta_function", "cond", "reglog", "arg"]: |
2904 | + ufo_fct_template = """ |
2905 | + %(complex_mp_format)s function mp__%(name)s(mp__%(args)s) |
2906 | + implicit none |
2907 | + %(complex_mp_format)s mp__%(args)s |
2908 | + mp__%(name)s = %(fct)s |
2909 | + |
2910 | + return |
2911 | + end |
2912 | + """ |
2913 | + text = ufo_fct_template % { |
2914 | + 'name': fct.name, |
2915 | + 'args': ", mp__".join(fct.arguments), |
2916 | + 'fct': self.mp_p_to_f.parse(fct.expr), |
2917 | + 'complex_mp_format': self.mp_complex_format |
2918 | + } |
2919 | + fsock.writelines(text) |
2920 | + |
2921 | + |
2922 | + |
2923 | + fsock.write_comment_line(' STOP UFO DEFINE FUNCTIONS ') |
2924 | + |
2925 | + |
2926 | |
2927 | def create_makeinc(self): |
2928 | """create makeinc.inc containing the file to compile """ |
2929 | |
2930 | === modified file 'madgraph/iolibs/template_files/addmothers.f' |
2931 | --- madgraph/iolibs/template_files/addmothers.f 2014-09-25 14:36:15 +0000 |
2932 | +++ madgraph/iolibs/template_files/addmothers.f 2014-11-06 06:25:51 +0000 |
2933 | @@ -14,7 +14,7 @@ |
2934 | integer jpart(7,-nexternal+3:2*nexternal-3),npart,ip,numproc |
2935 | double precision pb(0:4,-nexternal+3:2*nexternal-3) |
2936 | double precision rscale,aqcd,aqed,targetamp(maxflow) |
2937 | - character*300 buff |
2938 | + character*1000 buff |
2939 | character*20 cform |
2940 | logical flip ! If .true., initial state is mirrored |
2941 | |
2942 | |
2943 | === added file 'madgraph/iolibs/template_files/get_mass_width_fcts.inc' |
2944 | --- madgraph/iolibs/template_files/get_mass_width_fcts.inc 1970-01-01 00:00:00 +0000 |
2945 | +++ madgraph/iolibs/template_files/get_mass_width_fcts.inc 2014-11-06 06:25:51 +0000 |
2946 | @@ -0,0 +1,23 @@ |
2947 | +DOUBLE PRECISION FUNCTION GET_MASS_FROM_ID(ID) |
2948 | +IMPLICIT NONE |
2949 | +INTEGER ID |
2950 | +INCLUDE 'coupl.inc' |
2951 | + |
2952 | +%(iflines_mass)sELSE |
2953 | +GET_MASS_FROM_ID=0d0 |
2954 | +ENDIF |
2955 | +RETURN |
2956 | +END |
2957 | + |
2958 | + |
2959 | +DOUBLE PRECISION FUNCTION GET_WIDTH_FROM_ID(ID) |
2960 | +IMPLICIT NONE |
2961 | +INTEGER ID |
2962 | +INCLUDE 'coupl.inc' |
2963 | + |
2964 | +%(iflines_width)sELSE |
2965 | +GET_WIDTH_FROM_ID=0d0 |
2966 | +ENDIF |
2967 | +RETURN |
2968 | +END |
2969 | + |
2970 | |
2971 | === modified file 'madgraph/iolibs/template_files/madevent_combine_events.f' |
2972 | --- madgraph/iolibs/template_files/madevent_combine_events.f 2014-08-05 16:12:48 +0000 |
2973 | +++ madgraph/iolibs/template_files/madevent_combine_events.f 2014-11-06 06:25:51 +0000 |
2974 | @@ -57,7 +57,7 @@ |
2975 | character*30 param_card_name |
2976 | common/to_param_card_name/param_card_name |
2977 | |
2978 | - character*300 buff |
2979 | + character*1000 buff |
2980 | logical u_syst, has_negative |
2981 | character*(s_bufflen) s_buff(7) |
2982 | integer nclus |
2983 | @@ -119,7 +119,7 @@ |
2984 | I4 = 4 |
2985 | R8 = 8 |
2986 | record_length = 4*I4+maxexternal*I4*7+maxexternal*5*R8+3*R8+ |
2987 | - & 300+7*s_bufflen+max_particles*clus_bufflen |
2988 | + & 1000+7*s_bufflen+max_particles*clus_bufflen |
2989 | C $B$ scratch_name $B$ !this is tag for automatic modification by MW |
2990 | filename='scratch' |
2991 | C $E$ scratch_name $E$ !this is tag for automatic modification by MW |
2992 | @@ -625,7 +625,7 @@ |
2993 | double precision sscale,aqcd,aqed,tmpsum |
2994 | integer ievent,jseed |
2995 | logical done,found |
2996 | - character*300 buff |
2997 | + character*1000 buff |
2998 | logical u_syst |
2999 | character*(s_bufflen) s_buff(7) |
3000 | character*300 fullname |
3001 | |
3002 | === modified file 'madgraph/iolibs/template_files/matrix_madevent_group_v4.inc' |
3003 | --- madgraph/iolibs/template_files/matrix_madevent_group_v4.inc 2014-05-23 02:30:58 +0000 |
3004 | +++ madgraph/iolibs/template_files/matrix_madevent_group_v4.inc 2014-11-06 06:25:51 +0000 |
3005 | @@ -258,7 +258,7 @@ |
3006 | DO M = 1, NAMPSO |
3007 | DO N = 1, NAMPSO |
3008 | IF (CHOSEN_SO_CONFIGS(SQSOINDEX%(proc_id)s(M,N))) THEN |
3009 | - Jamp2(i)=Jamp2(i)+Jamp(i,m)*dconjg(Jamp(i,n)) |
3010 | + Jamp2(i)=Jamp2(i)+DABS(DBLE(Jamp(i,m)*dconjg(Jamp(i,n)))) |
3011 | ENDIF |
3012 | enddo |
3013 | enddo |
3014 | |
3015 | === modified file 'madgraph/iolibs/template_files/matrix_madevent_v4.inc' |
3016 | --- madgraph/iolibs/template_files/matrix_madevent_v4.inc 2014-05-23 02:30:58 +0000 |
3017 | +++ madgraph/iolibs/template_files/matrix_madevent_v4.inc 2014-11-06 06:25:51 +0000 |
3018 | @@ -249,7 +249,7 @@ |
3019 | DO M = 1, NAMPSO |
3020 | DO N = 1, NAMPSO |
3021 | IF (CHOSEN_SO_CONFIGS(SQSOINDEX%(proc_id)s(M,N))) THEN |
3022 | - Jamp2(i)=Jamp2(i)+Jamp(i,m)*dconjg(Jamp(i,n)) |
3023 | + Jamp2(i)=Jamp2(i)+DABS(DBLE(Jamp(i,m)*dconjg(Jamp(i,n)))) |
3024 | ENDIF |
3025 | enddo |
3026 | enddo |
3027 | |
3028 | === modified file 'madgraph/iolibs/ufo_expression_parsers.py' |
3029 | --- madgraph/iolibs/ufo_expression_parsers.py 2014-07-03 18:01:46 +0000 |
3030 | +++ madgraph/iolibs/ufo_expression_parsers.py 2014-11-06 06:25:51 +0000 |
3031 | @@ -61,7 +61,7 @@ |
3032 | # List of tokens and literals |
3033 | tokens = ( |
3034 | 'LOGICAL','LOGICALCOMB','POWER', 'CSC', 'SEC', 'ACSC', 'ASEC', |
3035 | - 'SQRT', 'CONJ', 'RE', 'IM', 'PI', 'COMPLEX', 'FUNCTION', 'IF','ELSE', |
3036 | + 'SQRT', 'CONJ', 'RE', 'RE2', 'IM', 'PI', 'COMPLEX', 'FUNCTION', 'IF','ELSE', |
3037 | 'VARIABLE', 'NUMBER','COND','REGLOG', 'ARG' |
3038 | ) |
3039 | literals = "=+-*/()," |
3040 | @@ -115,6 +115,10 @@ |
3041 | def t_RE(self, t): |
3042 | r'(?<!\w)re(?=\()' |
3043 | return t |
3044 | + def t_RE2(self, t): |
3045 | + r'\.real|\.imag' |
3046 | + return t |
3047 | + |
3048 | def t_COMPLEX(self, t): |
3049 | r'(?<!\w)complex(?=\()' |
3050 | return t |
3051 | @@ -125,7 +129,7 @@ |
3052 | r'[a-zA-Z_][0-9a-zA-Z_]*' |
3053 | return t |
3054 | |
3055 | - t_NUMBER = r'([0-9]+\.[0-9]*|\.[0-9]+|[0-9]+)([eE][+-]{0,1}[0-9]+){0,1}' |
3056 | + t_NUMBER = r'([0-9]+\.[0-9]*|\.[0-9]+|[0-9]+)([eE][+-]{0,1}[0-9]+){0,1}j{0,1}' |
3057 | t_POWER = r'\*\*' |
3058 | |
3059 | t_ignore = " \t" |
3060 | @@ -154,6 +158,7 @@ |
3061 | ('left','='), |
3062 | ('left','+','-'), |
3063 | ('left','*','/'), |
3064 | + ('left', 'RE2'), |
3065 | ('right','UMINUS'), |
3066 | ('left','POWER'), |
3067 | ('right','REGLOG'), |
3068 | @@ -255,7 +260,10 @@ |
3069 | |
3070 | def p_expression_number(self, p): |
3071 | "expression : NUMBER" |
3072 | - p[0] = ('%e' % float(p[1])).replace('e', 'd') |
3073 | + if p[1].endswith('j'): |
3074 | + p[0] = ('DCOMPLX(0d0, %e)' % float(p[1][:-1])).replace('e', 'd') |
3075 | + else: |
3076 | + p[0] = ('%e' % float(p[1])).replace('e', 'd') |
3077 | |
3078 | def p_expression_variable(self, p): |
3079 | "expression : VARIABLE" |
3080 | @@ -313,6 +321,21 @@ |
3081 | elif p[1] == 'complexconjugate': p[0] = 'conjg(DCMPLX' + p[2]+')' |
3082 | elif p[1] == 'reglog': p[0] = 'reglog(DCMPLX' + p[2] +')' |
3083 | |
3084 | + |
3085 | + def p_expression_real(self, p): |
3086 | + ''' expression : expression RE2 ''' |
3087 | + |
3088 | + if p[2] == '.real': |
3089 | + if p[1].startswith('('): |
3090 | + p[0] = 'dble' +p[1] |
3091 | + else: |
3092 | + p[0] = 'dble(%s)' % p[1] |
3093 | + elif p[2] == '.imag': |
3094 | + if p[1].startswith('('): |
3095 | + p[0] = 'dimag' +p[1] |
3096 | + else: |
3097 | + p[0] = 'dimag(%s)' % p[1] |
3098 | + |
3099 | def p_expression_pi(self, p): |
3100 | '''expression : PI''' |
3101 | p[0] = 'pi' |
3102 | @@ -328,7 +351,11 @@ |
3103 | |
3104 | def p_expression_number(self, p): |
3105 | "expression : NUMBER" |
3106 | - p[0] = '%e_16' % float(p[1]) |
3107 | + |
3108 | + if p[1].endswith('j'): |
3109 | + p[0] = 'CMPLX(0.000000e+00_16, %e_16 ,KIND=16)' % float(p[1][:-1]) |
3110 | + else: |
3111 | + p[0] = '%e_16' % float(p[1]) |
3112 | |
3113 | def p_expression_variable(self, p): |
3114 | "expression : VARIABLE" |
3115 | @@ -384,6 +411,21 @@ |
3116 | elif p[1] == 'complexconjugate': p[0] = 'conjg(CMPLX(' + p[2] + ',KIND=16))' |
3117 | elif p[1] == 'reglog': p[0] = 'mp_reglog(CMPLX(' + p[2] +',KIND=16))' |
3118 | |
3119 | + def p_expression_real(self, p): |
3120 | + ''' expression : expression RE2 ''' |
3121 | + |
3122 | + if p[2] == '.real': |
3123 | + if p[1].startswith('('): |
3124 | + p[0] = 'real' +p[1] |
3125 | + else: |
3126 | + p[0] = 'real(%s)' % p[1] |
3127 | + elif p[2] == '.imag': |
3128 | + if p[1].startswith('('): |
3129 | + p[0] = 'imag' +p[1] |
3130 | + else: |
3131 | + p[0] = 'imag(%s)' % p[1] |
3132 | + |
3133 | + |
3134 | def p_expression_pi(self, p): |
3135 | '''expression : PI''' |
3136 | p[0] = self.mp_prefix+'pi' |
3137 | @@ -406,6 +448,13 @@ |
3138 | |
3139 | def p_expression_number(self, p): |
3140 | 'expression : NUMBER' |
3141 | + |
3142 | + if p[1].endswith('j'): |
3143 | + p[0] = 'std::complex<double>(0., %e)' % float(p[1][:-1]) |
3144 | + else: |
3145 | + p[0] = ('%e' % float(p[1])).replace('e', 'd') |
3146 | + |
3147 | + |
3148 | p[0] = p[1] |
3149 | # Check number is an integer, if so add "." |
3150 | if float(p[1]) == int(float(p[1])) and float(p[1]) < 1000: |
3151 | @@ -462,6 +511,21 @@ |
3152 | elif p[1] == 'cmath.sqrt' or p[1] == 'sqrt': p[0] = 'sqrt' + p[2] |
3153 | elif p[1] == 'complexconjugate': p[0] = 'conj' + p[2] |
3154 | elif p[1] == 'reglog': p[0] = 'reglog' + p[2] |
3155 | + |
3156 | + def p_expression_real(self, p): |
3157 | + ''' expression : expression RE2 ''' |
3158 | + |
3159 | + if p[2] == '.real': |
3160 | + if p[1].startswith('('): |
3161 | + p[0] = 'real' +p[1] |
3162 | + else: |
3163 | + p[0] = 'real(%s)' % p[1] |
3164 | + elif p[2] == '.imag': |
3165 | + if p[1].startswith('('): |
3166 | + p[0] = 'imag' +p[1] |
3167 | + else: |
3168 | + p[0] = 'imag(%s)' % p[1] |
3169 | + |
3170 | |
3171 | def p_expression_pi(self, p): |
3172 | '''expression : PI''' |
3173 | |
3174 | === modified file 'madgraph/loop/loop_diagram_generation.py' |
3175 | --- madgraph/loop/loop_diagram_generation.py 2014-08-09 09:07:56 +0000 |
3176 | +++ madgraph/loop/loop_diagram_generation.py 2014-11-06 06:25:51 +0000 |
3177 | @@ -650,7 +650,6 @@ |
3178 | |
3179 | # Now we can generate the loop diagrams. |
3180 | totloopsuccessful=self.generate_loop_diagrams() |
3181 | - self['process']['forbidden_particles']=[] |
3182 | |
3183 | # If there is no born neither loop diagrams, return now. |
3184 | if not self['process']['has_born'] and not self['loop_diagrams']: |
3185 | |
3186 | === modified file 'madgraph/various/banner.py' |
3187 | --- madgraph/various/banner.py 2014-09-17 07:02:56 +0000 |
3188 | +++ madgraph/various/banner.py 2014-11-06 06:25:51 +0000 |
3189 | @@ -588,8 +588,15 @@ |
3190 | return '.false.' |
3191 | |
3192 | elif format == 'int': |
3193 | - return str(int(value)) |
3194 | - |
3195 | + try: |
3196 | + return str(int(value)) |
3197 | + except ValueError: |
3198 | + fl = float(value) |
3199 | + if int(fl) == fl: |
3200 | + return str(int(fl)) |
3201 | + else: |
3202 | + raise |
3203 | + |
3204 | elif format == 'float': |
3205 | if isinstance(value, str): |
3206 | value = value.replace('d','e') |
3207 | |
3208 | === modified file 'madgraph/various/cluster.py' |
3209 | --- madgraph/various/cluster.py 2014-09-14 18:16:47 +0000 |
3210 | +++ madgraph/various/cluster.py 2014-11-06 06:25:51 +0000 |
3211 | @@ -1290,7 +1290,7 @@ |
3212 | me_dir = 'a' + me_dir[1:] |
3213 | |
3214 | text = "" |
3215 | - command = ['bsub', '-J', me_dir] |
3216 | + command = ['bsub', '-C0', '-J', me_dir] |
3217 | if cwd is None: |
3218 | cwd = os.getcwd() |
3219 | else: |
3220 | @@ -1364,7 +1364,7 @@ |
3221 | cmd = "bjobs " + ' '.join(self.submitted_ids) |
3222 | status = misc.Popen([cmd], shell=True, stdout=subprocess.PIPE) |
3223 | |
3224 | - idle, run, fail = 0, 0, 0 |
3225 | + jobstatus = {} |
3226 | for line in status.stdout: |
3227 | line = line.strip() |
3228 | if 'JOBID' in line: |
3229 | @@ -1373,19 +1373,24 @@ |
3230 | id = splitline[0] |
3231 | if id not in self.submitted_ids: |
3232 | continue |
3233 | - status = splitline[2] |
3234 | + jobstatus[id] = splitline[2] |
3235 | + |
3236 | + idle, run, fail = 0, 0, 0 |
3237 | + for id in self.submitted_ids[:]: |
3238 | + if id in jobstatus: |
3239 | + status = jobstatus[id] |
3240 | + else: |
3241 | + status = 'MISSING' |
3242 | if status == 'RUN': |
3243 | run += 1 |
3244 | elif status == 'PEND': |
3245 | idle += 1 |
3246 | - elif status == 'DONE': |
3247 | + else: |
3248 | status = self.check_termination(id) |
3249 | if status == 'wait': |
3250 | run += 1 |
3251 | elif status == 'resubmit': |
3252 | - idle += 1 |
3253 | - else: |
3254 | - fail += 1 |
3255 | + idle += 1 |
3256 | |
3257 | return idle, run, self.submitted - (idle+run+fail), fail |
3258 | |
3259 | |
3260 | === modified file 'madgraph/various/lhe_parser.py' |
3261 | --- madgraph/various/lhe_parser.py 2014-07-07 12:59:46 +0000 |
3262 | +++ madgraph/various/lhe_parser.py 2014-11-06 06:25:51 +0000 |
3263 | @@ -1,6 +1,9 @@ |
3264 | import collections |
3265 | import re |
3266 | import misc |
3267 | +if '__main__' == __name__: |
3268 | + import sys |
3269 | + sys.path.append('../../') |
3270 | |
3271 | import logging |
3272 | logger = logging.getLogger("madgraph.lhe_parser") |
3273 | |
3274 | === modified file 'madgraph/various/misc.py' |
3275 | --- madgraph/various/misc.py 2014-09-17 07:02:56 +0000 |
3276 | +++ madgraph/various/misc.py 2014-11-06 06:25:51 +0000 |
3277 | @@ -710,21 +710,44 @@ |
3278 | else: |
3279 | raise Exception, "%(path)s does not finish by .gz and the file %(path)s.gz does not exists" %\ |
3280 | {"path": path} |
3281 | + |
3282 | + |
3283 | + #for large file (>1G) it is faster and safer to use a separate thread |
3284 | + if os.path.getsize(path) > 1e8: |
3285 | + if stdout: |
3286 | + os.system('gunzip -c %s > %s' % (path, stdout)) |
3287 | + else: |
3288 | + os.system('gunzip %s') |
3289 | + return |
3290 | + |
3291 | if not stdout: |
3292 | - stdout = path[:-3] |
3293 | + stdout = path[:-3] |
3294 | open(stdout,'w').write(ziplib.open(path, "r").read()) |
3295 | if not keep: |
3296 | os.remove(path) |
3297 | |
3298 | -def gzip(path, stdout=None, error=True): |
3299 | +def gzip(path, stdout=None, error=True, forceexternal=False): |
3300 | """ a standard replacement for os.system('gzip %s ' % path)""" |
3301 | + |
3302 | + |
3303 | + |
3304 | + #for large file (>1G) it is faster and safer to use a separate thread |
3305 | + if os.path.getsize(path) > 1e9: |
3306 | + call(['gzip', '-f', path]) |
3307 | + if stdout: |
3308 | + shutil.move('%s.gz' % path, stdout) |
3309 | + return |
3310 | + |
3311 | if not stdout: |
3312 | stdout = "%s.gz" % path |
3313 | elif not stdout.endswith(".gz"): |
3314 | stdout = "%s.gz" % stdout |
3315 | + |
3316 | try: |
3317 | ziplib.open(stdout,"w").write(open(path).read()) |
3318 | - except: |
3319 | + except OverflowError: |
3320 | + gzip(path, stdout, error=error, forceexternal=True) |
3321 | + except Exception: |
3322 | if error: |
3323 | raise |
3324 | else: |
3325 | |
3326 | === modified file 'mg5decay/decay_objects.py' |
3327 | --- mg5decay/decay_objects.py 2014-07-10 23:42:17 +0000 |
3328 | +++ mg5decay/decay_objects.py 2014-11-06 06:25:51 +0000 |
3329 | @@ -943,13 +943,33 @@ |
3330 | vlist_a = inter_part.get_vertexlist(vlevel, True) |
3331 | vlist_b = inter_part.get_vertexlist(vlevel, False) |
3332 | |
3333 | - |
3334 | + minv_max = eval(self['mass']) - \ |
3335 | + sum([eval(model.get_particle(abs(l['id']))['mass']) |
3336 | + for l in sub_c.get_final_legs() if l!=leg]) |
3337 | + |
3338 | + allow_qcd=True # if two colored particle are lower than the pion. |
3339 | + # those computation are meaningless. |
3340 | + if 0 < minv_max.real < 0.100: |
3341 | + logger.warning("WARNING: Mass gap lower than pion mass for decay of %s " |
3342 | + % self['pdg_code']) |
3343 | + logger.warning("decay into colored particle will be remove.") |
3344 | + allow_qcd=False |
3345 | + if model.get_particle(abs(leg['id']))['color'] != 1: |
3346 | + continue |
3347 | + |
3348 | + |
3349 | # Find appropriate vertex |
3350 | for vert in (vlist_a + vlist_b): |
3351 | # Connect sub_channel to the vertex |
3352 | # the connect_channel_vertex will |
3353 | # inherit the 'has_idpart' from sub_c |
3354 | |
3355 | + if not allow_qcd: |
3356 | + nb_colored = sum([1 for l in vert['legs'] if \ |
3357 | + model.get_particle(abs(l['id']))['color'] != 1]) |
3358 | + if nb_colored >=1: |
3359 | + continue |
3360 | + |
3361 | temp_c = self.connect_channel_vertex(sub_c, index, |
3362 | vert, model) |
3363 | temp_c_o = temp_c.get_onshell(model) |
3364 | @@ -1198,7 +1218,10 @@ |
3365 | for amp in list(self.get_amplitudes(clevel)): |
3366 | approx_width = amp.get('apx_decaywidth') |
3367 | if min_br: |
3368 | - br = approx_width / total_width |
3369 | + if approx_width or total_width: |
3370 | + br = approx_width / total_width |
3371 | + else: |
3372 | + br = 0 |
3373 | if br.real < min_br: |
3374 | self.decay_amplitudes[clevel].remove(amp) |
3375 | |
3376 | |
3377 | === modified file 'models/import_ufo.py' |
3378 | --- models/import_ufo.py 2014-09-17 15:44:51 +0000 |
3379 | +++ models/import_ufo.py 2014-11-06 06:25:51 +0000 |
3380 | @@ -151,12 +151,18 @@ |
3381 | |
3382 | # Check the validity of the model |
3383 | files_list_prov = ['couplings.py','lorentz.py','parameters.py', |
3384 | - 'particles.py', 'vertices.py'] |
3385 | + 'particles.py', 'vertices.py', 'function_library.py', |
3386 | + 'propagators.py' ] |
3387 | + |
3388 | + if decay: |
3389 | + files_list_prov.append('decays.py') |
3390 | + |
3391 | files_list = [] |
3392 | for filename in files_list_prov: |
3393 | filepath = os.path.join(model_path, filename) |
3394 | if not os.path.isfile(filepath): |
3395 | - raise UFOImportError, "%s directory is not a valid UFO model: \n %s is missing" % \ |
3396 | + if filename not in ['propagators.py', 'decays.py']: |
3397 | + raise UFOImportError, "%s directory is not a valid UFO model: \n %s is missing" % \ |
3398 | (model_path, filename) |
3399 | files_list.append(filepath) |
3400 | |
3401 | |
3402 | === modified file 'models/taudecay_UFO/param_card.dat' |
3403 | --- models/taudecay_UFO/param_card.dat 2013-12-20 11:49:27 +0000 |
3404 | +++ models/taudecay_UFO/param_card.dat 2014-11-06 06:25:51 +0000 |
3405 | @@ -12,6 +12,8 @@ |
3406 | ## INFORMATION FOR MASS |
3407 | ################################### |
3408 | Block MASS |
3409 | + 11 5.110000e-04 # Me |
3410 | + 13 1.056600e-01 # MMU |
3411 | 15 1.776820e+00 # MTA |
3412 | 111 1.349766e-01 # Mpi0 |
3413 | 211 1.395702e-01 # Mpic |
3414 | @@ -19,6 +21,8 @@ |
3415 | ## Those values should be edited following analytical the |
3416 | ## analytical expression. Some generator could simply ignore |
3417 | ## those values and use the analytical expression |
3418 | + 12 0.000000 # ve : 0.0 |
3419 | + 14 0.000000 # vm : 0.0 |
3420 | 16 0.000000 # vt : 0.0 |
3421 | |
3422 | ################################### |
3423 | @@ -29,7 +33,11 @@ |
3424 | ## Those values should be edited following analytical the |
3425 | ## analytical expression. Some generator could simply ignore |
3426 | ## those values and use the analytical expression |
3427 | +DECAY 12 0.000000 # ve : 0.0 |
3428 | +DECAY 14 0.000000 # vm : 0.0 |
3429 | DECAY 16 0.000000 # vt : 0.0 |
3430 | +DECAY 11 0.000000 # e- : 0.0 |
3431 | +DECAY 13 0.000000 # mu- : 0.0 |
3432 | DECAY 211 0.000000 # pi+ : 0.0 |
3433 | DECAY 111 0.000000 # pi0 : 0.0 |
3434 | |
3435 | @@ -40,16 +48,17 @@ |
3436 | 1 2.277360e-01 # cabi |
3437 | |
3438 | ################################### |
3439 | -## INFORMATION FOR FRBLOCK |
3440 | +## INFORMATION FOR TAUDECAY |
3441 | ################################### |
3442 | -Block FRBlock |
3443 | - 1 1.304100e-01 # F1 |
3444 | - 2 1.000000e+00 # F2 |
3445 | - 3 1.000000e+00 # F3 |
3446 | - 4 1.000000e+00 # Fr1 |
3447 | - 5 1.000000e+00 # Fr2 |
3448 | - 6 1.000000e+00 # G1 |
3449 | - 7 1.000000e+00 # G2 |
3450 | +Block taudecay |
3451 | + 1 1.000000e+00 # F0 |
3452 | + 2 1.304100e-01 # F1 |
3453 | + 3 1.000000e+00 # F2 |
3454 | + 4 1.000000e+00 # F3 |
3455 | + 5 1.000000e+00 # Fr1 |
3456 | + 6 1.000000e+00 # Fr2 |
3457 | + 7 1.000000e+00 # Gr1 |
3458 | + 8 1.000000e+00 # Gr2 |
3459 | #=========================================================== |
3460 | # QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE) |
3461 | #=========================================================== |
3462 | |
3463 | === modified file 'models/taudecay_UFO/parameters.py' |
3464 | --- models/taudecay_UFO/parameters.py 2014-05-09 08:09:59 +0000 |
3465 | +++ models/taudecay_UFO/parameters.py 2014-11-06 06:25:51 +0000 |
3466 | @@ -38,7 +38,7 @@ |
3467 | type = 'real', |
3468 | value = 1., |
3469 | texname = 'F_0', |
3470 | - lhablock = 'FRBlock', |
3471 | + lhablock = 'taudecay', |
3472 | lhacode = [ 1 ]) |
3473 | |
3474 | F1 = Parameter(name = 'F1', |
3475 | @@ -46,7 +46,7 @@ |
3476 | type = 'real', |
3477 | value = 0.13041, |
3478 | texname = 'F_1', |
3479 | - lhablock = 'FRBlock', |
3480 | + lhablock = 'taudecay', |
3481 | lhacode = [ 2 ]) |
3482 | |
3483 | F2 = Parameter(name = 'F2', |
3484 | @@ -54,7 +54,7 @@ |
3485 | type = 'real', |
3486 | value = 1., |
3487 | texname = 'F_2', |
3488 | - lhablock = 'FRBlock', |
3489 | + lhablock = 'taudecay', |
3490 | lhacode = [ 3 ]) |
3491 | |
3492 | F3 = Parameter(name = 'F3', |
3493 | @@ -62,7 +62,7 @@ |
3494 | type = 'real', |
3495 | value = 1., |
3496 | texname = 'F_3', |
3497 | - lhablock = 'FRBlock', |
3498 | + lhablock = 'taudecay', |
3499 | lhacode = [ 4 ]) |
3500 | |
3501 | Fr1 = Parameter(name = 'Fr1', |
3502 | @@ -70,7 +70,7 @@ |
3503 | type = 'real', |
3504 | value = 1., |
3505 | texname = 'F_{23}', |
3506 | - lhablock = 'FRBlock', |
3507 | + lhablock = 'taudecay', |
3508 | lhacode = [ 5 ]) |
3509 | |
3510 | Fr2 = Parameter(name = 'Fr2', |
3511 | @@ -78,7 +78,7 @@ |
3512 | type = 'real', |
3513 | value = 1., |
3514 | texname = 'F_{13}', |
3515 | - lhablock = 'FRBlock', |
3516 | + lhablock = 'taudecay', |
3517 | lhacode = [ 6 ]) |
3518 | |
3519 | Gr1 = Parameter(name = 'Gr1', |
3520 | @@ -86,7 +86,7 @@ |
3521 | type = 'real', |
3522 | value = 1., |
3523 | texname = 'G_{23}', |
3524 | - lhablock = 'FRBlock', |
3525 | + lhablock = 'taudecay', |
3526 | lhacode = [ 7 ]) |
3527 | |
3528 | Gr2 = Parameter(name = 'Gr2', |
3529 | @@ -94,7 +94,7 @@ |
3530 | type = 'real', |
3531 | value = 1., |
3532 | texname = 'G_{13}', |
3533 | - lhablock = 'FRBlock', |
3534 | + lhablock = 'taudecay', |
3535 | lhacode = [ 8 ]) |
3536 | |
3537 | Me = Parameter(name = 'Me', |
3538 | |
3539 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_decl.inc' |
3540 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_decl.inc 1970-01-01 00:00:00 +0000 |
3541 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_decl.inc 2014-11-06 06:25:51 +0000 |
3542 | @@ -0,0 +1,12 @@ |
3543 | + INTEGER IFR,LMAXCONFIGS_USED,MAX_BRANCH_USED |
3544 | + PARAMETER (LMAXCONFIGS_USED= 15) |
3545 | + PARAMETER (MAX_BRANCH_USED = 3) |
3546 | + INTEGER MAPCONFIG_D( 8,0:LMAXCONFIGS_USED) |
3547 | + INTEGER IFOREST_D( 8,2,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3548 | + INTEGER SPROP_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3549 | + INTEGER TPRID_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3550 | + DOUBLE PRECISION PMASS_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED |
3551 | + $ ) |
3552 | + DOUBLE PRECISION PWIDTH_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USE |
3553 | + $ D) |
3554 | + INTEGER POW_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3555 | |
3556 | === removed file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_info.inc' |
3557 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_info.inc 2014-03-19 08:01:45 +0000 |
3558 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%configs_and_props_info.inc 1970-01-01 00:00:00 +0000 |
3559 | @@ -1,1077 +0,0 @@ |
3560 | - INTEGER IFR,LMAXCONFIGS_USED,MAX_BRANCH_USED |
3561 | - PARAMETER (LMAXCONFIGS_USED= 15) |
3562 | - PARAMETER (MAX_BRANCH_USED = 3) |
3563 | - INTEGER MAPCONFIG_D( 8,0:LMAXCONFIGS_USED) |
3564 | - INTEGER IFOREST_D( 8,2,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3565 | - INTEGER SPROP_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3566 | - INTEGER TPRID_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3567 | - DOUBLE PRECISION PMASS_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED |
3568 | - $ ) |
3569 | - DOUBLE PRECISION PWIDTH_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USE |
3570 | - $ D) |
3571 | - INTEGER POW_D( 8,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3572 | -C |
3573 | -C nFKSprocess 1 |
3574 | -C Diagram 1 for nFKSprocess 1 |
3575 | - DATA MAPCONFIG_D( 1, 1)/ 1/ |
3576 | - DATA (IFOREST_D( 1, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
3577 | - DATA SPROP_D( 1, -1, 1)/ 21/ |
3578 | - DATA (IFOREST_D( 1, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
3579 | - DATA SPROP_D( 1, -2, 1)/ 21/ |
3580 | -C Diagram 2 for nFKSprocess 1 |
3581 | - DATA MAPCONFIG_D( 1, 2)/ 2/ |
3582 | - DATA (IFOREST_D( 1, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
3583 | - DATA SPROP_D( 1, -1, 2)/ 6/ |
3584 | - DATA (IFOREST_D( 1, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
3585 | - DATA SPROP_D( 1, -2, 2)/ 21/ |
3586 | -C Diagram 3 for nFKSprocess 1 |
3587 | - DATA MAPCONFIG_D( 1, 3)/ 3/ |
3588 | - DATA (IFOREST_D( 1, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
3589 | - DATA SPROP_D( 1, -1, 3)/ -6/ |
3590 | - DATA (IFOREST_D( 1, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
3591 | - DATA SPROP_D( 1, -2, 3)/ 21/ |
3592 | -C Diagram 4 for nFKSprocess 1 |
3593 | - DATA MAPCONFIG_D( 1, 4)/ 4/ |
3594 | - DATA (IFOREST_D( 1, IFR, -1, 4),IFR=1,2)/ 1, 3/ |
3595 | - DATA TPRID_D( 1, -1, 4)/ 6/ |
3596 | - DATA (IFOREST_D( 1, IFR, -2, 4),IFR=1,2)/ -1, 5/ |
3597 | - DATA TPRID_D( 1, -2, 4)/ 6/ |
3598 | - DATA (IFOREST_D( 1, IFR, -3, 4),IFR=1,2)/ -2, 4/ |
3599 | -C Diagram 5 for nFKSprocess 1 |
3600 | - DATA MAPCONFIG_D( 1, 5)/ 5/ |
3601 | - DATA (IFOREST_D( 1, IFR, -1, 5),IFR=1,2)/ 1, 3/ |
3602 | - DATA TPRID_D( 1, -1, 5)/ 6/ |
3603 | - DATA (IFOREST_D( 1, IFR, -2, 5),IFR=1,2)/ -1, 4/ |
3604 | - DATA TPRID_D( 1, -2, 5)/ 21/ |
3605 | - DATA (IFOREST_D( 1, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
3606 | -C Diagram 6 for nFKSprocess 1 |
3607 | - DATA MAPCONFIG_D( 1, 6)/ 6/ |
3608 | - DATA (IFOREST_D( 1, IFR, -1, 6),IFR=1,2)/ 5, 4/ |
3609 | - DATA SPROP_D( 1, -1, 6)/ -6/ |
3610 | - DATA (IFOREST_D( 1, IFR, -2, 6),IFR=1,2)/ 1, 3/ |
3611 | - DATA TPRID_D( 1, -2, 6)/ 6/ |
3612 | - DATA (IFOREST_D( 1, IFR, -3, 6),IFR=1,2)/ -2, -1/ |
3613 | -C Diagram 7 for nFKSprocess 1 |
3614 | - DATA MAPCONFIG_D( 1, 7)/ 7/ |
3615 | - DATA (IFOREST_D( 1, IFR, -1, 7),IFR=1,2)/ 1, 4/ |
3616 | - DATA TPRID_D( 1, -1, 7)/ 6/ |
3617 | - DATA (IFOREST_D( 1, IFR, -2, 7),IFR=1,2)/ -1, 5/ |
3618 | - DATA TPRID_D( 1, -2, 7)/ 6/ |
3619 | - DATA (IFOREST_D( 1, IFR, -3, 7),IFR=1,2)/ -2, 3/ |
3620 | -C Diagram 8 for nFKSprocess 1 |
3621 | - DATA MAPCONFIG_D( 1, 8)/ 8/ |
3622 | - DATA (IFOREST_D( 1, IFR, -1, 8),IFR=1,2)/ 1, 4/ |
3623 | - DATA TPRID_D( 1, -1, 8)/ 6/ |
3624 | - DATA (IFOREST_D( 1, IFR, -2, 8),IFR=1,2)/ -1, 3/ |
3625 | - DATA TPRID_D( 1, -2, 8)/ 21/ |
3626 | - DATA (IFOREST_D( 1, IFR, -3, 8),IFR=1,2)/ -2, 5/ |
3627 | -C Diagram 9 for nFKSprocess 1 |
3628 | - DATA MAPCONFIG_D( 1, 9)/ 9/ |
3629 | - DATA (IFOREST_D( 1, IFR, -1, 9),IFR=1,2)/ 5, 3/ |
3630 | - DATA SPROP_D( 1, -1, 9)/ 6/ |
3631 | - DATA (IFOREST_D( 1, IFR, -2, 9),IFR=1,2)/ 1, 4/ |
3632 | - DATA TPRID_D( 1, -2, 9)/ 6/ |
3633 | - DATA (IFOREST_D( 1, IFR, -3, 9),IFR=1,2)/ -2, -1/ |
3634 | -C Diagram 10 for nFKSprocess 1 |
3635 | - DATA MAPCONFIG_D( 1, 10)/ 10/ |
3636 | - DATA (IFOREST_D( 1, IFR, -1, 10),IFR=1,2)/ 1, 5/ |
3637 | - DATA TPRID_D( 1, -1, 10)/ 21/ |
3638 | - DATA (IFOREST_D( 1, IFR, -2, 10),IFR=1,2)/ -1, 4/ |
3639 | - DATA TPRID_D( 1, -2, 10)/ 6/ |
3640 | - DATA (IFOREST_D( 1, IFR, -3, 10),IFR=1,2)/ -2, 3/ |
3641 | -C Diagram 11 for nFKSprocess 1 |
3642 | - DATA MAPCONFIG_D( 1, 11)/ 11/ |
3643 | - DATA (IFOREST_D( 1, IFR, -1, 11),IFR=1,2)/ 1, 5/ |
3644 | - DATA TPRID_D( 1, -1, 11)/ 21/ |
3645 | - DATA (IFOREST_D( 1, IFR, -2, 11),IFR=1,2)/ -1, 3/ |
3646 | - DATA TPRID_D( 1, -2, 11)/ 6/ |
3647 | - DATA (IFOREST_D( 1, IFR, -3, 11),IFR=1,2)/ -2, 4/ |
3648 | -C Diagram 12 for nFKSprocess 1 |
3649 | - DATA MAPCONFIG_D( 1, 12)/ 12/ |
3650 | - DATA (IFOREST_D( 1, IFR, -1, 12),IFR=1,2)/ 4, 3/ |
3651 | - DATA SPROP_D( 1, -1, 12)/ 21/ |
3652 | - DATA (IFOREST_D( 1, IFR, -2, 12),IFR=1,2)/ 1, 5/ |
3653 | - DATA TPRID_D( 1, -2, 12)/ 21/ |
3654 | - DATA (IFOREST_D( 1, IFR, -3, 12),IFR=1,2)/ -2, -1/ |
3655 | -C Diagram 13 for nFKSprocess 1 |
3656 | - DATA MAPCONFIG_D( 1, 13)/ 13/ |
3657 | - DATA (IFOREST_D( 1, IFR, -1, 13),IFR=1,2)/ 5, 4/ |
3658 | - DATA SPROP_D( 1, -1, 13)/ -6/ |
3659 | - DATA (IFOREST_D( 1, IFR, -2, 13),IFR=1,2)/ 1, -1/ |
3660 | - DATA TPRID_D( 1, -2, 13)/ 6/ |
3661 | - DATA (IFOREST_D( 1, IFR, -3, 13),IFR=1,2)/ -2, 3/ |
3662 | -C Diagram 14 for nFKSprocess 1 |
3663 | - DATA MAPCONFIG_D( 1, 14)/ 14/ |
3664 | - DATA (IFOREST_D( 1, IFR, -1, 14),IFR=1,2)/ 5, 3/ |
3665 | - DATA SPROP_D( 1, -1, 14)/ 6/ |
3666 | - DATA (IFOREST_D( 1, IFR, -2, 14),IFR=1,2)/ 1, -1/ |
3667 | - DATA TPRID_D( 1, -2, 14)/ 6/ |
3668 | - DATA (IFOREST_D( 1, IFR, -3, 14),IFR=1,2)/ -2, 4/ |
3669 | -C Diagram 15 for nFKSprocess 1 |
3670 | - DATA MAPCONFIG_D( 1, 15)/ 15/ |
3671 | - DATA (IFOREST_D( 1, IFR, -1, 15),IFR=1,2)/ 4, 3/ |
3672 | - DATA SPROP_D( 1, -1, 15)/ 21/ |
3673 | - DATA (IFOREST_D( 1, IFR, -2, 15),IFR=1,2)/ 1, -1/ |
3674 | - DATA TPRID_D( 1, -2, 15)/ 21/ |
3675 | - DATA (IFOREST_D( 1, IFR, -3, 15),IFR=1,2)/ -2, 5/ |
3676 | -C Number of configs for nFKSprocess 1 |
3677 | - DATA MAPCONFIG_D( 1,0)/ 15/ |
3678 | -C |
3679 | -C nFKSprocess 2 |
3680 | -C Diagram 1 for nFKSprocess 2 |
3681 | - DATA MAPCONFIG_D( 2, 1)/ 1/ |
3682 | - DATA (IFOREST_D( 2, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
3683 | - DATA SPROP_D( 2, -1, 1)/ 21/ |
3684 | - DATA (IFOREST_D( 2, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
3685 | - DATA SPROP_D( 2, -2, 1)/ 21/ |
3686 | -C Diagram 2 for nFKSprocess 2 |
3687 | - DATA MAPCONFIG_D( 2, 2)/ 2/ |
3688 | - DATA (IFOREST_D( 2, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
3689 | - DATA SPROP_D( 2, -1, 2)/ 6/ |
3690 | - DATA (IFOREST_D( 2, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
3691 | - DATA SPROP_D( 2, -2, 2)/ 21/ |
3692 | -C Diagram 3 for nFKSprocess 2 |
3693 | - DATA MAPCONFIG_D( 2, 3)/ 3/ |
3694 | - DATA (IFOREST_D( 2, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
3695 | - DATA SPROP_D( 2, -1, 3)/ -6/ |
3696 | - DATA (IFOREST_D( 2, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
3697 | - DATA SPROP_D( 2, -2, 3)/ 21/ |
3698 | -C Diagram 4 for nFKSprocess 2 |
3699 | - DATA MAPCONFIG_D( 2, 4)/ 4/ |
3700 | - DATA (IFOREST_D( 2, IFR, -1, 4),IFR=1,2)/ 1, 3/ |
3701 | - DATA TPRID_D( 2, -1, 4)/ 6/ |
3702 | - DATA (IFOREST_D( 2, IFR, -2, 4),IFR=1,2)/ -1, 5/ |
3703 | - DATA TPRID_D( 2, -2, 4)/ 6/ |
3704 | - DATA (IFOREST_D( 2, IFR, -3, 4),IFR=1,2)/ -2, 4/ |
3705 | -C Diagram 5 for nFKSprocess 2 |
3706 | - DATA MAPCONFIG_D( 2, 5)/ 5/ |
3707 | - DATA (IFOREST_D( 2, IFR, -1, 5),IFR=1,2)/ 1, 3/ |
3708 | - DATA TPRID_D( 2, -1, 5)/ 6/ |
3709 | - DATA (IFOREST_D( 2, IFR, -2, 5),IFR=1,2)/ -1, 4/ |
3710 | - DATA TPRID_D( 2, -2, 5)/ 21/ |
3711 | - DATA (IFOREST_D( 2, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
3712 | -C Diagram 6 for nFKSprocess 2 |
3713 | - DATA MAPCONFIG_D( 2, 6)/ 6/ |
3714 | - DATA (IFOREST_D( 2, IFR, -1, 6),IFR=1,2)/ 5, 4/ |
3715 | - DATA SPROP_D( 2, -1, 6)/ -6/ |
3716 | - DATA (IFOREST_D( 2, IFR, -2, 6),IFR=1,2)/ 1, 3/ |
3717 | - DATA TPRID_D( 2, -2, 6)/ 6/ |
3718 | - DATA (IFOREST_D( 2, IFR, -3, 6),IFR=1,2)/ -2, -1/ |
3719 | -C Diagram 7 for nFKSprocess 2 |
3720 | - DATA MAPCONFIG_D( 2, 7)/ 7/ |
3721 | - DATA (IFOREST_D( 2, IFR, -1, 7),IFR=1,2)/ 1, 4/ |
3722 | - DATA TPRID_D( 2, -1, 7)/ 6/ |
3723 | - DATA (IFOREST_D( 2, IFR, -2, 7),IFR=1,2)/ -1, 5/ |
3724 | - DATA TPRID_D( 2, -2, 7)/ 6/ |
3725 | - DATA (IFOREST_D( 2, IFR, -3, 7),IFR=1,2)/ -2, 3/ |
3726 | -C Diagram 8 for nFKSprocess 2 |
3727 | - DATA MAPCONFIG_D( 2, 8)/ 8/ |
3728 | - DATA (IFOREST_D( 2, IFR, -1, 8),IFR=1,2)/ 1, 4/ |
3729 | - DATA TPRID_D( 2, -1, 8)/ 6/ |
3730 | - DATA (IFOREST_D( 2, IFR, -2, 8),IFR=1,2)/ -1, 3/ |
3731 | - DATA TPRID_D( 2, -2, 8)/ 21/ |
3732 | - DATA (IFOREST_D( 2, IFR, -3, 8),IFR=1,2)/ -2, 5/ |
3733 | -C Diagram 9 for nFKSprocess 2 |
3734 | - DATA MAPCONFIG_D( 2, 9)/ 9/ |
3735 | - DATA (IFOREST_D( 2, IFR, -1, 9),IFR=1,2)/ 5, 3/ |
3736 | - DATA SPROP_D( 2, -1, 9)/ 6/ |
3737 | - DATA (IFOREST_D( 2, IFR, -2, 9),IFR=1,2)/ 1, 4/ |
3738 | - DATA TPRID_D( 2, -2, 9)/ 6/ |
3739 | - DATA (IFOREST_D( 2, IFR, -3, 9),IFR=1,2)/ -2, -1/ |
3740 | -C Diagram 10 for nFKSprocess 2 |
3741 | - DATA MAPCONFIG_D( 2, 10)/ 10/ |
3742 | - DATA (IFOREST_D( 2, IFR, -1, 10),IFR=1,2)/ 1, 5/ |
3743 | - DATA TPRID_D( 2, -1, 10)/ 21/ |
3744 | - DATA (IFOREST_D( 2, IFR, -2, 10),IFR=1,2)/ -1, 4/ |
3745 | - DATA TPRID_D( 2, -2, 10)/ 6/ |
3746 | - DATA (IFOREST_D( 2, IFR, -3, 10),IFR=1,2)/ -2, 3/ |
3747 | -C Diagram 11 for nFKSprocess 2 |
3748 | - DATA MAPCONFIG_D( 2, 11)/ 11/ |
3749 | - DATA (IFOREST_D( 2, IFR, -1, 11),IFR=1,2)/ 1, 5/ |
3750 | - DATA TPRID_D( 2, -1, 11)/ 21/ |
3751 | - DATA (IFOREST_D( 2, IFR, -2, 11),IFR=1,2)/ -1, 3/ |
3752 | - DATA TPRID_D( 2, -2, 11)/ 6/ |
3753 | - DATA (IFOREST_D( 2, IFR, -3, 11),IFR=1,2)/ -2, 4/ |
3754 | -C Diagram 12 for nFKSprocess 2 |
3755 | - DATA MAPCONFIG_D( 2, 12)/ 12/ |
3756 | - DATA (IFOREST_D( 2, IFR, -1, 12),IFR=1,2)/ 4, 3/ |
3757 | - DATA SPROP_D( 2, -1, 12)/ 21/ |
3758 | - DATA (IFOREST_D( 2, IFR, -2, 12),IFR=1,2)/ 1, 5/ |
3759 | - DATA TPRID_D( 2, -2, 12)/ 21/ |
3760 | - DATA (IFOREST_D( 2, IFR, -3, 12),IFR=1,2)/ -2, -1/ |
3761 | -C Diagram 13 for nFKSprocess 2 |
3762 | - DATA MAPCONFIG_D( 2, 13)/ 13/ |
3763 | - DATA (IFOREST_D( 2, IFR, -1, 13),IFR=1,2)/ 5, 4/ |
3764 | - DATA SPROP_D( 2, -1, 13)/ -6/ |
3765 | - DATA (IFOREST_D( 2, IFR, -2, 13),IFR=1,2)/ 1, -1/ |
3766 | - DATA TPRID_D( 2, -2, 13)/ 6/ |
3767 | - DATA (IFOREST_D( 2, IFR, -3, 13),IFR=1,2)/ -2, 3/ |
3768 | -C Diagram 14 for nFKSprocess 2 |
3769 | - DATA MAPCONFIG_D( 2, 14)/ 14/ |
3770 | - DATA (IFOREST_D( 2, IFR, -1, 14),IFR=1,2)/ 5, 3/ |
3771 | - DATA SPROP_D( 2, -1, 14)/ 6/ |
3772 | - DATA (IFOREST_D( 2, IFR, -2, 14),IFR=1,2)/ 1, -1/ |
3773 | - DATA TPRID_D( 2, -2, 14)/ 6/ |
3774 | - DATA (IFOREST_D( 2, IFR, -3, 14),IFR=1,2)/ -2, 4/ |
3775 | -C Diagram 15 for nFKSprocess 2 |
3776 | - DATA MAPCONFIG_D( 2, 15)/ 15/ |
3777 | - DATA (IFOREST_D( 2, IFR, -1, 15),IFR=1,2)/ 4, 3/ |
3778 | - DATA SPROP_D( 2, -1, 15)/ 21/ |
3779 | - DATA (IFOREST_D( 2, IFR, -2, 15),IFR=1,2)/ 1, -1/ |
3780 | - DATA TPRID_D( 2, -2, 15)/ 21/ |
3781 | - DATA (IFOREST_D( 2, IFR, -3, 15),IFR=1,2)/ -2, 5/ |
3782 | -C Number of configs for nFKSprocess 2 |
3783 | - DATA MAPCONFIG_D( 2,0)/ 15/ |
3784 | -C |
3785 | -C nFKSprocess 3 |
3786 | -C Diagram 1 for nFKSprocess 3 |
3787 | - DATA MAPCONFIG_D( 3, 1)/ 1/ |
3788 | - DATA (IFOREST_D( 3, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
3789 | - DATA SPROP_D( 3, -1, 1)/ 21/ |
3790 | - DATA (IFOREST_D( 3, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
3791 | - DATA SPROP_D( 3, -2, 1)/ 21/ |
3792 | -C Diagram 2 for nFKSprocess 3 |
3793 | - DATA MAPCONFIG_D( 3, 2)/ 2/ |
3794 | - DATA (IFOREST_D( 3, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
3795 | - DATA SPROP_D( 3, -1, 2)/ 6/ |
3796 | - DATA (IFOREST_D( 3, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
3797 | - DATA SPROP_D( 3, -2, 2)/ 21/ |
3798 | -C Diagram 3 for nFKSprocess 3 |
3799 | - DATA MAPCONFIG_D( 3, 3)/ 3/ |
3800 | - DATA (IFOREST_D( 3, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
3801 | - DATA SPROP_D( 3, -1, 3)/ -6/ |
3802 | - DATA (IFOREST_D( 3, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
3803 | - DATA SPROP_D( 3, -2, 3)/ 21/ |
3804 | -C Diagram 4 for nFKSprocess 3 |
3805 | - DATA MAPCONFIG_D( 3, 4)/ 4/ |
3806 | - DATA (IFOREST_D( 3, IFR, -1, 4),IFR=1,2)/ 1, 3/ |
3807 | - DATA TPRID_D( 3, -1, 4)/ 6/ |
3808 | - DATA (IFOREST_D( 3, IFR, -2, 4),IFR=1,2)/ -1, 5/ |
3809 | - DATA TPRID_D( 3, -2, 4)/ 6/ |
3810 | - DATA (IFOREST_D( 3, IFR, -3, 4),IFR=1,2)/ -2, 4/ |
3811 | -C Diagram 5 for nFKSprocess 3 |
3812 | - DATA MAPCONFIG_D( 3, 5)/ 5/ |
3813 | - DATA (IFOREST_D( 3, IFR, -1, 5),IFR=1,2)/ 1, 3/ |
3814 | - DATA TPRID_D( 3, -1, 5)/ 6/ |
3815 | - DATA (IFOREST_D( 3, IFR, -2, 5),IFR=1,2)/ -1, 4/ |
3816 | - DATA TPRID_D( 3, -2, 5)/ 21/ |
3817 | - DATA (IFOREST_D( 3, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
3818 | -C Diagram 6 for nFKSprocess 3 |
3819 | - DATA MAPCONFIG_D( 3, 6)/ 6/ |
3820 | - DATA (IFOREST_D( 3, IFR, -1, 6),IFR=1,2)/ 5, 4/ |
3821 | - DATA SPROP_D( 3, -1, 6)/ -6/ |
3822 | - DATA (IFOREST_D( 3, IFR, -2, 6),IFR=1,2)/ 1, 3/ |
3823 | - DATA TPRID_D( 3, -2, 6)/ 6/ |
3824 | - DATA (IFOREST_D( 3, IFR, -3, 6),IFR=1,2)/ -2, -1/ |
3825 | -C Diagram 7 for nFKSprocess 3 |
3826 | - DATA MAPCONFIG_D( 3, 7)/ 7/ |
3827 | - DATA (IFOREST_D( 3, IFR, -1, 7),IFR=1,2)/ 1, 4/ |
3828 | - DATA TPRID_D( 3, -1, 7)/ 6/ |
3829 | - DATA (IFOREST_D( 3, IFR, -2, 7),IFR=1,2)/ -1, 5/ |
3830 | - DATA TPRID_D( 3, -2, 7)/ 6/ |
3831 | - DATA (IFOREST_D( 3, IFR, -3, 7),IFR=1,2)/ -2, 3/ |
3832 | -C Diagram 8 for nFKSprocess 3 |
3833 | - DATA MAPCONFIG_D( 3, 8)/ 8/ |
3834 | - DATA (IFOREST_D( 3, IFR, -1, 8),IFR=1,2)/ 1, 4/ |
3835 | - DATA TPRID_D( 3, -1, 8)/ 6/ |
3836 | - DATA (IFOREST_D( 3, IFR, -2, 8),IFR=1,2)/ -1, 3/ |
3837 | - DATA TPRID_D( 3, -2, 8)/ 21/ |
3838 | - DATA (IFOREST_D( 3, IFR, -3, 8),IFR=1,2)/ -2, 5/ |
3839 | -C Diagram 9 for nFKSprocess 3 |
3840 | - DATA MAPCONFIG_D( 3, 9)/ 9/ |
3841 | - DATA (IFOREST_D( 3, IFR, -1, 9),IFR=1,2)/ 5, 3/ |
3842 | - DATA SPROP_D( 3, -1, 9)/ 6/ |
3843 | - DATA (IFOREST_D( 3, IFR, -2, 9),IFR=1,2)/ 1, 4/ |
3844 | - DATA TPRID_D( 3, -2, 9)/ 6/ |
3845 | - DATA (IFOREST_D( 3, IFR, -3, 9),IFR=1,2)/ -2, -1/ |
3846 | -C Diagram 10 for nFKSprocess 3 |
3847 | - DATA MAPCONFIG_D( 3, 10)/ 10/ |
3848 | - DATA (IFOREST_D( 3, IFR, -1, 10),IFR=1,2)/ 1, 5/ |
3849 | - DATA TPRID_D( 3, -1, 10)/ 21/ |
3850 | - DATA (IFOREST_D( 3, IFR, -2, 10),IFR=1,2)/ -1, 4/ |
3851 | - DATA TPRID_D( 3, -2, 10)/ 6/ |
3852 | - DATA (IFOREST_D( 3, IFR, -3, 10),IFR=1,2)/ -2, 3/ |
3853 | -C Diagram 11 for nFKSprocess 3 |
3854 | - DATA MAPCONFIG_D( 3, 11)/ 11/ |
3855 | - DATA (IFOREST_D( 3, IFR, -1, 11),IFR=1,2)/ 1, 5/ |
3856 | - DATA TPRID_D( 3, -1, 11)/ 21/ |
3857 | - DATA (IFOREST_D( 3, IFR, -2, 11),IFR=1,2)/ -1, 3/ |
3858 | - DATA TPRID_D( 3, -2, 11)/ 6/ |
3859 | - DATA (IFOREST_D( 3, IFR, -3, 11),IFR=1,2)/ -2, 4/ |
3860 | -C Diagram 12 for nFKSprocess 3 |
3861 | - DATA MAPCONFIG_D( 3, 12)/ 12/ |
3862 | - DATA (IFOREST_D( 3, IFR, -1, 12),IFR=1,2)/ 4, 3/ |
3863 | - DATA SPROP_D( 3, -1, 12)/ 21/ |
3864 | - DATA (IFOREST_D( 3, IFR, -2, 12),IFR=1,2)/ 1, 5/ |
3865 | - DATA TPRID_D( 3, -2, 12)/ 21/ |
3866 | - DATA (IFOREST_D( 3, IFR, -3, 12),IFR=1,2)/ -2, -1/ |
3867 | -C Diagram 13 for nFKSprocess 3 |
3868 | - DATA MAPCONFIG_D( 3, 13)/ 13/ |
3869 | - DATA (IFOREST_D( 3, IFR, -1, 13),IFR=1,2)/ 5, 4/ |
3870 | - DATA SPROP_D( 3, -1, 13)/ -6/ |
3871 | - DATA (IFOREST_D( 3, IFR, -2, 13),IFR=1,2)/ 1, -1/ |
3872 | - DATA TPRID_D( 3, -2, 13)/ 6/ |
3873 | - DATA (IFOREST_D( 3, IFR, -3, 13),IFR=1,2)/ -2, 3/ |
3874 | -C Diagram 14 for nFKSprocess 3 |
3875 | - DATA MAPCONFIG_D( 3, 14)/ 14/ |
3876 | - DATA (IFOREST_D( 3, IFR, -1, 14),IFR=1,2)/ 5, 3/ |
3877 | - DATA SPROP_D( 3, -1, 14)/ 6/ |
3878 | - DATA (IFOREST_D( 3, IFR, -2, 14),IFR=1,2)/ 1, -1/ |
3879 | - DATA TPRID_D( 3, -2, 14)/ 6/ |
3880 | - DATA (IFOREST_D( 3, IFR, -3, 14),IFR=1,2)/ -2, 4/ |
3881 | -C Diagram 15 for nFKSprocess 3 |
3882 | - DATA MAPCONFIG_D( 3, 15)/ 15/ |
3883 | - DATA (IFOREST_D( 3, IFR, -1, 15),IFR=1,2)/ 4, 3/ |
3884 | - DATA SPROP_D( 3, -1, 15)/ 21/ |
3885 | - DATA (IFOREST_D( 3, IFR, -2, 15),IFR=1,2)/ 1, -1/ |
3886 | - DATA TPRID_D( 3, -2, 15)/ 21/ |
3887 | - DATA (IFOREST_D( 3, IFR, -3, 15),IFR=1,2)/ -2, 5/ |
3888 | -C Number of configs for nFKSprocess 3 |
3889 | - DATA MAPCONFIG_D( 3,0)/ 15/ |
3890 | -C |
3891 | -C nFKSprocess 4 |
3892 | -C Diagram 1 for nFKSprocess 4 |
3893 | - DATA MAPCONFIG_D( 4, 1)/ 1/ |
3894 | - DATA (IFOREST_D( 4, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
3895 | - DATA SPROP_D( 4, -1, 1)/ 21/ |
3896 | - DATA (IFOREST_D( 4, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
3897 | - DATA SPROP_D( 4, -2, 1)/ 21/ |
3898 | -C Diagram 2 for nFKSprocess 4 |
3899 | - DATA MAPCONFIG_D( 4, 2)/ 2/ |
3900 | - DATA (IFOREST_D( 4, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
3901 | - DATA SPROP_D( 4, -1, 2)/ 6/ |
3902 | - DATA (IFOREST_D( 4, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
3903 | - DATA SPROP_D( 4, -2, 2)/ 21/ |
3904 | -C Diagram 3 for nFKSprocess 4 |
3905 | - DATA MAPCONFIG_D( 4, 3)/ 3/ |
3906 | - DATA (IFOREST_D( 4, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
3907 | - DATA SPROP_D( 4, -1, 3)/ -6/ |
3908 | - DATA (IFOREST_D( 4, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
3909 | - DATA SPROP_D( 4, -2, 3)/ 21/ |
3910 | -C Diagram 4 for nFKSprocess 4 |
3911 | - DATA MAPCONFIG_D( 4, 4)/ 4/ |
3912 | - DATA (IFOREST_D( 4, IFR, -1, 4),IFR=1,2)/ 1, 3/ |
3913 | - DATA TPRID_D( 4, -1, 4)/ 6/ |
3914 | - DATA (IFOREST_D( 4, IFR, -2, 4),IFR=1,2)/ -1, 5/ |
3915 | - DATA TPRID_D( 4, -2, 4)/ 6/ |
3916 | - DATA (IFOREST_D( 4, IFR, -3, 4),IFR=1,2)/ -2, 4/ |
3917 | -C Diagram 5 for nFKSprocess 4 |
3918 | - DATA MAPCONFIG_D( 4, 5)/ 5/ |
3919 | - DATA (IFOREST_D( 4, IFR, -1, 5),IFR=1,2)/ 1, 3/ |
3920 | - DATA TPRID_D( 4, -1, 5)/ 6/ |
3921 | - DATA (IFOREST_D( 4, IFR, -2, 5),IFR=1,2)/ -1, 4/ |
3922 | - DATA TPRID_D( 4, -2, 5)/ 21/ |
3923 | - DATA (IFOREST_D( 4, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
3924 | -C Diagram 6 for nFKSprocess 4 |
3925 | - DATA MAPCONFIG_D( 4, 6)/ 6/ |
3926 | - DATA (IFOREST_D( 4, IFR, -1, 6),IFR=1,2)/ 5, 4/ |
3927 | - DATA SPROP_D( 4, -1, 6)/ -6/ |
3928 | - DATA (IFOREST_D( 4, IFR, -2, 6),IFR=1,2)/ 1, 3/ |
3929 | - DATA TPRID_D( 4, -2, 6)/ 6/ |
3930 | - DATA (IFOREST_D( 4, IFR, -3, 6),IFR=1,2)/ -2, -1/ |
3931 | -C Diagram 7 for nFKSprocess 4 |
3932 | - DATA MAPCONFIG_D( 4, 7)/ 7/ |
3933 | - DATA (IFOREST_D( 4, IFR, -1, 7),IFR=1,2)/ 1, 4/ |
3934 | - DATA TPRID_D( 4, -1, 7)/ 6/ |
3935 | - DATA (IFOREST_D( 4, IFR, -2, 7),IFR=1,2)/ -1, 5/ |
3936 | - DATA TPRID_D( 4, -2, 7)/ 6/ |
3937 | - DATA (IFOREST_D( 4, IFR, -3, 7),IFR=1,2)/ -2, 3/ |
3938 | -C Diagram 8 for nFKSprocess 4 |
3939 | - DATA MAPCONFIG_D( 4, 8)/ 8/ |
3940 | - DATA (IFOREST_D( 4, IFR, -1, 8),IFR=1,2)/ 1, 4/ |
3941 | - DATA TPRID_D( 4, -1, 8)/ 6/ |
3942 | - DATA (IFOREST_D( 4, IFR, -2, 8),IFR=1,2)/ -1, 3/ |
3943 | - DATA TPRID_D( 4, -2, 8)/ 21/ |
3944 | - DATA (IFOREST_D( 4, IFR, -3, 8),IFR=1,2)/ -2, 5/ |
3945 | -C Diagram 9 for nFKSprocess 4 |
3946 | - DATA MAPCONFIG_D( 4, 9)/ 9/ |
3947 | - DATA (IFOREST_D( 4, IFR, -1, 9),IFR=1,2)/ 5, 3/ |
3948 | - DATA SPROP_D( 4, -1, 9)/ 6/ |
3949 | - DATA (IFOREST_D( 4, IFR, -2, 9),IFR=1,2)/ 1, 4/ |
3950 | - DATA TPRID_D( 4, -2, 9)/ 6/ |
3951 | - DATA (IFOREST_D( 4, IFR, -3, 9),IFR=1,2)/ -2, -1/ |
3952 | -C Diagram 10 for nFKSprocess 4 |
3953 | - DATA MAPCONFIG_D( 4, 10)/ 10/ |
3954 | - DATA (IFOREST_D( 4, IFR, -1, 10),IFR=1,2)/ 1, 5/ |
3955 | - DATA TPRID_D( 4, -1, 10)/ 21/ |
3956 | - DATA (IFOREST_D( 4, IFR, -2, 10),IFR=1,2)/ -1, 4/ |
3957 | - DATA TPRID_D( 4, -2, 10)/ 6/ |
3958 | - DATA (IFOREST_D( 4, IFR, -3, 10),IFR=1,2)/ -2, 3/ |
3959 | -C Diagram 11 for nFKSprocess 4 |
3960 | - DATA MAPCONFIG_D( 4, 11)/ 11/ |
3961 | - DATA (IFOREST_D( 4, IFR, -1, 11),IFR=1,2)/ 1, 5/ |
3962 | - DATA TPRID_D( 4, -1, 11)/ 21/ |
3963 | - DATA (IFOREST_D( 4, IFR, -2, 11),IFR=1,2)/ -1, 3/ |
3964 | - DATA TPRID_D( 4, -2, 11)/ 6/ |
3965 | - DATA (IFOREST_D( 4, IFR, -3, 11),IFR=1,2)/ -2, 4/ |
3966 | -C Diagram 12 for nFKSprocess 4 |
3967 | - DATA MAPCONFIG_D( 4, 12)/ 12/ |
3968 | - DATA (IFOREST_D( 4, IFR, -1, 12),IFR=1,2)/ 4, 3/ |
3969 | - DATA SPROP_D( 4, -1, 12)/ 21/ |
3970 | - DATA (IFOREST_D( 4, IFR, -2, 12),IFR=1,2)/ 1, 5/ |
3971 | - DATA TPRID_D( 4, -2, 12)/ 21/ |
3972 | - DATA (IFOREST_D( 4, IFR, -3, 12),IFR=1,2)/ -2, -1/ |
3973 | -C Diagram 13 for nFKSprocess 4 |
3974 | - DATA MAPCONFIG_D( 4, 13)/ 13/ |
3975 | - DATA (IFOREST_D( 4, IFR, -1, 13),IFR=1,2)/ 5, 4/ |
3976 | - DATA SPROP_D( 4, -1, 13)/ -6/ |
3977 | - DATA (IFOREST_D( 4, IFR, -2, 13),IFR=1,2)/ 1, -1/ |
3978 | - DATA TPRID_D( 4, -2, 13)/ 6/ |
3979 | - DATA (IFOREST_D( 4, IFR, -3, 13),IFR=1,2)/ -2, 3/ |
3980 | -C Diagram 14 for nFKSprocess 4 |
3981 | - DATA MAPCONFIG_D( 4, 14)/ 14/ |
3982 | - DATA (IFOREST_D( 4, IFR, -1, 14),IFR=1,2)/ 5, 3/ |
3983 | - DATA SPROP_D( 4, -1, 14)/ 6/ |
3984 | - DATA (IFOREST_D( 4, IFR, -2, 14),IFR=1,2)/ 1, -1/ |
3985 | - DATA TPRID_D( 4, -2, 14)/ 6/ |
3986 | - DATA (IFOREST_D( 4, IFR, -3, 14),IFR=1,2)/ -2, 4/ |
3987 | -C Diagram 15 for nFKSprocess 4 |
3988 | - DATA MAPCONFIG_D( 4, 15)/ 15/ |
3989 | - DATA (IFOREST_D( 4, IFR, -1, 15),IFR=1,2)/ 4, 3/ |
3990 | - DATA SPROP_D( 4, -1, 15)/ 21/ |
3991 | - DATA (IFOREST_D( 4, IFR, -2, 15),IFR=1,2)/ 1, -1/ |
3992 | - DATA TPRID_D( 4, -2, 15)/ 21/ |
3993 | - DATA (IFOREST_D( 4, IFR, -3, 15),IFR=1,2)/ -2, 5/ |
3994 | -C Number of configs for nFKSprocess 4 |
3995 | - DATA MAPCONFIG_D( 4,0)/ 15/ |
3996 | -C |
3997 | -C nFKSprocess 5 |
3998 | -C Diagram 1 for nFKSprocess 5 |
3999 | - DATA MAPCONFIG_D( 5, 1)/ 1/ |
4000 | - DATA (IFOREST_D( 5, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4001 | - DATA SPROP_D( 5, -1, 1)/ 21/ |
4002 | - DATA (IFOREST_D( 5, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4003 | - DATA SPROP_D( 5, -2, 1)/ -1/ |
4004 | -C Diagram 2 for nFKSprocess 5 |
4005 | - DATA MAPCONFIG_D( 5, 2)/ 2/ |
4006 | - DATA (IFOREST_D( 5, IFR, -1, 2),IFR=1,2)/ 1, 5/ |
4007 | - DATA TPRID_D( 5, -1, 2)/ 21/ |
4008 | - DATA (IFOREST_D( 5, IFR, -2, 2),IFR=1,2)/ -1, 4/ |
4009 | - DATA TPRID_D( 5, -2, 2)/ 6/ |
4010 | - DATA (IFOREST_D( 5, IFR, -3, 2),IFR=1,2)/ -2, 3/ |
4011 | -C Diagram 3 for nFKSprocess 5 |
4012 | - DATA MAPCONFIG_D( 5, 3)/ 3/ |
4013 | - DATA (IFOREST_D( 5, IFR, -1, 3),IFR=1,2)/ 1, 5/ |
4014 | - DATA TPRID_D( 5, -1, 3)/ 21/ |
4015 | - DATA (IFOREST_D( 5, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4016 | - DATA TPRID_D( 5, -2, 3)/ 6/ |
4017 | - DATA (IFOREST_D( 5, IFR, -3, 3),IFR=1,2)/ -2, 4/ |
4018 | -C Diagram 4 for nFKSprocess 5 |
4019 | - DATA MAPCONFIG_D( 5, 4)/ 4/ |
4020 | - DATA (IFOREST_D( 5, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4021 | - DATA SPROP_D( 5, -1, 4)/ 21/ |
4022 | - DATA (IFOREST_D( 5, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4023 | - DATA TPRID_D( 5, -2, 4)/ 21/ |
4024 | - DATA (IFOREST_D( 5, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4025 | -C Diagram 5 for nFKSprocess 5 |
4026 | - DATA MAPCONFIG_D( 5, 5)/ 5/ |
4027 | - DATA (IFOREST_D( 5, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4028 | - DATA SPROP_D( 5, -1, 5)/ 21/ |
4029 | - DATA (IFOREST_D( 5, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4030 | - DATA TPRID_D( 5, -2, 5)/ 1/ |
4031 | - DATA (IFOREST_D( 5, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4032 | -C Number of configs for nFKSprocess 5 |
4033 | - DATA MAPCONFIG_D( 5,0)/ 5/ |
4034 | -C |
4035 | -C nFKSprocess 6 |
4036 | -C Diagram 1 for nFKSprocess 6 |
4037 | - DATA MAPCONFIG_D( 6, 1)/ 1/ |
4038 | - DATA (IFOREST_D( 6, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4039 | - DATA SPROP_D( 6, -1, 1)/ 21/ |
4040 | - DATA (IFOREST_D( 6, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4041 | - DATA SPROP_D( 6, -2, 1)/ 1/ |
4042 | -C Diagram 2 for nFKSprocess 6 |
4043 | - DATA MAPCONFIG_D( 6, 2)/ 2/ |
4044 | - DATA (IFOREST_D( 6, IFR, -1, 2),IFR=1,2)/ 1, 5/ |
4045 | - DATA TPRID_D( 6, -1, 2)/ 21/ |
4046 | - DATA (IFOREST_D( 6, IFR, -2, 2),IFR=1,2)/ -1, 4/ |
4047 | - DATA TPRID_D( 6, -2, 2)/ 6/ |
4048 | - DATA (IFOREST_D( 6, IFR, -3, 2),IFR=1,2)/ -2, 3/ |
4049 | -C Diagram 3 for nFKSprocess 6 |
4050 | - DATA MAPCONFIG_D( 6, 3)/ 3/ |
4051 | - DATA (IFOREST_D( 6, IFR, -1, 3),IFR=1,2)/ 1, 5/ |
4052 | - DATA TPRID_D( 6, -1, 3)/ 21/ |
4053 | - DATA (IFOREST_D( 6, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4054 | - DATA TPRID_D( 6, -2, 3)/ 6/ |
4055 | - DATA (IFOREST_D( 6, IFR, -3, 3),IFR=1,2)/ -2, 4/ |
4056 | -C Diagram 4 for nFKSprocess 6 |
4057 | - DATA MAPCONFIG_D( 6, 4)/ 4/ |
4058 | - DATA (IFOREST_D( 6, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4059 | - DATA SPROP_D( 6, -1, 4)/ 21/ |
4060 | - DATA (IFOREST_D( 6, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4061 | - DATA TPRID_D( 6, -2, 4)/ 21/ |
4062 | - DATA (IFOREST_D( 6, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4063 | -C Diagram 5 for nFKSprocess 6 |
4064 | - DATA MAPCONFIG_D( 6, 5)/ 5/ |
4065 | - DATA (IFOREST_D( 6, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4066 | - DATA SPROP_D( 6, -1, 5)/ 21/ |
4067 | - DATA (IFOREST_D( 6, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4068 | - DATA TPRID_D( 6, -2, 5)/ 1/ |
4069 | - DATA (IFOREST_D( 6, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4070 | -C Number of configs for nFKSprocess 6 |
4071 | - DATA MAPCONFIG_D( 6,0)/ 5/ |
4072 | -C |
4073 | -C nFKSprocess 7 |
4074 | -C Diagram 1 for nFKSprocess 7 |
4075 | - DATA MAPCONFIG_D( 7, 1)/ 1/ |
4076 | - DATA (IFOREST_D( 7, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4077 | - DATA SPROP_D( 7, -1, 1)/ 21/ |
4078 | - DATA (IFOREST_D( 7, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4079 | - DATA SPROP_D( 7, -2, 1)/ -1/ |
4080 | -C Diagram 2 for nFKSprocess 7 |
4081 | - DATA MAPCONFIG_D( 7, 2)/ 2/ |
4082 | - DATA (IFOREST_D( 7, IFR, -1, 2),IFR=1,2)/ 1, 3/ |
4083 | - DATA TPRID_D( 7, -1, 2)/ 6/ |
4084 | - DATA (IFOREST_D( 7, IFR, -2, 2),IFR=1,2)/ -1, 4/ |
4085 | - DATA TPRID_D( 7, -2, 2)/ 21/ |
4086 | - DATA (IFOREST_D( 7, IFR, -3, 2),IFR=1,2)/ -2, 5/ |
4087 | -C Diagram 3 for nFKSprocess 7 |
4088 | - DATA MAPCONFIG_D( 7, 3)/ 3/ |
4089 | - DATA (IFOREST_D( 7, IFR, -1, 3),IFR=1,2)/ 1, 4/ |
4090 | - DATA TPRID_D( 7, -1, 3)/ 6/ |
4091 | - DATA (IFOREST_D( 7, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4092 | - DATA TPRID_D( 7, -2, 3)/ 21/ |
4093 | - DATA (IFOREST_D( 7, IFR, -3, 3),IFR=1,2)/ -2, 5/ |
4094 | -C Diagram 4 for nFKSprocess 7 |
4095 | - DATA MAPCONFIG_D( 7, 4)/ 4/ |
4096 | - DATA (IFOREST_D( 7, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4097 | - DATA SPROP_D( 7, -1, 4)/ 21/ |
4098 | - DATA (IFOREST_D( 7, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4099 | - DATA TPRID_D( 7, -2, 4)/ 1/ |
4100 | - DATA (IFOREST_D( 7, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4101 | -C Diagram 5 for nFKSprocess 7 |
4102 | - DATA MAPCONFIG_D( 7, 5)/ 5/ |
4103 | - DATA (IFOREST_D( 7, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4104 | - DATA SPROP_D( 7, -1, 5)/ 21/ |
4105 | - DATA (IFOREST_D( 7, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4106 | - DATA TPRID_D( 7, -2, 5)/ 21/ |
4107 | - DATA (IFOREST_D( 7, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4108 | -C Number of configs for nFKSprocess 7 |
4109 | - DATA MAPCONFIG_D( 7,0)/ 5/ |
4110 | -C |
4111 | -C nFKSprocess 8 |
4112 | -C Diagram 1 for nFKSprocess 8 |
4113 | - DATA MAPCONFIG_D( 8, 1)/ 1/ |
4114 | - DATA (IFOREST_D( 8, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4115 | - DATA SPROP_D( 8, -1, 1)/ 21/ |
4116 | - DATA (IFOREST_D( 8, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4117 | - DATA SPROP_D( 8, -2, 1)/ 1/ |
4118 | -C Diagram 2 for nFKSprocess 8 |
4119 | - DATA MAPCONFIG_D( 8, 2)/ 2/ |
4120 | - DATA (IFOREST_D( 8, IFR, -1, 2),IFR=1,2)/ 1, 3/ |
4121 | - DATA TPRID_D( 8, -1, 2)/ 6/ |
4122 | - DATA (IFOREST_D( 8, IFR, -2, 2),IFR=1,2)/ -1, 4/ |
4123 | - DATA TPRID_D( 8, -2, 2)/ 21/ |
4124 | - DATA (IFOREST_D( 8, IFR, -3, 2),IFR=1,2)/ -2, 5/ |
4125 | -C Diagram 3 for nFKSprocess 8 |
4126 | - DATA MAPCONFIG_D( 8, 3)/ 3/ |
4127 | - DATA (IFOREST_D( 8, IFR, -1, 3),IFR=1,2)/ 1, 4/ |
4128 | - DATA TPRID_D( 8, -1, 3)/ 6/ |
4129 | - DATA (IFOREST_D( 8, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4130 | - DATA TPRID_D( 8, -2, 3)/ 21/ |
4131 | - DATA (IFOREST_D( 8, IFR, -3, 3),IFR=1,2)/ -2, 5/ |
4132 | -C Diagram 4 for nFKSprocess 8 |
4133 | - DATA MAPCONFIG_D( 8, 4)/ 4/ |
4134 | - DATA (IFOREST_D( 8, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4135 | - DATA SPROP_D( 8, -1, 4)/ 21/ |
4136 | - DATA (IFOREST_D( 8, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4137 | - DATA TPRID_D( 8, -2, 4)/ 1/ |
4138 | - DATA (IFOREST_D( 8, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4139 | -C Diagram 5 for nFKSprocess 8 |
4140 | - DATA MAPCONFIG_D( 8, 5)/ 5/ |
4141 | - DATA (IFOREST_D( 8, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4142 | - DATA SPROP_D( 8, -1, 5)/ 21/ |
4143 | - DATA (IFOREST_D( 8, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4144 | - DATA TPRID_D( 8, -2, 5)/ 21/ |
4145 | - DATA (IFOREST_D( 8, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4146 | -C Number of configs for nFKSprocess 8 |
4147 | - DATA MAPCONFIG_D( 8,0)/ 5/ |
4148 | -C |
4149 | -C |
4150 | - PMASS_D ( 1, -1, 1) = ZERO |
4151 | - PWIDTH_D( 1, -1, 1) = ZERO |
4152 | - POW_D ( 1, -1, 1) = 2 |
4153 | - PMASS_D ( 1, -2, 1) = ZERO |
4154 | - PWIDTH_D( 1, -2, 1) = ZERO |
4155 | - POW_D ( 1, -2, 1) = 2 |
4156 | - PMASS_D ( 1, -1, 2) = ABS(MDL_MT) |
4157 | - PWIDTH_D( 1, -1, 2) = ABS(MDL_WT) |
4158 | - POW_D ( 1, -1, 2) = 1 |
4159 | - PMASS_D ( 1, -2, 2) = ZERO |
4160 | - PWIDTH_D( 1, -2, 2) = ZERO |
4161 | - POW_D ( 1, -2, 2) = 2 |
4162 | - PMASS_D ( 1, -1, 3) = ABS(MDL_MT) |
4163 | - PWIDTH_D( 1, -1, 3) = ABS(MDL_WT) |
4164 | - POW_D ( 1, -1, 3) = 1 |
4165 | - PMASS_D ( 1, -2, 3) = ZERO |
4166 | - PWIDTH_D( 1, -2, 3) = ZERO |
4167 | - POW_D ( 1, -2, 3) = 2 |
4168 | - PMASS_D ( 1, -1, 4) = ABS(MDL_MT) |
4169 | - PWIDTH_D( 1, -1, 4) = ABS(MDL_WT) |
4170 | - POW_D ( 1, -1, 4) = 1 |
4171 | - PMASS_D ( 1, -2, 4) = ABS(MDL_MT) |
4172 | - PWIDTH_D( 1, -2, 4) = ABS(MDL_WT) |
4173 | - POW_D ( 1, -2, 4) = 1 |
4174 | - PMASS_D ( 1, -1, 5) = ABS(MDL_MT) |
4175 | - PWIDTH_D( 1, -1, 5) = ABS(MDL_WT) |
4176 | - POW_D ( 1, -1, 5) = 1 |
4177 | - PMASS_D ( 1, -2, 5) = ZERO |
4178 | - PWIDTH_D( 1, -2, 5) = ZERO |
4179 | - POW_D ( 1, -2, 5) = 2 |
4180 | - PMASS_D ( 1, -1, 6) = ABS(MDL_MT) |
4181 | - PWIDTH_D( 1, -1, 6) = ABS(MDL_WT) |
4182 | - POW_D ( 1, -1, 6) = 1 |
4183 | - PMASS_D ( 1, -2, 6) = ABS(MDL_MT) |
4184 | - PWIDTH_D( 1, -2, 6) = ABS(MDL_WT) |
4185 | - POW_D ( 1, -2, 6) = 1 |
4186 | - PMASS_D ( 1, -1, 7) = ABS(MDL_MT) |
4187 | - PWIDTH_D( 1, -1, 7) = ABS(MDL_WT) |
4188 | - POW_D ( 1, -1, 7) = 1 |
4189 | - PMASS_D ( 1, -2, 7) = ABS(MDL_MT) |
4190 | - PWIDTH_D( 1, -2, 7) = ABS(MDL_WT) |
4191 | - POW_D ( 1, -2, 7) = 1 |
4192 | - PMASS_D ( 1, -1, 8) = ABS(MDL_MT) |
4193 | - PWIDTH_D( 1, -1, 8) = ABS(MDL_WT) |
4194 | - POW_D ( 1, -1, 8) = 1 |
4195 | - PMASS_D ( 1, -2, 8) = ZERO |
4196 | - PWIDTH_D( 1, -2, 8) = ZERO |
4197 | - POW_D ( 1, -2, 8) = 2 |
4198 | - PMASS_D ( 1, -1, 9) = ABS(MDL_MT) |
4199 | - PWIDTH_D( 1, -1, 9) = ABS(MDL_WT) |
4200 | - POW_D ( 1, -1, 9) = 1 |
4201 | - PMASS_D ( 1, -2, 9) = ABS(MDL_MT) |
4202 | - PWIDTH_D( 1, -2, 9) = ABS(MDL_WT) |
4203 | - POW_D ( 1, -2, 9) = 1 |
4204 | - PMASS_D ( 1, -1, 10) = ZERO |
4205 | - PWIDTH_D( 1, -1, 10) = ZERO |
4206 | - POW_D ( 1, -1, 10) = 2 |
4207 | - PMASS_D ( 1, -2, 10) = ABS(MDL_MT) |
4208 | - PWIDTH_D( 1, -2, 10) = ABS(MDL_WT) |
4209 | - POW_D ( 1, -2, 10) = 1 |
4210 | - PMASS_D ( 1, -1, 11) = ZERO |
4211 | - PWIDTH_D( 1, -1, 11) = ZERO |
4212 | - POW_D ( 1, -1, 11) = 2 |
4213 | - PMASS_D ( 1, -2, 11) = ABS(MDL_MT) |
4214 | - PWIDTH_D( 1, -2, 11) = ABS(MDL_WT) |
4215 | - POW_D ( 1, -2, 11) = 1 |
4216 | - PMASS_D ( 1, -1, 12) = ZERO |
4217 | - PWIDTH_D( 1, -1, 12) = ZERO |
4218 | - POW_D ( 1, -1, 12) = 2 |
4219 | - PMASS_D ( 1, -2, 12) = ZERO |
4220 | - PWIDTH_D( 1, -2, 12) = ZERO |
4221 | - POW_D ( 1, -2, 12) = 2 |
4222 | - PMASS_D ( 1, -1, 13) = ABS(MDL_MT) |
4223 | - PWIDTH_D( 1, -1, 13) = ABS(MDL_WT) |
4224 | - POW_D ( 1, -1, 13) = 1 |
4225 | - PMASS_D ( 1, -2, 13) = ABS(MDL_MT) |
4226 | - PWIDTH_D( 1, -2, 13) = ABS(MDL_WT) |
4227 | - POW_D ( 1, -2, 13) = 1 |
4228 | - PMASS_D ( 1, -1, 14) = ABS(MDL_MT) |
4229 | - PWIDTH_D( 1, -1, 14) = ABS(MDL_WT) |
4230 | - POW_D ( 1, -1, 14) = 1 |
4231 | - PMASS_D ( 1, -2, 14) = ABS(MDL_MT) |
4232 | - PWIDTH_D( 1, -2, 14) = ABS(MDL_WT) |
4233 | - POW_D ( 1, -2, 14) = 1 |
4234 | - PMASS_D ( 1, -1, 15) = ZERO |
4235 | - PWIDTH_D( 1, -1, 15) = ZERO |
4236 | - POW_D ( 1, -1, 15) = 2 |
4237 | - PMASS_D ( 1, -2, 15) = ZERO |
4238 | - PWIDTH_D( 1, -2, 15) = ZERO |
4239 | - POW_D ( 1, -2, 15) = 2 |
4240 | -C |
4241 | - PMASS_D ( 2, -1, 1) = ZERO |
4242 | - PWIDTH_D( 2, -1, 1) = ZERO |
4243 | - POW_D ( 2, -1, 1) = 2 |
4244 | - PMASS_D ( 2, -2, 1) = ZERO |
4245 | - PWIDTH_D( 2, -2, 1) = ZERO |
4246 | - POW_D ( 2, -2, 1) = 2 |
4247 | - PMASS_D ( 2, -1, 2) = ABS(MDL_MT) |
4248 | - PWIDTH_D( 2, -1, 2) = ABS(MDL_WT) |
4249 | - POW_D ( 2, -1, 2) = 1 |
4250 | - PMASS_D ( 2, -2, 2) = ZERO |
4251 | - PWIDTH_D( 2, -2, 2) = ZERO |
4252 | - POW_D ( 2, -2, 2) = 2 |
4253 | - PMASS_D ( 2, -1, 3) = ABS(MDL_MT) |
4254 | - PWIDTH_D( 2, -1, 3) = ABS(MDL_WT) |
4255 | - POW_D ( 2, -1, 3) = 1 |
4256 | - PMASS_D ( 2, -2, 3) = ZERO |
4257 | - PWIDTH_D( 2, -2, 3) = ZERO |
4258 | - POW_D ( 2, -2, 3) = 2 |
4259 | - PMASS_D ( 2, -1, 4) = ABS(MDL_MT) |
4260 | - PWIDTH_D( 2, -1, 4) = ABS(MDL_WT) |
4261 | - POW_D ( 2, -1, 4) = 1 |
4262 | - PMASS_D ( 2, -2, 4) = ABS(MDL_MT) |
4263 | - PWIDTH_D( 2, -2, 4) = ABS(MDL_WT) |
4264 | - POW_D ( 2, -2, 4) = 1 |
4265 | - PMASS_D ( 2, -1, 5) = ABS(MDL_MT) |
4266 | - PWIDTH_D( 2, -1, 5) = ABS(MDL_WT) |
4267 | - POW_D ( 2, -1, 5) = 1 |
4268 | - PMASS_D ( 2, -2, 5) = ZERO |
4269 | - PWIDTH_D( 2, -2, 5) = ZERO |
4270 | - POW_D ( 2, -2, 5) = 2 |
4271 | - PMASS_D ( 2, -1, 6) = ABS(MDL_MT) |
4272 | - PWIDTH_D( 2, -1, 6) = ABS(MDL_WT) |
4273 | - POW_D ( 2, -1, 6) = 1 |
4274 | - PMASS_D ( 2, -2, 6) = ABS(MDL_MT) |
4275 | - PWIDTH_D( 2, -2, 6) = ABS(MDL_WT) |
4276 | - POW_D ( 2, -2, 6) = 1 |
4277 | - PMASS_D ( 2, -1, 7) = ABS(MDL_MT) |
4278 | - PWIDTH_D( 2, -1, 7) = ABS(MDL_WT) |
4279 | - POW_D ( 2, -1, 7) = 1 |
4280 | - PMASS_D ( 2, -2, 7) = ABS(MDL_MT) |
4281 | - PWIDTH_D( 2, -2, 7) = ABS(MDL_WT) |
4282 | - POW_D ( 2, -2, 7) = 1 |
4283 | - PMASS_D ( 2, -1, 8) = ABS(MDL_MT) |
4284 | - PWIDTH_D( 2, -1, 8) = ABS(MDL_WT) |
4285 | - POW_D ( 2, -1, 8) = 1 |
4286 | - PMASS_D ( 2, -2, 8) = ZERO |
4287 | - PWIDTH_D( 2, -2, 8) = ZERO |
4288 | - POW_D ( 2, -2, 8) = 2 |
4289 | - PMASS_D ( 2, -1, 9) = ABS(MDL_MT) |
4290 | - PWIDTH_D( 2, -1, 9) = ABS(MDL_WT) |
4291 | - POW_D ( 2, -1, 9) = 1 |
4292 | - PMASS_D ( 2, -2, 9) = ABS(MDL_MT) |
4293 | - PWIDTH_D( 2, -2, 9) = ABS(MDL_WT) |
4294 | - POW_D ( 2, -2, 9) = 1 |
4295 | - PMASS_D ( 2, -1, 10) = ZERO |
4296 | - PWIDTH_D( 2, -1, 10) = ZERO |
4297 | - POW_D ( 2, -1, 10) = 2 |
4298 | - PMASS_D ( 2, -2, 10) = ABS(MDL_MT) |
4299 | - PWIDTH_D( 2, -2, 10) = ABS(MDL_WT) |
4300 | - POW_D ( 2, -2, 10) = 1 |
4301 | - PMASS_D ( 2, -1, 11) = ZERO |
4302 | - PWIDTH_D( 2, -1, 11) = ZERO |
4303 | - POW_D ( 2, -1, 11) = 2 |
4304 | - PMASS_D ( 2, -2, 11) = ABS(MDL_MT) |
4305 | - PWIDTH_D( 2, -2, 11) = ABS(MDL_WT) |
4306 | - POW_D ( 2, -2, 11) = 1 |
4307 | - PMASS_D ( 2, -1, 12) = ZERO |
4308 | - PWIDTH_D( 2, -1, 12) = ZERO |
4309 | - POW_D ( 2, -1, 12) = 2 |
4310 | - PMASS_D ( 2, -2, 12) = ZERO |
4311 | - PWIDTH_D( 2, -2, 12) = ZERO |
4312 | - POW_D ( 2, -2, 12) = 2 |
4313 | - PMASS_D ( 2, -1, 13) = ABS(MDL_MT) |
4314 | - PWIDTH_D( 2, -1, 13) = ABS(MDL_WT) |
4315 | - POW_D ( 2, -1, 13) = 1 |
4316 | - PMASS_D ( 2, -2, 13) = ABS(MDL_MT) |
4317 | - PWIDTH_D( 2, -2, 13) = ABS(MDL_WT) |
4318 | - POW_D ( 2, -2, 13) = 1 |
4319 | - PMASS_D ( 2, -1, 14) = ABS(MDL_MT) |
4320 | - PWIDTH_D( 2, -1, 14) = ABS(MDL_WT) |
4321 | - POW_D ( 2, -1, 14) = 1 |
4322 | - PMASS_D ( 2, -2, 14) = ABS(MDL_MT) |
4323 | - PWIDTH_D( 2, -2, 14) = ABS(MDL_WT) |
4324 | - POW_D ( 2, -2, 14) = 1 |
4325 | - PMASS_D ( 2, -1, 15) = ZERO |
4326 | - PWIDTH_D( 2, -1, 15) = ZERO |
4327 | - POW_D ( 2, -1, 15) = 2 |
4328 | - PMASS_D ( 2, -2, 15) = ZERO |
4329 | - PWIDTH_D( 2, -2, 15) = ZERO |
4330 | - POW_D ( 2, -2, 15) = 2 |
4331 | -C |
4332 | - PMASS_D ( 3, -1, 1) = ZERO |
4333 | - PWIDTH_D( 3, -1, 1) = ZERO |
4334 | - POW_D ( 3, -1, 1) = 2 |
4335 | - PMASS_D ( 3, -2, 1) = ZERO |
4336 | - PWIDTH_D( 3, -2, 1) = ZERO |
4337 | - POW_D ( 3, -2, 1) = 2 |
4338 | - PMASS_D ( 3, -1, 2) = ABS(MDL_MT) |
4339 | - PWIDTH_D( 3, -1, 2) = ABS(MDL_WT) |
4340 | - POW_D ( 3, -1, 2) = 1 |
4341 | - PMASS_D ( 3, -2, 2) = ZERO |
4342 | - PWIDTH_D( 3, -2, 2) = ZERO |
4343 | - POW_D ( 3, -2, 2) = 2 |
4344 | - PMASS_D ( 3, -1, 3) = ABS(MDL_MT) |
4345 | - PWIDTH_D( 3, -1, 3) = ABS(MDL_WT) |
4346 | - POW_D ( 3, -1, 3) = 1 |
4347 | - PMASS_D ( 3, -2, 3) = ZERO |
4348 | - PWIDTH_D( 3, -2, 3) = ZERO |
4349 | - POW_D ( 3, -2, 3) = 2 |
4350 | - PMASS_D ( 3, -1, 4) = ABS(MDL_MT) |
4351 | - PWIDTH_D( 3, -1, 4) = ABS(MDL_WT) |
4352 | - POW_D ( 3, -1, 4) = 1 |
4353 | - PMASS_D ( 3, -2, 4) = ABS(MDL_MT) |
4354 | - PWIDTH_D( 3, -2, 4) = ABS(MDL_WT) |
4355 | - POW_D ( 3, -2, 4) = 1 |
4356 | - PMASS_D ( 3, -1, 5) = ABS(MDL_MT) |
4357 | - PWIDTH_D( 3, -1, 5) = ABS(MDL_WT) |
4358 | - POW_D ( 3, -1, 5) = 1 |
4359 | - PMASS_D ( 3, -2, 5) = ZERO |
4360 | - PWIDTH_D( 3, -2, 5) = ZERO |
4361 | - POW_D ( 3, -2, 5) = 2 |
4362 | - PMASS_D ( 3, -1, 6) = ABS(MDL_MT) |
4363 | - PWIDTH_D( 3, -1, 6) = ABS(MDL_WT) |
4364 | - POW_D ( 3, -1, 6) = 1 |
4365 | - PMASS_D ( 3, -2, 6) = ABS(MDL_MT) |
4366 | - PWIDTH_D( 3, -2, 6) = ABS(MDL_WT) |
4367 | - POW_D ( 3, -2, 6) = 1 |
4368 | - PMASS_D ( 3, -1, 7) = ABS(MDL_MT) |
4369 | - PWIDTH_D( 3, -1, 7) = ABS(MDL_WT) |
4370 | - POW_D ( 3, -1, 7) = 1 |
4371 | - PMASS_D ( 3, -2, 7) = ABS(MDL_MT) |
4372 | - PWIDTH_D( 3, -2, 7) = ABS(MDL_WT) |
4373 | - POW_D ( 3, -2, 7) = 1 |
4374 | - PMASS_D ( 3, -1, 8) = ABS(MDL_MT) |
4375 | - PWIDTH_D( 3, -1, 8) = ABS(MDL_WT) |
4376 | - POW_D ( 3, -1, 8) = 1 |
4377 | - PMASS_D ( 3, -2, 8) = ZERO |
4378 | - PWIDTH_D( 3, -2, 8) = ZERO |
4379 | - POW_D ( 3, -2, 8) = 2 |
4380 | - PMASS_D ( 3, -1, 9) = ABS(MDL_MT) |
4381 | - PWIDTH_D( 3, -1, 9) = ABS(MDL_WT) |
4382 | - POW_D ( 3, -1, 9) = 1 |
4383 | - PMASS_D ( 3, -2, 9) = ABS(MDL_MT) |
4384 | - PWIDTH_D( 3, -2, 9) = ABS(MDL_WT) |
4385 | - POW_D ( 3, -2, 9) = 1 |
4386 | - PMASS_D ( 3, -1, 10) = ZERO |
4387 | - PWIDTH_D( 3, -1, 10) = ZERO |
4388 | - POW_D ( 3, -1, 10) = 2 |
4389 | - PMASS_D ( 3, -2, 10) = ABS(MDL_MT) |
4390 | - PWIDTH_D( 3, -2, 10) = ABS(MDL_WT) |
4391 | - POW_D ( 3, -2, 10) = 1 |
4392 | - PMASS_D ( 3, -1, 11) = ZERO |
4393 | - PWIDTH_D( 3, -1, 11) = ZERO |
4394 | - POW_D ( 3, -1, 11) = 2 |
4395 | - PMASS_D ( 3, -2, 11) = ABS(MDL_MT) |
4396 | - PWIDTH_D( 3, -2, 11) = ABS(MDL_WT) |
4397 | - POW_D ( 3, -2, 11) = 1 |
4398 | - PMASS_D ( 3, -1, 12) = ZERO |
4399 | - PWIDTH_D( 3, -1, 12) = ZERO |
4400 | - POW_D ( 3, -1, 12) = 2 |
4401 | - PMASS_D ( 3, -2, 12) = ZERO |
4402 | - PWIDTH_D( 3, -2, 12) = ZERO |
4403 | - POW_D ( 3, -2, 12) = 2 |
4404 | - PMASS_D ( 3, -1, 13) = ABS(MDL_MT) |
4405 | - PWIDTH_D( 3, -1, 13) = ABS(MDL_WT) |
4406 | - POW_D ( 3, -1, 13) = 1 |
4407 | - PMASS_D ( 3, -2, 13) = ABS(MDL_MT) |
4408 | - PWIDTH_D( 3, -2, 13) = ABS(MDL_WT) |
4409 | - POW_D ( 3, -2, 13) = 1 |
4410 | - PMASS_D ( 3, -1, 14) = ABS(MDL_MT) |
4411 | - PWIDTH_D( 3, -1, 14) = ABS(MDL_WT) |
4412 | - POW_D ( 3, -1, 14) = 1 |
4413 | - PMASS_D ( 3, -2, 14) = ABS(MDL_MT) |
4414 | - PWIDTH_D( 3, -2, 14) = ABS(MDL_WT) |
4415 | - POW_D ( 3, -2, 14) = 1 |
4416 | - PMASS_D ( 3, -1, 15) = ZERO |
4417 | - PWIDTH_D( 3, -1, 15) = ZERO |
4418 | - POW_D ( 3, -1, 15) = 2 |
4419 | - PMASS_D ( 3, -2, 15) = ZERO |
4420 | - PWIDTH_D( 3, -2, 15) = ZERO |
4421 | - POW_D ( 3, -2, 15) = 2 |
4422 | -C |
4423 | - PMASS_D ( 4, -1, 1) = ZERO |
4424 | - PWIDTH_D( 4, -1, 1) = ZERO |
4425 | - POW_D ( 4, -1, 1) = 2 |
4426 | - PMASS_D ( 4, -2, 1) = ZERO |
4427 | - PWIDTH_D( 4, -2, 1) = ZERO |
4428 | - POW_D ( 4, -2, 1) = 2 |
4429 | - PMASS_D ( 4, -1, 2) = ABS(MDL_MT) |
4430 | - PWIDTH_D( 4, -1, 2) = ABS(MDL_WT) |
4431 | - POW_D ( 4, -1, 2) = 1 |
4432 | - PMASS_D ( 4, -2, 2) = ZERO |
4433 | - PWIDTH_D( 4, -2, 2) = ZERO |
4434 | - POW_D ( 4, -2, 2) = 2 |
4435 | - PMASS_D ( 4, -1, 3) = ABS(MDL_MT) |
4436 | - PWIDTH_D( 4, -1, 3) = ABS(MDL_WT) |
4437 | - POW_D ( 4, -1, 3) = 1 |
4438 | - PMASS_D ( 4, -2, 3) = ZERO |
4439 | - PWIDTH_D( 4, -2, 3) = ZERO |
4440 | - POW_D ( 4, -2, 3) = 2 |
4441 | - PMASS_D ( 4, -1, 4) = ABS(MDL_MT) |
4442 | - PWIDTH_D( 4, -1, 4) = ABS(MDL_WT) |
4443 | - POW_D ( 4, -1, 4) = 1 |
4444 | - PMASS_D ( 4, -2, 4) = ABS(MDL_MT) |
4445 | - PWIDTH_D( 4, -2, 4) = ABS(MDL_WT) |
4446 | - POW_D ( 4, -2, 4) = 1 |
4447 | - PMASS_D ( 4, -1, 5) = ABS(MDL_MT) |
4448 | - PWIDTH_D( 4, -1, 5) = ABS(MDL_WT) |
4449 | - POW_D ( 4, -1, 5) = 1 |
4450 | - PMASS_D ( 4, -2, 5) = ZERO |
4451 | - PWIDTH_D( 4, -2, 5) = ZERO |
4452 | - POW_D ( 4, -2, 5) = 2 |
4453 | - PMASS_D ( 4, -1, 6) = ABS(MDL_MT) |
4454 | - PWIDTH_D( 4, -1, 6) = ABS(MDL_WT) |
4455 | - POW_D ( 4, -1, 6) = 1 |
4456 | - PMASS_D ( 4, -2, 6) = ABS(MDL_MT) |
4457 | - PWIDTH_D( 4, -2, 6) = ABS(MDL_WT) |
4458 | - POW_D ( 4, -2, 6) = 1 |
4459 | - PMASS_D ( 4, -1, 7) = ABS(MDL_MT) |
4460 | - PWIDTH_D( 4, -1, 7) = ABS(MDL_WT) |
4461 | - POW_D ( 4, -1, 7) = 1 |
4462 | - PMASS_D ( 4, -2, 7) = ABS(MDL_MT) |
4463 | - PWIDTH_D( 4, -2, 7) = ABS(MDL_WT) |
4464 | - POW_D ( 4, -2, 7) = 1 |
4465 | - PMASS_D ( 4, -1, 8) = ABS(MDL_MT) |
4466 | - PWIDTH_D( 4, -1, 8) = ABS(MDL_WT) |
4467 | - POW_D ( 4, -1, 8) = 1 |
4468 | - PMASS_D ( 4, -2, 8) = ZERO |
4469 | - PWIDTH_D( 4, -2, 8) = ZERO |
4470 | - POW_D ( 4, -2, 8) = 2 |
4471 | - PMASS_D ( 4, -1, 9) = ABS(MDL_MT) |
4472 | - PWIDTH_D( 4, -1, 9) = ABS(MDL_WT) |
4473 | - POW_D ( 4, -1, 9) = 1 |
4474 | - PMASS_D ( 4, -2, 9) = ABS(MDL_MT) |
4475 | - PWIDTH_D( 4, -2, 9) = ABS(MDL_WT) |
4476 | - POW_D ( 4, -2, 9) = 1 |
4477 | - PMASS_D ( 4, -1, 10) = ZERO |
4478 | - PWIDTH_D( 4, -1, 10) = ZERO |
4479 | - POW_D ( 4, -1, 10) = 2 |
4480 | - PMASS_D ( 4, -2, 10) = ABS(MDL_MT) |
4481 | - PWIDTH_D( 4, -2, 10) = ABS(MDL_WT) |
4482 | - POW_D ( 4, -2, 10) = 1 |
4483 | - PMASS_D ( 4, -1, 11) = ZERO |
4484 | - PWIDTH_D( 4, -1, 11) = ZERO |
4485 | - POW_D ( 4, -1, 11) = 2 |
4486 | - PMASS_D ( 4, -2, 11) = ABS(MDL_MT) |
4487 | - PWIDTH_D( 4, -2, 11) = ABS(MDL_WT) |
4488 | - POW_D ( 4, -2, 11) = 1 |
4489 | - PMASS_D ( 4, -1, 12) = ZERO |
4490 | - PWIDTH_D( 4, -1, 12) = ZERO |
4491 | - POW_D ( 4, -1, 12) = 2 |
4492 | - PMASS_D ( 4, -2, 12) = ZERO |
4493 | - PWIDTH_D( 4, -2, 12) = ZERO |
4494 | - POW_D ( 4, -2, 12) = 2 |
4495 | - PMASS_D ( 4, -1, 13) = ABS(MDL_MT) |
4496 | - PWIDTH_D( 4, -1, 13) = ABS(MDL_WT) |
4497 | - POW_D ( 4, -1, 13) = 1 |
4498 | - PMASS_D ( 4, -2, 13) = ABS(MDL_MT) |
4499 | - PWIDTH_D( 4, -2, 13) = ABS(MDL_WT) |
4500 | - POW_D ( 4, -2, 13) = 1 |
4501 | - PMASS_D ( 4, -1, 14) = ABS(MDL_MT) |
4502 | - PWIDTH_D( 4, -1, 14) = ABS(MDL_WT) |
4503 | - POW_D ( 4, -1, 14) = 1 |
4504 | - PMASS_D ( 4, -2, 14) = ABS(MDL_MT) |
4505 | - PWIDTH_D( 4, -2, 14) = ABS(MDL_WT) |
4506 | - POW_D ( 4, -2, 14) = 1 |
4507 | - PMASS_D ( 4, -1, 15) = ZERO |
4508 | - PWIDTH_D( 4, -1, 15) = ZERO |
4509 | - POW_D ( 4, -1, 15) = 2 |
4510 | - PMASS_D ( 4, -2, 15) = ZERO |
4511 | - PWIDTH_D( 4, -2, 15) = ZERO |
4512 | - POW_D ( 4, -2, 15) = 2 |
4513 | -C |
4514 | - PMASS_D ( 5, -1, 1) = ZERO |
4515 | - PWIDTH_D( 5, -1, 1) = ZERO |
4516 | - POW_D ( 5, -1, 1) = 2 |
4517 | - PMASS_D ( 5, -2, 1) = ZERO |
4518 | - PWIDTH_D( 5, -2, 1) = ZERO |
4519 | - POW_D ( 5, -2, 1) = 1 |
4520 | - PMASS_D ( 5, -1, 2) = ZERO |
4521 | - PWIDTH_D( 5, -1, 2) = ZERO |
4522 | - POW_D ( 5, -1, 2) = 2 |
4523 | - PMASS_D ( 5, -2, 2) = ABS(MDL_MT) |
4524 | - PWIDTH_D( 5, -2, 2) = ABS(MDL_WT) |
4525 | - POW_D ( 5, -2, 2) = 1 |
4526 | - PMASS_D ( 5, -1, 3) = ZERO |
4527 | - PWIDTH_D( 5, -1, 3) = ZERO |
4528 | - POW_D ( 5, -1, 3) = 2 |
4529 | - PMASS_D ( 5, -2, 3) = ABS(MDL_MT) |
4530 | - PWIDTH_D( 5, -2, 3) = ABS(MDL_WT) |
4531 | - POW_D ( 5, -2, 3) = 1 |
4532 | - PMASS_D ( 5, -1, 4) = ZERO |
4533 | - PWIDTH_D( 5, -1, 4) = ZERO |
4534 | - POW_D ( 5, -1, 4) = 2 |
4535 | - PMASS_D ( 5, -2, 4) = ZERO |
4536 | - PWIDTH_D( 5, -2, 4) = ZERO |
4537 | - POW_D ( 5, -2, 4) = 2 |
4538 | - PMASS_D ( 5, -1, 5) = ZERO |
4539 | - PWIDTH_D( 5, -1, 5) = ZERO |
4540 | - POW_D ( 5, -1, 5) = 2 |
4541 | - PMASS_D ( 5, -2, 5) = ZERO |
4542 | - PWIDTH_D( 5, -2, 5) = ZERO |
4543 | - POW_D ( 5, -2, 5) = 1 |
4544 | -C |
4545 | - PMASS_D ( 6, -1, 1) = ZERO |
4546 | - PWIDTH_D( 6, -1, 1) = ZERO |
4547 | - POW_D ( 6, -1, 1) = 2 |
4548 | - PMASS_D ( 6, -2, 1) = ZERO |
4549 | - PWIDTH_D( 6, -2, 1) = ZERO |
4550 | - POW_D ( 6, -2, 1) = 1 |
4551 | - PMASS_D ( 6, -1, 2) = ZERO |
4552 | - PWIDTH_D( 6, -1, 2) = ZERO |
4553 | - POW_D ( 6, -1, 2) = 2 |
4554 | - PMASS_D ( 6, -2, 2) = ABS(MDL_MT) |
4555 | - PWIDTH_D( 6, -2, 2) = ABS(MDL_WT) |
4556 | - POW_D ( 6, -2, 2) = 1 |
4557 | - PMASS_D ( 6, -1, 3) = ZERO |
4558 | - PWIDTH_D( 6, -1, 3) = ZERO |
4559 | - POW_D ( 6, -1, 3) = 2 |
4560 | - PMASS_D ( 6, -2, 3) = ABS(MDL_MT) |
4561 | - PWIDTH_D( 6, -2, 3) = ABS(MDL_WT) |
4562 | - POW_D ( 6, -2, 3) = 1 |
4563 | - PMASS_D ( 6, -1, 4) = ZERO |
4564 | - PWIDTH_D( 6, -1, 4) = ZERO |
4565 | - POW_D ( 6, -1, 4) = 2 |
4566 | - PMASS_D ( 6, -2, 4) = ZERO |
4567 | - PWIDTH_D( 6, -2, 4) = ZERO |
4568 | - POW_D ( 6, -2, 4) = 2 |
4569 | - PMASS_D ( 6, -1, 5) = ZERO |
4570 | - PWIDTH_D( 6, -1, 5) = ZERO |
4571 | - POW_D ( 6, -1, 5) = 2 |
4572 | - PMASS_D ( 6, -2, 5) = ZERO |
4573 | - PWIDTH_D( 6, -2, 5) = ZERO |
4574 | - POW_D ( 6, -2, 5) = 1 |
4575 | -C |
4576 | - PMASS_D ( 7, -1, 1) = ZERO |
4577 | - PWIDTH_D( 7, -1, 1) = ZERO |
4578 | - POW_D ( 7, -1, 1) = 2 |
4579 | - PMASS_D ( 7, -2, 1) = ZERO |
4580 | - PWIDTH_D( 7, -2, 1) = ZERO |
4581 | - POW_D ( 7, -2, 1) = 1 |
4582 | - PMASS_D ( 7, -1, 2) = ABS(MDL_MT) |
4583 | - PWIDTH_D( 7, -1, 2) = ABS(MDL_WT) |
4584 | - POW_D ( 7, -1, 2) = 1 |
4585 | - PMASS_D ( 7, -2, 2) = ZERO |
4586 | - PWIDTH_D( 7, -2, 2) = ZERO |
4587 | - POW_D ( 7, -2, 2) = 2 |
4588 | - PMASS_D ( 7, -1, 3) = ABS(MDL_MT) |
4589 | - PWIDTH_D( 7, -1, 3) = ABS(MDL_WT) |
4590 | - POW_D ( 7, -1, 3) = 1 |
4591 | - PMASS_D ( 7, -2, 3) = ZERO |
4592 | - PWIDTH_D( 7, -2, 3) = ZERO |
4593 | - POW_D ( 7, -2, 3) = 2 |
4594 | - PMASS_D ( 7, -1, 4) = ZERO |
4595 | - PWIDTH_D( 7, -1, 4) = ZERO |
4596 | - POW_D ( 7, -1, 4) = 2 |
4597 | - PMASS_D ( 7, -2, 4) = ZERO |
4598 | - PWIDTH_D( 7, -2, 4) = ZERO |
4599 | - POW_D ( 7, -2, 4) = 1 |
4600 | - PMASS_D ( 7, -1, 5) = ZERO |
4601 | - PWIDTH_D( 7, -1, 5) = ZERO |
4602 | - POW_D ( 7, -1, 5) = 2 |
4603 | - PMASS_D ( 7, -2, 5) = ZERO |
4604 | - PWIDTH_D( 7, -2, 5) = ZERO |
4605 | - POW_D ( 7, -2, 5) = 2 |
4606 | -C |
4607 | - PMASS_D ( 8, -1, 1) = ZERO |
4608 | - PWIDTH_D( 8, -1, 1) = ZERO |
4609 | - POW_D ( 8, -1, 1) = 2 |
4610 | - PMASS_D ( 8, -2, 1) = ZERO |
4611 | - PWIDTH_D( 8, -2, 1) = ZERO |
4612 | - POW_D ( 8, -2, 1) = 1 |
4613 | - PMASS_D ( 8, -1, 2) = ABS(MDL_MT) |
4614 | - PWIDTH_D( 8, -1, 2) = ABS(MDL_WT) |
4615 | - POW_D ( 8, -1, 2) = 1 |
4616 | - PMASS_D ( 8, -2, 2) = ZERO |
4617 | - PWIDTH_D( 8, -2, 2) = ZERO |
4618 | - POW_D ( 8, -2, 2) = 2 |
4619 | - PMASS_D ( 8, -1, 3) = ABS(MDL_MT) |
4620 | - PWIDTH_D( 8, -1, 3) = ABS(MDL_WT) |
4621 | - POW_D ( 8, -1, 3) = 1 |
4622 | - PMASS_D ( 8, -2, 3) = ZERO |
4623 | - PWIDTH_D( 8, -2, 3) = ZERO |
4624 | - POW_D ( 8, -2, 3) = 2 |
4625 | - PMASS_D ( 8, -1, 4) = ZERO |
4626 | - PWIDTH_D( 8, -1, 4) = ZERO |
4627 | - POW_D ( 8, -1, 4) = 2 |
4628 | - PMASS_D ( 8, -2, 4) = ZERO |
4629 | - PWIDTH_D( 8, -2, 4) = ZERO |
4630 | - POW_D ( 8, -2, 4) = 1 |
4631 | - PMASS_D ( 8, -1, 5) = ZERO |
4632 | - PWIDTH_D( 8, -1, 5) = ZERO |
4633 | - POW_D ( 8, -1, 5) = 2 |
4634 | - PMASS_D ( 8, -2, 5) = ZERO |
4635 | - PWIDTH_D( 8, -2, 5) = ZERO |
4636 | - POW_D ( 8, -2, 5) = 2 |
4637 | |
4638 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_decl.inc' |
4639 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_decl.inc 1970-01-01 00:00:00 +0000 |
4640 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_decl.inc 2014-11-06 06:25:51 +0000 |
4641 | @@ -0,0 +1,6 @@ |
4642 | + INTEGER MAXPROC_USED, MAXFLOW_USED |
4643 | + PARAMETER (MAXPROC_USED = 4) |
4644 | + PARAMETER (MAXFLOW_USED = 6) |
4645 | + INTEGER IDUP_D(8,5,MAXPROC_USED) |
4646 | + INTEGER MOTHUP_D(8,2,5,MAXPROC_USED) |
4647 | + INTEGER ICOLUP_D(8,2,5,MAXFLOW_USED) |
4648 | |
4649 | === removed file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_info.inc' |
4650 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_info.inc 2014-03-19 08:01:45 +0000 |
4651 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%leshouche_info.inc 1970-01-01 00:00:00 +0000 |
4652 | @@ -1,156 +0,0 @@ |
4653 | - INTEGER MAXPROC_USED, MAXFLOW_USED |
4654 | - PARAMETER (MAXPROC_USED = 4) |
4655 | - PARAMETER (MAXFLOW_USED = 6) |
4656 | - INTEGER IDUP_D(8,5,MAXPROC_USED) |
4657 | - INTEGER MOTHUP_D(8,2,5,MAXPROC_USED) |
4658 | - INTEGER ICOLUP_D(8,2,5,MAXFLOW_USED) |
4659 | - INTEGER ILH |
4660 | - |
4661 | - DATA (IDUP_D(1,ILH,1),ILH=1,5)/21,21,6,-6,21/ |
4662 | - DATA (MOTHUP_D(1,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4663 | - DATA (MOTHUP_D(1,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4664 | - DATA (ICOLUP_D(1,1,ILH, 1),ILH=1, 5)/501,502,501, 0,504/ |
4665 | - DATA (ICOLUP_D(1,2,ILH, 1),ILH=1, 5)/502,503, 0,504,503/ |
4666 | - DATA (ICOLUP_D(1,1,ILH, 2),ILH=1, 5)/501,504,501, 0,504/ |
4667 | - DATA (ICOLUP_D(1,2,ILH, 2),ILH=1, 5)/502,503, 0,503,502/ |
4668 | - DATA (ICOLUP_D(1,1,ILH, 3),ILH=1, 5)/503,501,501, 0,504/ |
4669 | - DATA (ICOLUP_D(1,2,ILH, 3),ILH=1, 5)/502,503, 0,504,502/ |
4670 | - DATA (ICOLUP_D(1,1,ILH, 4),ILH=1, 5)/504,501,501, 0,504/ |
4671 | - DATA (ICOLUP_D(1,2,ILH, 4),ILH=1, 5)/502,503, 0,502,503/ |
4672 | - DATA (ICOLUP_D(1,1,ILH, 5),ILH=1, 5)/504,502,501, 0,504/ |
4673 | - DATA (ICOLUP_D(1,2,ILH, 5),ILH=1, 5)/502,503, 0,503,501/ |
4674 | - DATA (ICOLUP_D(1,1,ILH, 6),ILH=1, 5)/503,504,501, 0,504/ |
4675 | - DATA (ICOLUP_D(1,2,ILH, 6),ILH=1, 5)/502,503, 0,502,501/ |
4676 | - |
4677 | - DATA (IDUP_D(2,ILH,1),ILH=1,5)/21,21,6,-6,21/ |
4678 | - DATA (MOTHUP_D(2,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4679 | - DATA (MOTHUP_D(2,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4680 | - DATA (ICOLUP_D(2,1,ILH, 1),ILH=1, 5)/501,502,501, 0,504/ |
4681 | - DATA (ICOLUP_D(2,2,ILH, 1),ILH=1, 5)/502,503, 0,504,503/ |
4682 | - DATA (ICOLUP_D(2,1,ILH, 2),ILH=1, 5)/501,504,501, 0,504/ |
4683 | - DATA (ICOLUP_D(2,2,ILH, 2),ILH=1, 5)/502,503, 0,503,502/ |
4684 | - DATA (ICOLUP_D(2,1,ILH, 3),ILH=1, 5)/503,501,501, 0,504/ |
4685 | - DATA (ICOLUP_D(2,2,ILH, 3),ILH=1, 5)/502,503, 0,504,502/ |
4686 | - DATA (ICOLUP_D(2,1,ILH, 4),ILH=1, 5)/504,501,501, 0,504/ |
4687 | - DATA (ICOLUP_D(2,2,ILH, 4),ILH=1, 5)/502,503, 0,502,503/ |
4688 | - DATA (ICOLUP_D(2,1,ILH, 5),ILH=1, 5)/504,502,501, 0,504/ |
4689 | - DATA (ICOLUP_D(2,2,ILH, 5),ILH=1, 5)/502,503, 0,503,501/ |
4690 | - DATA (ICOLUP_D(2,1,ILH, 6),ILH=1, 5)/503,504,501, 0,504/ |
4691 | - DATA (ICOLUP_D(2,2,ILH, 6),ILH=1, 5)/502,503, 0,502,501/ |
4692 | - |
4693 | - DATA (IDUP_D(3,ILH,1),ILH=1,5)/21,21,6,-6,21/ |
4694 | - DATA (MOTHUP_D(3,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4695 | - DATA (MOTHUP_D(3,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4696 | - DATA (ICOLUP_D(3,1,ILH, 1),ILH=1, 5)/501,502,501, 0,504/ |
4697 | - DATA (ICOLUP_D(3,2,ILH, 1),ILH=1, 5)/502,503, 0,504,503/ |
4698 | - DATA (ICOLUP_D(3,1,ILH, 2),ILH=1, 5)/501,504,501, 0,504/ |
4699 | - DATA (ICOLUP_D(3,2,ILH, 2),ILH=1, 5)/502,503, 0,503,502/ |
4700 | - DATA (ICOLUP_D(3,1,ILH, 3),ILH=1, 5)/503,501,501, 0,504/ |
4701 | - DATA (ICOLUP_D(3,2,ILH, 3),ILH=1, 5)/502,503, 0,504,502/ |
4702 | - DATA (ICOLUP_D(3,1,ILH, 4),ILH=1, 5)/504,501,501, 0,504/ |
4703 | - DATA (ICOLUP_D(3,2,ILH, 4),ILH=1, 5)/502,503, 0,502,503/ |
4704 | - DATA (ICOLUP_D(3,1,ILH, 5),ILH=1, 5)/504,502,501, 0,504/ |
4705 | - DATA (ICOLUP_D(3,2,ILH, 5),ILH=1, 5)/502,503, 0,503,501/ |
4706 | - DATA (ICOLUP_D(3,1,ILH, 6),ILH=1, 5)/503,504,501, 0,504/ |
4707 | - DATA (ICOLUP_D(3,2,ILH, 6),ILH=1, 5)/502,503, 0,502,501/ |
4708 | - |
4709 | - DATA (IDUP_D(4,ILH,1),ILH=1,5)/21,21,6,-6,21/ |
4710 | - DATA (MOTHUP_D(4,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4711 | - DATA (MOTHUP_D(4,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4712 | - DATA (ICOLUP_D(4,1,ILH, 1),ILH=1, 5)/501,502,501, 0,504/ |
4713 | - DATA (ICOLUP_D(4,2,ILH, 1),ILH=1, 5)/502,503, 0,504,503/ |
4714 | - DATA (ICOLUP_D(4,1,ILH, 2),ILH=1, 5)/501,504,501, 0,504/ |
4715 | - DATA (ICOLUP_D(4,2,ILH, 2),ILH=1, 5)/502,503, 0,503,502/ |
4716 | - DATA (ICOLUP_D(4,1,ILH, 3),ILH=1, 5)/503,501,501, 0,504/ |
4717 | - DATA (ICOLUP_D(4,2,ILH, 3),ILH=1, 5)/502,503, 0,504,502/ |
4718 | - DATA (ICOLUP_D(4,1,ILH, 4),ILH=1, 5)/504,501,501, 0,504/ |
4719 | - DATA (ICOLUP_D(4,2,ILH, 4),ILH=1, 5)/502,503, 0,502,503/ |
4720 | - DATA (ICOLUP_D(4,1,ILH, 5),ILH=1, 5)/504,502,501, 0,504/ |
4721 | - DATA (ICOLUP_D(4,2,ILH, 5),ILH=1, 5)/502,503, 0,503,501/ |
4722 | - DATA (ICOLUP_D(4,1,ILH, 6),ILH=1, 5)/503,504,501, 0,504/ |
4723 | - DATA (ICOLUP_D(4,2,ILH, 6),ILH=1, 5)/502,503, 0,502,501/ |
4724 | - |
4725 | - DATA (IDUP_D(5,ILH,1),ILH=1,5)/-1,21,6,-6,-1/ |
4726 | - DATA (MOTHUP_D(5,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4727 | - DATA (MOTHUP_D(5,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4728 | - DATA (ICOLUP_D(5,1,ILH, 1),ILH=1, 5)/ 0,502,502, 0, 0/ |
4729 | - DATA (ICOLUP_D(5,2,ILH, 1),ILH=1, 5)/501,503, 0,501,503/ |
4730 | - DATA (ICOLUP_D(5,1,ILH, 2),ILH=1, 5)/ 0,502,502, 0, 0/ |
4731 | - DATA (ICOLUP_D(5,2,ILH, 2),ILH=1, 5)/501,503, 0,503,501/ |
4732 | - DATA (ICOLUP_D(5,1,ILH, 3),ILH=1, 5)/ 0,501,502, 0, 0/ |
4733 | - DATA (ICOLUP_D(5,2,ILH, 3),ILH=1, 5)/501,503, 0,503,502/ |
4734 | - DATA (ICOLUP_D(5,1,ILH, 4),ILH=1, 5)/ 0,501,502, 0, 0/ |
4735 | - DATA (ICOLUP_D(5,2,ILH, 4),ILH=1, 5)/501,503, 0,502,503/ |
4736 | - DATA (IDUP_D(5,ILH,2),ILH=1,5)/-3,21,6,-6,-3/ |
4737 | - DATA (MOTHUP_D(5,1,ILH, 2),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4738 | - DATA (MOTHUP_D(5,2,ILH, 2),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4739 | - DATA (IDUP_D(5,ILH,3),ILH=1,5)/-2,21,6,-6,-2/ |
4740 | - DATA (MOTHUP_D(5,1,ILH, 3),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4741 | - DATA (MOTHUP_D(5,2,ILH, 3),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4742 | - DATA (IDUP_D(5,ILH,4),ILH=1,5)/-4,21,6,-6,-4/ |
4743 | - DATA (MOTHUP_D(5,1,ILH, 4),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4744 | - DATA (MOTHUP_D(5,2,ILH, 4),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4745 | - |
4746 | - DATA (IDUP_D(6,ILH,1),ILH=1,5)/1,21,6,-6,1/ |
4747 | - DATA (MOTHUP_D(6,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4748 | - DATA (MOTHUP_D(6,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4749 | - DATA (ICOLUP_D(6,1,ILH, 1),ILH=1, 5)/503,501,501, 0,502/ |
4750 | - DATA (ICOLUP_D(6,2,ILH, 1),ILH=1, 5)/ 0,503, 0,502, 0/ |
4751 | - DATA (ICOLUP_D(6,1,ILH, 2),ILH=1, 5)/502,501,501, 0,502/ |
4752 | - DATA (ICOLUP_D(6,2,ILH, 2),ILH=1, 5)/ 0,503, 0,503, 0/ |
4753 | - DATA (ICOLUP_D(6,1,ILH, 3),ILH=1, 5)/503,502,501, 0,502/ |
4754 | - DATA (ICOLUP_D(6,2,ILH, 3),ILH=1, 5)/ 0,503, 0,501, 0/ |
4755 | - DATA (ICOLUP_D(6,1,ILH, 4),ILH=1, 5)/501,502,501, 0,502/ |
4756 | - DATA (ICOLUP_D(6,2,ILH, 4),ILH=1, 5)/ 0,503, 0,503, 0/ |
4757 | - DATA (IDUP_D(6,ILH,2),ILH=1,5)/3,21,6,-6,3/ |
4758 | - DATA (MOTHUP_D(6,1,ILH, 2),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4759 | - DATA (MOTHUP_D(6,2,ILH, 2),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4760 | - DATA (IDUP_D(6,ILH,3),ILH=1,5)/2,21,6,-6,2/ |
4761 | - DATA (MOTHUP_D(6,1,ILH, 3),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4762 | - DATA (MOTHUP_D(6,2,ILH, 3),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4763 | - DATA (IDUP_D(6,ILH,4),ILH=1,5)/4,21,6,-6,4/ |
4764 | - DATA (MOTHUP_D(6,1,ILH, 4),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4765 | - DATA (MOTHUP_D(6,2,ILH, 4),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4766 | - |
4767 | - DATA (IDUP_D(7,ILH,1),ILH=1,5)/21,-1,6,-6,-1/ |
4768 | - DATA (MOTHUP_D(7,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4769 | - DATA (MOTHUP_D(7,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4770 | - DATA (ICOLUP_D(7,1,ILH, 1),ILH=1, 5)/501, 0,502, 0, 0/ |
4771 | - DATA (ICOLUP_D(7,2,ILH, 1),ILH=1, 5)/503,501, 0,503,502/ |
4772 | - DATA (ICOLUP_D(7,1,ILH, 2),ILH=1, 5)/501, 0,502, 0, 0/ |
4773 | - DATA (ICOLUP_D(7,2,ILH, 2),ILH=1, 5)/503,501, 0,502,503/ |
4774 | - DATA (ICOLUP_D(7,1,ILH, 3),ILH=1, 5)/502, 0,502, 0, 0/ |
4775 | - DATA (ICOLUP_D(7,2,ILH, 3),ILH=1, 5)/503,501, 0,503,501/ |
4776 | - DATA (ICOLUP_D(7,1,ILH, 4),ILH=1, 5)/502, 0,502, 0, 0/ |
4777 | - DATA (ICOLUP_D(7,2,ILH, 4),ILH=1, 5)/503,501, 0,501,503/ |
4778 | - DATA (IDUP_D(7,ILH,2),ILH=1,5)/21,-3,6,-6,-3/ |
4779 | - DATA (MOTHUP_D(7,1,ILH, 2),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4780 | - DATA (MOTHUP_D(7,2,ILH, 2),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4781 | - DATA (IDUP_D(7,ILH,3),ILH=1,5)/21,-2,6,-6,-2/ |
4782 | - DATA (MOTHUP_D(7,1,ILH, 3),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4783 | - DATA (MOTHUP_D(7,2,ILH, 3),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4784 | - DATA (IDUP_D(7,ILH,4),ILH=1,5)/21,-4,6,-6,-4/ |
4785 | - DATA (MOTHUP_D(7,1,ILH, 4),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4786 | - DATA (MOTHUP_D(7,2,ILH, 4),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4787 | - |
4788 | - DATA (IDUP_D(8,ILH,1),ILH=1,5)/21,1,6,-6,1/ |
4789 | - DATA (MOTHUP_D(8,1,ILH, 1),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4790 | - DATA (MOTHUP_D(8,2,ILH, 1),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4791 | - DATA (ICOLUP_D(8,1,ILH, 1),ILH=1, 5)/501,503,501, 0,502/ |
4792 | - DATA (ICOLUP_D(8,2,ILH, 1),ILH=1, 5)/503, 0, 0,502, 0/ |
4793 | - DATA (ICOLUP_D(8,1,ILH, 2),ILH=1, 5)/501,502,501, 0,502/ |
4794 | - DATA (ICOLUP_D(8,2,ILH, 2),ILH=1, 5)/503, 0, 0,503, 0/ |
4795 | - DATA (ICOLUP_D(8,1,ILH, 3),ILH=1, 5)/502,503,501, 0,502/ |
4796 | - DATA (ICOLUP_D(8,2,ILH, 3),ILH=1, 5)/503, 0, 0,501, 0/ |
4797 | - DATA (ICOLUP_D(8,1,ILH, 4),ILH=1, 5)/502,501,501, 0,502/ |
4798 | - DATA (ICOLUP_D(8,2,ILH, 4),ILH=1, 5)/503, 0, 0,503, 0/ |
4799 | - DATA (IDUP_D(8,ILH,2),ILH=1,5)/21,3,6,-6,3/ |
4800 | - DATA (MOTHUP_D(8,1,ILH, 2),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4801 | - DATA (MOTHUP_D(8,2,ILH, 2),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4802 | - DATA (IDUP_D(8,ILH,3),ILH=1,5)/21,2,6,-6,2/ |
4803 | - DATA (MOTHUP_D(8,1,ILH, 3),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4804 | - DATA (MOTHUP_D(8,2,ILH, 3),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4805 | - DATA (IDUP_D(8,ILH,4),ILH=1,5)/21,4,6,-6,4/ |
4806 | - DATA (MOTHUP_D(8,1,ILH, 4),ILH=1, 5)/ 0, 0, 1, 1, 1/ |
4807 | - DATA (MOTHUP_D(8,2,ILH, 4),ILH=1, 5)/ 0, 0, 2, 2, 2/ |
4808 | - |
4809 | |
4810 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_decl.inc' |
4811 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_decl.inc 1970-01-01 00:00:00 +0000 |
4812 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_decl.inc 2014-11-06 06:25:51 +0000 |
4813 | @@ -0,0 +1,12 @@ |
4814 | + INTEGER IFR,LMAXCONFIGS_USED,MAX_BRANCH_USED |
4815 | + PARAMETER (LMAXCONFIGS_USED= 5) |
4816 | + PARAMETER (MAX_BRANCH_USED = 3) |
4817 | + INTEGER MAPCONFIG_D( 6,0:LMAXCONFIGS_USED) |
4818 | + INTEGER IFOREST_D( 6,2,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4819 | + INTEGER SPROP_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4820 | + INTEGER TPRID_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4821 | + DOUBLE PRECISION PMASS_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED |
4822 | + $ ) |
4823 | + DOUBLE PRECISION PWIDTH_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USE |
4824 | + $ D) |
4825 | + INTEGER POW_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4826 | |
4827 | === removed file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_info.inc' |
4828 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_info.inc 2014-03-19 08:01:45 +0000 |
4829 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%configs_and_props_info.inc 1970-01-01 00:00:00 +0000 |
4830 | @@ -1,419 +0,0 @@ |
4831 | - INTEGER IFR,LMAXCONFIGS_USED,MAX_BRANCH_USED |
4832 | - PARAMETER (LMAXCONFIGS_USED= 5) |
4833 | - PARAMETER (MAX_BRANCH_USED = 3) |
4834 | - INTEGER MAPCONFIG_D( 6,0:LMAXCONFIGS_USED) |
4835 | - INTEGER IFOREST_D( 6,2,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4836 | - INTEGER SPROP_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4837 | - INTEGER TPRID_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4838 | - DOUBLE PRECISION PMASS_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED |
4839 | - $ ) |
4840 | - DOUBLE PRECISION PWIDTH_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USE |
4841 | - $ D) |
4842 | - INTEGER POW_D( 6,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
4843 | -C |
4844 | -C nFKSprocess 1 |
4845 | -C Diagram 1 for nFKSprocess 1 |
4846 | - DATA MAPCONFIG_D( 1, 1)/ 1/ |
4847 | - DATA (IFOREST_D( 1, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4848 | - DATA SPROP_D( 1, -1, 1)/ 21/ |
4849 | - DATA (IFOREST_D( 1, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4850 | - DATA SPROP_D( 1, -2, 1)/ 21/ |
4851 | -C Diagram 2 for nFKSprocess 1 |
4852 | - DATA MAPCONFIG_D( 1, 2)/ 2/ |
4853 | - DATA (IFOREST_D( 1, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
4854 | - DATA SPROP_D( 1, -1, 2)/ 6/ |
4855 | - DATA (IFOREST_D( 1, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
4856 | - DATA SPROP_D( 1, -2, 2)/ 21/ |
4857 | -C Diagram 3 for nFKSprocess 1 |
4858 | - DATA MAPCONFIG_D( 1, 3)/ 3/ |
4859 | - DATA (IFOREST_D( 1, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
4860 | - DATA SPROP_D( 1, -1, 3)/ -6/ |
4861 | - DATA (IFOREST_D( 1, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4862 | - DATA SPROP_D( 1, -2, 3)/ 21/ |
4863 | -C Diagram 4 for nFKSprocess 1 |
4864 | - DATA MAPCONFIG_D( 1, 4)/ 4/ |
4865 | - DATA (IFOREST_D( 1, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4866 | - DATA SPROP_D( 1, -1, 4)/ 21/ |
4867 | - DATA (IFOREST_D( 1, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4868 | - DATA TPRID_D( 1, -2, 4)/ 2/ |
4869 | - DATA (IFOREST_D( 1, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4870 | -C Diagram 5 for nFKSprocess 1 |
4871 | - DATA MAPCONFIG_D( 1, 5)/ 5/ |
4872 | - DATA (IFOREST_D( 1, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4873 | - DATA SPROP_D( 1, -1, 5)/ 21/ |
4874 | - DATA (IFOREST_D( 1, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4875 | - DATA TPRID_D( 1, -2, 5)/ 2/ |
4876 | - DATA (IFOREST_D( 1, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4877 | -C Number of configs for nFKSprocess 1 |
4878 | - DATA MAPCONFIG_D( 1,0)/ 5/ |
4879 | -C |
4880 | -C nFKSprocess 2 |
4881 | -C Diagram 1 for nFKSprocess 2 |
4882 | - DATA MAPCONFIG_D( 2, 1)/ 1/ |
4883 | - DATA (IFOREST_D( 2, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4884 | - DATA SPROP_D( 2, -1, 1)/ 21/ |
4885 | - DATA (IFOREST_D( 2, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4886 | - DATA SPROP_D( 2, -2, 1)/ 21/ |
4887 | -C Diagram 2 for nFKSprocess 2 |
4888 | - DATA MAPCONFIG_D( 2, 2)/ 2/ |
4889 | - DATA (IFOREST_D( 2, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
4890 | - DATA SPROP_D( 2, -1, 2)/ 6/ |
4891 | - DATA (IFOREST_D( 2, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
4892 | - DATA SPROP_D( 2, -2, 2)/ 21/ |
4893 | -C Diagram 3 for nFKSprocess 2 |
4894 | - DATA MAPCONFIG_D( 2, 3)/ 3/ |
4895 | - DATA (IFOREST_D( 2, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
4896 | - DATA SPROP_D( 2, -1, 3)/ -6/ |
4897 | - DATA (IFOREST_D( 2, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4898 | - DATA SPROP_D( 2, -2, 3)/ 21/ |
4899 | -C Diagram 4 for nFKSprocess 2 |
4900 | - DATA MAPCONFIG_D( 2, 4)/ 4/ |
4901 | - DATA (IFOREST_D( 2, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4902 | - DATA SPROP_D( 2, -1, 4)/ 21/ |
4903 | - DATA (IFOREST_D( 2, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4904 | - DATA TPRID_D( 2, -2, 4)/ 2/ |
4905 | - DATA (IFOREST_D( 2, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4906 | -C Diagram 5 for nFKSprocess 2 |
4907 | - DATA MAPCONFIG_D( 2, 5)/ 5/ |
4908 | - DATA (IFOREST_D( 2, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4909 | - DATA SPROP_D( 2, -1, 5)/ 21/ |
4910 | - DATA (IFOREST_D( 2, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4911 | - DATA TPRID_D( 2, -2, 5)/ 2/ |
4912 | - DATA (IFOREST_D( 2, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4913 | -C Number of configs for nFKSprocess 2 |
4914 | - DATA MAPCONFIG_D( 2,0)/ 5/ |
4915 | -C |
4916 | -C nFKSprocess 3 |
4917 | -C Diagram 1 for nFKSprocess 3 |
4918 | - DATA MAPCONFIG_D( 3, 1)/ 1/ |
4919 | - DATA (IFOREST_D( 3, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4920 | - DATA SPROP_D( 3, -1, 1)/ 21/ |
4921 | - DATA (IFOREST_D( 3, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4922 | - DATA SPROP_D( 3, -2, 1)/ 21/ |
4923 | -C Diagram 2 for nFKSprocess 3 |
4924 | - DATA MAPCONFIG_D( 3, 2)/ 2/ |
4925 | - DATA (IFOREST_D( 3, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
4926 | - DATA SPROP_D( 3, -1, 2)/ 6/ |
4927 | - DATA (IFOREST_D( 3, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
4928 | - DATA SPROP_D( 3, -2, 2)/ 21/ |
4929 | -C Diagram 3 for nFKSprocess 3 |
4930 | - DATA MAPCONFIG_D( 3, 3)/ 3/ |
4931 | - DATA (IFOREST_D( 3, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
4932 | - DATA SPROP_D( 3, -1, 3)/ -6/ |
4933 | - DATA (IFOREST_D( 3, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4934 | - DATA SPROP_D( 3, -2, 3)/ 21/ |
4935 | -C Diagram 4 for nFKSprocess 3 |
4936 | - DATA MAPCONFIG_D( 3, 4)/ 4/ |
4937 | - DATA (IFOREST_D( 3, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4938 | - DATA SPROP_D( 3, -1, 4)/ 21/ |
4939 | - DATA (IFOREST_D( 3, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4940 | - DATA TPRID_D( 3, -2, 4)/ 2/ |
4941 | - DATA (IFOREST_D( 3, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4942 | -C Diagram 5 for nFKSprocess 3 |
4943 | - DATA MAPCONFIG_D( 3, 5)/ 5/ |
4944 | - DATA (IFOREST_D( 3, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4945 | - DATA SPROP_D( 3, -1, 5)/ 21/ |
4946 | - DATA (IFOREST_D( 3, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4947 | - DATA TPRID_D( 3, -2, 5)/ 2/ |
4948 | - DATA (IFOREST_D( 3, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4949 | -C Number of configs for nFKSprocess 3 |
4950 | - DATA MAPCONFIG_D( 3,0)/ 5/ |
4951 | -C |
4952 | -C nFKSprocess 4 |
4953 | -C Diagram 1 for nFKSprocess 4 |
4954 | - DATA MAPCONFIG_D( 4, 1)/ 1/ |
4955 | - DATA (IFOREST_D( 4, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4956 | - DATA SPROP_D( 4, -1, 1)/ 21/ |
4957 | - DATA (IFOREST_D( 4, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4958 | - DATA SPROP_D( 4, -2, 1)/ 21/ |
4959 | -C Diagram 2 for nFKSprocess 4 |
4960 | - DATA MAPCONFIG_D( 4, 2)/ 2/ |
4961 | - DATA (IFOREST_D( 4, IFR, -1, 2),IFR=1,2)/ 5, 3/ |
4962 | - DATA SPROP_D( 4, -1, 2)/ 6/ |
4963 | - DATA (IFOREST_D( 4, IFR, -2, 2),IFR=1,2)/ 4, -1/ |
4964 | - DATA SPROP_D( 4, -2, 2)/ 21/ |
4965 | -C Diagram 3 for nFKSprocess 4 |
4966 | - DATA MAPCONFIG_D( 4, 3)/ 3/ |
4967 | - DATA (IFOREST_D( 4, IFR, -1, 3),IFR=1,2)/ 5, 4/ |
4968 | - DATA SPROP_D( 4, -1, 3)/ -6/ |
4969 | - DATA (IFOREST_D( 4, IFR, -2, 3),IFR=1,2)/ -1, 3/ |
4970 | - DATA SPROP_D( 4, -2, 3)/ 21/ |
4971 | -C Diagram 4 for nFKSprocess 4 |
4972 | - DATA MAPCONFIG_D( 4, 4)/ 4/ |
4973 | - DATA (IFOREST_D( 4, IFR, -1, 4),IFR=1,2)/ 4, 3/ |
4974 | - DATA SPROP_D( 4, -1, 4)/ 21/ |
4975 | - DATA (IFOREST_D( 4, IFR, -2, 4),IFR=1,2)/ 1, 5/ |
4976 | - DATA TPRID_D( 4, -2, 4)/ 2/ |
4977 | - DATA (IFOREST_D( 4, IFR, -3, 4),IFR=1,2)/ -2, -1/ |
4978 | -C Diagram 5 for nFKSprocess 4 |
4979 | - DATA MAPCONFIG_D( 4, 5)/ 5/ |
4980 | - DATA (IFOREST_D( 4, IFR, -1, 5),IFR=1,2)/ 4, 3/ |
4981 | - DATA SPROP_D( 4, -1, 5)/ 21/ |
4982 | - DATA (IFOREST_D( 4, IFR, -2, 5),IFR=1,2)/ 1, -1/ |
4983 | - DATA TPRID_D( 4, -2, 5)/ 2/ |
4984 | - DATA (IFOREST_D( 4, IFR, -3, 5),IFR=1,2)/ -2, 5/ |
4985 | -C Number of configs for nFKSprocess 4 |
4986 | - DATA MAPCONFIG_D( 4,0)/ 5/ |
4987 | -C |
4988 | -C nFKSprocess 5 |
4989 | -C Diagram 1 for nFKSprocess 5 |
4990 | - DATA MAPCONFIG_D( 5, 1)/ 1/ |
4991 | - DATA (IFOREST_D( 5, IFR, -1, 1),IFR=1,2)/ 4, 3/ |
4992 | - DATA SPROP_D( 5, -1, 1)/ 21/ |
4993 | - DATA (IFOREST_D( 5, IFR, -2, 1),IFR=1,2)/ 5, -1/ |
4994 | - DATA SPROP_D( 5, -2, 1)/ -2/ |
4995 | -C Diagram 2 for nFKSprocess 5 |
4996 | - DATA MAPCONFIG_D( 5, 2)/ 2/ |
4997 | - DATA (IFOREST_D( 5, IFR, -1, 2),IFR=1,2)/ 1, 3/ |
4998 | - DATA TPRID_D( 5, -1, 2)/ 6/ |
4999 | - DATA (IFOREST_D( 5, IFR, -2, 2),IFR=1,2)/ -1, 4/ |
5000 | - DATA TPRID_D( 5, -2, 2)/ 21/ |
Please, everybody who made changes in the branch, put a comment in the UpdateNotes.txt
Cheers,
Rik