Merge lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4
- 3.0.3-betternlops
- Merge into 3.0.4
Status: | Merged |
---|---|
Merged at revision: | 973 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops |
Merge into: | lp:~maddevelopers/mg5amcnlo/3.0.4 |
Diff against target: |
1820 lines (+479/-218) 53 files modified
Template/NLO/FixedOrderAnalysis/HwU.f (+14/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f (+2/-1) Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f (+2/-1) Template/NLO/MCatNLO/Makefile_MadFKS (+4/-4) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f (+2/-1) Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f (+2/-1) Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f (+2/-1) Template/NLO/MCatNLO/include/LHEFRead.h (+20/-3) Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f (+2/-1) Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f (+2/-1) Template/NLO/MCatNLO/srcPythia8/Pythia8.cc (+2/-2) Template/NLO/MCatNLO/srcPythia8/Pythia82.cc (+2/-2) Template/NLO/Source/extra_weights.f (+2/-2) Template/NLO/SubProcesses/collect_events.f (+19/-11) Template/NLO/SubProcesses/driver_mintMC.f (+1/-0) Template/NLO/SubProcesses/fks_singular.f (+11/-10) Template/NLO/SubProcesses/handling_lhe_events.f (+118/-76) Template/NLO/SubProcesses/makefile (+1/-1) Template/NLO/SubProcesses/makefile_fks_dir (+1/-1) Template/NLO/SubProcesses/orderstags_glob.f (+41/-0) Template/NLO/SubProcesses/reweight_xsec_events.f (+105/-68) Template/NLO/SubProcesses/splitorders_stuff.f (+30/-2) UpdateNotes.txt (+2/-0) madgraph/interface/amcatnlo_run_interface.py (+35/-0) madgraph/iolibs/export_fks.py (+1/-0) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ioannis Tsinikos | nlo+ps (py8) | Approve | |
Olivier Mattelaer | Approve | ||
ken mimasu | Pending | ||
Eleni Vryonidou | Pending | ||
Review via email: mp+394582@code.launchpad.net |
Commit message
better handling of the different coupling combinations at NLOPS. The various contributions are written as extra weights of the event file
Description of the change
better handling of the different coupling combinations at NLOPS. The various contributions are written as extra weights of the event file
Ioannis Tsinikos (ioannis-tsinikos) wrote : | # |
Hi Marco,
for the NLO+PS there are also these changes needed in srcPythia8:
diff -r ../Template/
24c24
< void pyabeg_
---
> void pyabeg_
33c33
< char cwgtinfo_
---
> char cwgtinfo_
diff -r ../Template/
25c25
< void pyabeg_
---
> void pyabeg_
34c34
< char cwgtinfo_
---
> char cwgtinfo_
With these changes, I have checked that the final plot_PYTHIA8_*.HwU is ok.
Best,
Ioannis
> On 27 Nov 2020, at 14:44, marco zaro <email address hidden> wrote:
>
> You have been requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>
> For more details, see:
> https:/
>
> better handling of the different coupling combinations at NLOPS. The various contributions are written as extra weights of the event file
>
> --
> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
> === modified file 'Template/
> --- Template/
> +++ Template/
> @@ -10,16 +10,29 @@
> C C
> CCCCCCCCCCCCCCC
>
> + module HwU_wgts_info_len
> + use iso_c_binding
> + integer, parameter :: wgts_info_len=80
> + contains
> + integer function get_wgts_info_len() bind(c,
> + get_wgts_info_len = wgts_info_len
> + return
> + end function get_wgts_info_len
> +
> + end module HwU_wgts_info_len
> +
> +
> c The module contains effectively the common block with allocatable
> c variables (something not possible in old fortran version)
> module HwU_variables
> + use HwU_wgts_info_len
> implicit none
> integer :: max_plots,
> integer :: error_estimation=3
> logical, allocatable :: booked(:)
> integer, allocatable :: nbin(:)
> character(len=50), allocatable :: title(:)
> - character(len=50), allocatable :: wgts_info(:)
> + character(
> double precision, allocatable :: histy(:
> $ ,histy2(
> $ ,step(:
>
> === modified file 'Template/
> --- Template/
> +++ Template/
marco zaro (marco-zaro) wrote : | # |
Ciao Olivier,
thanks for looking at it.
Is systematics.py employed in NLO runs?
the changes I made are quite specific for these runs (but if you find them useful, nobody prevents us to transfer these features also to the madevent-type output)
Ciao,
Marco
> On 27 Nov 2020, at 21:23, Olivier Mattelaer <email address hidden> wrote:
>
> Review: Approve
>
> Hi Marco,
>
> How does this interplay with systematics.py? (The offline scale variation method)
> Is this just include more lines in the additional information block?
> Or should we change the parser?
>
> Otherwise this sounds good to go from the code point of view.
>
> Cheers,
>
> Olivier
>
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/3.0.4.
- 981. By marco zaro
-
changes to Pythia8.cc and Pythia82.cc
marco zaro (marco-zaro) wrote : | # |
Thanks Ioannis,
indeed, I forgot to push the changes to these two files (the final version is slightly different wrt what you wrote)
Best,
Marco
> On 28 Nov 2020, at 09:57, Ioannis Tsinikos <email address hidden> wrote:
>
> Hi Marco,
>
> for the NLO+PS there are also these changes needed in srcPythia8:
>
> diff -r ../Template/
> 24c24
> < void pyabeg_
> ---
>> void pyabeg_
> 33c33
> < char cwgtinfo_
> ---
>> char cwgtinfo_
> diff -r ../Template/
> 25c25
> < void pyabeg_
> ---
>> void pyabeg_
> 34c34
> < char cwgtinfo_
> ---
>> char cwgtinfo_
>
> With these changes, I have checked that the final plot_PYTHIA8_*.HwU is ok.
>
> Best,
> Ioannis
>
>> On 27 Nov 2020, at 14:44, marco zaro <email address hidden> wrote:
>>
>> You have been requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>>
>> For more details, see:
>> https:/
>>
>> better handling of the different coupling combinations at NLOPS. The various contributions are written as extra weights of the event file
>>
>> --
>> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>> === modified file 'Template/
>> --- Template/
>> +++ Template/
>> @@ -10,16 +10,29 @@
>> C C
>> CCCCCCCCCCCCCCC
>>
>> + module HwU_wgts_info_len
>> + use iso_c_binding
>> + integer, parameter :: wgts_info_len=80
>> + contains
>> + integer function get_wgts_info_len() bind(c,
>> + get_wgts_info_len = wgts_info_len
>> + return
>> + end function get_wgts_info_len
>> +
>> + end module HwU_wgts_info_len
>> +
>> +
>> c The module contains effectively the common block with allocatable
>> c variables (something not possible in old fortran version)
>> module HwU_variables
>> + use HwU_wgts_info_len
>> implicit none
>> integer :: max_plots,
>> integer :: error_estimation=3
>> logical, allocatable :: booked(:)
>> integer, allocatable :: nbin(:)
>> character(len=50), allocatable :: title(:)
>> - character(len=50), allocatable :: wgts_info(:)
>> + character(
>> double precision, allocatable :: histy(:
>> ...
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi Marco,
> Is systematics.py employed in NLO runs?
This is not the default mode but it is possible to do at NLO. This means that all the data will be added inside the lhe file such that systematics.py can compute the weigths.
I have strongly encourage CMS and ATLAS to use systemattics.py since it allow re-weighting after the facts which is very important when they want to use a new PDF set. (and they do use it)
This is obviously not a feature that I advise for Pheno/Theory.
> but if you find them useful, nobody prevents us to transfer these features also to the madevent-type output
This is something that I can consider but this is a different point.
Cheers,
Olivier
> On 30 Nov 2020, at 09:30, marco zaro <email address hidden> wrote:
>
> Ciao Olivier,
> thanks for looking at it.
> Is systematics.py employed in NLO runs?
> the changes I made are quite specific for these runs (but if you find them useful, nobody prevents us to transfer these features also to the madevent-type output)
>
> Ciao,
>
> Marco
>
>> On 27 Nov 2020, at 21:23, Olivier Mattelaer <email address hidden> wrote:
>>
>> Review: Approve
>>
>> Hi Marco,
>>
>> How does this interplay with systematics.py? (The offline scale variation method)
>> Is this just include more lines in the additional information block?
>> Or should we change the parser?
>>
>> Otherwise this sounds good to go from the code point of view.
>>
>> Cheers,
>>
>> Olivier
>>
>>
>> --
>> https:/
>> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/3.0.4.
>
>
> --
> https:/
> You are reviewing the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
Ioannis Tsinikos (ioannis-tsinikos) wrote : | # |
Hi Marco,
thanks, I rechecked with your fix and it is ok.
Best,
Ioannis
Ioannis Tsinikos (ioannis-tsinikos) wrote : | # |
Hi Marco,
thanks, I rechecked with your fix and it is ok.
Best,
Ioannis
ken mimasu (kenmimasu) wrote : | # |
Hi Marco, all,
Apologies, I realised I did not react to this in good time. What is the status of the branch, has it been merged already?
I finally got round to checking it out and trying it with SMEFTatNLO and I have encountered a crash at the output stage that I have never seen before:
> Command "output test_ttbar" interrupted with error:
> Exception : name SMEFTatNLO already consider as a python library cann't be reassigned(
I was trying the usual test of generating ttbar but with some EFT operators and there seems to be a python clash of modules somewhere, although when I look in the directory on the right hand side of the inequality it doesn’t contain the module SMEFTatNLO.
I attach the debug log.
Best,
Ken
> On 30 Nov 2020, at 13:55, Ioannis Tsinikos <email address hidden> wrote:
>
> Review: Approve nlo+ps (py8)
>
> Hi Marco,
>
> thanks, I rechecked with your fix and it is ok.
>
> Best,
> Ioannis
> --
> https:/
> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
marco zaro (marco-zaro) wrote : | # |
Hi Ken,
I cannot see the log (launchpad does not support attachments for code review). Can you send it to me?
In any case, this is rather strange, as no python file has been touched in this branch.
Cheers,
Marco
> On 16 Dec 2020, at 14:12, ken mimasu <email address hidden> wrote:
>
> Hi Marco, all,
>
> Apologies, I realised I did not react to this in good time. What is the status of the branch, has it been merged already?
> I finally got round to checking it out and trying it with SMEFTatNLO and I have encountered a crash at the output stage that I have never seen before:
>
>> Command "output test_ttbar" interrupted with error:
>> Exception : name SMEFTatNLO already consider as a python library cann't be reassigned(
>
> I was trying the usual test of generating ttbar but with some EFT operators and there seems to be a python clash of modules somewhere, although when I look in the directory on the right hand side of the inequality it doesn’t contain the module SMEFTatNLO.
>
> I attach the debug log.
>
> Best,
>
> Ken
>
>
>
>
>> On 30 Nov 2020, at 13:55, Ioannis Tsinikos <email address hidden> wrote:
>>
>> Review: Approve nlo+ps (py8)
>>
>> Hi Marco,
>>
>> thanks, I rechecked with your fix and it is ok.
>>
>> Best,
>> Ioannis
>> --
>> https:/
>> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/3.0.4.
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
This has nothing to do with this branch, this is related to the fact that you rrun two processes in a row and that the model is copy within the process direcotory (within bin/interrnal/
Cheers,
Olivier
> On 16 Dec 2020, at 14:18, marco zaro <email address hidden> wrote:
>
> Hi Ken,
> I cannot see the log (launchpad does not support attachments for code review). Can you send it to me?
> In any case, this is rather strange, as no python file has been touched in this branch.
>
> Cheers,
>
> Marco
>
>> On 16 Dec 2020, at 14:12, ken mimasu <<email address hidden> <mailto:<email address hidden>>> wrote:
>>
>> Hi Marco, all,
>>
>> Apologies, I realised I did not react to this in good time. What is the status of the branch, has it been merged already?
>> I finally got round to checking it out and trying it with SMEFTatNLO and I have encountered a crash at the output stage that I have never seen before:
>>
>>> Command "output test_ttbar" interrupted with error:
>>> Exception : name SMEFTatNLO already consider as a python library cann't be reassigned(
>>
>> I was trying the usual test of generating ttbar but with some EFT operators and there seems to be a python clash of modules somewhere, although when I look in the directory on the right hand side of the inequality it doesn’t contain the module SMEFTatNLO.
>>
>> I attach the debug log.
>>
>> Best,
>>
>> Ken
>>
>>
>>
>>
>>> On 30 Nov 2020, at 13:55, Ioannis Tsinikos <email address hidden> wrote:
>>>
>>> Review: Approve nlo+ps (py8)
>>>
>>> Hi Marco,
>>>
>>> thanks, I rechecked with your fix and it is ok.
>>>
>>> Best,
>>> Ioannis
>>> --
>>> https:/
>>> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>>
>>
>> --
>> https:/
>> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/3.0.4.
>
>
> --
> https:/
> You are reviewing the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
ken mimasu (kenmimasu) wrote : | # |
OK, its true it doesn’t seem related to the new branch.. However how do I fix it?
I seem to get this error when I run MadGraph, import the model and generate + output just once.
I don’t think I am running two processes in a row in this sense. Let me know where I am getting confused!
Ken
> On 16 Dec 2020, at 13:45, Olivier Mattelaer <email address hidden> wrote:
>
> This has nothing to do with this branch, this is related to the fact that you rrun two processes in a row and that the model is copy within the process direcotory (within bin/interrnal/
>
> Cheers,
>
> Olivier
>
>
>> On 16 Dec 2020, at 14:18, marco zaro <email address hidden> wrote:
>>
>> Hi Ken,
>> I cannot see the log (launchpad does not support attachments for code review). Can you send it to me?
>> In any case, this is rather strange, as no python file has been touched in this branch.
>>
>> Cheers,
>>
>> Marco
>>
>>> On 16 Dec 2020, at 14:12, ken mimasu <<email address hidden> <mailto:<email address hidden>>> wrote:
>>>
>>> Hi Marco, all,
>>>
>>> Apologies, I realised I did not react to this in good time. What is the status of the branch, has it been merged already?
>>> I finally got round to checking it out and trying it with SMEFTatNLO and I have encountered a crash at the output stage that I have never seen before:
>>>
>>>> Command "output test_ttbar" interrupted with error:
>>>> Exception : name SMEFTatNLO already consider as a python library cann't be reassigned(
>>>
>>> I was trying the usual test of generating ttbar but with some EFT operators and there seems to be a python clash of modules somewhere, although when I look in the directory on the right hand side of the inequality it doesn’t contain the module SMEFTatNLO.
>>>
>>> I attach the debug log.
>>>
>>> Best,
>>>
>>> Ken
>>>
>>>
>>>
>>>
>>>> On 30 Nov 2020, at 13:55, Ioannis Tsinikos <email address hidden> wrote:
>>>>
>>>> Review: Approve nlo+ps (py8)
>>>>
>>>> Hi Marco,
>>>>
>>>> thanks, I rechecked with your fix and it is ok.
>>>>
>>>> Best,
>>>> Ioannis
>>>> --
>>>> https:/
>>>> You are requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.0.3-betternlops into lp:~maddevelopers/mg5amcnlo/3.0.4.
>>>
>>>
>>> --
>>> https:/
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
yes sorry this is similar but not the issue that I had in mind.
But maybe better to comment this in a bug report rather than here
Could you open it? and check if you have thatt issue in either 2.8.3 or 3.0.3.beta
Cheers,
Olivier
> On 16 Dec 2020, at 15:39, ken mimasu <email address hidden> wrote:
>
> OK, its true it doesn’t seem related to the new branch.. However how do I fix it?
> I seem to get this error when I run MadGraph, import the model and generate + output just once.
> I don’t think I am running two processes in a row in this sense. Let me know where I am getting confused!
>
> Ken
>
>
>> On 16 Dec 2020, at 13:45, Olivier Mattelaer <<email address hidden> <mailto:<email address hidden>>> wrote:
>>
>> This has nothing to do with this branch, this is related to the fact that you rrun two processes in a row and that the model is copy within the process direcotory (within bin/interrnal/
>>
>> Cheers,
>>
>> Olivier
>>
>>
>>> On 16 Dec 2020, at 14:18, marco zaro <email address hidden> wrote:
>>>
>>> Hi Ken,
>>> I cannot see the log (launchpad does not support attachments for code review). Can you send it to me?
>>> In any case, this is rather strange, as no python file has been touched in this branch.
>>>
>>> Cheers,
>>>
>>> Marco
>>>
>>>> On 16 Dec 2020, at 14:12, ken mimasu <<email address hidden> <mailto:<email address hidden>>> wrote:
>>>>
>>>> Hi Marco, all,
>>>>
>>>> Apologies, I realised I did not react to this in good time. What is the status of the branch, has it been merged already?
>>>> I finally got round to checking it out and trying it with SMEFTatNLO and I have encountered a crash at the output stage that I have never seen before:
>>>>
>>>>> Command "output test_ttbar" interrupted with error:
>>>>> Exception : name SMEFTatNLO already consider as a python library cann't be reassigned(
>>>>
>>>> I was trying the usual test of generating ttbar but with some EFT operators and there seems to be a python clash of modules somewhere, although when I look in the directory on the right hand side of the inequality it doesn’t contain the module SMEFTatNLO.
>>>>
>>>> I attach the debug log.
>>>>
>>>> Best,
>>>>
>>>> Ken
>>>>
>>>>
>>>>
>>>>
>>>>> On 30 Nov 2020, at 13:55, Ioannis Tsinikos <email address hidden> wrote:
>>>>>
>>>>> Review: Approve nlo+ps (py8)
>>>>>
>>>>> Hi Marco,
>>>>>
>>>>> thanks, I rechecked with your fix and it is ok.
>>>>>
>>>>> Best,
>>>>> Ioannis
>>>>> --
>>>>> https:/
Preview Diff
1 | === modified file 'Template/NLO/FixedOrderAnalysis/HwU.f' |
2 | --- Template/NLO/FixedOrderAnalysis/HwU.f 2020-09-16 12:13:39 +0000 |
3 | +++ Template/NLO/FixedOrderAnalysis/HwU.f 2020-11-30 08:37:49 +0000 |
4 | @@ -10,16 +10,29 @@ |
5 | C C |
6 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |
7 | |
8 | + module HwU_wgts_info_len |
9 | + use iso_c_binding |
10 | + integer, parameter :: wgts_info_len=80 |
11 | + contains |
12 | + integer function get_wgts_info_len() bind(c,name="get_wgts_info_len") |
13 | + get_wgts_info_len = wgts_info_len |
14 | + return |
15 | + end function get_wgts_info_len |
16 | + |
17 | + end module HwU_wgts_info_len |
18 | + |
19 | + |
20 | c The module contains effectively the common block with allocatable |
21 | c variables (something not possible in old fortran version) |
22 | module HwU_variables |
23 | + use HwU_wgts_info_len |
24 | implicit none |
25 | integer :: max_plots,max_points,max_bins,nwgts,np |
26 | integer :: error_estimation=3 |
27 | logical, allocatable :: booked(:) |
28 | integer, allocatable :: nbin(:),histi(:,:),p_bin(:),p_label(:) |
29 | character(len=50), allocatable :: title(:) |
30 | - character(len=50), allocatable :: wgts_info(:) |
31 | + character(len=wgts_info_len), allocatable :: wgts_info(:) |
32 | double precision, allocatable :: histy(:,:,:),histy_acc(:,:,:) |
33 | $ ,histy2(:,:),histy_err(:,:),histxl(:,:),histxm(:,:) |
34 | $ ,step(:),p_wgts(:,:) |
35 | |
36 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f' |
37 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2017-02-02 08:59:42 +0000 |
38 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2020-11-30 08:37:49 +0000 |
39 | @@ -27,6 +27,7 @@ |
40 | SUBROUTINE HWABEG |
41 | C USER''S ROUTINE FOR INITIALIZATION |
42 | C---------------------------------------------------------------------- |
43 | + use HwU_wgts_info_len |
44 | INCLUDE 'HERWIG65.INC' |
45 | include 'reweight0.inc' |
46 | real * 8 xm0,gam,xmlow,xmupp,bin |
47 | @@ -49,7 +50,7 @@ |
48 | integer nwgt,max_weight,nwgt_analysis |
49 | common/cnwgt/nwgt |
50 | common/c_analysis/nwgt_analysis |
51 | - character*50 weights_info(max_weight_shower) |
52 | + character*(wgts_info_len) weights_info(max_weight_shower) |
53 | common/cwgtsinfo/weights_info |
54 | c Initialize histograms |
55 | call HwU_inithist(nwgt,weights_info) |
56 | |
57 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f' |
58 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2016-03-21 08:45:42 +0000 |
59 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2020-11-30 08:37:49 +0000 |
60 | @@ -27,6 +27,7 @@ |
61 | SUBROUTINE HWABEG |
62 | C USER''S ROUTINE FOR INITIALIZATION |
63 | C---------------------------------------------------------------------- |
64 | + use HwU_wgts_info_len |
65 | INCLUDE 'HERWIG65.INC' |
66 | include 'reweight0.inc' |
67 | c |
68 | @@ -46,7 +47,7 @@ |
69 | integer nwgt,max_weight,nwgt_analysis,kk,l |
70 | common/cnwgt/nwgt |
71 | common/c_analysis/nwgt_analysis |
72 | - character*50 weights_info(max_weight_shower) |
73 | + character*(wgts_info_len) weights_info(max_weight_shower) |
74 | common/cwgtsinfo/weights_info |
75 | c Initialize histograms |
76 | call HwU_inithist(nwgt,weights_info) |
77 | |
78 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f' |
79 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000 |
80 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2020-11-30 08:37:49 +0000 |
81 | @@ -27,6 +27,7 @@ |
82 | SUBROUTINE HWABEG |
83 | C USER''S ROUTINE FOR INITIALIZATION |
84 | C---------------------------------------------------------------------- |
85 | + use HwU_wgts_info_len |
86 | INCLUDE 'HERWIG65.INC' |
87 | include 'reweight0.inc' |
88 | c |
89 | @@ -51,7 +52,7 @@ |
90 | common /to_veto_hist/vetomin,vetomax,nbinveto |
91 | common/cnwgt/nwgt |
92 | common/c_analysis/nwgt_analysis |
93 | - character*50 weights_info(max_weight_shower) |
94 | + character*(wgts_info_len) weights_info(max_weight_shower) |
95 | common/cwgtsinfo/weights_info |
96 | c Initialize histograms |
97 | call HwU_inithist(nwgt,weights_info) |
98 | |
99 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f' |
100 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000 |
101 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2020-11-30 08:37:49 +0000 |
102 | @@ -27,6 +27,7 @@ |
103 | SUBROUTINE HWABEG |
104 | C USER''S ROUTINE FOR INITIALIZATION |
105 | C---------------------------------------------------------------------- |
106 | + use HwU_wgts_info_len |
107 | INCLUDE 'HERWIG65.INC' |
108 | include 'reweight0.inc' |
109 | c |
110 | @@ -60,7 +61,7 @@ |
111 | integer nwgt,max_weight,nwgt_analysis |
112 | common/cnwgt/nwgt |
113 | common/c_analysis/nwgt_analysis |
114 | - character*50 weights_info(max_weight_shower) |
115 | + character*(wgts_info_len) weights_info(max_weight_shower) |
116 | common/cwgtsinfo/weights_info |
117 | c Initialize histograms |
118 | call HwU_inithist(nwgt,weights_info) |
119 | |
120 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f' |
121 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000 |
122 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2020-11-30 08:37:49 +0000 |
123 | @@ -27,6 +27,7 @@ |
124 | SUBROUTINE HWABEG |
125 | C USER''S ROUTINE FOR INITIALIZATION |
126 | C---------------------------------------------------------------------- |
127 | + use HwU_wgts_info_len |
128 | INCLUDE 'HERWIG65.INC' |
129 | include 'reweight0.inc' |
130 | real * 8 bin,xmi,xms,pi |
131 | @@ -48,7 +49,7 @@ |
132 | integer nwgt,max_weight,nwgt_analysis |
133 | common/cnwgt/nwgt |
134 | common/c_analysis/nwgt_analysis |
135 | - character*50 weights_info(max_weight_shower) |
136 | + character*(wgts_info_len) weights_info(max_weight_shower) |
137 | common/cwgtsinfo/weights_info |
138 | c Initialize histograms |
139 | call HwU_inithist(nwgt,weights_info) |
140 | |
141 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f' |
142 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000 |
143 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2020-11-30 08:37:49 +0000 |
144 | @@ -27,6 +27,7 @@ |
145 | SUBROUTINE HWABEG |
146 | C USER''S ROUTINE FOR INITIALIZATION |
147 | C---------------------------------------------------------------------- |
148 | + use HwU_wgts_info_len |
149 | INCLUDE 'HERWIG65.INC' |
150 | include 'reweight0.inc' |
151 | real * 8 bin,xmi,xms,pi |
152 | @@ -48,7 +49,7 @@ |
153 | integer nwgt,max_weight,nwgt_analysis |
154 | common/cnwgt/nwgt |
155 | common/c_analysis/nwgt_analysis |
156 | - character*50 weights_info(max_weight_shower) |
157 | + character*(wgts_info_len) weights_info(max_weight_shower) |
158 | common/cwgtsinfo/weights_info |
159 | c Initialize histograms |
160 | call HwU_inithist(nwgt,weights_info) |
161 | |
162 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f' |
163 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000 |
164 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2020-11-30 08:37:49 +0000 |
165 | @@ -27,6 +27,7 @@ |
166 | SUBROUTINE HWABEG |
167 | C USER''S ROUTINE FOR INITIALIZATION |
168 | C---------------------------------------------------------------------- |
169 | + use HwU_wgts_info_len |
170 | INCLUDE 'HERWIG65.INC' |
171 | include 'reweight0.inc' |
172 | c |
173 | @@ -46,7 +47,7 @@ |
174 | integer nwgt,max_weight,nwgt_analysis,kk,l |
175 | common/cnwgt/nwgt |
176 | common/c_analysis/nwgt_analysis |
177 | - character*50 weights_info(max_weight_shower) |
178 | + character*(wgts_info_len) weights_info(max_weight_shower) |
179 | common/cwgtsinfo/weights_info |
180 | c Initialize histograms |
181 | call HwU_inithist(nwgt,weights_info) |
182 | |
183 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f' |
184 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000 |
185 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2020-11-30 08:37:49 +0000 |
186 | @@ -27,6 +27,7 @@ |
187 | SUBROUTINE HWABEG |
188 | C USER''S ROUTINE FOR INITIALIZATION |
189 | C---------------------------------------------------------------------- |
190 | + use HwU_wgts_info_len |
191 | INCLUDE 'HERWIG65.INC' |
192 | include 'reweight0.inc' |
193 | REAL*8 pi |
194 | @@ -46,7 +47,7 @@ |
195 | integer nwgt,max_weight,nwgt_analysis |
196 | common/cnwgt/nwgt |
197 | common/c_analysis/nwgt_analysis |
198 | - character*50 weights_info(max_weight_shower) |
199 | + character*(wgts_info_len) weights_info(max_weight_shower) |
200 | common/cwgtsinfo/weights_info |
201 | c Initialize histograms |
202 | call HwU_inithist(nwgt,weights_info) |
203 | |
204 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f' |
205 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000 |
206 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2020-11-30 08:37:49 +0000 |
207 | @@ -27,6 +27,7 @@ |
208 | SUBROUTINE HWABEG |
209 | C USER''S ROUTINE FOR INITIALIZATION |
210 | C---------------------------------------------------------------------- |
211 | + use HwU_wgts_info_len |
212 | INCLUDE 'HERWIG65.INC' |
213 | include 'reweight0.inc' |
214 | REAL*8 pi |
215 | @@ -46,7 +47,7 @@ |
216 | integer nwgt,max_weight,nwgt_analysis |
217 | common/cnwgt/nwgt |
218 | common/c_analysis/nwgt_analysis |
219 | - character*50 weights_info(max_weight_shower) |
220 | + character*(wgts_info_len) weights_info(max_weight_shower) |
221 | common/cwgtsinfo/weights_info |
222 | c Initialize histograms |
223 | call HwU_inithist(nwgt,weights_info) |
224 | |
225 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f' |
226 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000 |
227 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2020-11-30 08:37:49 +0000 |
228 | @@ -27,6 +27,7 @@ |
229 | SUBROUTINE HWABEG |
230 | C USER''S ROUTINE FOR INITIALIZATION |
231 | C---------------------------------------------------------------------- |
232 | + use HwU_wgts_info_len |
233 | INCLUDE 'HERWIG65.INC' |
234 | include 'reweight0.inc' |
235 | REAL*8 pi |
236 | @@ -46,7 +47,7 @@ |
237 | integer nwgt,max_weight,nwgt_analysis |
238 | common/cnwgt/nwgt |
239 | common/c_analysis/nwgt_analysis |
240 | - character*50 weights_info(max_weight_shower) |
241 | + character*(wgts_info_len) weights_info(max_weight_shower) |
242 | common/cwgtsinfo/weights_info |
243 | c Initialize histograms |
244 | call HwU_inithist(nwgt,weights_info) |
245 | |
246 | === modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f' |
247 | --- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2016-02-23 10:48:46 +0000 |
248 | +++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2020-11-30 08:37:49 +0000 |
249 | @@ -23,6 +23,7 @@ |
250 | SUBROUTINE HWABEG |
251 | C USER''S ROUTINE FOR INITIALIZATION |
252 | C---------------------------------------------------------------------- |
253 | + use HwU_wgts_info_len |
254 | INCLUDE 'HERWIG65.INC' |
255 | include 'reweight0.inc' |
256 | c |
257 | @@ -42,7 +43,7 @@ |
258 | integer nwgt,max_weight,nwgt_analysis |
259 | common/cnwgt/nwgt |
260 | common/c_analysis/nwgt_analysis |
261 | - character*50 weights_info(max_weight_shower) |
262 | + character*(wgts_info_len) weights_info(max_weight_shower) |
263 | common/cwgtsinfo/weights_info |
264 | c Initialize histograms |
265 | call HwU_inithist(nwgt,weights_info) |
266 | |
267 | === modified file 'Template/NLO/MCatNLO/Makefile_MadFKS' |
268 | --- Template/NLO/MCatNLO/Makefile_MadFKS 2018-07-06 13:15:54 +0000 |
269 | +++ Template/NLO/MCatNLO/Makefile_MadFKS 2020-11-30 08:37:49 +0000 |
270 | @@ -43,10 +43,10 @@ |
271 | PDFFILES=$(OBJDIR)/mcatnlo_pdftomlm.o $(OBJDIR)/mcatnlo_libofpdf.o $(OBJDIR)/dummies.o |
272 | CPDFFILES=$(OBJDIR)/mcatnlo_mlmtopdf.o $(OBJDIR)/dummies.o |
273 | LPDFFILES=$(OBJDIR)/mcatnlo_mlmtolha.o $(OBJDIR)/dummies.o |
274 | -HWFILES=$(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \ |
275 | - $(OBJDIR)/mcatnlo_str.o $(HWUTI) |
276 | -PYFILES=$(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \ |
277 | - $(OBJDIR)/mcatnlo_str.o $(PYUTI) |
278 | +HWFILES=$(HWUTI) $(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \ |
279 | + $(OBJDIR)/mcatnlo_str.o |
280 | +PYFILES=$(PYUTI) $(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \ |
281 | + $(OBJDIR)/mcatnlo_str.o |
282 | |
283 | |
284 | HW_EXE_DEFAULT : $(HWFILES) $(PDFFILES) |
285 | |
286 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f' |
287 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2016-02-23 10:48:46 +0000 |
288 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2020-11-30 08:37:49 +0000 |
289 | @@ -27,6 +27,7 @@ |
290 | SUBROUTINE PYABEG(nnn,wwwi) |
291 | C USER''S ROUTINE FOR INITIALIZATION |
292 | C---------------------------------------------------------------------- |
293 | + use HwU_wgts_info_len |
294 | INCLUDE 'HEPMC.INC' |
295 | include 'reweight0.inc' |
296 | real * 8 xm0,gam,xmlow,xmupp,bin |
297 | @@ -48,7 +49,7 @@ |
298 | data cc/' ','Born '/ |
299 | integer nwgt_analysis |
300 | common/c_analysis/nwgt_analysis |
301 | - character*50 weights_info(max_weight_shower) |
302 | + character*(wgts_info_len) weights_info(max_weight_shower) |
303 | $ ,wwwi(max_weight_shower) |
304 | c |
305 | do i=1,nnn |
306 | |
307 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f' |
308 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2016-07-21 14:37:54 +0000 |
309 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2020-11-30 08:37:49 +0000 |
310 | @@ -27,6 +27,7 @@ |
311 | SUBROUTINE PYABEG(nnn,wwwi) |
312 | C USER''S ROUTINE FOR INITIALIZATION |
313 | C---------------------------------------------------------------------- |
314 | + use HwU_wgts_info_len |
315 | INCLUDE 'HEPMC.INC' |
316 | include 'reweight0.inc' |
317 | REAL*8 pi |
318 | @@ -45,7 +46,7 @@ |
319 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
320 | integer nwgt_analysis |
321 | common/c_analysis/nwgt_analysis |
322 | - character*50 weights_info(max_weight_shower) |
323 | + character*(wgts_info_len) weights_info(max_weight_shower) |
324 | $ ,wwwi(max_weight_shower) |
325 | c |
326 | do i=1,nnn |
327 | |
328 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f' |
329 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000 |
330 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2020-11-30 08:37:49 +0000 |
331 | @@ -27,6 +27,7 @@ |
332 | SUBROUTINE PYABEG(nnn,wwwi) |
333 | C USER''S ROUTINE FOR INITIALIZATION |
334 | C---------------------------------------------------------------------- |
335 | + use HwU_wgts_info_len |
336 | INCLUDE 'HEPMC.INC' |
337 | include 'reweight0.inc' |
338 | REAL*8 pi |
339 | @@ -45,7 +46,7 @@ |
340 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
341 | integer nwgt_analysis |
342 | common/c_analysis/nwgt_analysis |
343 | - character*50 weights_info(max_weight_shower) |
344 | + character*(wgts_info_len) weights_info(max_weight_shower) |
345 | $ ,wwwi(max_weight_shower) |
346 | character*8 cc(2) |
347 | data cc/' ','vbfcuts '/ |
348 | |
349 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f' |
350 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000 |
351 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2020-11-30 08:37:49 +0000 |
352 | @@ -27,6 +27,7 @@ |
353 | SUBROUTINE PYABEG(nnn,wwwi) |
354 | C USER''S ROUTINE FOR INITIALIZATION |
355 | C---------------------------------------------------------------------- |
356 | + use HwU_wgts_info_len |
357 | INCLUDE 'HEPMC.INC' |
358 | include 'reweight0.inc' |
359 | c |
360 | @@ -43,7 +44,7 @@ |
361 | integer j,jpr |
362 | integer nwgt_analysis |
363 | common/c_analysis/nwgt_analysis |
364 | - character*50 weights_info(max_weight_shower) |
365 | + character*(wgts_info_len) weights_info(max_weight_shower) |
366 | $ ,wwwi(max_weight_shower) |
367 | integer nsingle,ncorr,nlepton,nplots,ncuts |
368 | common/cplots/nsingle,ncorr,nlepton,nplots,ncuts |
369 | |
370 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f' |
371 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000 |
372 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2020-11-30 08:37:49 +0000 |
373 | @@ -27,6 +27,7 @@ |
374 | SUBROUTINE PYABEG(nnn,wwwi) |
375 | C USER''S ROUTINE FOR INITIALIZATION |
376 | C---------------------------------------------------------------------- |
377 | + use HwU_wgts_info_len |
378 | INCLUDE 'HEPMC.INC' |
379 | include 'reweight0.inc' |
380 | real * 8 bin,xmi,xms,pi |
381 | @@ -47,7 +48,7 @@ |
382 | data cc/' ','Born '/ |
383 | integer nwgt_analysis |
384 | common/c_analysis/nwgt_analysis |
385 | - character*50 weights_info(max_weight_shower) |
386 | + character*(wgts_info_len) weights_info(max_weight_shower) |
387 | $ ,wwwi(max_weight_shower) |
388 | c |
389 | do i=1,nnn |
390 | |
391 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f' |
392 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2016-12-07 21:05:19 +0000 |
393 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2020-11-30 08:37:49 +0000 |
394 | @@ -27,6 +27,7 @@ |
395 | SUBROUTINE PYABEG(nnn,wwwi) |
396 | C USER''S ROUTINE FOR INITIALIZATION |
397 | C---------------------------------------------------------------------- |
398 | + use HwU_wgts_info_len |
399 | INCLUDE 'HEPMC.INC' |
400 | include 'reweight0.inc' |
401 | real * 8 bin,xmi,xms,pi |
402 | @@ -47,7 +48,7 @@ |
403 | data cc/' ','Born '/ |
404 | integer nwgt_analysis |
405 | common/c_analysis/nwgt_analysis |
406 | - character*50 weights_info(max_weight_shower) |
407 | + character*(wgts_info_len) weights_info(max_weight_shower) |
408 | $ ,wwwi(max_weight_shower) |
409 | c |
410 | do i=1,nnn |
411 | |
412 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f' |
413 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000 |
414 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2020-11-30 08:37:49 +0000 |
415 | @@ -27,6 +27,7 @@ |
416 | SUBROUTINE PYABEG(nnn,wwwi) |
417 | C USER''S ROUTINE FOR INITIALIZATION |
418 | C---------------------------------------------------------------------- |
419 | + use HwU_wgts_info_len |
420 | INCLUDE 'HEPMC.INC' |
421 | include 'reweight0.inc' |
422 | integer j,kk,l,i,nnn |
423 | @@ -43,7 +44,7 @@ |
424 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
425 | integer nwgt_analysis |
426 | common/c_analysis/nwgt_analysis |
427 | - character*50 weights_info(max_weight_shower) |
428 | + character*(wgts_info_len) weights_info(max_weight_shower) |
429 | $ ,wwwi(max_weight_shower) |
430 | c |
431 | do i=1,nnn |
432 | |
433 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f' |
434 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000 |
435 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2020-11-30 08:37:49 +0000 |
436 | @@ -27,6 +27,7 @@ |
437 | SUBROUTINE PYABEG(nnn,wwwi) |
438 | C USER''S ROUTINE FOR INITIALIZATION |
439 | C---------------------------------------------------------------------- |
440 | + use HwU_wgts_info_len |
441 | INCLUDE 'HEPMC.INC' |
442 | include 'reweight0.inc' |
443 | REAL*8 pi |
444 | @@ -45,7 +46,7 @@ |
445 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
446 | integer nwgt_analysis |
447 | common/c_analysis/nwgt_analysis |
448 | - character*50 weights_info(max_weight_shower) |
449 | + character*(wgts_info_len) weights_info(max_weight_shower) |
450 | $ ,wwwi(max_weight_shower) |
451 | c |
452 | do i=1,nnn |
453 | |
454 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f' |
455 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000 |
456 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2020-11-30 08:37:49 +0000 |
457 | @@ -27,6 +27,7 @@ |
458 | SUBROUTINE PYABEG(nnn,wwwi) |
459 | C USER''S ROUTINE FOR INITIALIZATION |
460 | C---------------------------------------------------------------------- |
461 | + use HwU_wgts_info_len |
462 | INCLUDE 'HEPMC.INC' |
463 | include 'reweight0.inc' |
464 | REAL*8 pi |
465 | @@ -45,7 +46,7 @@ |
466 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
467 | integer nwgt_analysis |
468 | common/c_analysis/nwgt_analysis |
469 | - character*50 weights_info(max_weight_shower) |
470 | + character*(wgts_info_len) weights_info(max_weight_shower) |
471 | $ ,wwwi(max_weight_shower) |
472 | c |
473 | do i=1,nnn |
474 | |
475 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f' |
476 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000 |
477 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2020-11-30 08:37:49 +0000 |
478 | @@ -27,6 +27,7 @@ |
479 | SUBROUTINE PYABEG(nnn,wwwi) |
480 | C USER''S ROUTINE FOR INITIALIZATION |
481 | C---------------------------------------------------------------------- |
482 | + use HwU_wgts_info_len |
483 | INCLUDE 'HEPMC.INC' |
484 | include 'reweight0.inc' |
485 | REAL*8 pi |
486 | @@ -45,7 +46,7 @@ |
487 | data HwUtype/'|T@NOCUT','|T@CUT '/ |
488 | integer nwgt_analysis |
489 | common/c_analysis/nwgt_analysis |
490 | - character*50 weights_info(max_weight_shower) |
491 | + character*(wgts_info_len) weights_info(max_weight_shower) |
492 | $ ,wwwi(max_weight_shower) |
493 | c |
494 | do i=1,nnn |
495 | |
496 | === modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f' |
497 | --- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2016-02-23 10:48:46 +0000 |
498 | +++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2020-11-30 08:37:49 +0000 |
499 | @@ -23,6 +23,7 @@ |
500 | SUBROUTINE PYABEG(nnn,wwwi) |
501 | C USER''S ROUTINE FOR INITIALIZATION |
502 | C---------------------------------------------------------------------- |
503 | + use HwU_wgts_info_len |
504 | INCLUDE 'HEPMC.INC' |
505 | include 'reweight0.inc' |
506 | c |
507 | @@ -41,7 +42,7 @@ |
508 | data cc/' ','Born '/ |
509 | integer nwgt_analysis |
510 | common/c_analysis/nwgt_analysis |
511 | - character*50 weights_info(max_weight_shower) |
512 | + character*(wgts_info_len) weights_info(max_weight_shower) |
513 | $ ,wwwi(max_weight_shower) |
514 | c |
515 | do i=1,nnn |
516 | |
517 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f' |
518 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2016-02-23 10:48:46 +0000 |
519 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2020-11-30 08:37:49 +0000 |
520 | @@ -27,6 +27,7 @@ |
521 | SUBROUTINE PYABEG |
522 | C USER''S ROUTINE FOR INITIALIZATION |
523 | C---------------------------------------------------------------------- |
524 | + use HwU_wgts_info_len |
525 | implicit double precision(a-h, o-z) |
526 | implicit integer(i-n) |
527 | common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4) |
528 | @@ -51,7 +52,7 @@ |
529 | integer nwgt,max_weight,nwgt_analysis |
530 | common/cnwgt/nwgt |
531 | common/c_analysis/nwgt_analysis |
532 | - character*50 weights_info(max_weight_shower) |
533 | + character*(wgts_info_len) weights_info(max_weight_shower) |
534 | common/cwgtsinfo/weights_info |
535 | c Initialize histograms |
536 | call HwU_inithist(nwgt,weights_info) |
537 | |
538 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f' |
539 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2016-02-23 10:48:46 +0000 |
540 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2020-11-30 08:37:49 +0000 |
541 | @@ -28,6 +28,7 @@ |
542 | SUBROUTINE PYABEG |
543 | C USER''S ROUTINE FOR INITIALIZATION |
544 | C---------------------------------------------------------------------- |
545 | + use HwU_wgts_info_len |
546 | implicit none |
547 | include 'reweight0.inc' |
548 | REAL*8 pi |
549 | @@ -48,7 +49,7 @@ |
550 | integer nwgt,max_weight,nwgt_analysis |
551 | common/cnwgt/nwgt |
552 | common/c_analysis/nwgt_analysis |
553 | - character*50 weights_info(max_weight_shower) |
554 | + character*(wgts_info_len) weights_info(max_weight_shower) |
555 | common/cwgtsinfo/weights_info |
556 | c |
557 | c Initialize histograms |
558 | |
559 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f' |
560 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000 |
561 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2020-11-30 08:37:49 +0000 |
562 | @@ -28,6 +28,7 @@ |
563 | SUBROUTINE PYABEG |
564 | C USER''S ROUTINE FOR INITIALIZATION |
565 | C---------------------------------------------------------------------- |
566 | + use HwU_wgts_info_len |
567 | implicit none |
568 | include 'reweight0.inc' |
569 | c |
570 | @@ -52,7 +53,7 @@ |
571 | common /to_veto_hist/vetomin,vetomax,nbinveto |
572 | common/cnwgt/nwgt |
573 | common/c_analysis/nwgt_analysis |
574 | - character*50 weights_info(max_weight_shower) |
575 | + character*(wgts_info_len) weights_info(max_weight_shower) |
576 | common/cwgtsinfo/weights_info |
577 | c |
578 | c Initialize histograms |
579 | |
580 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f' |
581 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000 |
582 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2020-11-30 08:37:49 +0000 |
583 | @@ -27,6 +27,7 @@ |
584 | SUBROUTINE PYABEG |
585 | C USER''S ROUTINE FOR INITIALIZATION |
586 | C---------------------------------------------------------------------- |
587 | + use HwU_wgts_info_len |
588 | implicit none |
589 | include 'reweight0.inc' |
590 | c |
591 | @@ -59,7 +60,7 @@ |
592 | integer nwgt,max_weight,nwgt_analysis |
593 | common/cnwgt/nwgt |
594 | common/c_analysis/nwgt_analysis |
595 | - character*50 weights_info(max_weight_shower) |
596 | + character*(wgts_info_len) weights_info(max_weight_shower) |
597 | common/cwgtsinfo/weights_info |
598 | c Initialize histograms |
599 | call HwU_inithist(nwgt,weights_info) |
600 | |
601 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f' |
602 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000 |
603 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2020-11-30 08:37:49 +0000 |
604 | @@ -27,6 +27,7 @@ |
605 | SUBROUTINE PYABEG |
606 | C USER''S ROUTINE FOR INITIALIZATION |
607 | C---------------------------------------------------------------------- |
608 | + use HwU_wgts_info_len |
609 | implicit none |
610 | include 'reweight0.inc' |
611 | real * 8 bin,xmi,xms,pi |
612 | @@ -48,7 +49,7 @@ |
613 | integer nwgt,max_weight,nwgt_analysis |
614 | common/cnwgt/nwgt |
615 | common/c_analysis/nwgt_analysis |
616 | - character*50 weights_info(max_weight_shower) |
617 | + character*(wgts_info_len) weights_info(max_weight_shower) |
618 | common/cwgtsinfo/weights_info |
619 | c Initialize histograms |
620 | call HwU_inithist(nwgt,weights_info) |
621 | |
622 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f' |
623 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000 |
624 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2020-11-30 08:37:49 +0000 |
625 | @@ -27,6 +27,7 @@ |
626 | SUBROUTINE PYABEG |
627 | C USER''S ROUTINE FOR INITIALIZATION |
628 | C---------------------------------------------------------------------- |
629 | + use HwU_wgts_info_len |
630 | implicit double precision(a-h, o-z) |
631 | implicit integer(i-n) |
632 | common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4) |
633 | @@ -50,7 +51,7 @@ |
634 | integer nwgt,max_weight,nwgt_analysis |
635 | common/cnwgt/nwgt |
636 | common/c_analysis/nwgt_analysis |
637 | - character*50 weights_info(max_weight_shower) |
638 | + character*(wgts_info_len) weights_info(max_weight_shower) |
639 | common/cwgtsinfo/weights_info |
640 | c Initialize histograms |
641 | call HwU_inithist(nwgt,weights_info) |
642 | |
643 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f' |
644 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000 |
645 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2020-11-30 08:37:49 +0000 |
646 | @@ -28,6 +28,7 @@ |
647 | SUBROUTINE PYABEG |
648 | C USER''S ROUTINE FOR INITIALIZATION |
649 | C---------------------------------------------------------------------- |
650 | + use HwU_wgts_info_len |
651 | implicit none |
652 | include 'reweight0.inc' |
653 | integer j,kk,l,i |
654 | @@ -46,7 +47,7 @@ |
655 | integer nwgt,max_weight,nwgt_analysis |
656 | common/cnwgt/nwgt |
657 | common/c_analysis/nwgt_analysis |
658 | - character*50 weights_info(max_weight_shower) |
659 | + character*(wgts_info_len) weights_info(max_weight_shower) |
660 | common/cwgtsinfo/weights_info |
661 | c |
662 | c Initialize histograms |
663 | |
664 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f' |
665 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000 |
666 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2020-11-30 08:37:49 +0000 |
667 | @@ -28,6 +28,7 @@ |
668 | SUBROUTINE PYABEG |
669 | C USER''S ROUTINE FOR INITIALIZATION |
670 | C---------------------------------------------------------------------- |
671 | + use HwU_wgts_info_len |
672 | implicit none |
673 | include 'reweight0.inc' |
674 | REAL*8 pi |
675 | @@ -48,7 +49,7 @@ |
676 | integer nwgt,max_weight,nwgt_analysis |
677 | common/cnwgt/nwgt |
678 | common/c_analysis/nwgt_analysis |
679 | - character*50 weights_info(max_weight_shower) |
680 | + character*(wgts_info_len) weights_info(max_weight_shower) |
681 | common/cwgtsinfo/weights_info |
682 | c |
683 | c Initialize histograms |
684 | |
685 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f' |
686 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000 |
687 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2020-11-30 08:37:49 +0000 |
688 | @@ -28,6 +28,7 @@ |
689 | SUBROUTINE PYABEG |
690 | C USER''S ROUTINE FOR INITIALIZATION |
691 | C---------------------------------------------------------------------- |
692 | + use HwU_wgts_info_len |
693 | implicit none |
694 | include 'reweight0.inc' |
695 | REAL*8 pi |
696 | @@ -48,7 +49,7 @@ |
697 | integer nwgt,max_weight,nwgt_analysis |
698 | common/cnwgt/nwgt |
699 | common/c_analysis/nwgt_analysis |
700 | - character*50 weights_info(max_weight_shower) |
701 | + character*(wgts_info_len) weights_info(max_weight_shower) |
702 | common/cwgtsinfo/weights_info |
703 | c |
704 | c Initialize histograms |
705 | |
706 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f' |
707 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000 |
708 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2020-11-30 08:37:49 +0000 |
709 | @@ -28,6 +28,7 @@ |
710 | SUBROUTINE PYABEG |
711 | C USER''S ROUTINE FOR INITIALIZATION |
712 | C---------------------------------------------------------------------- |
713 | + use HwU_wgts_info_len |
714 | implicit none |
715 | include 'reweight0.inc' |
716 | REAL*8 pi |
717 | @@ -48,7 +49,7 @@ |
718 | integer nwgt,max_weight,nwgt_analysis |
719 | common/cnwgt/nwgt |
720 | common/c_analysis/nwgt_analysis |
721 | - character*50 weights_info(max_weight_shower) |
722 | + character*(wgts_info_len) weights_info(max_weight_shower) |
723 | common/cwgtsinfo/weights_info |
724 | c |
725 | c Initialize histograms |
726 | |
727 | === modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f' |
728 | --- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2016-02-23 10:48:46 +0000 |
729 | +++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2020-11-30 08:37:49 +0000 |
730 | @@ -23,6 +23,7 @@ |
731 | SUBROUTINE PYABEG |
732 | C USER''S ROUTINE FOR INITIALIZATION |
733 | C---------------------------------------------------------------------- |
734 | + use HwU_wgts_info_len |
735 | implicit none |
736 | include 'reweight0.inc' |
737 | c |
738 | @@ -42,7 +43,7 @@ |
739 | integer nwgt,max_weight,nwgt_analysis |
740 | common/cnwgt/nwgt |
741 | common/c_analysis/nwgt_analysis |
742 | - character*50 weights_info(max_weight_shower) |
743 | + character*(wgts_info_len) weights_info(max_weight_shower) |
744 | common/cwgtsinfo/weights_info |
745 | c Initialize histograms |
746 | call HwU_inithist(nwgt,weights_info) |
747 | |
748 | === modified file 'Template/NLO/MCatNLO/include/LHEFRead.h' |
749 | --- Template/NLO/MCatNLO/include/LHEFRead.h 2016-02-23 11:25:37 +0000 |
750 | +++ Template/NLO/MCatNLO/include/LHEFRead.h 2020-11-30 08:37:49 +0000 |
751 | @@ -2,6 +2,13 @@ |
752 | #include <iomanip> |
753 | #include <string> |
754 | |
755 | + |
756 | +extern "C" { |
757 | + int get_wgts_info_len(void); |
758 | +} |
759 | + |
760 | +const int wgts_info_len_used = 80; |
761 | + |
762 | class MyReader { |
763 | |
764 | private: |
765 | @@ -16,12 +23,22 @@ |
766 | LHEF::Reader reader; |
767 | |
768 | |
769 | - void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][50])) { |
770 | + void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][wgts_info_len_used])) { |
771 | + |
772 | + // check that wgts_info_len_used > wgts_info_len from the fortran module |
773 | + if (wgts_info_len_used != get_wgts_info_len()) { |
774 | + std::cout << " wgts_info_len_used is different from the corresponding quantity in HwU_wgts_info_len\n" |
775 | + << " Please set wgts_info_len_used in LHEFRead.h to "<< get_wgts_info_len() <<"\n" |
776 | + << " Program stopped.\n"; |
777 | + exit(1); |
778 | + } |
779 | |
780 | // Read header of event file |
781 | std::stringstream hss; |
782 | std::string hs; |
783 | - sprintf(cwgtinfo_weights_info[0], "%50s","central value"); |
784 | + std::stringstream format_str; |
785 | + format_str <<"%"<<wgts_info_len_used<<"s"; |
786 | + sprintf(cwgtinfo_weights_info[0],format_str.str().c_str(),"central value"); |
787 | cwgtinfo_nn=1; |
788 | while (true){ |
789 | hss << reader.headerBlock; |
790 | @@ -37,7 +54,7 @@ |
791 | if (hs.find("<weight id") != std::string::npos) { |
792 | std::string sRWGT = hs.substr(hs.find("'>")+2,hs.find("</w")-3); |
793 | sRWGT = sRWGT.substr(0,sRWGT.find("<")); |
794 | - sprintf(cwgtinfo_weights_info[cwgtinfo_nn],"%50s",sRWGT.c_str()); |
795 | + sprintf(cwgtinfo_weights_info[cwgtinfo_nn],format_str.str().c_str(),sRWGT.c_str()); |
796 | ++cwgtinfo_nn; |
797 | } |
798 | } |
799 | |
800 | === modified file 'Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f' |
801 | --- Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2017-06-19 14:46:09 +0000 |
802 | +++ Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2020-11-30 08:37:49 +0000 |
803 | @@ -125,6 +125,7 @@ |
804 | C Reads MC@NLO input headers and fills Les Houches run common HEPRUP |
805 | C Event file is written by MadFKS |
806 | C---------------------------------------------------------------------- |
807 | + use HwU_wgts_info_len |
808 | INCLUDE 'HERWIG65.INC' |
809 | C--Les Houches Common Blocks |
810 | INTEGER MAXPUP |
811 | @@ -150,7 +151,7 @@ |
812 | include 'reweight0.inc' |
813 | integer nwgt |
814 | common/cnwgt/nwgt |
815 | - character*50 weights_info(max_weight_shower) |
816 | + character*(wgts_info_len) weights_info(max_weight_shower) |
817 | common/cwgtsinfo/weights_info |
818 | |
819 | nwgt=1 |
820 | |
821 | === modified file 'Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f' |
822 | --- Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2017-06-19 14:46:09 +0000 |
823 | +++ Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2020-11-30 08:37:49 +0000 |
824 | @@ -124,6 +124,7 @@ |
825 | C Reads MC@NLO input headers and fills Les Houches run common HEPRUP |
826 | C Event file is written by MadFKS |
827 | C---------------------------------------------------------------------- |
828 | + use HwU_wgts_info_len |
829 | C--Les Houches Common Blocks |
830 | INTEGER MAXPUP |
831 | PARAMETER(MAXPUP=100) |
832 | @@ -149,7 +150,7 @@ |
833 | include 'reweight0.inc' |
834 | integer nwgt |
835 | common/cnwgt/nwgt |
836 | - character*50 weights_info(max_weight_shower) |
837 | + character*(wgts_info_len) weights_info(max_weight_shower) |
838 | common/cwgtsinfo/weights_info |
839 | C |
840 | numscales=0 |
841 | |
842 | === modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia8.cc' |
843 | --- Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2017-07-25 14:13:14 +0000 |
844 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2020-11-30 08:37:49 +0000 |
845 | @@ -21,7 +21,7 @@ |
846 | #define cevwgt cevwgt_ |
847 | |
848 | extern "C" { |
849 | - void pyabeg_(int&,char(*)[50]); |
850 | + void pyabeg_(int&,char(*)[wgts_info_len_used]); |
851 | void pyaend_(double&); |
852 | void pyanal_(int&,double(*)); |
853 | } |
854 | @@ -30,7 +30,7 @@ |
855 | Pythia pythia; |
856 | |
857 | int cwgtinfo_nn; |
858 | - char cwgtinfo_weights_info[1024][50]; |
859 | + char cwgtinfo_weights_info[1024][wgts_info_len_used]; |
860 | double cwgt_ww[1024]; |
861 | |
862 | string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
863 | |
864 | === modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia82.cc' |
865 | --- Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2018-05-01 13:46:54 +0000 |
866 | +++ Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2020-11-30 08:37:49 +0000 |
867 | @@ -22,7 +22,7 @@ |
868 | #define cevwgt cevwgt_ |
869 | |
870 | extern "C" { |
871 | - void pyabeg_(int&,char(*)[50]); |
872 | + void pyabeg_(int&,char(*)[wgts_info_len_used]); |
873 | void pyaend_(double&); |
874 | void pyanal_(int&,double(*)); |
875 | } |
876 | @@ -31,7 +31,7 @@ |
877 | Pythia pythia; |
878 | |
879 | int cwgtinfo_nn; |
880 | - char cwgtinfo_weights_info[1024][50]; |
881 | + char cwgtinfo_weights_info[1024][wgts_info_len_used]; |
882 | double cwgt_ww[1024]; |
883 | |
884 | string inputname="Pythia8.cmd",outputname="Pythia8.hep"; |
885 | |
886 | === modified file 'Template/NLO/Source/extra_weights.f' |
887 | --- Template/NLO/Source/extra_weights.f 2019-03-08 09:56:08 +0000 |
888 | +++ Template/NLO/Source/extra_weights.f 2020-11-30 08:37:49 +0000 |
889 | @@ -1,7 +1,7 @@ |
890 | module extra_weights |
891 | |
892 | integer,parameter :: iwgtinfo=-5,maxscales=9,maxPDFs=200 |
893 | - $ ,maxPDFsets=25,maxdynscales=10 |
894 | + $ ,maxPDFsets=25,maxdynscales=10,maxorders=10 |
895 | integer :: max_mom_str=1,max_mext=1,max_n_ctr=1 |
896 | logical :: doreweight,lscalevar(maxdynscales) |
897 | $ ,lpdfvar(maxPDFsets) |
898 | @@ -12,7 +12,7 @@ |
899 | double precision :: wgtdegrem_xi,wgtdegrem_lxi,wgtdegrem_muF |
900 | $ ,wgtnstmp,wgtwnstmpmuf,wgtwnstmpmur,wgtnstmp_avgvirt |
901 | $ ,wgtref,scalevarR(0:maxscales),scalevarF(0:maxscales) |
902 | - $ ,wgtxsecmu(maxscales,maxscales,maxdynscales) |
903 | + $ ,wgtxsecmu(maxorders,maxscales,maxscales,maxdynscales) |
904 | $ ,wgtxsecPDF(0:maxPDFs,maxPDFsets),wgtbpower,wgtcpower |
905 | $ ,veto_multiplier,H1_factor_virt,veto_compensating_factor |
906 | $ ,born_wgt_veto |
907 | |
908 | === modified file 'Template/NLO/SubProcesses/collect_events.f' |
909 | --- Template/NLO/SubProcesses/collect_events.f 2017-07-29 08:03:34 +0000 |
910 | +++ Template/NLO/SubProcesses/collect_events.f 2020-11-30 08:37:49 +0000 |
911 | @@ -53,6 +53,8 @@ |
912 | open(unit=10,file=basicfile,status='old') |
913 | open(unit=98,file=nextbasicfile,status='unknown') |
914 | |
915 | + call get_orderstags_glob_infos() |
916 | + |
917 | c |
918 | c First get the cross section from the res_1 files |
919 | c |
920 | @@ -253,6 +255,10 @@ |
921 | double precision xsec(100),xsecABS,xerr(100) |
922 | logical get_xsec_from_res1 |
923 | common/total_xsec/xsec,xerr,xsecABS,proc_id_tot,get_xsec_from_res1 |
924 | +c Common blocks for the orders tags |
925 | + integer n_orderstags,oo |
926 | + integer orderstags_glob(maxorders) |
927 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
928 | c |
929 | maxevt=0 |
930 | if (.not. get_xsec_from_res1) then |
931 | @@ -420,18 +426,20 @@ |
932 | c reweighting |
933 | evwgt_sign=dsign(evwgt,XWGTUP) |
934 | if (do_rwgt_scale) then |
935 | - do kk=1,dyn_scale(0) |
936 | - if (lscalevar(kk)) then |
937 | - do ii=1,nint(scalevarF(0)) |
938 | - do jj=1,nint(scalevarR(0)) |
939 | - wgtxsecmu(jj,ii,kk)=wgtxsecmu(jj,ii,kk) |
940 | - $ *evwgt_sign/XWGTUP |
941 | + do oo=0,n_orderstags |
942 | + do kk=1,dyn_scale(0) |
943 | + if (lscalevar(kk)) then |
944 | + do ii=1,nint(scalevarF(0)) |
945 | + do jj=1,nint(scalevarR(0)) |
946 | + wgtxsecmu(oo,jj,ii,kk)=wgtxsecmu(oo,jj,ii,kk) |
947 | + $ *evwgt_sign/XWGTUP |
948 | + enddo |
949 | enddo |
950 | - enddo |
951 | - else |
952 | - wgtxsecmu(1,1,kk)=wgtxsecmu(1,1,kk) |
953 | - $ *evwgt_sign/XWGTUP |
954 | - endif |
955 | + else |
956 | + wgtxsecmu(oo,1,1,kk)=wgtxsecmu(oo,1,1,kk) |
957 | + $ *evwgt_sign/XWGTUP |
958 | + endif |
959 | + enddo |
960 | enddo |
961 | endif |
962 | if (do_rwgt_pdf) then |
963 | |
964 | === modified file 'Template/NLO/SubProcesses/driver_mintMC.f' |
965 | --- Template/NLO/SubProcesses/driver_mintMC.f 2020-03-26 15:16:08 +0000 |
966 | +++ Template/NLO/SubProcesses/driver_mintMC.f 2020-11-30 08:37:49 +0000 |
967 | @@ -134,6 +134,7 @@ |
968 | call printout !Prints out a summary of paramaters |
969 | call run_printout !Prints out a summary of the run settings |
970 | call initcluster |
971 | + call check_amp_split |
972 | c |
973 | c Get user input |
974 | c |
975 | |
976 | === modified file 'Template/NLO/SubProcesses/fks_singular.f' |
977 | --- Template/NLO/SubProcesses/fks_singular.f 2020-09-18 11:00:14 +0000 |
978 | +++ Template/NLO/SubProcesses/fks_singular.f 2020-11-30 08:37:49 +0000 |
979 | @@ -3163,6 +3163,8 @@ |
980 | endif |
981 | enddo |
982 | if (.not. Hevents) then |
983 | + |
984 | + ! MZ write also orderstag!! |
985 | c For S-events, be careful to take all the IPROC that contribute to the |
986 | c iproc_picked: |
987 | ipro=eto(etoi(iproc_picked,nFKS(ict)),nFKS(ict)) |
988 | @@ -3200,6 +3202,7 @@ |
989 | & //trim(adjustl(procid)) |
990 | |
991 | write (str_temp,30) |
992 | + & orderstag(ict), |
993 | & QCDpower(ict), |
994 | & (bjx(j,ict),j=1,2), |
995 | & (scales2(j,ict),j=1,3), |
996 | @@ -3251,6 +3254,7 @@ |
997 | & //trim(adjustl(procid)) |
998 | |
999 | write (str_temp,30) |
1000 | + & orderstag(ict), |
1001 | & QCDpower(ict), |
1002 | & (bjx(j,ict),j=1,2), |
1003 | & (scales2(j,ict),j=1,3), |
1004 | @@ -3271,7 +3275,7 @@ |
1005 | endif |
1006 | enddo |
1007 | return |
1008 | - 30 format(i2,6(1x,d14.8),6(1x,i2),1x,i8,1x,d18.12,1x,d18.12) |
1009 | + 30 format(i15,i2,6(1x,d14.8),6(1x,i2),1x,i8,1x,d18.12,1x,d18.12) |
1010 | end |
1011 | |
1012 | |
1013 | @@ -5910,22 +5914,19 @@ |
1014 | tOLP=tOLP+(tAfter-tBefore) |
1015 | virtual_over_born=virt_wgt/born_wgt |
1016 | if (ickkw.ne.-1) then |
1017 | - if (use_poly_virtual) then |
1018 | - virt_wgt=virt_wgt-polyfit(0)*born_wgt |
1019 | - else |
1020 | - virt_wgt=virt_wgt-average_virtual(0,ichan)*born_wgt |
1021 | - endif |
1022 | + virt_wgt = 0d0 |
1023 | do iamp=1,amp_split_size |
1024 | if (amp_split_virt(iamp).eq.0d0) cycle |
1025 | if (use_poly_virtual) then |
1026 | amp_split_virt(iamp)=amp_split_virt(iamp)- |
1027 | $ polyfit(iamp) |
1028 | $ *amp_split_born_for_virt(iamp) |
1029 | - else |
1030 | - amp_split_virt(iamp)=amp_split_virt(iamp)- |
1031 | - $ average_virtual(iamp,ichan) |
1032 | - $ *amp_split_born_for_virt(iamp) |
1033 | + else |
1034 | + amp_split_virt(iamp)=amp_split_virt(iamp)- |
1035 | + $ average_virtual(iamp,ichan) |
1036 | + $ *amp_split_born_for_virt(iamp) |
1037 | endif |
1038 | + virt_wgt = virt_wgt + amp_split_virt(iamp) |
1039 | enddo |
1040 | endif |
1041 | if (abrv.ne.'virt') then |
1042 | |
1043 | === modified file 'Template/NLO/SubProcesses/handling_lhe_events.f' |
1044 | --- Template/NLO/SubProcesses/handling_lhe_events.f 2020-09-18 11:00:14 +0000 |
1045 | +++ Template/NLO/SubProcesses/handling_lhe_events.f 2020-11-30 08:37:49 +0000 |
1046 | @@ -21,6 +21,9 @@ |
1047 | character*80 muR_id_str,muF1_id_str,muF2_id_str,QES_id_str |
1048 | common/cscales_id_string/muR_id_str,muF1_id_str, |
1049 | # muF2_id_str,QES_id_str |
1050 | + integer n_orderstags,oo,tag |
1051 | + integer orderstags_glob(maxorders) |
1052 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1053 | c |
1054 | write(ifile,'(a)') |
1055 | # '<LesHouchesEvents version="3.0">' |
1056 | @@ -30,28 +33,38 @@ |
1057 | write(ifile,'(a)') ' <initrwgt>' |
1058 | idwgt=1000 |
1059 | if (do_rwgt_scale) then |
1060 | - do kk=1,dyn_scale(0) |
1061 | - write(ifile,'(a,i4,a)') |
1062 | - & " <weightgroup name='scale_variation ", |
1063 | - & dyn_scale(kk),"' combine='envelope'>" |
1064 | - if (lscalevar(kk)) then |
1065 | - do ii=1,nint(scalevarF(0)) |
1066 | - do jj=1,nint(scalevarR(0)) |
1067 | - idwgt=idwgt+1 |
1068 | - write(ifile,'(a,i4,a,i4,a,e11.5,a,e11.5,a)') |
1069 | - $ " <weight id='",idwgt,"'> dyn=", |
1070 | - $ dyn_scale(kk)," muR=",scalevarR(jj)," muF=" |
1071 | + do oo=0,n_orderstags |
1072 | + if (oo.eq.0) then |
1073 | + tag = 0 |
1074 | + else |
1075 | + tag = orderstags_glob(oo) |
1076 | + endif |
1077 | + do kk=1,dyn_scale(0) |
1078 | + write(ifile,'(a,i15,i4,a)') |
1079 | + & " <weightgroup name='scale_variation ", |
1080 | + & tag, dyn_scale(kk),"' combine='envelope'>" |
1081 | + if (lscalevar(kk)) then |
1082 | + do ii=1,nint(scalevarF(0)) |
1083 | + do jj=1,nint(scalevarR(0)) |
1084 | + idwgt=idwgt+1 |
1085 | + write(ifile, |
1086 | + $ '(a,i4,a,i15,a,i4,a,e11.5,a,e11.5,a)') |
1087 | + $ " <weight id='",idwgt,"'> tag=" ,tag, |
1088 | + $ " dyn=",dyn_scale(kk), |
1089 | + $ " muR=",scalevarR(jj)," muF=" |
1090 | $ ,scalevarF(ii)," </weight>" |
1091 | + enddo |
1092 | enddo |
1093 | - enddo |
1094 | - else |
1095 | - idwgt=idwgt+1 |
1096 | - write(ifile,'(a,i4,a,i4,a,e11.5,a,e11.5,a)') |
1097 | - $ " <weight id='",idwgt,"'> dyn=", |
1098 | - $ dyn_scale(kk)," muR=",1d0 ," muF=",1d0 |
1099 | - $ ," </weight>" |
1100 | - endif |
1101 | - write(ifile,'(a)') " </weightgroup>" |
1102 | + else |
1103 | + idwgt=idwgt+1 |
1104 | + write(ifile,'(a,i4,a,i15,a,i4,a,e11.5,a,e11.5,a)') |
1105 | + $ " <weight id='",idwgt,"'> tag=" ,tag, |
1106 | + $ " dyn=",dyn_scale(kk), |
1107 | + $ " muR=",1d0 ," muF=",1d0 |
1108 | + $ ," </weight>" |
1109 | + endif |
1110 | + write(ifile,'(a)') " </weightgroup>" |
1111 | + enddo |
1112 | enddo |
1113 | endif |
1114 | if (do_rwgt_pdf) then |
1115 | @@ -126,6 +139,9 @@ |
1116 | character*150 buffer,buffer_lc,buffer2 |
1117 | integer event_id |
1118 | common /c_event_id/ event_id |
1119 | + integer n_orderstags,oo,tag |
1120 | + integer orderstags_glob(maxorders) |
1121 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1122 | |
1123 | c Set the event_id to 0. If 0 or positive, this value will be update |
1124 | c in write_lhe_event. It is set to -99 through a block data |
1125 | @@ -215,28 +231,38 @@ |
1126 | write(ifile,'(a)') ' <initrwgt>' |
1127 | idwgt=1000 |
1128 | if (do_rwgt_scale) then |
1129 | - do kk=1,dyn_scale(0) |
1130 | - write(ifile,'(a,i4,a)') |
1131 | - & " <weightgroup name='scale_variation ", |
1132 | - & dyn_scale(kk),"' combine='envelope'>" |
1133 | - if (lscalevar(kk)) then |
1134 | - do ii=1,nint(scalevarF(0)) |
1135 | - do jj=1,nint(scalevarR(0)) |
1136 | - idwgt=idwgt+1 |
1137 | - write(ifile,'(a,i4,a,i4,a,e11.5,a,e11.5,a)') |
1138 | - $ " <weight id='",idwgt,"'> dyn=", |
1139 | - $ dyn_scale(kk)," muR=",scalevarR(jj)," muF=" |
1140 | + do oo=0,n_orderstags |
1141 | + if (oo.eq.0) then |
1142 | + tag = 0 |
1143 | + else |
1144 | + tag = orderstags_glob(oo) |
1145 | + endif |
1146 | + do kk=1,dyn_scale(0) |
1147 | + write(ifile,'(a,i15,i4,a)') |
1148 | + & " <weightgroup name='scale_variation ", |
1149 | + & tag, dyn_scale(kk),"' combine='envelope'>" |
1150 | + if (lscalevar(kk)) then |
1151 | + do ii=1,nint(scalevarF(0)) |
1152 | + do jj=1,nint(scalevarR(0)) |
1153 | + idwgt=idwgt+1 |
1154 | + write(ifile, |
1155 | + $ '(a,i4,a,i15,a,i4,a,e11.5,a,e11.5,a)') |
1156 | + $ " <weight id='",idwgt,"'> tag=" ,tag, |
1157 | + $ " dyn=",dyn_scale(kk), |
1158 | + $ " muR=",scalevarR(jj)," muF=" |
1159 | $ ,scalevarF(ii)," </weight>" |
1160 | + enddo |
1161 | enddo |
1162 | - enddo |
1163 | - else |
1164 | - idwgt=idwgt+1 |
1165 | - write(ifile,'(a,i4,a,i4,a,e11.5,a,e11.5,a)') |
1166 | - $ " <weight id='",idwgt,"'> dyn=", |
1167 | - $ dyn_scale(kk)," muR=",1d0 ," muF=",1d0 |
1168 | - $ ," </weight>" |
1169 | - endif |
1170 | - write(ifile,'(a)') " </weightgroup>" |
1171 | + else |
1172 | + idwgt=idwgt+1 |
1173 | + write(ifile,'(a,i4,a,i15,a,i4,a,e11.5,a,e11.5,a)') |
1174 | + $ " <weight id='",idwgt,"'> tag=" ,tag, |
1175 | + $ " dyn=",dyn_scale(kk), |
1176 | + $ " muR=",1d0 ," muF=",1d0 |
1177 | + $ ," </weight>" |
1178 | + endif |
1179 | + write(ifile,'(a)') " </weightgroup>" |
1180 | + enddo |
1181 | enddo |
1182 | endif |
1183 | if (do_rwgt_pdf) then |
1184 | @@ -648,7 +674,7 @@ |
1185 | DOUBLE PRECISION XWGTUP,SCALUP,AQEDUP,AQCDUP, |
1186 | # PUP(5,*),VTIMUP(*),SPINUP(*) |
1187 | character*140 buff |
1188 | - integer ifile,i,kk |
1189 | + integer ifile,i,kk,oo |
1190 | character*9 ch1 |
1191 | integer isorh_lhe,ifks_lhe,jfks_lhe,fksfather_lhe,ipartner_lhe |
1192 | double precision scale1_lhe,scale2_lhe |
1193 | @@ -662,6 +688,9 @@ |
1194 | common/event_attributes/nattr,npNLO,npLO |
1195 | include './run.inc' |
1196 | include 'unlops.inc' |
1197 | + integer n_orderstags |
1198 | + integer orderstags_glob(maxorders) |
1199 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1200 | c if event_id is zero or positive (that means that there was a call |
1201 | c to write_lhef_header_banner) update it and write it |
1202 | c RF: don't use the event_id: |
1203 | @@ -761,20 +790,23 @@ |
1204 | write(ifile,'(a)') ' <rwgt>' |
1205 | idwgt=1000 |
1206 | if (do_rwgt_scale) then |
1207 | - do kk=1,dyn_scale(0) |
1208 | - if (lscalevar(kk)) then |
1209 | - do i=1,nint(scalevarF(0)) |
1210 | - do j=1,nint(scalevarR(0)) |
1211 | - idwgt=idwgt+1 |
1212 | - write(ifile,601) " <wgt id='",idwgt,"'>" |
1213 | - $ ,wgtxsecmu(j,i,kk)," </wgt>" |
1214 | + do oo=0,n_orderstags |
1215 | + do kk=1,dyn_scale(0) |
1216 | + if (lscalevar(kk)) then |
1217 | + do i=1,nint(scalevarF(0)) |
1218 | + do j=1,nint(scalevarR(0)) |
1219 | + idwgt=idwgt+1 |
1220 | + write(ifile,601) |
1221 | + $ " <wgt id='",idwgt,"'>" |
1222 | + $ ,wgtxsecmu(oo,j,i,kk)," </wgt>" |
1223 | + enddo |
1224 | enddo |
1225 | - enddo |
1226 | - else |
1227 | - idwgt=idwgt+1 |
1228 | - write(ifile,601) " <wgt id='",idwgt,"'>" |
1229 | - $ ,wgtxsecmu(1,1,kk)," </wgt>" |
1230 | - endif |
1231 | + else |
1232 | + idwgt=idwgt+1 |
1233 | + write(ifile,601) " <wgt id='",idwgt,"'>" |
1234 | + $ ,wgtxsecmu(oo,1,1,kk)," </wgt>" |
1235 | + endif |
1236 | + enddo |
1237 | enddo |
1238 | endif |
1239 | if (do_rwgt_pdf) then |
1240 | @@ -821,7 +853,7 @@ |
1241 | INTEGER NUP,IDPRUP,IDUP(*),ISTUP(*),MOTHUP(2,*),ICOLUP(2,*) |
1242 | DOUBLE PRECISION XWGTUP,SCALUP,AQEDUP,AQCDUP, |
1243 | # PUP(5,*),VTIMUP(*),SPINUP(*) |
1244 | - integer ifile,i,kk |
1245 | + integer ifile,i,kk,oo |
1246 | character*140 buff |
1247 | character*80 string |
1248 | character*12 dummy12 |
1249 | @@ -835,6 +867,9 @@ |
1250 | common/c_i_process/i_process |
1251 | integer nattr,npNLO,npLO |
1252 | common/event_attributes/nattr,npNLO,npLO |
1253 | + integer n_orderstags |
1254 | + integer orderstags_glob(maxorders) |
1255 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1256 | include 'unlops.inc' |
1257 | include 'run.inc' |
1258 | c |
1259 | @@ -910,18 +945,20 @@ |
1260 | read(ifile,'(a)')string |
1261 | wgtref=XWGTUP |
1262 | if (do_rwgt_scale) then |
1263 | - do kk=1,dyn_scale(0) |
1264 | - if (lscalevar(kk)) then |
1265 | - do i=1,nint(scalevarF(0)) |
1266 | - do j=1,nint(scalevarR(0)) |
1267 | - call read_rwgt_line(ifile,idwgt |
1268 | - $ ,wgtxsecmu(j,i,kk)) |
1269 | + do oo=0,n_orderstags |
1270 | + do kk=1,dyn_scale(0) |
1271 | + if (lscalevar(kk)) then |
1272 | + do i=1,nint(scalevarF(0)) |
1273 | + do j=1,nint(scalevarR(0)) |
1274 | + call read_rwgt_line(ifile,idwgt |
1275 | + $ ,wgtxsecmu(oo,j,i,kk)) |
1276 | + enddo |
1277 | enddo |
1278 | - enddo |
1279 | - else |
1280 | - call read_rwgt_line(ifile,idwgt,wgtxsecmu(1,1 |
1281 | + else |
1282 | + call read_rwgt_line(ifile,idwgt,wgtxsecmu(oo,1,1 |
1283 | $ ,kk)) |
1284 | - endif |
1285 | + endif |
1286 | + enddo |
1287 | enddo |
1288 | endif |
1289 | if (do_rwgt_pdf) then |
1290 | @@ -968,7 +1005,7 @@ |
1291 | INTEGER NUP,IDPRUP,IDUP(*),ISTUP(*),MOTHUP(2,*),ICOLUP(2,*) |
1292 | DOUBLE PRECISION XWGTUP,SCALUP,AQEDUP,AQCDUP, |
1293 | # PUP(5,*),VTIMUP(*),SPINUP(*) |
1294 | - integer ifile,i,kk |
1295 | + integer ifile,i,kk,oo |
1296 | character*140 buff |
1297 | character*80 string |
1298 | character*12 dummy12 |
1299 | @@ -982,6 +1019,9 @@ |
1300 | common/c_i_process/i_process |
1301 | integer nattr,npNLO,npLO |
1302 | common/event_attributes/nattr,npNLO,npLO |
1303 | + integer n_orderstags |
1304 | + integer orderstags_glob(maxorders) |
1305 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1306 | include 'unlops.inc' |
1307 | include 'run.inc' |
1308 | c |
1309 | @@ -1066,18 +1106,20 @@ |
1310 | read(ifile,'(a)')string |
1311 | wgtref=XWGTUP |
1312 | if (do_rwgt_scale) then |
1313 | - do kk=1,dyn_scale(0) |
1314 | - if (lscalevar(kk)) then |
1315 | - do i=1,nint(scalevarF(0)) |
1316 | - do j=1,nint(scalevarR(0)) |
1317 | - call read_rwgt_line(ifile,idwgt |
1318 | - $ ,wgtxsecmu(j,i,kk)) |
1319 | + do oo=0,n_orderstags |
1320 | + do kk=1,dyn_scale(0) |
1321 | + if (lscalevar(kk)) then |
1322 | + do i=1,nint(scalevarF(0)) |
1323 | + do j=1,nint(scalevarR(0)) |
1324 | + call read_rwgt_line(ifile,idwgt |
1325 | + $ ,wgtxsecmu(oo,j,i,kk)) |
1326 | + enddo |
1327 | enddo |
1328 | - enddo |
1329 | - else |
1330 | - call read_rwgt_line(ifile,idwgt,wgtxsecmu(1,1 |
1331 | + else |
1332 | + call read_rwgt_line(ifile,idwgt,wgtxsecmu(oo,1,1 |
1333 | $ ,kk)) |
1334 | - endif |
1335 | + endif |
1336 | + enddo |
1337 | enddo |
1338 | endif |
1339 | if (do_rwgt_pdf) then |
1340 | |
1341 | === modified file 'Template/NLO/SubProcesses/makefile' |
1342 | --- Template/NLO/SubProcesses/makefile 2018-08-27 14:51:23 +0000 |
1343 | +++ Template/NLO/SubProcesses/makefile 2020-11-30 08:37:49 +0000 |
1344 | @@ -8,7 +8,7 @@ |
1345 | READ40=read40.o |
1346 | |
1347 | # Files to collect all the events in the separate integration channels into a single file |
1348 | -COLLECT_EVENTS=collect_events.o handling_lhe_events.o fill_MC_mshell.o |
1349 | +COLLECT_EVENTS=collect_events.o handling_lhe_events.o fill_MC_mshell.o orderstags_glob.o |
1350 | |
1351 | %.o : %.f |
1352 | $(FC) $(FFLAGS) -c -I. -I$(LIBDIR) $< |
1353 | |
1354 | === modified file 'Template/NLO/SubProcesses/makefile_fks_dir' |
1355 | --- Template/NLO/SubProcesses/makefile_fks_dir 2020-11-23 16:35:02 +0000 |
1356 | +++ Template/NLO/SubProcesses/makefile_fks_dir 2020-11-30 08:37:49 +0000 |
1357 | @@ -66,7 +66,7 @@ |
1358 | $(reweight_xsec_events_pdf_dummy) fill_MC_mshell.o cluster.o \ |
1359 | reweight.o get_color.o iproc_map.o chooser_functions.o \ |
1360 | pythia_unlops.o recluster.o splitorders_stuff.o reweight_xsec.o \ |
1361 | - weight_lines.o |
1362 | + weight_lines.o orderstags_glob.o |
1363 | |
1364 | %.o: %.f |
1365 | $(FC) $(FFLAGS) -c -I. -I$(LIBDIR) $< |
1366 | |
1367 | === added file 'Template/NLO/SubProcesses/orderstags_glob.f' |
1368 | --- Template/NLO/SubProcesses/orderstags_glob.f 1970-01-01 00:00:00 +0000 |
1369 | +++ Template/NLO/SubProcesses/orderstags_glob.f 2020-11-30 08:37:49 +0000 |
1370 | @@ -0,0 +1,41 @@ |
1371 | + subroutine get_orderstags_glob_infos() |
1372 | + use extra_weights |
1373 | + implicit none |
1374 | + integer n_orderstags |
1375 | + integer orderstags_glob(maxorders) |
1376 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1377 | + integer j |
1378 | + |
1379 | + open(unit=78,file="orderstags_glob.dat",status="old",err=101) |
1380 | + goto 99 |
1381 | +101 open(unit=78,file="../orderstags_glob.dat",status="old",err=101) |
1382 | + |
1383 | +99 read(78,*) n_orderstags |
1384 | + write(*,*) 'get_orderstags_glob_infos: n_orderstags=', n_orderstags |
1385 | + read(78,*) (orderstags_glob(j), j=1, n_orderstags) |
1386 | + write(*,*) 'get_orderstags_glob_infos: orderstags_glob', |
1387 | + $ (orderstags_glob(j), j=1, n_orderstags) |
1388 | + return |
1389 | + end |
1390 | + |
1391 | + |
1392 | + integer function get_orderstags_glob_pos(tag) |
1393 | + use extra_weights |
1394 | + implicit none |
1395 | + integer tag |
1396 | + integer n_orderstags |
1397 | + integer orderstags_glob(maxorders) |
1398 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1399 | + integer j |
1400 | + |
1401 | + do j = 1, n_orderstags |
1402 | + if (orderstags_glob(j).eq.tag) then |
1403 | + get_orderstags_glob_pos = j |
1404 | + return |
1405 | + endif |
1406 | + enddo |
1407 | + write(*,*) 'ERROR, get_orderstags_glob_pos, not found', tag |
1408 | + stop 1 |
1409 | + return |
1410 | + end |
1411 | + |
1412 | |
1413 | === modified file 'Template/NLO/SubProcesses/reweight_xsec_events.f' |
1414 | --- Template/NLO/SubProcesses/reweight_xsec_events.f 2017-09-28 15:13:09 +0000 |
1415 | +++ Template/NLO/SubProcesses/reweight_xsec_events.f 2020-11-30 08:37:49 +0000 |
1416 | @@ -8,7 +8,7 @@ |
1417 | use extra_weights |
1418 | implicit none |
1419 | include "run.inc" |
1420 | - integer i,ii,jj,kk,isave,lef,ifile,maxevt,iSorH_lhe,ifks_lhe |
1421 | + integer i,oo,ii,jj,kk,isave,lef,ifile,maxevt,iSorH_lhe,ifks_lhe |
1422 | $ ,jfks_lhe,fksfather_lhe,ipartner_lhe,kwgtinfo,kexternal |
1423 | $ ,jwgtnumpartn,ofile,kf,kr,n,nn |
1424 | double precision scale1_lhe,scale2_lhe,wgtcentral,wgtmumin |
1425 | @@ -28,6 +28,10 @@ |
1426 | character*7 pdlabel,epa_label |
1427 | integer lhaid |
1428 | common/to_pdf/lhaid,pdlabel,epa_label |
1429 | +c Common blocks for the orders tags |
1430 | + integer n_orderstags |
1431 | + integer orderstags_glob(maxorders) |
1432 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1433 | c Les Houches Event File info: |
1434 | integer IDBMUP(2),PDFGUP(2),PDFSUP(2),IDWTUP,NPRUP,LPRUP |
1435 | double precision EBMUP(2),XSECUP,XERRUP,XMAXUP |
1436 | @@ -154,6 +158,8 @@ |
1437 | |
1438 | rewind(34) |
1439 | |
1440 | + call get_orderstags_glob_infos() |
1441 | + |
1442 | ofile=35 |
1443 | open(unit=ofile,file=fname1,status='unknown') |
1444 | |
1445 | @@ -217,17 +223,19 @@ |
1446 | c renormalize all the scale & PDF weights to have the same normalization |
1447 | c as XWGTUP |
1448 | if(do_rwgt_scale)then |
1449 | - do kk=1,dyn_scale(0) |
1450 | - if (lscalevar(kk)) then |
1451 | - do ii=1,nint(scalevarF(0)) |
1452 | - do jj=1,nint(scalevarR(0)) |
1453 | - wgtxsecmu(jj,ii,kk)= |
1454 | - & wgtxsecmu(jj,ii,kk)/wgtref*XWGTUP |
1455 | + do oo=0,n_orderstags |
1456 | + do kk=1,dyn_scale(0) |
1457 | + if (lscalevar(kk)) then |
1458 | + do ii=1,nint(scalevarF(0)) |
1459 | + do jj=1,nint(scalevarR(0)) |
1460 | + wgtxsecmu(oo,jj,ii,kk)= |
1461 | + & wgtxsecmu(oo,jj,ii,kk)/wgtref*XWGTUP |
1462 | + enddo |
1463 | enddo |
1464 | - enddo |
1465 | - else |
1466 | - wgtxsecmu(1,1,kk)=wgtxsecmu(1,1,kk)/wgtref*XWGTUP |
1467 | - endif |
1468 | + else |
1469 | + wgtxsecmu(oo,1,1,kk)=wgtxsecmu(oo,1,1,kk)/wgtref*XWGTUP |
1470 | + endif |
1471 | + enddo |
1472 | enddo |
1473 | endif |
1474 | if (do_rwgt_pdf) then |
1475 | @@ -243,19 +251,21 @@ |
1476 | endif |
1477 | |
1478 | c Keep track of the accumulated results: |
1479 | +C put in xsecScale_acc only the 0th entry of wgtxsecmu, ie |
1480 | +C the entry inclusive on the various orderstag |
1481 | if (do_rwgt_scale) then |
1482 | do kk=1,dyn_scale(0) |
1483 | if (lscalevar(kk)) then |
1484 | do ii=1,nint(scalevarF(0)) |
1485 | do jj=1,nint(scalevarR(0)) |
1486 | xsecScale_acc(jj,ii,kk)=xsecScale_acc(jj,ii,kk) |
1487 | - $ +wgtxsecmu(jj,ii,kk) |
1488 | + $ +wgtxsecmu(0,jj,ii,kk) |
1489 | |
1490 | enddo |
1491 | enddo |
1492 | else |
1493 | xsecScale_acc(1,1,kk)=xsecScale_acc(1,1,kk) |
1494 | - $ +wgtxsecmu(1,1,kk) |
1495 | + $ +wgtxsecmu(0,1,1,kk) |
1496 | endif |
1497 | enddo |
1498 | endif |
1499 | @@ -393,7 +403,7 @@ |
1500 | do i=1,icontr |
1501 | write(*,*)n_ctr_str(i) |
1502 | read(n_ctr_str(i),*)(wgt(j,i),j=1,3),(wgt_ME_tree(j,i),j=1,2) |
1503 | - & ,idum,(pdg(j,i),j=1,nexternal),QCDpower(i),(bjx(j,i),j=1 |
1504 | + & ,idum,(pdg(j,i),j=1,nexternal),orderstag(i),QCDpower(i),(bjx(j,i),j=1 |
1505 | & ,2),(scales2(j,i),j=1,3),g_strong(i),(momenta_conf(j),j=1 |
1506 | & ,2),itype(i),nFKS(i),idum,idum,idum,wgts(1,i),bias_wgt(i) |
1507 | do ii=1,2 |
1508 | @@ -418,53 +428,68 @@ |
1509 | implicit none |
1510 | include 'nexternal.inc' |
1511 | include 'run.inc' |
1512 | + include 'orders.inc' |
1513 | integer i,pd,lp,iwgt_save,kr,kf,dd |
1514 | double precision mu2_f(maxscales),mu2_r(maxscales),xlum(maxscales) |
1515 | $ ,pdg2pdf,mu2_q,rwgt_muR_dep_fac,g(maxscales),alphas,pi |
1516 | $ ,c_mu2_r,c_mu2_f |
1517 | parameter (pi=3.14159265358979323846d0) |
1518 | external pdg2pdf,rwgt_muR_dep_fac,alphas |
1519 | + integer orderstag_this, iamp |
1520 | + integer get_orders_tag_from_amp_pos |
1521 | + external get_orders_tag_from_amp_pos |
1522 | + |
1523 | iwgt_save=iwgt |
1524 | do i=1,icontr |
1525 | iwgt=iwgt_save |
1526 | mu2_q=scales2(1,i) |
1527 | - do dd=1,dyn_scale(0) |
1528 | - call set_mu_central(i,dd,c_mu2_r,c_mu2_f) |
1529 | - do kr=1,nint(scalevarR(0)) |
1530 | - if ((.not. lscalevar(dd)) .and. kr.ne.1) exit |
1531 | - mu2_r(kr)=c_mu2_r*scalevarR(kr)**2 |
1532 | -c Update the strong coupling |
1533 | - g(kr)=sqrt(4d0*pi*alphas(sqrt(mu2_r(kr)))) |
1534 | - enddo |
1535 | - do kf=1,nint(scalevarF(0)) |
1536 | - if ((.not. lscalevar(dd)) .and. kf.ne.1) exit |
1537 | - mu2_f(kf)=c_mu2_f*scalevarF(kf)**2 |
1538 | -c call the PDFs |
1539 | - xlum(kf)=1d0 |
1540 | - LP=SIGN(1,LPP(1)) |
1541 | - pd=pdg(1,i) |
1542 | - if (pd.eq.21) pd=0 |
1543 | - xlum(kf)=xlum(kf)*PDG2PDF(ABS(LPP(1)),pd*LP,bjx(1,i) |
1544 | - & ,DSQRT(mu2_f(kf))) |
1545 | - LP=SIGN(1,LPP(2)) |
1546 | - pd=pdg(2,i) |
1547 | - if (pd.eq.21) pd=0 |
1548 | - xlum(kf)=xlum(kf)*PDG2PDF(ABS(LPP(2)),pd*LP,bjx(2,i) |
1549 | - & ,DSQRT(mu2_f(kf))) |
1550 | - enddo |
1551 | - do kf=1,nint(scalevarF(0)) |
1552 | - if ((.not. lscalevar(dd)) .and. kf.ne.1) exit |
1553 | + |
1554 | + do iamp=0, amp_split_size |
1555 | + ! loop over the various coupling combinations. |
1556 | + ! iamp=0 just keeps everything |
1557 | + if (iamp.ne.0) orderstag_this = get_orders_tag_from_amp_pos(iamp) |
1558 | + ! filter the weights with the correct order |
1559 | + if (iamp.ne.0.and.orderstag_this.ne.orderstag(i)) cycle |
1560 | + |
1561 | + do dd=1,dyn_scale(0) |
1562 | + call set_mu_central(i,dd,c_mu2_r,c_mu2_f) |
1563 | do kr=1,nint(scalevarR(0)) |
1564 | if ((.not. lscalevar(dd)) .and. kr.ne.1) exit |
1565 | - iwgt=iwgt+1 ! increment the iwgt for the wgts() array |
1566 | - call weight_lines_allocated(nexternal,max_contr,iwgt |
1567 | - $ ,max_iproc) |
1568 | + mu2_r(kr)=c_mu2_r*scalevarR(kr)**2 |
1569 | +c Update the strong coupling |
1570 | + g(kr)=sqrt(4d0*pi*alphas(sqrt(mu2_r(kr)))) |
1571 | + enddo |
1572 | + do kf=1,nint(scalevarF(0)) |
1573 | + if ((.not. lscalevar(dd)) .and. kf.ne.1) exit |
1574 | + mu2_f(kf)=c_mu2_f*scalevarF(kf)**2 |
1575 | +c call the PDFs |
1576 | + xlum(kf)=1d0 |
1577 | + LP=SIGN(1,LPP(1)) |
1578 | + pd=pdg(1,i) |
1579 | + if (pd.eq.21) pd=0 |
1580 | + xlum(kf)=xlum(kf)*PDG2PDF(ABS(LPP(1)),pd*LP,bjx(1,i) |
1581 | + & ,DSQRT(mu2_f(kf))) |
1582 | + LP=SIGN(1,LPP(2)) |
1583 | + pd=pdg(2,i) |
1584 | + if (pd.eq.21) pd=0 |
1585 | + xlum(kf)=xlum(kf)*PDG2PDF(ABS(LPP(2)),pd*LP,bjx(2,i) |
1586 | + & ,DSQRT(mu2_f(kf))) |
1587 | + enddo |
1588 | + |
1589 | + do kf=1,nint(scalevarF(0)) |
1590 | + if ((.not. lscalevar(dd)) .and. kf.ne.1) exit |
1591 | + do kr=1,nint(scalevarR(0)) |
1592 | + if ((.not. lscalevar(dd)) .and. kr.ne.1) exit |
1593 | + iwgt=iwgt+1 ! increment the iwgt for the wgts() array |
1594 | + call weight_lines_allocated(nexternal,max_contr,iwgt |
1595 | + $ ,max_iproc) |
1596 | c add the weights to the array |
1597 | - wgts(iwgt,i)=xlum(kf) * (wgt(1,i)+wgt(2,i) |
1598 | - $ *log(mu2_r(kr)/mu2_q)+wgt(3,i)*log(mu2_f(kf) |
1599 | - $ /mu2_q))*g(kr)**QCDpower(i) |
1600 | - wgts(iwgt,i)=wgts(iwgt,i)*rwgt_muR_dep_fac( |
1601 | + wgts(iwgt,i)=xlum(kf) * (wgt(1,i)+wgt(2,i) |
1602 | + $ *log(mu2_r(kr)/mu2_q)+wgt(3,i)*log(mu2_f(kf) |
1603 | + $ /mu2_q))*g(kr)**QCDpower(i) |
1604 | + wgts(iwgt,i)=wgts(iwgt,i)*rwgt_muR_dep_fac( |
1605 | & sqrt(mu2_r(kr)),sqrt(scales2(2,i))) |
1606 | + enddo |
1607 | enddo |
1608 | enddo |
1609 | enddo |
1610 | @@ -530,17 +555,24 @@ |
1611 | implicit none |
1612 | include 'nexternal.inc' |
1613 | include 'run.inc' |
1614 | - integer ii,jj,kk,nn,n,iw,i |
1615 | - do kk=1,dyn_scale(0) |
1616 | - if (lscalevar(kk)) then |
1617 | - do ii=1,nint(scalevarF(0)) |
1618 | - do jj=1,nint(scalevarR(0)) |
1619 | - wgtxsecmu(jj,ii,kk)=0d0 |
1620 | + integer ii,jj,kk,oo,nn,n,iw,i |
1621 | + integer orderstag_this |
1622 | + integer n_orderstags |
1623 | + integer orderstags_glob(maxorders) |
1624 | + common /c_orderstags_glob/n_orderstags, orderstags_glob |
1625 | + |
1626 | + do oo=0,n_orderstags |
1627 | + do kk=1,dyn_scale(0) |
1628 | + if (lscalevar(kk)) then |
1629 | + do ii=1,nint(scalevarF(0)) |
1630 | + do jj=1,nint(scalevarR(0)) |
1631 | + wgtxsecmu(oo,jj,ii,kk)=0d0 |
1632 | + enddo |
1633 | enddo |
1634 | - enddo |
1635 | - else |
1636 | - wgtxsecmu(1,1,kk)=0d0 |
1637 | - endif |
1638 | + else |
1639 | + wgtxsecmu(oo,1,1,kk)=0d0 |
1640 | + endif |
1641 | + enddo |
1642 | enddo |
1643 | do nn=1,lhaPDFid(0) |
1644 | if (lpdfvar(nn)) then |
1645 | @@ -554,18 +586,23 @@ |
1646 | do i=1,icontr |
1647 | iw=2 |
1648 | if (do_rwgt_scale) then |
1649 | - do kk=1,dyn_scale(0) |
1650 | - if (lscalevar(kk)) then |
1651 | - do ii=1,nint(scalevarF(0)) |
1652 | - do jj=1,nint(scalevarR(0)) |
1653 | - wgtxsecmu(jj,ii,kk)=wgtxsecmu(jj,ii,kk)+wgts(iw,i) |
1654 | - iw=iw+1 |
1655 | + do oo=0,n_orderstags |
1656 | + if (oo.ne.0) orderstag_this = orderstags_glob(oo) |
1657 | + ! filter the weights with the correct order |
1658 | + if (oo.ne.0.and.orderstag_this.ne.orderstag(i)) cycle |
1659 | + do kk=1,dyn_scale(0) |
1660 | + if (lscalevar(kk)) then |
1661 | + do ii=1,nint(scalevarF(0)) |
1662 | + do jj=1,nint(scalevarR(0)) |
1663 | + wgtxsecmu(oo,jj,ii,kk)=wgtxsecmu(oo,jj,ii,kk)+wgts(iw,i) |
1664 | + iw=iw+1 |
1665 | + enddo |
1666 | enddo |
1667 | - enddo |
1668 | - else |
1669 | - wgtxsecmu(1,1,kk)=wgtxsecmu(1,1,kk)+wgts(iw,i) |
1670 | - iw=iw+1 |
1671 | - endif |
1672 | + else |
1673 | + wgtxsecmu(oo,1,1,kk)=wgtxsecmu(oo,1,1,kk)+wgts(iw,i) |
1674 | + iw=iw+1 |
1675 | + endif |
1676 | + enddo |
1677 | enddo |
1678 | endif |
1679 | if (do_rwgt_pdf) then |
1680 | |
1681 | === modified file 'Template/NLO/SubProcesses/splitorders_stuff.f' |
1682 | --- Template/NLO/SubProcesses/splitorders_stuff.f 2020-06-26 09:32:02 +0000 |
1683 | +++ Template/NLO/SubProcesses/splitorders_stuff.f 2020-11-30 08:37:49 +0000 |
1684 | @@ -65,6 +65,22 @@ |
1685 | |
1686 | return |
1687 | end |
1688 | + |
1689 | + |
1690 | + integer function get_orders_tag_from_amp_pos(iamp) |
1691 | +C calls get_orders_tag for the orders corresponding to |
1692 | +C the iamp-th amp_split |
1693 | + implicit none |
1694 | + integer iamp |
1695 | + include 'orders.inc' |
1696 | + integer ord(nsplitorders) |
1697 | + integer get_orders_tag |
1698 | + |
1699 | + call amp_split_pos_to_orders(iamp, ord) |
1700 | + get_orders_tag_from_amp_pos = get_orders_tag(ord) |
1701 | + |
1702 | + return |
1703 | + end |
1704 | |
1705 | |
1706 | integer function orders_to_amp_split_pos(ord) |
1707 | @@ -149,6 +165,7 @@ |
1708 | subroutine check_amp_split() |
1709 | C check that amp_split_pos_to_orders and orders_to_amp_split_pos behave |
1710 | C as expected (one the inverse of the other) |
1711 | +C Check also get_orders_tag vs get_orders_tag_from_amp_pos |
1712 | C Stop the code if anything wrong is found |
1713 | C Also, print on screen a summary of the orders in amp_split |
1714 | implicit none |
1715 | @@ -156,19 +173,30 @@ |
1716 | integer orders_to_amp_split_pos |
1717 | integer i, pos |
1718 | integer ord(nsplitorders) |
1719 | + integer get_orders_tag, get_orders_tag_from_amp_pos |
1720 | |
1721 | do i = 1, amp_split_size |
1722 | call amp_split_pos_to_orders(i, ord) |
1723 | pos = orders_to_amp_split_pos(ord) |
1724 | + |
1725 | if (pos.ne.i) then |
1726 | - write(*,*) 'ERROR in check amp_split', pos, i |
1727 | + write(*,*) 'ERROR#1 in check amp_split', pos, i |
1728 | write(*,*) 'ORD is ', ord |
1729 | stop 1 |
1730 | endif |
1731 | + |
1732 | + if (get_orders_tag(ord).ne.get_orders_tag_from_amp_pos(i)) then |
1733 | + write(*,*) 'ERROR#2 in check amp_split', get_orders_tag(ord), |
1734 | + $ get_orders_tag_from_amp_pos(i) |
1735 | + write(*,*) 'I, ORD ', i, ord |
1736 | + stop 1 |
1737 | + endif |
1738 | + |
1739 | write(*,*) 'AMP_SPLIT: ', i, 'correspond to S.O.', ord |
1740 | enddo |
1741 | |
1742 | return |
1743 | end |
1744 | |
1745 | - |
1746 | + |
1747 | + |
1748 | |
1749 | === modified file 'UpdateNotes.txt' |
1750 | --- UpdateNotes.txt 2020-11-27 13:24:05 +0000 |
1751 | +++ UpdateNotes.txt 2020-11-30 08:37:49 +0000 |
1752 | @@ -13,6 +13,8 @@ |
1753 | Squared-amplitude constraints can be imposed by using the usual squared-order |
1754 | syntax, e.g.: |
1755 | QCD^2<=X, QED^2<=Y (constrained at the diagram squared level). |
1756 | + MZ: Different coupling combinations and their scale variations are written in the |
1757 | + event file as extra weights |
1758 | OM: Some aliases have been added for the orders constraints: |
1759 | - aEW<=X / aS<=Y is equivalent to QCD^2<=2X / QED^2<=2Y |
1760 | - EW<=X / EW^2<=X is equivalent to QED<=X / QED^2<=X |
1761 | |
1762 | === modified file 'madgraph/interface/amcatnlo_run_interface.py' |
1763 | --- madgraph/interface/amcatnlo_run_interface.py 2020-11-23 16:35:02 +0000 |
1764 | +++ madgraph/interface/amcatnlo_run_interface.py 2020-11-30 08:37:49 +0000 |
1765 | @@ -2015,8 +2015,43 @@ |
1766 | time.sleep(10) |
1767 | |
1768 | event_norm=self.run_card['event_norm'] |
1769 | + # gather the various orders tag and write include files |
1770 | + self.write_orders_tag_info() |
1771 | + |
1772 | return self.reweight_and_collect_events(options, mode, nevents, event_norm) |
1773 | |
1774 | + |
1775 | + def write_orders_tag_info(self): |
1776 | + """Collects the informations on the orders_tag variable from the |
1777 | + different channels and writes a file, linked to the P0 dirs |
1778 | + """ |
1779 | + log = pjoin(self.me_dir, 'Events', self.run_name, 'alllogs_0.html') |
1780 | + content = open(log).read() |
1781 | + taglines = [l for l in content.split('\n') if 'orders_tag_plot=' in l] |
1782 | + orderstags = [] |
1783 | + for l in taglines: |
1784 | + tag = int(l.split()[1]) |
1785 | + if not tag in orderstags: |
1786 | + orderstags.append(tag) |
1787 | + # now write a fortran include file with all the informations |
1788 | + content = '%d\n' % len(orderstags) |
1789 | + content+= '%s\n' % ' '.join(['%d' % v for v in orderstags]) |
1790 | + outfile = open(pjoin(self.me_dir, 'SubProcesses', 'orderstags_glob.dat'), 'w') |
1791 | + outfile.write(content) |
1792 | + outfile.close() |
1793 | + |
1794 | + # finally link it into the p dirs |
1795 | + p_dirs = [d for d in \ |
1796 | + open(pjoin(self.me_dir, 'SubProcesses', 'subproc.mg')).read().split('\n') if d] |
1797 | + |
1798 | + for p_dir in p_dirs: |
1799 | + if not os.path.isfile(pjoin(self.me_dir, 'SubProcesses', p_dir, 'orderstags_glob.dat')): |
1800 | + files.ln(pjoin(self.me_dir, 'SubProcesses', 'orderstags_glob.dat'), |
1801 | + pjoin(self.me_dir, 'SubProcesses', p_dir)) |
1802 | + |
1803 | + return |
1804 | + |
1805 | + |
1806 | def create_jobs_to_run(self,options,p_dirs,req_acc,run_mode,\ |
1807 | integration_step,mode,fixed_order=True): |
1808 | """Creates a list of dictionaries with all the jobs to be run""" |
1809 | |
1810 | === modified file 'madgraph/iolibs/export_fks.py' |
1811 | --- madgraph/iolibs/export_fks.py 2020-11-27 13:24:05 +0000 |
1812 | +++ madgraph/iolibs/export_fks.py 2020-11-30 08:37:49 +0000 |
1813 | @@ -674,6 +674,7 @@ |
1814 | 'fks_powers.inc', |
1815 | 'fks_singular.f', |
1816 | 'splitorders_stuff.f', |
1817 | + 'orderstags_glob.f', |
1818 | 'chooser_functions.f', |
1819 | 'veto_xsec.f', |
1820 | 'veto_xsec.inc', |
Hi Marco,
How does this interplay with systematics.py? (The offline scale variation method)
Is this just include more lines in the additional information block?
Or should we change the parser?
Otherwise this sounds good to go from the code point of view.
Cheers,
Olivier