Merge lp:~maddevelopers/mg5amcnlo/NLO_decay_process into lp:~maddevelopers/mg5amcnlo/2.3.3
- NLO_decay_process
- Merge into 2.3.3
Status: | Merged |
---|---|
Merged at revision: | 325 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/NLO_decay_process |
Merge into: | lp:~maddevelopers/mg5amcnlo/2.3.3 |
Diff against target: |
3852 lines (+2647/-152) 73 files modified
Template/NLO/SubProcesses/driver_mintFO.f (+9/-4) Template/NLO/SubProcesses/driver_mintMC.f (+16/-6) Template/NLO/SubProcesses/fks_Sij.f (+13/-3) Template/NLO/SubProcesses/fks_singular.f (+76/-29) Template/NLO/SubProcesses/genps_fks.f (+32/-15) Template/NLO/SubProcesses/setcuts.f (+0/-2) Template/NLO/SubProcesses/setscales.f (+8/-2) UpdateNotes.txt (+1/-0) madgraph/fks/fks_base.py (+13/-1) madgraph/interface/amcatnlo_interface.py (+9/-4) madgraph/interface/amcatnlo_run_interface.py (+61/-27) madgraph/interface/common_run_interface.py (+4/-4) madgraph/iolibs/export_fks.py (+11/-3) madgraph/iolibs/template_files/parton_lum_n_fks.inc (+5/-1) madgraph/madevent/sum_html.py (+21/-18) madgraph/various/banner.py (+23/-19) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%parton_lum_0.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%parton_lum_0.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%parton_lum_0.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_1.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_2.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_3.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_4.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_1.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_2.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_3.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_1.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_2.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_3.f (+5/-1) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_001.f (+153/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f (+153/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f (+154/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f (+154/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f (+153/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f (+154/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f (+154/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f (+153/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f (+298/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_conf.inc (+8/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_decayBW.inc (+2/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_hel.f (+151/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_leshouche.inc (+8/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_maxamps.inc (+3/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_ngraphs.inc (+2/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_nhel.inc (+3/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_props.inc (+6/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%coloramps.inc (+2/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%config_subproc_map.inc (+1/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%configs_and_props_decl.inc (+12/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%fks_info.inc (+46/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%get_color.f (+54/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%leshouche_decl.inc (+6/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f (+194/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nFKSconfigs.inc (+4/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ncombs.inc (+2/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nexternal.inc (+4/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ngraphs.inc (+2/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_1.f (+98/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_chooser.f (+21/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%pmass.inc (+5/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_from_born_configs.inc (+5/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_me_chooser.f (+20/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf.f (+45/-0) tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf_dum.f (+13/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+4/-0) tests/unit_tests/iolibs/test_export_fks.py (+4/-0) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/NLO_decay_process |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
marco zaro | Approve | ||
Hua-Sheng Shao | Approve | ||
Olivier Mattelaer | Approve | ||
Review via email: mp+273880@code.launchpad.net |
Commit message
Description of the change
Allow for the computation of (partial) decay widths at NLO accuracy, e.g.,
generate Z > b b~ [QCD]
or
import model loop_sm-no_b_mass
generate t > e+ ve j [QCD]
etc.
The renormalisation (and Ellis-Sexton) scales are automatically set to the mass of the decaying particle. Cuts are not automatically set to zero, so, in general you have to negate them in the run_card by hand.
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Rikkert Frederix (frederix) wrote : | # |
Hi Olivier,
That would be great. It's just the 'ptj', 'mll_sf' and 'ptgmin' that should be set to zero.
Thanks,
Rikkert
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi Rik,
I put to “no cut” all the run_card parameter flagged as “cut” in the python object. (The same will apply to all future cut)
This is done at the default run_card level, so all the cut are still allowed to be modified but are not present by default.
This is the exact behaviour that we have @LO.
When trying to test, I face this error:
aMCatNLOError : Decay processes can only be run at fixed order.
So I have also change the default question to:
The following switches determine which operations are executed:
1 Perturbative order of the calculation: order=NLO
2 Fixed order (no event generation and no MC@[N]LO matching): fixed_order=ON
3 Shower the generated events: shower=Not available for decay
4 Decay particles with the MadSpin module: madspin=Not available for decay
5 Add weights to the events based on changing model parameters: reweight=Not available for decay
Either type the switch number (1 to 5) to change its default setting,
or set any switch explicitly (e.g. type 'order=LO' at the prompt)
Type '0', 'auto', 'done' or just press enter when you are done.
[0, 1, auto, done, order=LO, order=NLO, fixed_order=ON, LO, NLO][60s to answer]
Such that this is automatically a good setup which is used and all unsupported case are forbidden.
For both of them, I had to change the way aMC@NLO supports the proc_characteristic object/file.
So Marco please take a look.
Cheers,
Olivier
On 08 Oct 2015, at 19:42, Rikkert Frederix <email address hidden> wrote:
> Hi Olivier,
>
> That would be great. It's just the 'ptj', 'mll_sf' and 'ptgmin' that should be set to zero.
>
> Thanks,
> Rikkert
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/2.3.3.
- 317. By Olivier Mattelaer
-
improve the interface
Rikkert Frederix (frederix) wrote : | # |
Hi Olivier,
Thanks.
One question though (maybe this was already there in the default version; I haven't checked). What is this:
"fixed_order=ON, LO, NLO"
Shouldn't it not only be "ON" (or "OFF")?
Cheers,
Rik
Hua-Sheng Shao (erdissshaw) wrote : | # |
HI Rik,
It is really cool that decay process works at NLO. I quickly tested one process in order to compare with SMWidth. If one wants to calculate the total width for Z (which can be used by MadWidth for CMS@NLO for example), I
define f = j l+ l- vl vl~ ta+ ta-
generate z > f f [QCD]
It is apparent that there is no QCD corrections to some subprocesses like z > l+ l-. The program crashes since no virtual and real diagrams will be generated.
Is it possible to automatically realize if there is no QCD corrections and only calculates tree-level? Or you think it is better to do it in MadWidth to decide which subprocesses have QCD corrections.
A tiny thing: in summary.txt and also the output, it is
Final results and run summary:
Process z > j j [QCD]
Run at l-l collider (6500.0 + 6500.0 GeV)
(Partial) decay width: 1.761e+00 +- 2.0e-03 GeV
Ren. and fac. scale uncertainty: +0.4% -0.3%
Can you remove "Run at l-l collider (6500.0 + 6500.0 GeV)". Moreover, if one wants to change the scale, how can one set in decay process?
@Marco: do you think how easy/difficult to implement Rik's implementation in EW branches ? It might be quite useful and have some complicated comparison between MG5 and SMWidth.
I will give a serious report later and compare the numbers with SMWidth.
Great work and awesome !
Cheers,
Hua-Sheng
On Oct 9, 2015, at 11:33 AM, Olivier Mattelaer <email address hidden> wrote:
> Hi Rik,
>
> I put to “no cut” all the run_card parameter flagged as “cut” in the python object. (The same will apply to all future cut)
> This is done at the default run_card level, so all the cut are still allowed to be modified but are not present by default.
> This is the exact behaviour that we have @LO.
>
> When trying to test, I face this error:
> aMCatNLOError : Decay processes can only be run at fixed order.
>
> So I have also change the default question to:
>
> The following switches determine which operations are executed:
> 1 Perturbative order of the calculation: order=NLO
> 2 Fixed order (no event generation and no MC@[N]LO matching): fixed_order=ON
> 3 Shower the generated events: shower=Not available for decay
> 4 Decay particles with the MadSpin module: madspin=Not available for decay
> 5 Add weights to the events based on changing model parameters: reweight=Not available for decay
> Either type the switch number (1 to 5) to change its default setting,
> or set any switch explicitly (e.g. type 'order=LO' at the prompt)
> Type '0', 'auto', 'done' or just press enter when you are done.
> [0, 1, auto, done, order=LO, order=NLO, fixed_order=ON, LO, NLO][60s to answer]
>
> Such that this is automatically a good setup which is used and all unsupported case are forbidden.
>
> For both of them, I had to change the way aMC@NLO supports the proc_characteristic object/file.
> So Marco please take a look.
>
> Cheers,
>
> Olivier
>
>
> On 08 Oct 2015, at 19:42, Rikkert Frederix <email address hidden> wrote:
>
>> Hi Olivier,
>>
>> That would be great. It's just the 'ptj', 'mll_sf' and 'ptgm...
marco zaro (marco-zaro) wrote : | # |
Hi,
is fixed-order supposed to always be on?
I cannot toggle it off, neither entering 2, nor with “fixed_order=OFF”
@Hua-sheng, it should be rather easy to merge with the EW branch
Cheers,
Marco
The following switches determine which operations are executed:
1 Perturbative order of the calculation: order=NLO
2 Fixed order (no event generation and no MC@[N]LO matching): fixed_order=ON
3 Shower the generated events: shower=Not available for decay
4 Decay particles with the MadSpin module: madspin=Not available for decay
5 Add weights to the events based on changing model parameters: reweight=Not available for decay
Either type the switch number (1 to 5) to change its default setting,
or set any switch explicitly (e.g. type 'order=LO' at the prompt)
Type '0', 'auto', 'done' or just press enter when you are done.
[0, 1, auto, done, order=LO, order=NLO, fixed_order=ON, LO, NLO][60s to answer]
>2
2 not valid argument. Valid argument are in (0,1,auto,
please retry
>[timer stopped]
fixed_order=ON
INFO: For coherence 'shower' is set to 'OFF'
INFO: For coherence 'madspin' is set to 'OFF'
INFO: For coherence 'reweight' is set to 'OFF'
The following switches determine which operations are executed:
1 Perturbative order of the calculation: order=NLO
2 Fixed order (no event generation and no MC@[N]LO matching): fixed_order=ON
3 Shower the generated events: shower=OFF
4 Decay particles with the MadSpin module: madspin=OFF
5 Add weights to the events based on changing model parameters: reweight=OFF
Either type the switch number (1 to 5) to change its default setting,
or set any switch explicitly (e.g. type 'order=LO' at the prompt)
Type '0', 'auto', 'done' or just press enter when you are done.
[0, 1, auto, done, order=LO, order=NLO, fixed_order=ON, LO, NLO, ... ][60s to answer]
>fixed_order=OFF
fixed_order=OFF not valid argument. Valid argument are in (0,1,auto,
please retry
>
use 0
On 09 Oct 2015, at 11:48, Hua-Sheng Shao <email address hidden> wrote:
> HI Rik,
>
> It is really cool that decay process works at NLO. I quickly tested one process in order to compare with SMWidth. If one wants to calculate the total width for Z (which can be used by MadWidth for CMS@NLO for example), I
>
> define f = j l+ l- vl vl~ ta+ ta-
> generate z > f f [QCD]
>
> It is apparent that there is no QCD corrections to some subprocesses like z > l+ l-. The program crashes since no virtual and real diagrams will be generated.
>
> Is it possible to automatically realize if there is no QCD corrections and only calculates tree-level? Or you think it is better to do it in MadWidth to decide which subprocesses have QCD corrections.
>
> A tiny thing: in summary.txt and also the output, it is
>
> Final results and run summary:
> Process z...
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi,
This is the list of all available valid input
you have three valid entry that you can type:
> fixed_order=ON
LO
NLO
This is NOT suggesting “fixed_order=LO”
But ok having fixed_order=ON is irrelevant, So I have remove it:
The following switches determine which operations are executed:
1 Perturbative order of the calculation: order=NLO
2 Fixed order (no event generation and no MC@[N]LO matching): fixed_order=ON
3 Shower the generated events: shower=Not available for decay
4 Decay particles with the MadSpin module: madspin=Not available for decay
5 Add weights to the events based on changing model parameters: reweight=Not available for decay
Either type the switch number (1 to 5) to change its default setting,
or set any switch explicitly (e.g. type 'order=LO' at the prompt)
Type '0', 'auto', 'done' or just press enter when you are done.
[0, 1, auto, done, order=LO, order=NLO, LO, NLO][60s to answer]
Cheers,
Olivier
On 09 Oct 2015, at 11:42, Rikkert Frederix <email address hidden> wrote:
> Hi Olivier,
>
> Thanks.
>
> One question though (maybe this was already there in the default version; I haven't checked). What is this:
>
> "fixed_order=ON, LO, NLO"
>
> Shouldn't it not only be "ON" (or "OFF")?
>
> Cheers,
> Rik
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/2.3.3.
- 318. By Olivier Mattelaer
-
slight improvement
- 319. By Rikkert Frederix
-
removed the printing of the collider (energy) at the end of the run for decay processes
Rikkert Frederix (frederix) wrote : | # |
Hi Hua-Sheng,
I don't know how to combine LO and NLO processes like that. I guess it would be some work to implement it. Right now, I think it's okay to have it only for QCD processes, just like collider processes are only for QCD processes (things like "e+ e- > mu+ mu- [ all = QCD ]") don't work).
I've removed the "Run at l-l collider (6500.0 + 6500.0 GeV)" stuff from the run summary.
Marco: Yeah, it is only supposed to work for fixed order. I don't think it makes so much sense to do event generation for decays.
Cheers,
Rik
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi guys,
Could we finish this review soon such that we can release 2.3.3?
I take a look and it works nicely. Great work.
Here is a couple of superficial comment/question:
(I did not look at the code since I'm not a reviewer)
1) I tried:
generate t > b all all [QCD]
and I have the following warning:
WARNING: Process: t > b g/gh/gh~
To avoid this, please use multiparticles when generating the process and be sure to include all the following particles in the multiparticle definition:
g, c, s, u, d, d~, u~, s~, c~
This should not be raised right?
Finally it crashed with:
Command "launch auto " interrupted with error:
IOError : [Errno 2] No such file or directory: '/Users/
Please report this bug on https:/
More information is found in '/Users/
Please attach this file to your report.
This should be very simple to prevent.
2) I tried
generate w+ > all all [QCD]
and it also crashes:
Command "generate w+ > all all [QCD]" interrupted with error:
InvalidCmd : All loop diagrams discarded by user selection.
Consider using a tree-level generation or relaxing the coupling order constraints.
Please report this bug on https:/
More information is found in 'MG5_debug'.
Please attach this file to your report.
3) I tried
generate t > w+ b [QCD]
then I see as output:
(Partial) decay width: 1.347e+00 +- 8.9e-03 GeV
Ren. and fac. scale uncertainty: +1.2% -1.5%
One small remark here, "factorization variation" is irrelevant here and can be remove from the log [but ok we can keep it do not hurt]
then I re-run with fix (renormalisation) scale computation (at 90GeV) and get
(Partial) decay width: 1.343e+00 +- 9.2e-03 GeV
Clearly my scale choice is not consider.
This is confusion (at minima) and should either works or at least raise a warning that we do not support that (but should be easy to handle).
I would propose that the default "dynamical" scale is the mass of the decaying particle.
and that at least static scale works.
4) [This should not be implemented now but I want to start the discussion].
For the moment the "only" output is a partial width/plot. It will be useful to have a param_card as output with updated information (that's typically the point of computing the width).
Concerning the BR, this is obviously less clear @NLO, but I would propose that we use the "proton"
pdg code for the branching ratio to avoid problem with the massless quark flavor. (this can be discussed with pythia/herwig author)
Cheers,
Olivier
- 320. By Rikkert Frederix
-
address Olivier's suggestions and made sure that the width of initial
state particles is also set to zero for consistency.
Rikkert Frederix (frederix) wrote : | # |
Hi Olivier,
Thanks for trying it out!
Let me address your questions.
1). About the multi-particle warning, it should indeed not be raised. However, this is not specific to this branch, and I don't know how these multi-particles labels are defined. Maybe Marco can have a quick look to this?
I "fixed" the crash with a WARNING written to screen. Note that computing "t > b all all" does not make sense at all from a physics point of view because you are double counting many contributions (for example "t > b e+ ve" with "t > b wp g").
2). Remember that QCD NLO corrections can only be computed to processes that have at least one QCD particle in them. Therefore "w+ > all all" cannot be computed with the current code. This is not a limitation of this branch, but much more general. I don't think this branch is the right place to address this problem.
3). This was already exactly the way you want it to be. Note that the renormalisation scale dependence is simply rather small (your integration uncertainty is about 1% and the scale uncertainty is also about 1%).
4). I agree that this would be useful at some point. But I think first the above points 1) and 2) should be addressed before we could even start thinking about this.
Cheers,
Rik
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Thanks Rik,
2). Remember that QCD NLO corrections can only be computed to processes that have at least one QCD particle in them. Therefore "w+ > all all" cannot be computed with the current code. This is not a limitation of this branch, but much more general. I don't think this branch is the right place to address this problem.
Yes we can do that in a second stage.
3). This was already exactly the way you want it to be. Note that the renormalisation scale dependence is simply rather small (your integration uncertainty is about 1% and the scale uncertainty is also about 1%).
Ah ok did not look at the statistical error. Thanks.
Just for curiosity. Did you use MC technique for the integration or are you using simpson? (so much faster in this case)
Cheers and thanks,
Olivier
Rikkert Frederix (frederix) wrote : | # |
Hi Olivier,
> Ah ok did not look at the statistical error. Thanks.
> Just for curiosity. Did you use MC technique for the integration or are you
> using simpson? (so much faster in this case)
Normal MC integration. Note that for NLO processes, you always have 3 more integration dimensions compared to LO, so I doubt that Simpson is much faster. In particular for anything beyond 1->2 decays.
Cheers,
Rikkert
Hua-Sheng Shao (erdissshaw) wrote : | # |
Hi Rik,
I have looked at the changes. It looks fine. Moreover, I have checked the total width (LO and QCD corrections) in loop_sm, i.e. w, z, top. It looks same as SMWidth. Moroever, for a 1 > 3 process t > j j j [QCD]. It also works. Hence, I think it is good to merge into trunk.
Cheers,
Hua-Sheng
- 321. By Rikkert Frederix
-
merge with latest 2.3.3
- 322. By marco zaro
-
the warning for multiparticle definition is not raised for decay processes
marco zaro (marco-zaro) wrote : | # |
Hi Rik
sorry for the delay, somehow i forgot about this.
So i had a look at the changes in the fortran code and in the fks python part, everything looks great there.
Green light from me.
For the warning on multiparticle labels, it is not there any more for decay processes.
Cheers,
Marco
Preview Diff
1 | === modified file 'Template/NLO/SubProcesses/driver_mintFO.f' |
2 | --- Template/NLO/SubProcesses/driver_mintFO.f 2015-10-02 07:00:09 +0000 |
3 | +++ Template/NLO/SubProcesses/driver_mintFO.f 2015-10-20 10:56:39 +0000 |
4 | @@ -170,7 +170,7 @@ |
5 | else |
6 | flat_grid=.false. |
7 | endif |
8 | - ndim = 3*(nexternal-2)-4 |
9 | + ndim = 3*(nexternal-nincoming)-4 |
10 | if (abs(lpp(1)) .ge. 1) ndim=ndim+1 |
11 | if (abs(lpp(2)) .ge. 1) ndim=ndim+1 |
12 | c Don't proceed if muF1#muF2 (we need to work out the relevant formulae |
13 | @@ -709,9 +709,14 @@ |
14 | endif |
15 | elseif(buffer(1:12).eq.'SUM_HELICITY') then |
16 | read(buffer(15:),*) i |
17 | - if (i.eq.0) then |
18 | - mc_hel=0 |
19 | - write (*,*) 'Explicitly summing over helicities' |
20 | + if (nincoming.eq.1) then |
21 | + write (*,*) 'Sum over helicities in the virtuals'/ |
22 | + $ /' for decay process' |
23 | + mc_hel=0 |
24 | + elseif (i.eq.0) then |
25 | + mc_hel=0 |
26 | + write (*,*) 'Explicitly summing over helicities'/ |
27 | + $ /' for the virtuals' |
28 | else |
29 | mc_hel=1 |
30 | write(*,*) 'Do MC over helicities for the virtuals' |
31 | |
32 | === modified file 'Template/NLO/SubProcesses/driver_mintMC.f' |
33 | --- Template/NLO/SubProcesses/driver_mintMC.f 2015-09-25 14:53:36 +0000 |
34 | +++ Template/NLO/SubProcesses/driver_mintMC.f 2015-10-20 10:56:39 +0000 |
35 | @@ -108,6 +108,11 @@ |
36 | call cpu_time(tBefore) |
37 | fixed_order=.false. |
38 | nlo_ps=.true. |
39 | + if (nincoming.ne.2) then |
40 | + write (*,*) 'Decay processes not supported for'/ |
41 | + & /' event generation' |
42 | + stop 1 |
43 | + endif |
44 | |
45 | c Read general MadFKS parameters |
46 | c |
47 | @@ -158,7 +163,7 @@ |
48 | else |
49 | flat_grid=.false. |
50 | endif |
51 | - ndim = 3*(nexternal-2)-4 |
52 | + ndim = 3*(nexternal-nincoming)-4 |
53 | if (abs(lpp(1)) .ge. 1) ndim=ndim+1 |
54 | if (abs(lpp(2)) .ge. 1) ndim=ndim+1 |
55 | c Don''t proceed if muF1#muF2 (we need to work out the relevant formulae |
56 | @@ -638,12 +643,17 @@ |
57 | |
58 | write(*,10) 'Exact helicity sum (0 yes, n = number/event)? ' |
59 | read(*,*) i |
60 | - if (i .eq. 0) then |
61 | - mc_hel= 0 |
62 | - write(*,*) 'Explicitly summing over helicities for virt' |
63 | + if (nincoming.eq.1) then |
64 | + write (*,*) 'Sum over helicities in the virtuals'/ |
65 | + $ /' for decay process' |
66 | + mc_hel=0 |
67 | + elseif (i.eq.0) then |
68 | + mc_hel=0 |
69 | + write (*,*) 'Explicitly summing over helicities'/ |
70 | + $ /' for the virtuals' |
71 | else |
72 | - mc_hel= i |
73 | - write(*,*) 'Summing over',i,' helicities/event for virt' |
74 | + mc_hel=1 |
75 | + write(*,*) 'Do MC over helicities for the virtuals' |
76 | endif |
77 | isum_hel = 0 |
78 | |
79 | |
80 | === modified file 'Template/NLO/SubProcesses/fks_Sij.f' |
81 | --- Template/NLO/SubProcesses/fks_Sij.f 2012-08-28 21:06:34 +0000 |
82 | +++ Template/NLO/SubProcesses/fks_Sij.f 2015-10-20 10:56:39 +0000 |
83 | @@ -90,9 +90,13 @@ |
84 | |
85 | c Consistency check -- call to set_cms_stuff() must be done prior to |
86 | c entering this function |
87 | - shattmp=2d0*dot(p(0,1),p(0,2)) |
88 | + if (nincoming.eq.2) then |
89 | + shattmp=2d0*dot(p(0,1),p(0,2)) |
90 | + else |
91 | + shattmp=p(0,1)**2 |
92 | + endif |
93 | if(abs(shattmp/shat-1.d0).gt.1.d-5)then |
94 | - write(*,*)'Error in fks_Sij: inconsistent shat' |
95 | + write(*,*)'Error in fks_Sij: inconsistent shat #1' |
96 | write(*,*)shattmp,shat |
97 | stop |
98 | endif |
99 | @@ -148,6 +152,7 @@ |
100 | do j=1,fks_j_from_i(i,0) |
101 | kk = i |
102 | ll = fks_j_from_i(i,j) |
103 | + if (nincoming.ne.2 .and. ll.le.nincoming) cycle |
104 | if ( ijskip(kk,ll).eq.0 .and. ijskip(ll,kk).eq.0 ) then |
105 | ijskip(kk,ll) = 1 |
106 | elseif ( ijskip(kk,ll).eq.0 .and. ijskip(ll,kk).eq.1 ) then |
107 | @@ -178,6 +183,7 @@ |
108 | do j=1,fks_j_from_i(i,0) |
109 | kk = i |
110 | ll = fks_j_from_i(i,j) |
111 | + if (nincoming.ne.2 .and. ll.le.nincoming) cycle |
112 | if(ijskip(kk,ll).ne.1)goto 222 |
113 | if(particle_type(ll).eq.8.and.particle_type(kk).ne.8.and. |
114 | # ll.gt.nincoming)then |
115 | @@ -567,7 +573,11 @@ |
116 | |
117 | c Consistency check -- call to set_cms_stuff() must be done prior to |
118 | c entering this function |
119 | - shattmp=2d0*dot(p(0,1),p(0,2)) |
120 | + if (nincoming.eq.2) then |
121 | + shattmp=2d0*dot(p(0,1),p(0,2)) |
122 | + else |
123 | + shattmp=p(0,1)**2 |
124 | + endif |
125 | if(abs(shattmp/shat-1.d0).gt.1.d-5)then |
126 | write(*,*)'Error in fks_Hij: inconsistent shat' |
127 | write(*,*)shattmp,shat |
128 | |
129 | === modified file 'Template/NLO/SubProcesses/fks_singular.f' |
130 | --- Template/NLO/SubProcesses/fks_singular.f 2015-09-14 07:31:51 +0000 |
131 | +++ Template/NLO/SubProcesses/fks_singular.f 2015-10-20 10:56:39 +0000 |
132 | @@ -1230,7 +1230,12 @@ |
133 | c PDG codes |
134 | niproc(ict)=iproc |
135 | do j=1,iproc |
136 | - parton_iproc(j,ict)=pd(j)*conv |
137 | + if (nincoming.eq.2) then |
138 | + parton_iproc(j,ict)=pd(j)*conv |
139 | + else |
140 | +c Keep GeV's for decay processes (no conv. factor needed) |
141 | + parton_iproc(j,ict)=pd(j) |
142 | + endif |
143 | do k=1,nexternal |
144 | parton_pdg(k,j,ict)=idup_d(iFKS,k,j) |
145 | if (k.lt.fks_j_d(iFKS)) then |
146 | @@ -2199,9 +2204,15 @@ |
147 | do ii=1,iproc_save(nFKS(ict)) |
148 | if (eto(ii,nFKS(ict)).ne.ipr) cycle |
149 | n_ctr_found=n_ctr_found+1 |
150 | - write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
151 | - & (wgt(j,ict)*conv,j=1,3), |
152 | - & nexternal |
153 | + if (nincoming.eq.2) then |
154 | + write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
155 | + & (wgt(j,ict)*conv,j=1,3), |
156 | + & nexternal |
157 | + else |
158 | + write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
159 | + & (wgt(j,ict),j=1,3), |
160 | + & nexternal |
161 | + endif |
162 | procid='' |
163 | do j=1,nexternal |
164 | write (str_temp,*) parton_pdg(j,ii,ict) |
165 | @@ -2227,9 +2238,15 @@ |
166 | c H-event |
167 | ipr=iproc_picked |
168 | n_ctr_found=n_ctr_found+1 |
169 | - write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
170 | - & (wgt(j,ict)*conv,j=1,3), |
171 | - & nexternal |
172 | + if (nincoming.eq.2) then |
173 | + write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
174 | + & (wgt(j,ict)*conv,j=1,3), |
175 | + & nexternal |
176 | + else |
177 | + write (n_ctr_str(n_ctr_found),'(3(1x,d18.12),1x,i2)') |
178 | + & (wgt(j,ict),j=1,3), |
179 | + & nexternal |
180 | + endif |
181 | procid='' |
182 | do j=1,nexternal |
183 | write (str_temp,*) parton_pdg(j,ipr,ict) |
184 | @@ -2342,7 +2359,7 @@ |
185 | do i=0,3 |
186 | xsum(i)=0.d0 |
187 | xsuma(i)=0.d0 |
188 | - do j=3,npart |
189 | + do j=nincoming+1,npart |
190 | xsum(i)=xsum(i)+xmom(i,j) |
191 | xsuma(i)=xsuma(i)+abs(xmom(i,j)) |
192 | enddo |
193 | @@ -2409,9 +2426,14 @@ |
194 | pass=.true. |
195 | jflag=0 |
196 | do i=0,3 |
197 | - xsum(i)=-xmom(i,1)-xmom(i,2) |
198 | - xsuma(i)=abs(xmom(i,1))+abs(xmom(i,2)) |
199 | - do j=3,npart |
200 | + if (nincoming.eq.2) then |
201 | + xsum(i)=-xmom(i,1)-xmom(i,2) |
202 | + xsuma(i)=abs(xmom(i,1))+abs(xmom(i,2)) |
203 | + elseif(nincoming.eq.1) then |
204 | + xsum(i)=-xmom(i,1) |
205 | + xsuma(i)=abs(xmom(i,1)) |
206 | + endif |
207 | + do j=nincoming+1,npart |
208 | xsum(i)=xsum(i)+xmom(i,j) |
209 | xsuma(i)=xsuma(i)+abs(xmom(i,j)) |
210 | enddo |
211 | @@ -2424,14 +2446,14 @@ |
212 | write(*,*)'Momentum is not conserved [nocms]' |
213 | write(*,*)'i=',i |
214 | do j=1,npart |
215 | - write(*,'(4(d14.8,1x))') (xmom(jj,j),jj=0,3) |
216 | + write(*,'(i2,1x,4(d14.8,1x))') j,(xmom(jj,j),jj=0,3) |
217 | enddo |
218 | jflag=1 |
219 | endif |
220 | enddo |
221 | if(jflag.eq.1)then |
222 | - write(*,'(4(d14.8,1x))') (xsum(jj),jj=0,3) |
223 | - write(*,'(4(d14.8,1x))') (xrat(jj),jj=0,3) |
224 | + write(*,'(a3,1x,4(d14.8,1x))') 'sum',(xsum(jj),jj=0,3) |
225 | + write(*,'(a3,1x,4(d14.8,1x))') 'rat',(xrat(jj),jj=0,3) |
226 | pass=.false. |
227 | return |
228 | endif |
229 | @@ -2458,7 +2480,11 @@ |
230 | endif |
231 | enddo |
232 | c |
233 | - ecmtmp=sqrt(2d0*dot(xmom(0,1),xmom(0,2))) |
234 | + if (nincoming.eq.2) then |
235 | + ecmtmp=sqrt(2d0*dot(xmom(0,1),xmom(0,2))) |
236 | + elseif (nincoming.eq.1) then |
237 | + ecmtmp=xmom(0,1) |
238 | + endif |
239 | if(abs(ecm-ecmtmp).gt.vtiny)then |
240 | write(*,*)'Inconsistent shat [nocms]' |
241 | write(*,*)'ecm given= ',ecm |
242 | @@ -2716,7 +2742,11 @@ |
243 | |
244 | c Consistency check -- call to set_cms_stuff() must be done prior to |
245 | c entering this function |
246 | - shattmp=2d0*dot(pp(0,1),pp(0,2)) |
247 | + if (nincoming.eq.2) then |
248 | + shattmp=2d0*dot(pp(0,1),pp(0,2)) |
249 | + else |
250 | + shattmp=pp(0,1)**2 |
251 | + endif |
252 | if(abs(shattmp/shat-1.d0).gt.1.d-5)then |
253 | write(*,*)'Error in sreal: inconsistent shat' |
254 | write(*,*)shattmp,shat |
255 | @@ -2724,9 +2754,9 @@ |
256 | endif |
257 | |
258 | if (1d0-y_ij_fks.lt.tiny)then |
259 | - if (pmass(j_fks).eq.zero.and.j_fks.le.2)then |
260 | + if (pmass(j_fks).eq.zero.and.j_fks.le.nincoming)then |
261 | call sborncol_isr(pp,xi_i_fks,y_ij_fks,wgt) |
262 | - elseif (pmass(j_fks).eq.zero.and.j_fks.ge.3)then |
263 | + elseif (pmass(j_fks).eq.zero.and.j_fks.ge.nincoming+1)then |
264 | call sborncol_fsr(pp,xi_i_fks,y_ij_fks,wgt) |
265 | else |
266 | wgt=0d0 |
267 | @@ -2830,7 +2860,7 @@ |
268 | E_i_fks = p(0,i_fks) |
269 | z = 1d0 - E_i_fks/(E_i_fks+E_j_fks) |
270 | t = z * shat/4d0 |
271 | - if(rotategranny .and. nexternal-1.ne.3)then |
272 | + if(rotategranny .and. nexternal-1.ne.3 .and. nincoming.eq.2)then |
273 | c Exclude 2->1 (at the Born level) processes: matrix elements are |
274 | c independent of the PS point, but non-zero helicity configurations |
275 | c might flip when rotating the momenta. |
276 | @@ -2950,7 +2980,7 @@ |
277 | c Thus, an extra factor z (implicit in the flux of the reduced Born |
278 | c in FKS) has to be inserted here |
279 | t = z*shat/4d0 |
280 | - if(j_fks.eq.2 .and. nexternal-1.ne.3)then |
281 | + if(j_fks.eq.2 .and. nexternal-1.ne.3 .and. nincoming.eq.2)then |
282 | c Rotation according to innerpin.m. Use rotate_invar() if a more |
283 | c general rotation is needed. |
284 | c Exclude 2->1 (at the Born level) processes: matrix elements are |
285 | @@ -2981,7 +3011,7 @@ |
286 | pi(i)=p_i_fks_ev(i) |
287 | pj(i)=p(i,j_fks) |
288 | enddo |
289 | - if(j_fks.eq.2)then |
290 | + if(j_fks.eq.2 .and. nincoming.eq.2)then |
291 | c Rotation according to innerpin.m. Use rotate_invar() if a more |
292 | c general rotation is needed |
293 | pi(1)=-pi(1) |
294 | @@ -3002,7 +3032,7 @@ |
295 | azifact=Wij_angle/Wij_recta |
296 | endif |
297 | c Insert the extra factor due to Madgraph convention for polarization vectors |
298 | - if(j_fks.eq.2)then |
299 | + if(j_fks.eq.2 .and. nincoming.eq.2)then |
300 | cphi_mother=-1.d0 |
301 | sphi_mother=0.d0 |
302 | else |
303 | @@ -3477,7 +3507,11 @@ |
304 | |
305 | c Consistency check -- call to set_cms_stuff() must be done prior to |
306 | c entering this function |
307 | - shattmp=2d0*dot(p(0,1),p(0,2)) |
308 | + if (nincoming.eq.2) then |
309 | + shattmp=2d0*dot(p(0,1),p(0,2)) |
310 | + else |
311 | + shattmp=p(0,1)**2 |
312 | + endif |
313 | if(abs(shattmp/shat-1.d0).gt.1.d-5)then |
314 | write(*,*)'Error in sreal: inconsistent shat' |
315 | write(*,*)shattmp,shat |
316 | @@ -3786,7 +3820,7 @@ |
317 | enddo |
318 | enddo |
319 | do i=0,3 |
320 | - if(j_fks.gt.2)then |
321 | + if(j_fks.gt.nincoming)then |
322 | xnum=p1_cnt(i,i_fks,inum)+p1_cnt(i,j_fks,inum) |
323 | xden=p1_cnt(i,i_fks,iden)+p1_cnt(i,j_fks,iden) |
324 | else |
325 | @@ -4386,7 +4420,11 @@ |
326 | |
327 | c Consistency check -- call to set_cms_stuff() must be done prior to |
328 | c entering this function |
329 | - shattmp=2d0*dot(p(0,1),p(0,2)) |
330 | + if (nincoming.eq.2) then |
331 | + shattmp=2d0*dot(p(0,1),p(0,2)) |
332 | + else |
333 | + shattmp=p(0,1)**2 |
334 | + endif |
335 | if(abs(shattmp/shat-1.d0).gt.1.d-5)then |
336 | write(*,*)'Error in sreal: inconsistent shat' |
337 | write(*,*)shattmp,shat |
338 | @@ -4463,7 +4501,7 @@ |
339 | enddo |
340 | c |
341 | do i=1,nincoming |
342 | - if (particle_type(i).ne.1)then |
343 | + if (particle_type(i).ne.1 .and. pmass(i).eq.ZERO) then |
344 | if (particle_type(i).eq.8) then |
345 | aj=0 |
346 | elseif(abs(particle_type(i)).eq.3) then |
347 | @@ -4988,8 +5026,13 @@ |
348 | elseif(abrv.ne.'virt' .and. abrv.ne.'viSC' .and. |
349 | # abrv.ne.'viLC')then |
350 | c 1+2+3+4 |
351 | - tmp=dlog(xicut_used**2*shat/QES2)- |
352 | - # 1/betai*dlog((1+betai)/(1-betai)) |
353 | + if (betai.gt.1d-6) then |
354 | + tmp=dlog(xicut_used**2*shat/QES2)- |
355 | + & 1/betai*dlog((1+betai)/(1-betai)) |
356 | + else |
357 | + tmp=dlog(xicut_used**2*shat/QES2)- |
358 | + & 2d0*(1d0+betai**2/3d0+betai**4/5d0) |
359 | + endif |
360 | else |
361 | write(*,*)'Error #14 in eikonal_Ireg',abrv |
362 | stop |
363 | @@ -5216,7 +5259,11 @@ |
364 | elseif(pmass(m).ne.zero.and.pmass(n).ne.zero)then |
365 | kikj=dot(p(0,n),p(0,m)) |
366 | vij=sqrt(1-(pmass(n)*pmass(m)/kikj)**2) |
367 | - single=single+0.5d0*1/vij*log((1+vij)/(1-vij))*wgt |
368 | + if (vij .gt. 1d-6) then |
369 | + single=single+0.5d0*1/vij*log((1+vij)/(1-vij))*wgt |
370 | + else |
371 | + single=single+(1d0+vij**2/3d0+vij**4/5d0)*wgt |
372 | + endif |
373 | else |
374 | write(*,*)'Error in getpoles',i,j,n,m,pmass(n),pmass(m) |
375 | stop |
376 | |
377 | === modified file 'Template/NLO/SubProcesses/genps_fks.f' |
378 | --- Template/NLO/SubProcesses/genps_fks.f 2015-02-04 13:26:19 +0000 |
379 | +++ Template/NLO/SubProcesses/genps_fks.f 2015-10-20 10:56:39 +0000 |
380 | @@ -182,15 +182,19 @@ |
381 | endif |
382 | enddo |
383 | if( firsttime .or. iconfig0.ne.iconfigsave ) then |
384 | - stot = 4d0*ebeam(1)*ebeam(2) |
385 | + if (nincoming.eq.2) then |
386 | + stot = 4d0*ebeam(1)*ebeam(2) |
387 | + else |
388 | + stot=pmass(1)**2 |
389 | + endif |
390 | c Make sure have enough mass for external particles |
391 | totmassin=0d0 |
392 | - do i=3-nincoming,2 |
393 | + do i=1,nincoming |
394 | totmassin=totmassin+m(i) |
395 | enddo |
396 | totmass=0d0 |
397 | nbranch = nexternal-3 ! nexternal is for n+1-body, while itree uses n-body |
398 | - do i=3,nbranch+2 |
399 | + do i=nincoming+1,nexternal-1 |
400 | totmass=totmass+m(i) |
401 | enddo |
402 | fksmass=totmass |
403 | @@ -294,7 +298,7 @@ |
404 | else |
405 | pb(0,1)=sqrtshat_born |
406 | do i=1,2 |
407 | - pb(0,1)=0d0 |
408 | + pb(i,1)=0d0 |
409 | enddo |
410 | p(3,1)=1e-14 ! For HELAS routine ixxxxx for neg. mass |
411 | endif |
412 | @@ -453,22 +457,22 @@ |
413 | isolsign=1 |
414 | call generate_momenta_massless_final(icountevts,i_fks,j_fks |
415 | & ,p_born(0,imother),shat,sqrtshat ,x(ixEi),xmrec2,xp |
416 | - & ,phi_i_fks, xiimax,xinorm,xi_i_fks,y_ij_fks,p_i_fks |
417 | + & ,phi_i_fks,xiimax,xinorm,xi_i_fks,y_ij_fks,p_i_fks |
418 | & ,xjac,xpswgt,pass) |
419 | if (.not.pass) goto 112 |
420 | elseif(m_j_fks.gt.0d0) then |
421 | call generate_momenta_massive_final(icountevts,isolsign |
422 | - & ,i_fks,j_fks,p_born(0,imother),shat,sqrtshat ,m_j_fks |
423 | - & ,x(ixEi),xmrec2,xp,phi_i_fks, xiimax,xinorm |
424 | + & ,i_fks,j_fks,p_born(0,imother),shat,sqrtshat,m_j_fks |
425 | + & ,x(ixEi),xmrec2,xp,phi_i_fks,xiimax,xinorm |
426 | & ,xi_i_fks,y_ij_fks,p_i_fks,xjac,xpswgt,pass) |
427 | if (.not.pass) goto 112 |
428 | endif |
429 | elseif(j_fks.le.nincoming) then |
430 | isolsign=1 |
431 | call generate_momenta_initial(icountevts,i_fks,j_fks,xbjrk_born |
432 | - & ,tau_born,ycm_born,ycmhat,shat_born,phi_i_fks ,xp ,x(ixEi) |
433 | - & ,shat,stot ,sqrtshat,tau,ycm,xbjrk ,p_i_fks,xiimax,xinorm |
434 | - & ,xi_i_fks,y_ij_fks ,xpswgt,xjac ,pass) |
435 | + & ,tau_born,ycm_born,ycmhat,shat_born,phi_i_fks,xp ,x(ixEi) |
436 | + & ,shat,stot,sqrtshat,tau,ycm,xbjrk,p_i_fks,xiimax,xinorm |
437 | + & ,xi_i_fks,y_ij_fks ,xpswgt,xjac,pass) |
438 | if (.not.pass) goto 112 |
439 | else |
440 | write (*,*) 'Error #2 in genps_fks.f',j_fks |
441 | @@ -750,6 +754,7 @@ |
442 | c remove the following if no importance sampling towards soft |
443 | c singularity is performed when integrating over xi_i_hat |
444 | xjac=xjac*2d0*x(1) |
445 | + |
446 | c Check that xii is in the allowed range |
447 | if( icountevts.eq.-100 .or. abs(icountevts).eq.1 )then |
448 | if(xi_i_fks.gt.(1-xmrec2/shat))then |
449 | @@ -829,7 +834,11 @@ |
450 | c mother four momenta |
451 | do i=0,3 |
452 | xp_mother(i)=xp(i,i_fks)+xp(i,j_fks) |
453 | - recoil(i)=xp(i,1)+xp(i,2)-xp_mother(i) |
454 | + if (nincoming.eq.2) then |
455 | + recoil(i)=xp(i,1)+xp(i,2)-xp_mother(i) |
456 | + else |
457 | + recoil(i)=xp(i,1)-xp_mother(i) |
458 | + endif |
459 | enddo |
460 | sumrec=recoil(0)+rho(recoil) |
461 | sumrec2=sumrec**2 |
462 | @@ -843,7 +852,7 @@ |
463 | xdir(j)=xp_mother(j)/x3len_fks_mother |
464 | enddo |
465 | c Perform the boost here |
466 | - do i=3,nexternal |
467 | + do i=nincoming+1,nexternal |
468 | if(i.ne.i_fks.and.i.ne.j_fks.and.shybst.ne.0.d0) |
469 | & call boostwdir2(chybst,shybst,chybstmo,xdir,xp(0,i),xp(0,i)) |
470 | enddo |
471 | @@ -1145,7 +1154,11 @@ |
472 | c mother four momenta |
473 | do i=0,3 |
474 | xp_mother(i)=xp(i,i_fks)+xp(i,j_fks) |
475 | - recoil(i)=xp(i,1)+xp(i,2)-xp_mother(i) |
476 | + if (nincoming.eq.2) then |
477 | + recoil(i)=xp(i,1)+xp(i,2)-xp_mother(i) |
478 | + else |
479 | + recoil(i)=xp(i,1)-xp_mother(i) |
480 | + endif |
481 | enddo |
482 | c |
483 | sumrec=recoil(0)+rho(recoil) |
484 | @@ -1168,7 +1181,7 @@ |
485 | xdir(j)=xp_mother(j)/x3len_fks_mother |
486 | enddo |
487 | c Boost the momenta |
488 | - do i=3,nexternal |
489 | + do i=nincoming+1,nexternal |
490 | if(i.ne.i_fks.and.i.ne.j_fks.and.shybst.ne.0.d0) |
491 | & call boostwdir2(chybst,shybst,chybstmo,xdir,xp(0,i),xp(0,i)) |
492 | enddo |
493 | @@ -2357,7 +2370,11 @@ |
494 | external dot |
495 | pass=.true. |
496 | do i=0,3 |
497 | - recoilbar(i)=p_born(i,1)+p_born(i,2)-p_born(i,imother) |
498 | + if (nincoming.eq.2) then |
499 | + recoilbar(i)=p_born(i,1)+p_born(i,2)-p_born(i,imother) |
500 | + else |
501 | + recoilbar(i)=p_born(i,1)-p_born(i,imother) |
502 | + endif |
503 | enddo |
504 | xmrec2=dot(recoilbar,recoilbar) |
505 | if(xmrec2.lt.0.d0)then |
506 | |
507 | === modified file 'Template/NLO/SubProcesses/setcuts.f' |
508 | --- Template/NLO/SubProcesses/setcuts.f 2015-07-24 18:59:18 +0000 |
509 | +++ Template/NLO/SubProcesses/setcuts.f 2015-10-20 10:56:39 +0000 |
510 | @@ -91,8 +91,6 @@ |
511 | lpp(2)=0 |
512 | ebeam(1)=pmass(1)/2d0 |
513 | ebeam(2)=pmass(1)/2d0 |
514 | - scale=pmass(1) |
515 | - fixed_ren_scale=.true. |
516 | endif |
517 | c-check consistency of maxjetflavor in the run_card and with Nf |
518 | c specified in coupl.inc |
519 | |
520 | === modified file 'Template/NLO/SubProcesses/setscales.f' |
521 | --- Template/NLO/SubProcesses/setscales.f 2015-09-11 13:19:28 +0000 |
522 | +++ Template/NLO/SubProcesses/setscales.f 2015-10-20 10:56:39 +0000 |
523 | @@ -237,7 +237,10 @@ |
524 | $ ,FxFx_fac_scale |
525 | c |
526 | tmp=0 |
527 | - if(ickkw.eq.3)then |
528 | + if (nincoming.eq.1) then |
529 | + tmp=pp(0,1) ! mass of the decaying particle |
530 | + temp_scale_id='Mass of decaying particle' |
531 | + elseif(ickkw.eq.3)then |
532 | c FxFx merging scale: |
533 | c Note that nFxFx_ren_scales includes the one scale that corresponds |
534 | c to the real-emission one (and is zero for the n-body conf.). Skip |
535 | @@ -490,7 +493,10 @@ |
536 | parameter (iQEStype=1) |
537 | c |
538 | tmp=0 |
539 | - if(iQEStype.eq.1)then |
540 | + if (nincoming.eq.1) then |
541 | + tmp=pp(0,1) ! mass of the decaying particle |
542 | + temp_scale_id='Mass of decaying particle' |
543 | + elseif(iQEStype.eq.1)then |
544 | tmp=scale_global_reference(pp) |
545 | elseif(iQEStype.eq.2)then |
546 | do i=nincoming+1,nexternal |
547 | |
548 | === modified file 'UpdateNotes.txt' |
549 | --- UpdateNotes.txt 2015-10-15 20:22:39 +0000 |
550 | +++ UpdateNotes.txt 2015-10-20 10:56:39 +0000 |
551 | @@ -11,6 +11,7 @@ |
552 | processes which have jets at Born level, but do not require generation cut (like t-channel single-top). |
553 | RF: Added an option to the run_card to allow for easier variation of the shower starting scale (NLO only). |
554 | RF: Fixed a problem in the setting of the flavour map used for runs with iAPPL >= 1. |
555 | + RF: Allow for decay processes to compute (partial) decay widths at NLO accuracy (fixed order only). |
556 | OM: (SysCalc interface) Allow to bypass the pdf reweighting/alpsfact reweighting |
557 | MZ: fixed bug related to slurm clusters |
558 | OM: remove the addmasses.py script of running by default on gridpack mode. |
559 | |
560 | === modified file 'madgraph/fks/fks_base.py' |
561 | --- madgraph/fks/fks_base.py 2015-10-01 16:00:08 +0000 |
562 | +++ madgraph/fks/fks_base.py 2015-10-20 10:56:39 +0000 |
563 | @@ -132,6 +132,9 @@ |
564 | perturbation = [] |
565 | for procdef in self['process_definitions']: |
566 | soft_particles = [] |
567 | + # do not warn for decay processes |
568 | + if [ i['state'] for i in procdef['legs']].count(False) == 1: |
569 | + continue |
570 | for pert in procdef['perturbation_couplings']: |
571 | if pert not in perturbation: |
572 | perturbation.append(pert) |
573 | @@ -550,10 +553,19 @@ |
574 | """finds the FKS real configurations for a given process""" |
575 | if range(len(self.leglist)) != [l['number']-1 for l in self.leglist]: |
576 | raise fks_common.FKSProcessError('Disordered numbers of leglist') |
577 | + |
578 | + if [ i['state'] for i in self.leglist].count(False) == 1: |
579 | + decay_process=True |
580 | + else: |
581 | + decay_process=False |
582 | + |
583 | for i in self.leglist: |
584 | i_i = i['number'] - 1 |
585 | self.reals.append([]) |
586 | - self.splittings[i_i] = fks_common.find_splittings(i, self.born_proc['model'], {}, pert_order) |
587 | + if decay_process and not i['state']: |
588 | + self.splittings[i_i]=[] |
589 | + else: |
590 | + self.splittings[i_i] = fks_common.find_splittings(i, self.born_proc['model'], {}, pert_order) |
591 | for split in self.splittings[i_i]: |
592 | self.reals[i_i].append( |
593 | fks_common.insert_legs(self.leglist, i, split,pert=pert_order)) |
594 | |
595 | === modified file 'madgraph/interface/amcatnlo_interface.py' |
596 | --- madgraph/interface/amcatnlo_interface.py 2015-10-11 19:18:37 +0000 |
597 | +++ madgraph/interface/amcatnlo_interface.py 2015-10-20 10:56:39 +0000 |
598 | @@ -543,8 +543,13 @@ |
599 | me.get('processes')[0].set('uid', uid) |
600 | for fksreal in me.real_processes: |
601 | # Pick out all initial state particles for the two beams |
602 | - initial_states.append(sorted(list(set((p.get_initial_pdg(1),p.get_initial_pdg(2)) for \ |
603 | - p in fksreal.matrix_element.get('processes'))))) |
604 | + try: |
605 | + initial_states.append(sorted(list(set((p.get_initial_pdg(1),p.get_initial_pdg(2)) for \ |
606 | + p in fksreal.matrix_element.get('processes'))))) |
607 | + except IndexError: |
608 | + initial_states.append(sorted(list(set((p.get_initial_pdg(1)) for \ |
609 | + p in fksreal.matrix_element.get('processes'))))) |
610 | + |
611 | |
612 | # remove doubles from the list |
613 | checked = [] |
614 | @@ -570,10 +575,10 @@ |
615 | |
616 | #_curr_matrix_element is a FKSHelasMultiProcess Object |
617 | self._fks_directories = [] |
618 | - proc_charac = banner_mod.ProcCharacteristic() |
619 | + proc_charac = self._curr_exporter.proc_characteristic |
620 | for charac in ['has_isr', 'has_fsr', 'has_loops']: |
621 | proc_charac[charac] = self._curr_matrix_elements[charac] |
622 | - proc_charac.write(pjoin(path, 'proc_characteristics')) |
623 | + |
624 | |
625 | for ime, me in \ |
626 | enumerate(self._curr_matrix_elements.get('matrix_elements')): |
627 | |
628 | === modified file 'madgraph/interface/amcatnlo_run_interface.py' |
629 | --- madgraph/interface/amcatnlo_run_interface.py 2015-10-16 14:52:37 +0000 |
630 | +++ madgraph/interface/amcatnlo_run_interface.py 2015-10-20 10:56:39 +0000 |
631 | @@ -1364,6 +1364,8 @@ |
632 | return |
633 | |
634 | elif mode in ['aMC@NLO','aMC@LO','noshower','noshowerLO']: |
635 | + if self.ninitial == 1: |
636 | + raise aMCatNLOError('Decay processes can only be run at fixed order.') |
637 | mode_dict = {'aMC@NLO': 'all', 'aMC@LO': 'born',\ |
638 | 'noshower': 'all', 'noshowerLO': 'born'} |
639 | shower = self.run_card['parton_shower'].upper() |
640 | @@ -1448,8 +1450,12 @@ |
641 | npoints = self.run_card['npoints_FO_grid'] |
642 | niters = self.run_card['niters_FO_grid'] |
643 | for p_dir in p_dirs: |
644 | - with open(pjoin(self.me_dir,'SubProcesses',p_dir,'channels.txt')) as chan_file: |
645 | - channels=chan_file.readline().split() |
646 | + try: |
647 | + with open(pjoin(self.me_dir,'SubProcesses',p_dir,'channels.txt')) as chan_file: |
648 | + channels=chan_file.readline().split() |
649 | + except IOError: |
650 | + logger.warning('No integration channels found for contribution %s' % p_dir) |
651 | + continue |
652 | for channel in channels: |
653 | job={} |
654 | job['p_dir']=p_dir |
655 | @@ -2152,10 +2158,21 @@ |
656 | if line.startswith('generate') or line.startswith('add process'): |
657 | process = process+(line.replace('generate ', '')).replace('add process ','')+' ; ' |
658 | lpp = {0:'l', 1:'p', -1:'pbar'} |
659 | - proc_info = '\n Process %s\n Run at %s-%s collider (%s + %s GeV)' % \ |
660 | - (process[:-3], lpp[self.run_card['lpp1']], lpp[self.run_card['lpp2']], |
661 | - self.run_card['ebeam1'], self.run_card['ebeam2']) |
662 | - |
663 | + if self.ninitial == 1: |
664 | + proc_info = '\n Process %s' % process[:-3] |
665 | + else: |
666 | + proc_info = '\n Process %s\n Run at %s-%s collider (%s + %s GeV)' % \ |
667 | + (process[:-3], lpp[self.run_card['lpp1']], lpp[self.run_card['lpp2']], |
668 | + self.run_card['ebeam1'], self.run_card['ebeam2']) |
669 | + |
670 | + if self.ninitial == 1: |
671 | + self.cross_sect_dict['unit']='GeV' |
672 | + self.cross_sect_dict['xsec_string']='(Partial) decay width' |
673 | + self.cross_sect_dict['axsec_string']='(Partial) abs(decay width)' |
674 | + else: |
675 | + self.cross_sect_dict['unit']='pb' |
676 | + self.cross_sect_dict['xsec_string']='Total cross-section' |
677 | + self.cross_sect_dict['axsec_string']='Total abs(cross-section)' |
678 | # Gather some basic statistics for the run and extracted from the log files. |
679 | if mode in ['aMC@NLO', 'aMC@LO', 'noshower', 'noshowerLO']: |
680 | log_GV_files = glob.glob(pjoin(self.me_dir, \ |
681 | @@ -2181,13 +2198,13 @@ |
682 | if step != 2: |
683 | message = status[step] + '\n\n Intermediate results:' + \ |
684 | ('\n Random seed: %(randinit)d' + \ |
685 | - '\n Total cross-section: %(xsect)8.3e +- %(errt)6.1e pb' + \ |
686 | - '\n Total abs(cross-section): %(xseca)8.3e +- %(erra)6.1e pb \n') \ |
687 | + '\n %(xsec_string)s: %(xsect)8.3e +- %(errt)6.1e %(unit)s' + \ |
688 | + '\n %(axsec_string)s: %(xseca)8.3e +- %(erra)6.1e %(unit)s \n') \ |
689 | % self.cross_sect_dict |
690 | else: |
691 | |
692 | message = '\n ' + status[step] + proc_info + \ |
693 | - '\n Total cross-section: %(xsect)8.3e +- %(errt)6.1e pb' % \ |
694 | + '\n %(xsec_string)s: %(xsect)8.3e +- %(errt)6.1e %(unit)s' % \ |
695 | self.cross_sect_dict |
696 | |
697 | if self.run_card['nevents']>=10000 and self.run_card['reweight_scale']: |
698 | @@ -2216,15 +2233,15 @@ |
699 | 'Final results and run summary:'] |
700 | if (not done) and (step == 0): |
701 | message = '\n ' + status[0] + \ |
702 | - '\n Total cross-section: %(xsect)8.3e +- %(errt)6.1e pb' % \ |
703 | + '\n %(xsec_string)s: %(xsect)8.3e +- %(errt)6.1e %(unit)s' % \ |
704 | self.cross_sect_dict |
705 | elif not done: |
706 | message = '\n ' + status[1] + \ |
707 | - '\n Total cross-section: %(xsect)8.3e +- %(errt)6.1e pb' % \ |
708 | + '\n %(xsec_string)s: %(xsect)8.3e +- %(errt)6.1e %(unit)s' % \ |
709 | self.cross_sect_dict |
710 | elif done: |
711 | message = '\n ' + status[2] + proc_info + \ |
712 | - '\n Total cross-section: %(xsect)8.3e +- %(errt)6.1e pb' % \ |
713 | + '\n %(xsec_string)s: %(xsect)8.3e +- %(errt)6.1e %(unit)s' % \ |
714 | self.cross_sect_dict |
715 | if self.run_card['reweight_scale']: |
716 | if self.run_card['ickkw'] != -1: |
717 | @@ -4280,11 +4297,17 @@ |
718 | else: |
719 | switch.update(dict((k,value) for k,v in switch_default.items() if k not in switch)) |
720 | default_switch = ['ON', 'OFF'] |
721 | + |
722 | + |
723 | allowed_switch_value = {'order': ['LO', 'NLO'], |
724 | 'fixed_order': default_switch, |
725 | 'shower': default_switch, |
726 | 'madspin': default_switch, |
727 | 'reweight': default_switch} |
728 | + |
729 | + |
730 | + |
731 | + |
732 | |
733 | description = {'order': 'Perturbative order of the calculation:', |
734 | 'fixed_order': 'Fixed order (no event generation and no MC@[N]LO matching):', |
735 | @@ -4300,22 +4323,35 @@ |
736 | special_values = ['LO', 'NLO', 'aMC@NLO', 'aMC@LO', 'noshower', 'noshowerLO'] |
737 | |
738 | assign_switch = lambda key, value: switch.__setitem__(key, value if switch[key] != void else void ) |
739 | - |
740 | + |
741 | + if self.proc_characteristics['ninitial'] == 1: |
742 | + switch['fixed_order'] = 'ON' |
743 | + switch['shower'] = 'Not available for decay' |
744 | + switch['madspin'] = 'Not available for decay' |
745 | + switch['reweight'] = 'Not available for decay' |
746 | + allowed_switch_value['fixed_order'] = ['ON'] |
747 | + allowed_switch_value['shower'] = ['OFF'] |
748 | + allowed_switch_value['madspin'] = ['OFF'] |
749 | + allowed_switch_value['reweight'] = ['OFF'] |
750 | + available_mode = ['0','1'] |
751 | + special_values = ['LO', 'NLO'] |
752 | + else: |
753 | + # Init the switch value according to the current status |
754 | + available_mode = ['0', '1', '2','3'] |
755 | |
756 | if mode == 'auto': |
757 | mode = None |
758 | if not mode and (options['parton'] or options['reweightonly']): |
759 | mode = 'noshower' |
760 | |
761 | - # Init the switch value according to the current status |
762 | - available_mode = ['0', '1', '2'] |
763 | - available_mode.append('3') |
764 | - if os.path.exists(pjoin(self.me_dir, 'Cards', 'shower_card.dat')): |
765 | - switch['shower'] = 'ON' |
766 | - else: |
767 | - switch['shower'] = 'OFF' |
768 | + |
769 | + if '3' in available_mode: |
770 | + if os.path.exists(pjoin(self.me_dir, 'Cards', 'shower_card.dat')): |
771 | + switch['shower'] = 'ON' |
772 | + else: |
773 | + switch['shower'] = 'OFF' |
774 | |
775 | - if not aMCatNLO or self.options['mg5_path']: |
776 | + if (not aMCatNLO or self.options['mg5_path']) and '3' in available_mode: |
777 | available_mode.append('4') |
778 | if os.path.exists(pjoin(self.me_dir,'Cards','madspin_card.dat')): |
779 | switch['madspin'] = 'ON' |
780 | @@ -4330,8 +4366,7 @@ |
781 | else: |
782 | switch['reweight'] = 'Not available (requires NumPy)' |
783 | |
784 | - |
785 | - if 'do_reweight' in options and options['do_reweight']: |
786 | + if 'do_reweight' in options and options['do_reweight'] and '3' in available_mode: |
787 | if switch['reweight'] == "OFF": |
788 | switch['reweight'] = "ON" |
789 | elif switch['reweight'] != "ON": |
790 | @@ -4341,12 +4376,12 @@ |
791 | switch['madspin'] = 'ON' |
792 | elif switch['madspin'] != "ON": |
793 | logger.critical("Cannot run MadSpin module: %s" % switch['reweight']) |
794 | - |
795 | - |
796 | + |
797 | answers = list(available_mode) + ['auto', 'done'] |
798 | alias = {} |
799 | for id, key in enumerate(switch_order): |
800 | - if switch[key] != void and switch[key] in allowed_switch_value[key]: |
801 | + if switch[key] != void and switch[key] in allowed_switch_value[key] and \ |
802 | + len(allowed_switch_value[key]) >1: |
803 | answers += ['%s=%s' % (key, s) for s in allowed_switch_value[key]] |
804 | #allow lower case for on/off |
805 | alias.update(dict(('%s=%s' % (key, s.lower()), '%s=%s' % (key, s)) |
806 | @@ -4408,7 +4443,6 @@ |
807 | return |
808 | return switch |
809 | |
810 | - |
811 | modify_switch(mode, self.last_mode, switch) |
812 | if switch['madspin'] == 'OFF' and os.path.exists(pjoin(self.me_dir,'Cards','madspin_card.dat')): |
813 | assign_switch('madspin', 'ON') |
814 | |
815 | === modified file 'madgraph/interface/common_run_interface.py' |
816 | --- madgraph/interface/common_run_interface.py 2015-10-15 10:10:38 +0000 |
817 | +++ madgraph/interface/common_run_interface.py 2015-10-20 10:56:39 +0000 |
818 | @@ -658,7 +658,7 @@ |
819 | |
820 | if amcatnlo and not keepwidth: |
821 | # force particle in final states to have zero width |
822 | - pids = self.get_pid_final_states() |
823 | + pids = self.get_pid_final_initial_states() |
824 | # check those which are charged under qcd |
825 | if not MADEVENT and pjoin(self.me_dir,'bin','internal') not in sys.path: |
826 | sys.path.insert(0,pjoin(self.me_dir,'bin','internal')) |
827 | @@ -1351,8 +1351,8 @@ |
828 | self.update_status('delphes done', level='delphes', makehtml=False) |
829 | |
830 | ############################################################################ |
831 | - def get_pid_final_states(self): |
832 | - """Find the pid of all particles in the final states""" |
833 | + def get_pid_final_initial_states(self): |
834 | + """Find the pid of all particles in the final and initial states""" |
835 | pids = set() |
836 | subproc = [l.strip() for l in open(pjoin(self.me_dir,'SubProcesses', |
837 | 'subproc.mg'))] |
838 | @@ -1363,7 +1363,7 @@ |
839 | group = pat.findall(text) |
840 | for particles in group: |
841 | particles = particles.split(',') |
842 | - pids.update(set(particles[nb_init:])) |
843 | + pids.update(set(particles)) |
844 | |
845 | return pids |
846 | |
847 | |
848 | === modified file 'madgraph/iolibs/export_fks.py' |
849 | --- madgraph/iolibs/export_fks.py 2015-10-01 16:00:08 +0000 |
850 | +++ madgraph/iolibs/export_fks.py 2015-10-20 10:56:39 +0000 |
851 | @@ -383,8 +383,11 @@ |
852 | text=text+str(i+1)+' '+str(len(e)) |
853 | for t in e: |
854 | text=text+' ' |
855 | - for p in t: |
856 | - text=text+' '+str(p) |
857 | + try: |
858 | + for p in t: |
859 | + text=text+' '+str(p) |
860 | + except TypeError: |
861 | + text=text+' '+str(t) |
862 | text=text+'\n' |
863 | |
864 | ff = open(file_pos, 'w') |
865 | @@ -536,6 +539,8 @@ |
866 | (nexternal, ninitial) = matrix_element.get_nexternal_ninitial() |
867 | self.write_nexternal_file(writers.FortranWriter(filename), |
868 | nexternal, ninitial) |
869 | + self.proc_characteristic['ninitial'] = ninitial |
870 | + self.proc_characteristic['nexternal'] = max(self.proc_characteristic['nexternal'], nexternal) |
871 | |
872 | filename = 'pmass.inc' |
873 | try: |
874 | @@ -701,7 +706,8 @@ |
875 | pages,proc_card_mg5.dat and madevent.tar.gz.""" |
876 | |
877 | self.proc_characteristic['grouped_matrix'] = False |
878 | - |
879 | + self.create_proc_charac() |
880 | + |
881 | self.create_run_card(matrix_elements, history) |
882 | # modelname = self.model.get('name') |
883 | # if modelname == 'mssm' or modelname.startswith('mssm-'): |
884 | @@ -1221,6 +1227,8 @@ |
885 | def write_real_matrix_elements(self, matrix_element, fortran_model): |
886 | """writes the matrix_i.f files which contain the real matrix elements""" |
887 | |
888 | + |
889 | + |
890 | for n, fksreal in enumerate(matrix_element.real_processes): |
891 | filename = 'matrix_%d.f' % (n + 1) |
892 | self.write_matrix_element_fks(writers.FortranWriter(filename), |
893 | |
894 | === modified file 'madgraph/iolibs/template_files/parton_lum_n_fks.inc' |
895 | --- madgraph/iolibs/template_files/parton_lum_n_fks.inc 2013-05-31 14:58:30 +0000 |
896 | +++ madgraph/iolibs/template_files/parton_lum_n_fks.inc 2015-10-20 10:56:39 +0000 |
897 | @@ -54,7 +54,11 @@ |
898 | %(pdf_lines)s |
899 | endif |
900 | do i=1,IPROC |
901 | - lum = lum + pd(i) * conv |
902 | + if (nincoming.eq.2) then |
903 | + lum = lum + pd(i) * conv |
904 | + else |
905 | + lum = lum + pd(i) |
906 | + endif |
907 | enddo |
908 | return |
909 | END |
910 | |
911 | === modified file 'madgraph/madevent/sum_html.py' |
912 | --- madgraph/madevent/sum_html.py 2015-10-01 16:00:08 +0000 |
913 | +++ madgraph/madevent/sum_html.py 2015-10-20 10:56:39 +0000 |
914 | @@ -664,24 +664,27 @@ |
915 | P_path = pjoin(cmd.me_dir, 'SubProcesses', Pdir) |
916 | G_dir = [G for G in os.listdir(P_path) if G.startswith('G') and |
917 | os.path.isdir(pjoin(P_path,G))] |
918 | - |
919 | - for line in open(pjoin(P_path, 'symfact.dat')): |
920 | - name, mfactor = line.split() |
921 | - if float(mfactor) < 0: |
922 | - continue |
923 | - if os.path.exists(pjoin(P_path, 'ajob.no_ps.log')): |
924 | - continue |
925 | - |
926 | - if not folder_names: |
927 | - name = 'G' + name |
928 | - P_comb.add_results(name, pjoin(P_path,name,'results.dat'), mfactor) |
929 | - else: |
930 | - for folder in folder_names: |
931 | - if 'G' in folder: |
932 | - dir = folder.replace('*', name) |
933 | - else: |
934 | - dir = folder.replace('*', '_G' + name) |
935 | - P_comb.add_results(dir, pjoin(P_path,dir,'results.dat'), mfactor) |
936 | + |
937 | + try: |
938 | + for line in open(pjoin(P_path, 'symfact.dat')): |
939 | + name, mfactor = line.split() |
940 | + if float(mfactor) < 0: |
941 | + continue |
942 | + if os.path.exists(pjoin(P_path, 'ajob.no_ps.log')): |
943 | + continue |
944 | + |
945 | + if not folder_names: |
946 | + name = 'G' + name |
947 | + P_comb.add_results(name, pjoin(P_path,name,'results.dat'), mfactor) |
948 | + else: |
949 | + for folder in folder_names: |
950 | + if 'G' in folder: |
951 | + dir = folder.replace('*', name) |
952 | + else: |
953 | + dir = folder.replace('*', '_G' + name) |
954 | + P_comb.add_results(dir, pjoin(P_path,dir,'results.dat'), mfactor) |
955 | + except IOError: |
956 | + continue |
957 | P_comb.compute_values() |
958 | all.append(P_comb) |
959 | all.compute_values() |
960 | |
961 | === modified file 'madgraph/various/banner.py' |
962 | --- madgraph/various/banner.py 2015-10-12 12:35:23 +0000 |
963 | +++ madgraph/various/banner.py 2015-10-20 10:56:39 +0000 |
964 | @@ -1119,7 +1119,7 @@ |
965 | |
966 | def write(self, outputpath): |
967 | """write the file""" |
968 | - |
969 | + |
970 | template ="# Information about the process #\n" |
971 | template +="#########################################\n" |
972 | |
973 | @@ -1430,6 +1430,7 @@ |
974 | fsock.writelines(line) |
975 | fsock.close() |
976 | |
977 | + |
978 | def get_banner_init_information(self): |
979 | """return a dictionary with the information needed to write |
980 | the first line of the <init> block of the lhe file.""" |
981 | @@ -1468,7 +1469,22 @@ |
982 | output["pdfsup1"] = get_pdf_id(self["pdlabel"]) |
983 | output["pdfsup2"] = get_pdf_id(self["pdlabel"]) |
984 | return output |
985 | - |
986 | + |
987 | + def remove_all_cut(self): |
988 | + """remove all the cut""" |
989 | + |
990 | + for name in self.cuts_parameter: |
991 | + targettype = type(self[name]) |
992 | + if targettype == bool: |
993 | + self[name] = False |
994 | + elif 'min' in name: |
995 | + self[name] = 0 |
996 | + elif 'max' in name: |
997 | + self[name] = -1 |
998 | + elif 'eta' in name: |
999 | + self[name] = -1 |
1000 | + else: |
1001 | + self[name] = 0 |
1002 | |
1003 | class RunCardLO(RunCard): |
1004 | """an object to handle in a nice way the run_card infomration""" |
1005 | @@ -1798,22 +1814,6 @@ |
1006 | self['drjl'] = 0 |
1007 | self['sys_alpsfact'] = "0.5 1 2" |
1008 | |
1009 | - |
1010 | - def remove_all_cut(self): |
1011 | - """remove all the cut""" |
1012 | - |
1013 | - for name in self.cuts_parameter: |
1014 | - targettype = type(self[name]) |
1015 | - if targettype == bool: |
1016 | - self[name] = False |
1017 | - elif 'min' in name: |
1018 | - self[name] = 0 |
1019 | - elif 'max' in name: |
1020 | - self[name] = -1 |
1021 | - elif 'eta' in name: |
1022 | - self[name] = -1 |
1023 | - else: |
1024 | - self[name] = 0 |
1025 | |
1026 | def write(self, output_file, template=None, python_template=False): |
1027 | """Write the run_card in output_file according to template |
1028 | @@ -1984,7 +1984,7 @@ |
1029 | """Rules |
1030 | e+ e- beam -> lpp:0 ebeam:500 |
1031 | p p beam -> set maxjetflavor automatically |
1032 | - """ |
1033 | + """ |
1034 | |
1035 | # check for beam_id |
1036 | beam_id = set() |
1037 | @@ -2004,6 +2004,10 @@ |
1038 | else: |
1039 | self['lpp1'] = 0 |
1040 | self['lpp2'] = 0 |
1041 | + |
1042 | + if proc_characteristic['ninitial'] == 1: |
1043 | + #remove all cut |
1044 | + self.remove_all_cut() |
1045 | |
1046 | class MadLoopParam(ConfigFile): |
1047 | """ a class for storing/dealing with the file MadLoopParam.dat |
1048 | |
1049 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%parton_lum_0.f' |
1050 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%parton_lum_0.f 2015-03-10 08:54:03 +0000 |
1051 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%parton_lum_0.f 2015-10-20 10:56:39 +0000 |
1052 | @@ -92,7 +92,11 @@ |
1053 | PD(IPROC) = G1*G2 |
1054 | ENDIF |
1055 | DO I=1,IPROC |
1056 | - LUM = LUM + PD(I) * CONV |
1057 | + IF (NINCOMING.EQ.2) THEN |
1058 | + LUM = LUM + PD(I) * CONV |
1059 | + ELSE |
1060 | + LUM = LUM + PD(I) |
1061 | + ENDIF |
1062 | ENDDO |
1063 | RETURN |
1064 | END |
1065 | |
1066 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%parton_lum_0.f' |
1067 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%parton_lum_0.f 2015-03-10 08:54:03 +0000 |
1068 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%parton_lum_0.f 2015-10-20 10:56:39 +0000 |
1069 | @@ -119,7 +119,11 @@ |
1070 | PD(IPROC) = S1*SX2 |
1071 | ENDIF |
1072 | DO I=1,IPROC |
1073 | - LUM = LUM + PD(I) * CONV |
1074 | + IF (NINCOMING.EQ.2) THEN |
1075 | + LUM = LUM + PD(I) * CONV |
1076 | + ELSE |
1077 | + LUM = LUM + PD(I) |
1078 | + ENDIF |
1079 | ENDDO |
1080 | RETURN |
1081 | END |
1082 | |
1083 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%parton_lum_0.f' |
1084 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%parton_lum_0.f 2015-03-10 08:54:03 +0000 |
1085 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%parton_lum_0.f 2015-10-20 10:56:39 +0000 |
1086 | @@ -119,7 +119,11 @@ |
1087 | PD(IPROC) = SX1*S2 |
1088 | ENDIF |
1089 | DO I=1,IPROC |
1090 | - LUM = LUM + PD(I) * CONV |
1091 | + IF (NINCOMING.EQ.2) THEN |
1092 | + LUM = LUM + PD(I) * CONV |
1093 | + ELSE |
1094 | + LUM = LUM + PD(I) |
1095 | + ENDIF |
1096 | ENDDO |
1097 | RETURN |
1098 | END |
1099 | |
1100 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_1.f' |
1101 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_1.f 2014-10-20 01:07:00 +0000 |
1102 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_1.f 2015-10-20 10:56:39 +0000 |
1103 | @@ -92,7 +92,11 @@ |
1104 | PD(IPROC) = G1*G2 |
1105 | ENDIF |
1106 | DO I=1,IPROC |
1107 | - LUM = LUM + PD(I) * CONV |
1108 | + IF (NINCOMING.EQ.2) THEN |
1109 | + LUM = LUM + PD(I) * CONV |
1110 | + ELSE |
1111 | + LUM = LUM + PD(I) |
1112 | + ENDIF |
1113 | ENDDO |
1114 | RETURN |
1115 | END |
1116 | |
1117 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_2.f' |
1118 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_2.f 2014-10-20 01:07:00 +0000 |
1119 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_2.f 2015-10-20 10:56:39 +0000 |
1120 | @@ -113,7 +113,11 @@ |
1121 | PD(IPROC) = CX1*G2 |
1122 | ENDIF |
1123 | DO I=1,IPROC |
1124 | - LUM = LUM + PD(I) * CONV |
1125 | + IF (NINCOMING.EQ.2) THEN |
1126 | + LUM = LUM + PD(I) * CONV |
1127 | + ELSE |
1128 | + LUM = LUM + PD(I) |
1129 | + ENDIF |
1130 | ENDDO |
1131 | RETURN |
1132 | END |
1133 | |
1134 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_3.f' |
1135 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_3.f 2014-10-20 01:07:00 +0000 |
1136 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_3.f 2015-10-20 10:56:39 +0000 |
1137 | @@ -113,7 +113,11 @@ |
1138 | PD(IPROC) = C1*G2 |
1139 | ENDIF |
1140 | DO I=1,IPROC |
1141 | - LUM = LUM + PD(I) * CONV |
1142 | + IF (NINCOMING.EQ.2) THEN |
1143 | + LUM = LUM + PD(I) * CONV |
1144 | + ELSE |
1145 | + LUM = LUM + PD(I) |
1146 | + ENDIF |
1147 | ENDDO |
1148 | RETURN |
1149 | END |
1150 | |
1151 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_4.f' |
1152 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_4.f 2014-10-20 01:07:00 +0000 |
1153 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_4.f 2015-10-20 10:56:39 +0000 |
1154 | @@ -113,7 +113,11 @@ |
1155 | PD(IPROC) = G1*CX2 |
1156 | ENDIF |
1157 | DO I=1,IPROC |
1158 | - LUM = LUM + PD(I) * CONV |
1159 | + IF (NINCOMING.EQ.2) THEN |
1160 | + LUM = LUM + PD(I) * CONV |
1161 | + ELSE |
1162 | + LUM = LUM + PD(I) |
1163 | + ENDIF |
1164 | ENDDO |
1165 | RETURN |
1166 | END |
1167 | |
1168 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f' |
1169 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f 2014-10-20 01:07:00 +0000 |
1170 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f 2015-10-20 10:56:39 +0000 |
1171 | @@ -113,7 +113,11 @@ |
1172 | PD(IPROC) = G1*C2 |
1173 | ENDIF |
1174 | DO I=1,IPROC |
1175 | - LUM = LUM + PD(I) * CONV |
1176 | + IF (NINCOMING.EQ.2) THEN |
1177 | + LUM = LUM + PD(I) * CONV |
1178 | + ELSE |
1179 | + LUM = LUM + PD(I) |
1180 | + ENDIF |
1181 | ENDDO |
1182 | RETURN |
1183 | END |
1184 | |
1185 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_1.f' |
1186 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_1.f 2014-10-20 01:07:00 +0000 |
1187 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_1.f 2015-10-20 10:56:39 +0000 |
1188 | @@ -119,7 +119,11 @@ |
1189 | PD(IPROC) = S1*SX2 |
1190 | ENDIF |
1191 | DO I=1,IPROC |
1192 | - LUM = LUM + PD(I) * CONV |
1193 | + IF (NINCOMING.EQ.2) THEN |
1194 | + LUM = LUM + PD(I) * CONV |
1195 | + ELSE |
1196 | + LUM = LUM + PD(I) |
1197 | + ENDIF |
1198 | ENDDO |
1199 | RETURN |
1200 | END |
1201 | |
1202 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_2.f' |
1203 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_2.f 2014-10-20 01:07:00 +0000 |
1204 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_2.f 2015-10-20 10:56:39 +0000 |
1205 | @@ -113,7 +113,11 @@ |
1206 | PD(IPROC) = G1*SX2 |
1207 | ENDIF |
1208 | DO I=1,IPROC |
1209 | - LUM = LUM + PD(I) * CONV |
1210 | + IF (NINCOMING.EQ.2) THEN |
1211 | + LUM = LUM + PD(I) * CONV |
1212 | + ELSE |
1213 | + LUM = LUM + PD(I) |
1214 | + ENDIF |
1215 | ENDDO |
1216 | RETURN |
1217 | END |
1218 | |
1219 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_3.f' |
1220 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_3.f 2014-10-20 01:07:00 +0000 |
1221 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_3.f 2015-10-20 10:56:39 +0000 |
1222 | @@ -113,7 +113,11 @@ |
1223 | PD(IPROC) = S1*G2 |
1224 | ENDIF |
1225 | DO I=1,IPROC |
1226 | - LUM = LUM + PD(I) * CONV |
1227 | + IF (NINCOMING.EQ.2) THEN |
1228 | + LUM = LUM + PD(I) * CONV |
1229 | + ELSE |
1230 | + LUM = LUM + PD(I) |
1231 | + ENDIF |
1232 | ENDDO |
1233 | RETURN |
1234 | END |
1235 | |
1236 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_1.f' |
1237 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_1.f 2014-10-20 01:07:00 +0000 |
1238 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_1.f 2015-10-20 10:56:39 +0000 |
1239 | @@ -119,7 +119,11 @@ |
1240 | PD(IPROC) = SX1*S2 |
1241 | ENDIF |
1242 | DO I=1,IPROC |
1243 | - LUM = LUM + PD(I) * CONV |
1244 | + IF (NINCOMING.EQ.2) THEN |
1245 | + LUM = LUM + PD(I) * CONV |
1246 | + ELSE |
1247 | + LUM = LUM + PD(I) |
1248 | + ENDIF |
1249 | ENDDO |
1250 | RETURN |
1251 | END |
1252 | |
1253 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_2.f' |
1254 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_2.f 2014-10-20 01:07:00 +0000 |
1255 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_2.f 2015-10-20 10:56:39 +0000 |
1256 | @@ -113,7 +113,11 @@ |
1257 | PD(IPROC) = G1*S2 |
1258 | ENDIF |
1259 | DO I=1,IPROC |
1260 | - LUM = LUM + PD(I) * CONV |
1261 | + IF (NINCOMING.EQ.2) THEN |
1262 | + LUM = LUM + PD(I) * CONV |
1263 | + ELSE |
1264 | + LUM = LUM + PD(I) |
1265 | + ENDIF |
1266 | ENDDO |
1267 | RETURN |
1268 | END |
1269 | |
1270 | === modified file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_3.f' |
1271 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_3.f 2014-10-20 01:07:00 +0000 |
1272 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_3.f 2015-10-20 10:56:39 +0000 |
1273 | @@ -113,7 +113,11 @@ |
1274 | PD(IPROC) = SX1*G2 |
1275 | ENDIF |
1276 | DO I=1,IPROC |
1277 | - LUM = LUM + PD(I) * CONV |
1278 | + IF (NINCOMING.EQ.2) THEN |
1279 | + LUM = LUM + PD(I) * CONV |
1280 | + ELSE |
1281 | + LUM = LUM + PD(I) |
1282 | + ENDIF |
1283 | ENDDO |
1284 | RETURN |
1285 | END |
1286 | |
1287 | === added directory 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal' |
1288 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_001.f' |
1289 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_001.f 1970-01-01 00:00:00 +0000 |
1290 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_001.f 2015-10-20 10:56:39 +0000 |
1291 | @@ -0,0 +1,153 @@ |
1292 | + SUBROUTINE SB_SF_001(P1,ANS) |
1293 | +C |
1294 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1295 | +C By the MadGraph5_aMC@NLO Development Team |
1296 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1297 | +C |
1298 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1299 | +C AND HELICITIES |
1300 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
1301 | +C |
1302 | +C Process: t > b u d~ [ real = QCD ] |
1303 | +C Process: t > b c s~ [ real = QCD ] |
1304 | +C spectators: 1 1 |
1305 | + |
1306 | +C |
1307 | + IMPLICIT NONE |
1308 | +C |
1309 | +C CONSTANTS |
1310 | +C |
1311 | + INCLUDE 'nexternal.inc' |
1312 | + INTEGER NCOMB |
1313 | + PARAMETER ( NCOMB= 16 ) |
1314 | + INTEGER THEL |
1315 | + PARAMETER (THEL=NCOMB*3) |
1316 | + INTEGER NGRAPHS |
1317 | + PARAMETER (NGRAPHS= 1) |
1318 | +C |
1319 | +C ARGUMENTS |
1320 | +C |
1321 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
1322 | +C |
1323 | +C LOCAL VARIABLES |
1324 | +C |
1325 | + INTEGER IHEL,IDEN,J |
1326 | + REAL*8 B_SF_001 |
1327 | + INTEGER IDEN_VALUES(3) |
1328 | + DATA IDEN_VALUES /6, 6, 6/ |
1329 | +C |
1330 | +C GLOBAL VARIABLES |
1331 | +C |
1332 | + LOGICAL GOODHEL(NCOMB,3) |
1333 | + COMMON /C_GOODHEL/ GOODHEL |
1334 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
1335 | + COMMON/TO_SAVEMOM/SAVEMOM |
1336 | + LOGICAL CALCULATEDBORN |
1337 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1338 | + INTEGER NFKSPROCESS |
1339 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
1340 | +C ---------- |
1341 | +C BEGIN CODE |
1342 | +C ---------- |
1343 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
1344 | + IF (CALCULATEDBORN) THEN |
1345 | + DO J=1,NEXTERNAL-1 |
1346 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
1347 | + $ ,J)) THEN |
1348 | + CALCULATEDBORN=.FALSE. |
1349 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
1350 | + $ //'e born' |
1351 | + STOP |
1352 | + ENDIF |
1353 | + ENDDO |
1354 | + ELSE |
1355 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
1356 | + $ //'e called only with calculatedborn = true' |
1357 | + STOP |
1358 | + ENDIF |
1359 | + ANS = 0D0 |
1360 | + DO IHEL=1,NCOMB |
1361 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
1362 | + ANS=ANS+B_SF_001(P1,IHEL) |
1363 | + ENDIF |
1364 | + ENDDO |
1365 | + ANS=ANS/DBLE(IDEN) |
1366 | + END |
1367 | + |
1368 | + |
1369 | + REAL*8 FUNCTION B_SF_001(P,HELL) |
1370 | +C |
1371 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1372 | +C By the MadGraph5_aMC@NLO Development Team |
1373 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1374 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1375 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
1376 | + |
1377 | +C Process: t > b u d~ [ real = QCD ] |
1378 | +C Process: t > b c s~ [ real = QCD ] |
1379 | +C spectators: 1 1 |
1380 | + |
1381 | +C |
1382 | + IMPLICIT NONE |
1383 | +C |
1384 | +C CONSTANTS |
1385 | +C |
1386 | + INTEGER NGRAPHS |
1387 | + PARAMETER ( NGRAPHS = 1 ) |
1388 | + INTEGER NCOLOR1, NCOLOR2 |
1389 | + PARAMETER (NCOLOR1=1, NCOLOR2=1) |
1390 | + REAL*8 ZERO |
1391 | + PARAMETER (ZERO=0D0) |
1392 | + COMPLEX*16 IMAG1 |
1393 | + PARAMETER (IMAG1 = (0D0,1D0)) |
1394 | + INCLUDE 'nexternal.inc' |
1395 | + INCLUDE 'born_nhel.inc' |
1396 | +C |
1397 | +C ARGUMENTS |
1398 | +C |
1399 | + REAL*8 P(0:3,NEXTERNAL-1) |
1400 | + INTEGER HELL |
1401 | +C |
1402 | +C LOCAL VARIABLES |
1403 | +C |
1404 | + INTEGER I,J |
1405 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
1406 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
1407 | +C |
1408 | +C GLOBAL VARIABLES |
1409 | +C |
1410 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
1411 | + COMMON/TO_SAVEAMP/SAVEAMP |
1412 | + LOGICAL CALCULATEDBORN |
1413 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1414 | +C |
1415 | +C COLOR DATA |
1416 | +C |
1417 | + DATA DENOM(1)/1/ |
1418 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
1419 | +C ---------- |
1420 | +C BEGIN CODE |
1421 | +C ---------- |
1422 | + IF (.NOT. CALCULATEDBORN) THEN |
1423 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
1424 | + $ //'d only with calculatedborn = true' |
1425 | + STOP |
1426 | + ELSEIF (CALCULATEDBORN) THEN |
1427 | + DO I=1,NGRAPHS |
1428 | + AMP(I)=SAVEAMP(I,HELL) |
1429 | + ENDDO |
1430 | + ENDIF |
1431 | + JAMP1(1)=-AMP(1) |
1432 | + JAMP2(1)=+1D0/4D0*(-3D0*AMP(1)+1D0/3D0*AMP(1)) |
1433 | + B_SF_001 = 0.D0 |
1434 | + DO I = 1, NCOLOR1 |
1435 | + ZTEMP = (0.D0,0.D0) |
1436 | + DO J = 1, NCOLOR2 |
1437 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
1438 | + ENDDO |
1439 | + B_SF_001 =B_SF_001+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
1440 | + ENDDO |
1441 | + END |
1442 | + |
1443 | + |
1444 | + |
1445 | |
1446 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f' |
1447 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f 1970-01-01 00:00:00 +0000 |
1448 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f 2015-10-20 10:56:39 +0000 |
1449 | @@ -0,0 +1,153 @@ |
1450 | + SUBROUTINE SB_SF_002(P1,ANS) |
1451 | +C |
1452 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1453 | +C By the MadGraph5_aMC@NLO Development Team |
1454 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1455 | +C |
1456 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1457 | +C AND HELICITIES |
1458 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
1459 | +C |
1460 | +C Process: t > b u d~ [ real = QCD ] |
1461 | +C Process: t > b c s~ [ real = QCD ] |
1462 | +C spectators: 1 2 |
1463 | + |
1464 | +C |
1465 | + IMPLICIT NONE |
1466 | +C |
1467 | +C CONSTANTS |
1468 | +C |
1469 | + INCLUDE 'nexternal.inc' |
1470 | + INTEGER NCOMB |
1471 | + PARAMETER ( NCOMB= 16 ) |
1472 | + INTEGER THEL |
1473 | + PARAMETER (THEL=NCOMB*3) |
1474 | + INTEGER NGRAPHS |
1475 | + PARAMETER (NGRAPHS= 1) |
1476 | +C |
1477 | +C ARGUMENTS |
1478 | +C |
1479 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
1480 | +C |
1481 | +C LOCAL VARIABLES |
1482 | +C |
1483 | + INTEGER IHEL,IDEN,J |
1484 | + REAL*8 B_SF_002 |
1485 | + INTEGER IDEN_VALUES(3) |
1486 | + DATA IDEN_VALUES /6, 6, 6/ |
1487 | +C |
1488 | +C GLOBAL VARIABLES |
1489 | +C |
1490 | + LOGICAL GOODHEL(NCOMB,3) |
1491 | + COMMON /C_GOODHEL/ GOODHEL |
1492 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
1493 | + COMMON/TO_SAVEMOM/SAVEMOM |
1494 | + LOGICAL CALCULATEDBORN |
1495 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1496 | + INTEGER NFKSPROCESS |
1497 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
1498 | +C ---------- |
1499 | +C BEGIN CODE |
1500 | +C ---------- |
1501 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
1502 | + IF (CALCULATEDBORN) THEN |
1503 | + DO J=1,NEXTERNAL-1 |
1504 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
1505 | + $ ,J)) THEN |
1506 | + CALCULATEDBORN=.FALSE. |
1507 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
1508 | + $ //'e born' |
1509 | + STOP |
1510 | + ENDIF |
1511 | + ENDDO |
1512 | + ELSE |
1513 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
1514 | + $ //'e called only with calculatedborn = true' |
1515 | + STOP |
1516 | + ENDIF |
1517 | + ANS = 0D0 |
1518 | + DO IHEL=1,NCOMB |
1519 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
1520 | + ANS=ANS+B_SF_002(P1,IHEL) |
1521 | + ENDIF |
1522 | + ENDDO |
1523 | + ANS=ANS/DBLE(IDEN) |
1524 | + END |
1525 | + |
1526 | + |
1527 | + REAL*8 FUNCTION B_SF_002(P,HELL) |
1528 | +C |
1529 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1530 | +C By the MadGraph5_aMC@NLO Development Team |
1531 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1532 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1533 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
1534 | + |
1535 | +C Process: t > b u d~ [ real = QCD ] |
1536 | +C Process: t > b c s~ [ real = QCD ] |
1537 | +C spectators: 1 2 |
1538 | + |
1539 | +C |
1540 | + IMPLICIT NONE |
1541 | +C |
1542 | +C CONSTANTS |
1543 | +C |
1544 | + INTEGER NGRAPHS |
1545 | + PARAMETER ( NGRAPHS = 1 ) |
1546 | + INTEGER NCOLOR1, NCOLOR2 |
1547 | + PARAMETER (NCOLOR1=1, NCOLOR2=1) |
1548 | + REAL*8 ZERO |
1549 | + PARAMETER (ZERO=0D0) |
1550 | + COMPLEX*16 IMAG1 |
1551 | + PARAMETER (IMAG1 = (0D0,1D0)) |
1552 | + INCLUDE 'nexternal.inc' |
1553 | + INCLUDE 'born_nhel.inc' |
1554 | +C |
1555 | +C ARGUMENTS |
1556 | +C |
1557 | + REAL*8 P(0:3,NEXTERNAL-1) |
1558 | + INTEGER HELL |
1559 | +C |
1560 | +C LOCAL VARIABLES |
1561 | +C |
1562 | + INTEGER I,J |
1563 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
1564 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
1565 | +C |
1566 | +C GLOBAL VARIABLES |
1567 | +C |
1568 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
1569 | + COMMON/TO_SAVEAMP/SAVEAMP |
1570 | + LOGICAL CALCULATEDBORN |
1571 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1572 | +C |
1573 | +C COLOR DATA |
1574 | +C |
1575 | + DATA DENOM(1)/1/ |
1576 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
1577 | +C ---------- |
1578 | +C BEGIN CODE |
1579 | +C ---------- |
1580 | + IF (.NOT. CALCULATEDBORN) THEN |
1581 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
1582 | + $ //'d only with calculatedborn = true' |
1583 | + STOP |
1584 | + ELSEIF (CALCULATEDBORN) THEN |
1585 | + DO I=1,NGRAPHS |
1586 | + AMP(I)=SAVEAMP(I,HELL) |
1587 | + ENDDO |
1588 | + ENDIF |
1589 | + JAMP1(1)=-AMP(1) |
1590 | + JAMP2(1)=+1D0/2D0*(+3D0*AMP(1)-1D0/3D0*AMP(1)) |
1591 | + B_SF_002 = 0.D0 |
1592 | + DO I = 1, NCOLOR1 |
1593 | + ZTEMP = (0.D0,0.D0) |
1594 | + DO J = 1, NCOLOR2 |
1595 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
1596 | + ENDDO |
1597 | + B_SF_002 =B_SF_002+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
1598 | + ENDDO |
1599 | + END |
1600 | + |
1601 | + |
1602 | + |
1603 | |
1604 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f' |
1605 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f 1970-01-01 00:00:00 +0000 |
1606 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f 2015-10-20 10:56:39 +0000 |
1607 | @@ -0,0 +1,154 @@ |
1608 | + SUBROUTINE SB_SF_003(P1,ANS) |
1609 | +C |
1610 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1611 | +C By the MadGraph5_aMC@NLO Development Team |
1612 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1613 | +C |
1614 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1615 | +C AND HELICITIES |
1616 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
1617 | +C |
1618 | +C Process: t > b u d~ [ real = QCD ] |
1619 | +C Process: t > b c s~ [ real = QCD ] |
1620 | +C spectators: 1 3 |
1621 | + |
1622 | +C |
1623 | + IMPLICIT NONE |
1624 | +C |
1625 | +C CONSTANTS |
1626 | +C |
1627 | + INCLUDE 'nexternal.inc' |
1628 | + INTEGER NCOMB |
1629 | + PARAMETER ( NCOMB= 16 ) |
1630 | + INTEGER THEL |
1631 | + PARAMETER (THEL=NCOMB*3) |
1632 | + INTEGER NGRAPHS |
1633 | + PARAMETER (NGRAPHS= 1) |
1634 | +C |
1635 | +C ARGUMENTS |
1636 | +C |
1637 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
1638 | +C |
1639 | +C LOCAL VARIABLES |
1640 | +C |
1641 | + INTEGER IHEL,IDEN,J |
1642 | + REAL*8 B_SF_003 |
1643 | + INTEGER IDEN_VALUES(3) |
1644 | + DATA IDEN_VALUES /6, 6, 6/ |
1645 | +C |
1646 | +C GLOBAL VARIABLES |
1647 | +C |
1648 | + LOGICAL GOODHEL(NCOMB,3) |
1649 | + COMMON /C_GOODHEL/ GOODHEL |
1650 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
1651 | + COMMON/TO_SAVEMOM/SAVEMOM |
1652 | + LOGICAL CALCULATEDBORN |
1653 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1654 | + INTEGER NFKSPROCESS |
1655 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
1656 | +C ---------- |
1657 | +C BEGIN CODE |
1658 | +C ---------- |
1659 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
1660 | + IF (CALCULATEDBORN) THEN |
1661 | + DO J=1,NEXTERNAL-1 |
1662 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
1663 | + $ ,J)) THEN |
1664 | + CALCULATEDBORN=.FALSE. |
1665 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
1666 | + $ //'e born' |
1667 | + STOP |
1668 | + ENDIF |
1669 | + ENDDO |
1670 | + ELSE |
1671 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
1672 | + $ //'e called only with calculatedborn = true' |
1673 | + STOP |
1674 | + ENDIF |
1675 | + ANS = 0D0 |
1676 | + DO IHEL=1,NCOMB |
1677 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
1678 | + ANS=ANS+B_SF_003(P1,IHEL) |
1679 | + ENDIF |
1680 | + ENDDO |
1681 | + ANS=ANS/DBLE(IDEN) |
1682 | + END |
1683 | + |
1684 | + |
1685 | + REAL*8 FUNCTION B_SF_003(P,HELL) |
1686 | +C |
1687 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1688 | +C By the MadGraph5_aMC@NLO Development Team |
1689 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1690 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1691 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
1692 | + |
1693 | +C Process: t > b u d~ [ real = QCD ] |
1694 | +C Process: t > b c s~ [ real = QCD ] |
1695 | +C spectators: 1 3 |
1696 | + |
1697 | +C |
1698 | + IMPLICIT NONE |
1699 | +C |
1700 | +C CONSTANTS |
1701 | +C |
1702 | + INTEGER NGRAPHS |
1703 | + PARAMETER ( NGRAPHS = 1 ) |
1704 | + INTEGER NCOLOR1, NCOLOR2 |
1705 | + PARAMETER (NCOLOR1=1, NCOLOR2=2) |
1706 | + REAL*8 ZERO |
1707 | + PARAMETER (ZERO=0D0) |
1708 | + COMPLEX*16 IMAG1 |
1709 | + PARAMETER (IMAG1 = (0D0,1D0)) |
1710 | + INCLUDE 'nexternal.inc' |
1711 | + INCLUDE 'born_nhel.inc' |
1712 | +C |
1713 | +C ARGUMENTS |
1714 | +C |
1715 | + REAL*8 P(0:3,NEXTERNAL-1) |
1716 | + INTEGER HELL |
1717 | +C |
1718 | +C LOCAL VARIABLES |
1719 | +C |
1720 | + INTEGER I,J |
1721 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
1722 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
1723 | +C |
1724 | +C GLOBAL VARIABLES |
1725 | +C |
1726 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
1727 | + COMMON/TO_SAVEAMP/SAVEAMP |
1728 | + LOGICAL CALCULATEDBORN |
1729 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1730 | +C |
1731 | +C COLOR DATA |
1732 | +C |
1733 | + DATA DENOM(1)/1/ |
1734 | + DATA (CF(I, 1),I= 1, 2) / 9, 3/ |
1735 | +C ---------- |
1736 | +C BEGIN CODE |
1737 | +C ---------- |
1738 | + IF (.NOT. CALCULATEDBORN) THEN |
1739 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
1740 | + $ //'d only with calculatedborn = true' |
1741 | + STOP |
1742 | + ELSEIF (CALCULATEDBORN) THEN |
1743 | + DO I=1,NGRAPHS |
1744 | + AMP(I)=SAVEAMP(I,HELL) |
1745 | + ENDDO |
1746 | + ENDIF |
1747 | + JAMP1(1)=-AMP(1) |
1748 | + JAMP2(1)=+1D0/2D0*(-1D0/3D0*AMP(1)) |
1749 | + JAMP2(2)=+1D0/2D0*(+AMP(1)) |
1750 | + B_SF_003 = 0.D0 |
1751 | + DO I = 1, NCOLOR1 |
1752 | + ZTEMP = (0.D0,0.D0) |
1753 | + DO J = 1, NCOLOR2 |
1754 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
1755 | + ENDDO |
1756 | + B_SF_003 =B_SF_003+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
1757 | + ENDDO |
1758 | + END |
1759 | + |
1760 | + |
1761 | + |
1762 | |
1763 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f' |
1764 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f 1970-01-01 00:00:00 +0000 |
1765 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f 2015-10-20 10:56:39 +0000 |
1766 | @@ -0,0 +1,154 @@ |
1767 | + SUBROUTINE SB_SF_004(P1,ANS) |
1768 | +C |
1769 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1770 | +C By the MadGraph5_aMC@NLO Development Team |
1771 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1772 | +C |
1773 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1774 | +C AND HELICITIES |
1775 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
1776 | +C |
1777 | +C Process: t > b u d~ [ real = QCD ] |
1778 | +C Process: t > b c s~ [ real = QCD ] |
1779 | +C spectators: 1 4 |
1780 | + |
1781 | +C |
1782 | + IMPLICIT NONE |
1783 | +C |
1784 | +C CONSTANTS |
1785 | +C |
1786 | + INCLUDE 'nexternal.inc' |
1787 | + INTEGER NCOMB |
1788 | + PARAMETER ( NCOMB= 16 ) |
1789 | + INTEGER THEL |
1790 | + PARAMETER (THEL=NCOMB*3) |
1791 | + INTEGER NGRAPHS |
1792 | + PARAMETER (NGRAPHS= 1) |
1793 | +C |
1794 | +C ARGUMENTS |
1795 | +C |
1796 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
1797 | +C |
1798 | +C LOCAL VARIABLES |
1799 | +C |
1800 | + INTEGER IHEL,IDEN,J |
1801 | + REAL*8 B_SF_004 |
1802 | + INTEGER IDEN_VALUES(3) |
1803 | + DATA IDEN_VALUES /6, 6, 6/ |
1804 | +C |
1805 | +C GLOBAL VARIABLES |
1806 | +C |
1807 | + LOGICAL GOODHEL(NCOMB,3) |
1808 | + COMMON /C_GOODHEL/ GOODHEL |
1809 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
1810 | + COMMON/TO_SAVEMOM/SAVEMOM |
1811 | + LOGICAL CALCULATEDBORN |
1812 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1813 | + INTEGER NFKSPROCESS |
1814 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
1815 | +C ---------- |
1816 | +C BEGIN CODE |
1817 | +C ---------- |
1818 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
1819 | + IF (CALCULATEDBORN) THEN |
1820 | + DO J=1,NEXTERNAL-1 |
1821 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
1822 | + $ ,J)) THEN |
1823 | + CALCULATEDBORN=.FALSE. |
1824 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
1825 | + $ //'e born' |
1826 | + STOP |
1827 | + ENDIF |
1828 | + ENDDO |
1829 | + ELSE |
1830 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
1831 | + $ //'e called only with calculatedborn = true' |
1832 | + STOP |
1833 | + ENDIF |
1834 | + ANS = 0D0 |
1835 | + DO IHEL=1,NCOMB |
1836 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
1837 | + ANS=ANS+B_SF_004(P1,IHEL) |
1838 | + ENDIF |
1839 | + ENDDO |
1840 | + ANS=ANS/DBLE(IDEN) |
1841 | + END |
1842 | + |
1843 | + |
1844 | + REAL*8 FUNCTION B_SF_004(P,HELL) |
1845 | +C |
1846 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1847 | +C By the MadGraph5_aMC@NLO Development Team |
1848 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1849 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1850 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
1851 | + |
1852 | +C Process: t > b u d~ [ real = QCD ] |
1853 | +C Process: t > b c s~ [ real = QCD ] |
1854 | +C spectators: 1 4 |
1855 | + |
1856 | +C |
1857 | + IMPLICIT NONE |
1858 | +C |
1859 | +C CONSTANTS |
1860 | +C |
1861 | + INTEGER NGRAPHS |
1862 | + PARAMETER ( NGRAPHS = 1 ) |
1863 | + INTEGER NCOLOR1, NCOLOR2 |
1864 | + PARAMETER (NCOLOR1=1, NCOLOR2=2) |
1865 | + REAL*8 ZERO |
1866 | + PARAMETER (ZERO=0D0) |
1867 | + COMPLEX*16 IMAG1 |
1868 | + PARAMETER (IMAG1 = (0D0,1D0)) |
1869 | + INCLUDE 'nexternal.inc' |
1870 | + INCLUDE 'born_nhel.inc' |
1871 | +C |
1872 | +C ARGUMENTS |
1873 | +C |
1874 | + REAL*8 P(0:3,NEXTERNAL-1) |
1875 | + INTEGER HELL |
1876 | +C |
1877 | +C LOCAL VARIABLES |
1878 | +C |
1879 | + INTEGER I,J |
1880 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
1881 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
1882 | +C |
1883 | +C GLOBAL VARIABLES |
1884 | +C |
1885 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
1886 | + COMMON/TO_SAVEAMP/SAVEAMP |
1887 | + LOGICAL CALCULATEDBORN |
1888 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1889 | +C |
1890 | +C COLOR DATA |
1891 | +C |
1892 | + DATA DENOM(1)/1/ |
1893 | + DATA (CF(I, 1),I= 1, 2) / 9, 3/ |
1894 | +C ---------- |
1895 | +C BEGIN CODE |
1896 | +C ---------- |
1897 | + IF (.NOT. CALCULATEDBORN) THEN |
1898 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
1899 | + $ //'d only with calculatedborn = true' |
1900 | + STOP |
1901 | + ELSEIF (CALCULATEDBORN) THEN |
1902 | + DO I=1,NGRAPHS |
1903 | + AMP(I)=SAVEAMP(I,HELL) |
1904 | + ENDDO |
1905 | + ENDIF |
1906 | + JAMP1(1)=-AMP(1) |
1907 | + JAMP2(1)=+1D0/2D0*(+1D0/3D0*AMP(1)) |
1908 | + JAMP2(2)=+1D0/2D0*(-AMP(1)) |
1909 | + B_SF_004 = 0.D0 |
1910 | + DO I = 1, NCOLOR1 |
1911 | + ZTEMP = (0.D0,0.D0) |
1912 | + DO J = 1, NCOLOR2 |
1913 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
1914 | + ENDDO |
1915 | + B_SF_004 =B_SF_004+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
1916 | + ENDDO |
1917 | + END |
1918 | + |
1919 | + |
1920 | + |
1921 | |
1922 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f' |
1923 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f 1970-01-01 00:00:00 +0000 |
1924 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f 2015-10-20 10:56:39 +0000 |
1925 | @@ -0,0 +1,153 @@ |
1926 | + SUBROUTINE SB_SF_005(P1,ANS) |
1927 | +C |
1928 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
1929 | +C By the MadGraph5_aMC@NLO Development Team |
1930 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
1931 | +C |
1932 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
1933 | +C AND HELICITIES |
1934 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
1935 | +C |
1936 | +C Process: t > b u d~ [ real = QCD ] |
1937 | +C Process: t > b c s~ [ real = QCD ] |
1938 | +C spectators: 2 2 |
1939 | + |
1940 | +C |
1941 | + IMPLICIT NONE |
1942 | +C |
1943 | +C CONSTANTS |
1944 | +C |
1945 | + INCLUDE 'nexternal.inc' |
1946 | + INTEGER NCOMB |
1947 | + PARAMETER ( NCOMB= 16 ) |
1948 | + INTEGER THEL |
1949 | + PARAMETER (THEL=NCOMB*3) |
1950 | + INTEGER NGRAPHS |
1951 | + PARAMETER (NGRAPHS= 1) |
1952 | +C |
1953 | +C ARGUMENTS |
1954 | +C |
1955 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
1956 | +C |
1957 | +C LOCAL VARIABLES |
1958 | +C |
1959 | + INTEGER IHEL,IDEN,J |
1960 | + REAL*8 B_SF_005 |
1961 | + INTEGER IDEN_VALUES(3) |
1962 | + DATA IDEN_VALUES /6, 6, 6/ |
1963 | +C |
1964 | +C GLOBAL VARIABLES |
1965 | +C |
1966 | + LOGICAL GOODHEL(NCOMB,3) |
1967 | + COMMON /C_GOODHEL/ GOODHEL |
1968 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
1969 | + COMMON/TO_SAVEMOM/SAVEMOM |
1970 | + LOGICAL CALCULATEDBORN |
1971 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
1972 | + INTEGER NFKSPROCESS |
1973 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
1974 | +C ---------- |
1975 | +C BEGIN CODE |
1976 | +C ---------- |
1977 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
1978 | + IF (CALCULATEDBORN) THEN |
1979 | + DO J=1,NEXTERNAL-1 |
1980 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
1981 | + $ ,J)) THEN |
1982 | + CALCULATEDBORN=.FALSE. |
1983 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
1984 | + $ //'e born' |
1985 | + STOP |
1986 | + ENDIF |
1987 | + ENDDO |
1988 | + ELSE |
1989 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
1990 | + $ //'e called only with calculatedborn = true' |
1991 | + STOP |
1992 | + ENDIF |
1993 | + ANS = 0D0 |
1994 | + DO IHEL=1,NCOMB |
1995 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
1996 | + ANS=ANS+B_SF_005(P1,IHEL) |
1997 | + ENDIF |
1998 | + ENDDO |
1999 | + ANS=ANS/DBLE(IDEN) |
2000 | + END |
2001 | + |
2002 | + |
2003 | + REAL*8 FUNCTION B_SF_005(P,HELL) |
2004 | +C |
2005 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2006 | +C By the MadGraph5_aMC@NLO Development Team |
2007 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2008 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2009 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2010 | + |
2011 | +C Process: t > b u d~ [ real = QCD ] |
2012 | +C Process: t > b c s~ [ real = QCD ] |
2013 | +C spectators: 2 2 |
2014 | + |
2015 | +C |
2016 | + IMPLICIT NONE |
2017 | +C |
2018 | +C CONSTANTS |
2019 | +C |
2020 | + INTEGER NGRAPHS |
2021 | + PARAMETER ( NGRAPHS = 1 ) |
2022 | + INTEGER NCOLOR1, NCOLOR2 |
2023 | + PARAMETER (NCOLOR1=1, NCOLOR2=1) |
2024 | + REAL*8 ZERO |
2025 | + PARAMETER (ZERO=0D0) |
2026 | + COMPLEX*16 IMAG1 |
2027 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2028 | + INCLUDE 'nexternal.inc' |
2029 | + INCLUDE 'born_nhel.inc' |
2030 | +C |
2031 | +C ARGUMENTS |
2032 | +C |
2033 | + REAL*8 P(0:3,NEXTERNAL-1) |
2034 | + INTEGER HELL |
2035 | +C |
2036 | +C LOCAL VARIABLES |
2037 | +C |
2038 | + INTEGER I,J |
2039 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
2040 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
2041 | +C |
2042 | +C GLOBAL VARIABLES |
2043 | +C |
2044 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2045 | + COMMON/TO_SAVEAMP/SAVEAMP |
2046 | + LOGICAL CALCULATEDBORN |
2047 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2048 | +C |
2049 | +C COLOR DATA |
2050 | +C |
2051 | + DATA DENOM(1)/1/ |
2052 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
2053 | +C ---------- |
2054 | +C BEGIN CODE |
2055 | +C ---------- |
2056 | + IF (.NOT. CALCULATEDBORN) THEN |
2057 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
2058 | + $ //'d only with calculatedborn = true' |
2059 | + STOP |
2060 | + ELSEIF (CALCULATEDBORN) THEN |
2061 | + DO I=1,NGRAPHS |
2062 | + AMP(I)=SAVEAMP(I,HELL) |
2063 | + ENDDO |
2064 | + ENDIF |
2065 | + JAMP1(1)=-AMP(1) |
2066 | + JAMP2(1)=+1D0/4D0*(-3D0*AMP(1)+1D0/3D0*AMP(1)) |
2067 | + B_SF_005 = 0.D0 |
2068 | + DO I = 1, NCOLOR1 |
2069 | + ZTEMP = (0.D0,0.D0) |
2070 | + DO J = 1, NCOLOR2 |
2071 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
2072 | + ENDDO |
2073 | + B_SF_005 =B_SF_005+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
2074 | + ENDDO |
2075 | + END |
2076 | + |
2077 | + |
2078 | + |
2079 | |
2080 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f' |
2081 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f 1970-01-01 00:00:00 +0000 |
2082 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f 2015-10-20 10:56:39 +0000 |
2083 | @@ -0,0 +1,154 @@ |
2084 | + SUBROUTINE SB_SF_006(P1,ANS) |
2085 | +C |
2086 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2087 | +C By the MadGraph5_aMC@NLO Development Team |
2088 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2089 | +C |
2090 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2091 | +C AND HELICITIES |
2092 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
2093 | +C |
2094 | +C Process: t > b u d~ [ real = QCD ] |
2095 | +C Process: t > b c s~ [ real = QCD ] |
2096 | +C spectators: 2 3 |
2097 | + |
2098 | +C |
2099 | + IMPLICIT NONE |
2100 | +C |
2101 | +C CONSTANTS |
2102 | +C |
2103 | + INCLUDE 'nexternal.inc' |
2104 | + INTEGER NCOMB |
2105 | + PARAMETER ( NCOMB= 16 ) |
2106 | + INTEGER THEL |
2107 | + PARAMETER (THEL=NCOMB*3) |
2108 | + INTEGER NGRAPHS |
2109 | + PARAMETER (NGRAPHS= 1) |
2110 | +C |
2111 | +C ARGUMENTS |
2112 | +C |
2113 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
2114 | +C |
2115 | +C LOCAL VARIABLES |
2116 | +C |
2117 | + INTEGER IHEL,IDEN,J |
2118 | + REAL*8 B_SF_006 |
2119 | + INTEGER IDEN_VALUES(3) |
2120 | + DATA IDEN_VALUES /6, 6, 6/ |
2121 | +C |
2122 | +C GLOBAL VARIABLES |
2123 | +C |
2124 | + LOGICAL GOODHEL(NCOMB,3) |
2125 | + COMMON /C_GOODHEL/ GOODHEL |
2126 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
2127 | + COMMON/TO_SAVEMOM/SAVEMOM |
2128 | + LOGICAL CALCULATEDBORN |
2129 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2130 | + INTEGER NFKSPROCESS |
2131 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2132 | +C ---------- |
2133 | +C BEGIN CODE |
2134 | +C ---------- |
2135 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
2136 | + IF (CALCULATEDBORN) THEN |
2137 | + DO J=1,NEXTERNAL-1 |
2138 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
2139 | + $ ,J)) THEN |
2140 | + CALCULATEDBORN=.FALSE. |
2141 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
2142 | + $ //'e born' |
2143 | + STOP |
2144 | + ENDIF |
2145 | + ENDDO |
2146 | + ELSE |
2147 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
2148 | + $ //'e called only with calculatedborn = true' |
2149 | + STOP |
2150 | + ENDIF |
2151 | + ANS = 0D0 |
2152 | + DO IHEL=1,NCOMB |
2153 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
2154 | + ANS=ANS+B_SF_006(P1,IHEL) |
2155 | + ENDIF |
2156 | + ENDDO |
2157 | + ANS=ANS/DBLE(IDEN) |
2158 | + END |
2159 | + |
2160 | + |
2161 | + REAL*8 FUNCTION B_SF_006(P,HELL) |
2162 | +C |
2163 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2164 | +C By the MadGraph5_aMC@NLO Development Team |
2165 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2166 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2167 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2168 | + |
2169 | +C Process: t > b u d~ [ real = QCD ] |
2170 | +C Process: t > b c s~ [ real = QCD ] |
2171 | +C spectators: 2 3 |
2172 | + |
2173 | +C |
2174 | + IMPLICIT NONE |
2175 | +C |
2176 | +C CONSTANTS |
2177 | +C |
2178 | + INTEGER NGRAPHS |
2179 | + PARAMETER ( NGRAPHS = 1 ) |
2180 | + INTEGER NCOLOR1, NCOLOR2 |
2181 | + PARAMETER (NCOLOR1=1, NCOLOR2=2) |
2182 | + REAL*8 ZERO |
2183 | + PARAMETER (ZERO=0D0) |
2184 | + COMPLEX*16 IMAG1 |
2185 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2186 | + INCLUDE 'nexternal.inc' |
2187 | + INCLUDE 'born_nhel.inc' |
2188 | +C |
2189 | +C ARGUMENTS |
2190 | +C |
2191 | + REAL*8 P(0:3,NEXTERNAL-1) |
2192 | + INTEGER HELL |
2193 | +C |
2194 | +C LOCAL VARIABLES |
2195 | +C |
2196 | + INTEGER I,J |
2197 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
2198 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
2199 | +C |
2200 | +C GLOBAL VARIABLES |
2201 | +C |
2202 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2203 | + COMMON/TO_SAVEAMP/SAVEAMP |
2204 | + LOGICAL CALCULATEDBORN |
2205 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2206 | +C |
2207 | +C COLOR DATA |
2208 | +C |
2209 | + DATA DENOM(1)/1/ |
2210 | + DATA (CF(I, 1),I= 1, 2) / 9, 3/ |
2211 | +C ---------- |
2212 | +C BEGIN CODE |
2213 | +C ---------- |
2214 | + IF (.NOT. CALCULATEDBORN) THEN |
2215 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
2216 | + $ //'d only with calculatedborn = true' |
2217 | + STOP |
2218 | + ELSEIF (CALCULATEDBORN) THEN |
2219 | + DO I=1,NGRAPHS |
2220 | + AMP(I)=SAVEAMP(I,HELL) |
2221 | + ENDDO |
2222 | + ENDIF |
2223 | + JAMP1(1)=-AMP(1) |
2224 | + JAMP2(1)=+1D0/2D0*(+1D0/3D0*AMP(1)) |
2225 | + JAMP2(2)=+1D0/2D0*(-AMP(1)) |
2226 | + B_SF_006 = 0.D0 |
2227 | + DO I = 1, NCOLOR1 |
2228 | + ZTEMP = (0.D0,0.D0) |
2229 | + DO J = 1, NCOLOR2 |
2230 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
2231 | + ENDDO |
2232 | + B_SF_006 =B_SF_006+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
2233 | + ENDDO |
2234 | + END |
2235 | + |
2236 | + |
2237 | + |
2238 | |
2239 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f' |
2240 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f 1970-01-01 00:00:00 +0000 |
2241 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f 2015-10-20 10:56:39 +0000 |
2242 | @@ -0,0 +1,154 @@ |
2243 | + SUBROUTINE SB_SF_007(P1,ANS) |
2244 | +C |
2245 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2246 | +C By the MadGraph5_aMC@NLO Development Team |
2247 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2248 | +C |
2249 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2250 | +C AND HELICITIES |
2251 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
2252 | +C |
2253 | +C Process: t > b u d~ [ real = QCD ] |
2254 | +C Process: t > b c s~ [ real = QCD ] |
2255 | +C spectators: 2 4 |
2256 | + |
2257 | +C |
2258 | + IMPLICIT NONE |
2259 | +C |
2260 | +C CONSTANTS |
2261 | +C |
2262 | + INCLUDE 'nexternal.inc' |
2263 | + INTEGER NCOMB |
2264 | + PARAMETER ( NCOMB= 16 ) |
2265 | + INTEGER THEL |
2266 | + PARAMETER (THEL=NCOMB*3) |
2267 | + INTEGER NGRAPHS |
2268 | + PARAMETER (NGRAPHS= 1) |
2269 | +C |
2270 | +C ARGUMENTS |
2271 | +C |
2272 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
2273 | +C |
2274 | +C LOCAL VARIABLES |
2275 | +C |
2276 | + INTEGER IHEL,IDEN,J |
2277 | + REAL*8 B_SF_007 |
2278 | + INTEGER IDEN_VALUES(3) |
2279 | + DATA IDEN_VALUES /6, 6, 6/ |
2280 | +C |
2281 | +C GLOBAL VARIABLES |
2282 | +C |
2283 | + LOGICAL GOODHEL(NCOMB,3) |
2284 | + COMMON /C_GOODHEL/ GOODHEL |
2285 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
2286 | + COMMON/TO_SAVEMOM/SAVEMOM |
2287 | + LOGICAL CALCULATEDBORN |
2288 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2289 | + INTEGER NFKSPROCESS |
2290 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2291 | +C ---------- |
2292 | +C BEGIN CODE |
2293 | +C ---------- |
2294 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
2295 | + IF (CALCULATEDBORN) THEN |
2296 | + DO J=1,NEXTERNAL-1 |
2297 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
2298 | + $ ,J)) THEN |
2299 | + CALCULATEDBORN=.FALSE. |
2300 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
2301 | + $ //'e born' |
2302 | + STOP |
2303 | + ENDIF |
2304 | + ENDDO |
2305 | + ELSE |
2306 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
2307 | + $ //'e called only with calculatedborn = true' |
2308 | + STOP |
2309 | + ENDIF |
2310 | + ANS = 0D0 |
2311 | + DO IHEL=1,NCOMB |
2312 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
2313 | + ANS=ANS+B_SF_007(P1,IHEL) |
2314 | + ENDIF |
2315 | + ENDDO |
2316 | + ANS=ANS/DBLE(IDEN) |
2317 | + END |
2318 | + |
2319 | + |
2320 | + REAL*8 FUNCTION B_SF_007(P,HELL) |
2321 | +C |
2322 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2323 | +C By the MadGraph5_aMC@NLO Development Team |
2324 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2325 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2326 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2327 | + |
2328 | +C Process: t > b u d~ [ real = QCD ] |
2329 | +C Process: t > b c s~ [ real = QCD ] |
2330 | +C spectators: 2 4 |
2331 | + |
2332 | +C |
2333 | + IMPLICIT NONE |
2334 | +C |
2335 | +C CONSTANTS |
2336 | +C |
2337 | + INTEGER NGRAPHS |
2338 | + PARAMETER ( NGRAPHS = 1 ) |
2339 | + INTEGER NCOLOR1, NCOLOR2 |
2340 | + PARAMETER (NCOLOR1=1, NCOLOR2=2) |
2341 | + REAL*8 ZERO |
2342 | + PARAMETER (ZERO=0D0) |
2343 | + COMPLEX*16 IMAG1 |
2344 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2345 | + INCLUDE 'nexternal.inc' |
2346 | + INCLUDE 'born_nhel.inc' |
2347 | +C |
2348 | +C ARGUMENTS |
2349 | +C |
2350 | + REAL*8 P(0:3,NEXTERNAL-1) |
2351 | + INTEGER HELL |
2352 | +C |
2353 | +C LOCAL VARIABLES |
2354 | +C |
2355 | + INTEGER I,J |
2356 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
2357 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
2358 | +C |
2359 | +C GLOBAL VARIABLES |
2360 | +C |
2361 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2362 | + COMMON/TO_SAVEAMP/SAVEAMP |
2363 | + LOGICAL CALCULATEDBORN |
2364 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2365 | +C |
2366 | +C COLOR DATA |
2367 | +C |
2368 | + DATA DENOM(1)/1/ |
2369 | + DATA (CF(I, 1),I= 1, 2) / 9, 3/ |
2370 | +C ---------- |
2371 | +C BEGIN CODE |
2372 | +C ---------- |
2373 | + IF (.NOT. CALCULATEDBORN) THEN |
2374 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
2375 | + $ //'d only with calculatedborn = true' |
2376 | + STOP |
2377 | + ELSEIF (CALCULATEDBORN) THEN |
2378 | + DO I=1,NGRAPHS |
2379 | + AMP(I)=SAVEAMP(I,HELL) |
2380 | + ENDDO |
2381 | + ENDIF |
2382 | + JAMP1(1)=-AMP(1) |
2383 | + JAMP2(1)=+1D0/2D0*(-1D0/3D0*AMP(1)) |
2384 | + JAMP2(2)=+1D0/2D0*(+AMP(1)) |
2385 | + B_SF_007 = 0.D0 |
2386 | + DO I = 1, NCOLOR1 |
2387 | + ZTEMP = (0.D0,0.D0) |
2388 | + DO J = 1, NCOLOR2 |
2389 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
2390 | + ENDDO |
2391 | + B_SF_007 =B_SF_007+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
2392 | + ENDDO |
2393 | + END |
2394 | + |
2395 | + |
2396 | + |
2397 | |
2398 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f' |
2399 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f 1970-01-01 00:00:00 +0000 |
2400 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f 2015-10-20 10:56:39 +0000 |
2401 | @@ -0,0 +1,153 @@ |
2402 | + SUBROUTINE SB_SF_008(P1,ANS) |
2403 | +C |
2404 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2405 | +C By the MadGraph5_aMC@NLO Development Team |
2406 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2407 | +C |
2408 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2409 | +C AND HELICITIES |
2410 | +C FOR THE POINT IN PHASE SPACE P(0:3,NEXTERNAL-1) |
2411 | +C |
2412 | +C Process: t > b u d~ [ real = QCD ] |
2413 | +C Process: t > b c s~ [ real = QCD ] |
2414 | +C spectators: 3 4 |
2415 | + |
2416 | +C |
2417 | + IMPLICIT NONE |
2418 | +C |
2419 | +C CONSTANTS |
2420 | +C |
2421 | + INCLUDE 'nexternal.inc' |
2422 | + INTEGER NCOMB |
2423 | + PARAMETER ( NCOMB= 16 ) |
2424 | + INTEGER THEL |
2425 | + PARAMETER (THEL=NCOMB*3) |
2426 | + INTEGER NGRAPHS |
2427 | + PARAMETER (NGRAPHS= 1) |
2428 | +C |
2429 | +C ARGUMENTS |
2430 | +C |
2431 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
2432 | +C |
2433 | +C LOCAL VARIABLES |
2434 | +C |
2435 | + INTEGER IHEL,IDEN,J |
2436 | + REAL*8 B_SF_008 |
2437 | + INTEGER IDEN_VALUES(3) |
2438 | + DATA IDEN_VALUES /6, 6, 6/ |
2439 | +C |
2440 | +C GLOBAL VARIABLES |
2441 | +C |
2442 | + LOGICAL GOODHEL(NCOMB,3) |
2443 | + COMMON /C_GOODHEL/ GOODHEL |
2444 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
2445 | + COMMON/TO_SAVEMOM/SAVEMOM |
2446 | + LOGICAL CALCULATEDBORN |
2447 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2448 | + INTEGER NFKSPROCESS |
2449 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2450 | +C ---------- |
2451 | +C BEGIN CODE |
2452 | +C ---------- |
2453 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
2454 | + IF (CALCULATEDBORN) THEN |
2455 | + DO J=1,NEXTERNAL-1 |
2456 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
2457 | + $ ,J)) THEN |
2458 | + CALCULATEDBORN=.FALSE. |
2459 | + WRITE(*,*) 'Error in sb_sf: momenta not the same in th' |
2460 | + $ //'e born' |
2461 | + STOP |
2462 | + ENDIF |
2463 | + ENDDO |
2464 | + ELSE |
2465 | + WRITE(*,*) 'Error in sb_sf: color_linked borns should b' |
2466 | + $ //'e called only with calculatedborn = true' |
2467 | + STOP |
2468 | + ENDIF |
2469 | + ANS = 0D0 |
2470 | + DO IHEL=1,NCOMB |
2471 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
2472 | + ANS=ANS+B_SF_008(P1,IHEL) |
2473 | + ENDIF |
2474 | + ENDDO |
2475 | + ANS=ANS/DBLE(IDEN) |
2476 | + END |
2477 | + |
2478 | + |
2479 | + REAL*8 FUNCTION B_SF_008(P,HELL) |
2480 | +C |
2481 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2482 | +C By the MadGraph5_aMC@NLO Development Team |
2483 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2484 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2485 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2486 | + |
2487 | +C Process: t > b u d~ [ real = QCD ] |
2488 | +C Process: t > b c s~ [ real = QCD ] |
2489 | +C spectators: 3 4 |
2490 | + |
2491 | +C |
2492 | + IMPLICIT NONE |
2493 | +C |
2494 | +C CONSTANTS |
2495 | +C |
2496 | + INTEGER NGRAPHS |
2497 | + PARAMETER ( NGRAPHS = 1 ) |
2498 | + INTEGER NCOLOR1, NCOLOR2 |
2499 | + PARAMETER (NCOLOR1=1, NCOLOR2=1) |
2500 | + REAL*8 ZERO |
2501 | + PARAMETER (ZERO=0D0) |
2502 | + COMPLEX*16 IMAG1 |
2503 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2504 | + INCLUDE 'nexternal.inc' |
2505 | + INCLUDE 'born_nhel.inc' |
2506 | +C |
2507 | +C ARGUMENTS |
2508 | +C |
2509 | + REAL*8 P(0:3,NEXTERNAL-1) |
2510 | + INTEGER HELL |
2511 | +C |
2512 | +C LOCAL VARIABLES |
2513 | +C |
2514 | + INTEGER I,J |
2515 | + REAL*8 DENOM(NCOLOR1), CF(NCOLOR2,NCOLOR1) |
2516 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP1(NCOLOR1), JAMP2(NCOLOR2) |
2517 | +C |
2518 | +C GLOBAL VARIABLES |
2519 | +C |
2520 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2521 | + COMMON/TO_SAVEAMP/SAVEAMP |
2522 | + LOGICAL CALCULATEDBORN |
2523 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2524 | +C |
2525 | +C COLOR DATA |
2526 | +C |
2527 | + DATA DENOM(1)/1/ |
2528 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
2529 | +C ---------- |
2530 | +C BEGIN CODE |
2531 | +C ---------- |
2532 | + IF (.NOT. CALCULATEDBORN) THEN |
2533 | + WRITE(*,*) 'Error in b_sf: color_linked borns should be calle' |
2534 | + $ //'d only with calculatedborn = true' |
2535 | + STOP |
2536 | + ELSEIF (CALCULATEDBORN) THEN |
2537 | + DO I=1,NGRAPHS |
2538 | + AMP(I)=SAVEAMP(I,HELL) |
2539 | + ENDDO |
2540 | + ENDIF |
2541 | + JAMP1(1)=-AMP(1) |
2542 | + JAMP2(1)=+1D0/2D0*(+3D0*AMP(1)-1D0/3D0*AMP(1)) |
2543 | + B_SF_008 = 0.D0 |
2544 | + DO I = 1, NCOLOR1 |
2545 | + ZTEMP = (0.D0,0.D0) |
2546 | + DO J = 1, NCOLOR2 |
2547 | + ZTEMP = ZTEMP + CF(J,I)*JAMP2(J) |
2548 | + ENDDO |
2549 | + B_SF_008 =B_SF_008+ZTEMP*DCONJG(JAMP1(I))/DENOM(I) |
2550 | + ENDDO |
2551 | + END |
2552 | + |
2553 | + |
2554 | + |
2555 | |
2556 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f' |
2557 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f 1970-01-01 00:00:00 +0000 |
2558 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f 2015-10-20 10:56:39 +0000 |
2559 | @@ -0,0 +1,298 @@ |
2560 | + SUBROUTINE SBORN(P1,ANS) |
2561 | +C |
2562 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2563 | +C By the MadGraph5_aMC@NLO Development Team |
2564 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2565 | +C |
2566 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2567 | +C AND HELICITIES |
2568 | +C FOR THE POINT IN PHASE SPACE P1(0:3,NEXTERNAL-1) |
2569 | +C |
2570 | +C Process: t > b u d~ [ real = QCD ] |
2571 | +C Process: t > b c s~ [ real = QCD ] |
2572 | +C |
2573 | + IMPLICIT NONE |
2574 | +C |
2575 | +C CONSTANTS |
2576 | +C |
2577 | + INCLUDE 'nexternal.inc' |
2578 | + INCLUDE 'born_nhel.inc' |
2579 | + INCLUDE 'genps.inc' |
2580 | + INTEGER NCOMB |
2581 | + PARAMETER ( NCOMB= 16 ) |
2582 | + INTEGER THEL |
2583 | + PARAMETER (THEL=NCOMB*3) |
2584 | + INTEGER NGRAPHS |
2585 | + PARAMETER (NGRAPHS= 1) |
2586 | +C |
2587 | +C ARGUMENTS |
2588 | +C |
2589 | + REAL*8 P1(0:3,NEXTERNAL-1) |
2590 | + COMPLEX*16 ANS(2) |
2591 | +C |
2592 | +C LOCAL VARIABLES |
2593 | +C |
2594 | + INTEGER IHEL,IDEN,I,J,JJ,GLU_IJ |
2595 | + REAL*8 BORN,BORNS(2) |
2596 | + COMPLEX*16 BORNTILDE |
2597 | + INTEGER NTRY(3) |
2598 | + DATA NTRY /3*0/ |
2599 | + INTEGER NHEL(NEXTERNAL-1,NCOMB) |
2600 | + DATA (NHEL(I, 1),I=1,4) / 1,-1,-1, 1/ |
2601 | + DATA (NHEL(I, 2),I=1,4) / 1,-1,-1,-1/ |
2602 | + DATA (NHEL(I, 3),I=1,4) / 1,-1, 1, 1/ |
2603 | + DATA (NHEL(I, 4),I=1,4) / 1,-1, 1,-1/ |
2604 | + DATA (NHEL(I, 5),I=1,4) / 1, 1,-1, 1/ |
2605 | + DATA (NHEL(I, 6),I=1,4) / 1, 1,-1,-1/ |
2606 | + DATA (NHEL(I, 7),I=1,4) / 1, 1, 1, 1/ |
2607 | + DATA (NHEL(I, 8),I=1,4) / 1, 1, 1,-1/ |
2608 | + DATA (NHEL(I, 9),I=1,4) /-1,-1,-1, 1/ |
2609 | + DATA (NHEL(I, 10),I=1,4) /-1,-1,-1,-1/ |
2610 | + DATA (NHEL(I, 11),I=1,4) /-1,-1, 1, 1/ |
2611 | + DATA (NHEL(I, 12),I=1,4) /-1,-1, 1,-1/ |
2612 | + DATA (NHEL(I, 13),I=1,4) /-1, 1,-1, 1/ |
2613 | + DATA (NHEL(I, 14),I=1,4) /-1, 1,-1,-1/ |
2614 | + DATA (NHEL(I, 15),I=1,4) /-1, 1, 1, 1/ |
2615 | + DATA (NHEL(I, 16),I=1,4) /-1, 1, 1,-1/ |
2616 | + INTEGER IDEN_VALUES(3) |
2617 | + DATA IDEN_VALUES /6, 6, 6/ |
2618 | + INTEGER IJ_VALUES(3) |
2619 | + DATA IJ_VALUES /2, 3, 4/ |
2620 | +C |
2621 | +C GLOBAL VARIABLES |
2622 | +C |
2623 | + DOUBLE PRECISION AMP2(MAXAMPS), JAMP2(0:MAXAMPS) |
2624 | + COMMON/TO_AMPS/ AMP2, JAMP2 |
2625 | + DATA JAMP2(0) / 1/ |
2626 | + LOGICAL GOODHEL(NCOMB,3) |
2627 | + COMMON /C_GOODHEL/GOODHEL |
2628 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2629 | + COMMON/TO_SAVEAMP/SAVEAMP |
2630 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
2631 | + COMMON/TO_SAVEMOM/SAVEMOM |
2632 | + DOUBLE PRECISION HEL_FAC |
2633 | + INTEGER GET_HEL,SKIP(3) |
2634 | + COMMON/CBORN/HEL_FAC,GET_HEL,SKIP |
2635 | + LOGICAL CALCULATEDBORN |
2636 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2637 | + INTEGER NFKSPROCESS |
2638 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2639 | +C ---------- |
2640 | +C BEGIN CODE |
2641 | +C ---------- |
2642 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
2643 | + GLU_IJ = IJ_VALUES(NFKSPROCESS) |
2644 | + NTRY(NFKSPROCESS)=NTRY(NFKSPROCESS)+1 |
2645 | + IF (NTRY(NFKSPROCESS).LT.2) THEN |
2646 | + SKIP(NFKSPROCESS)=1 |
2647 | + DO WHILE(NHEL(GLU_IJ ,SKIP(NFKSPROCESS)).NE.-NHEL(GLU_IJ ,1)) |
2648 | + SKIP(NFKSPROCESS)=SKIP(NFKSPROCESS)+1 |
2649 | + ENDDO |
2650 | + SKIP(NFKSPROCESS)=SKIP(NFKSPROCESS)-1 |
2651 | + ENDIF |
2652 | + DO JJ=1,NGRAPHS |
2653 | + AMP2(JJ)=0D0 |
2654 | + ENDDO |
2655 | + DO JJ=1,INT(JAMP2(0)) |
2656 | + JAMP2(JJ)=0D0 |
2657 | + ENDDO |
2658 | + IF (CALCULATEDBORN) THEN |
2659 | + DO J=1,NEXTERNAL-1 |
2660 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
2661 | + $ ,J)) THEN |
2662 | + CALCULATEDBORN=.FALSE. |
2663 | + WRITE (*,*) 'momenta not the same in Born' |
2664 | + STOP |
2665 | + ENDIF |
2666 | + ENDDO |
2667 | + ENDIF |
2668 | + IF (.NOT.CALCULATEDBORN) THEN |
2669 | + DO J=1,NEXTERNAL-1 |
2670 | + SAVEMOM(J,1)=P1(0,J) |
2671 | + SAVEMOM(J,2)=P1(3,J) |
2672 | + ENDDO |
2673 | + DO J=1,MAX_BHEL |
2674 | + DO JJ=1,NGRAPHS |
2675 | + SAVEAMP(JJ,J)=(0D0,0D0) |
2676 | + ENDDO |
2677 | + ENDDO |
2678 | + ENDIF |
2679 | + ANS(1) = 0D0 |
2680 | + ANS(2) = 0D0 |
2681 | + HEL_FAC=1D0 |
2682 | + DO IHEL=1,NCOMB |
2683 | + IF (NHEL(GLU_IJ,IHEL).EQ.NHEL(GLU_IJ,1)) THEN |
2684 | + IF ((GOODHEL(IHEL,NFKSPROCESS) .OR. GOODHEL(IHEL+SKIP(NFKSPRO |
2685 | + $ CESS),NFKSPROCESS) .OR. NTRY(NFKSPROCESS) .LT. 2) ) THEN |
2686 | + ANS(1)=ANS(1)+BORN(P1,NHEL(1,IHEL),IHEL,BORNTILDE,BORNS) |
2687 | + ANS(2)=ANS(2)+BORNTILDE |
2688 | + IF ( BORNS(1).NE.0D0 .AND. .NOT. GOODHEL(IHEL,NFKSPROCESS |
2689 | + $ ) ) THEN |
2690 | + GOODHEL(IHEL,NFKSPROCESS)=.TRUE. |
2691 | + ENDIF |
2692 | + IF ( BORNS(2).NE.0D0 .AND. .NOT. GOODHEL(IHEL+SKIP(NFKSPROC |
2693 | + $ ESS),NFKSPROCESS) ) THEN |
2694 | + GOODHEL(IHEL+SKIP(NFKSPROCESS),NFKSPROCESS)=.TRUE. |
2695 | + ENDIF |
2696 | + ENDIF |
2697 | + ENDIF |
2698 | + ENDDO |
2699 | + ANS(1)=ANS(1)/DBLE(IDEN) |
2700 | + ANS(2)=ANS(2)/DBLE(IDEN) |
2701 | + CALCULATEDBORN=.TRUE. |
2702 | + END |
2703 | + |
2704 | + |
2705 | + REAL*8 FUNCTION BORN(P,NHEL,HELL,BORNTILDE,BORNS) |
2706 | +C |
2707 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2708 | +C By the MadGraph5_aMC@NLO Development Team |
2709 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2710 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2711 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2712 | + |
2713 | +C Process: t > b u d~ [ real = QCD ] |
2714 | +C Process: t > b c s~ [ real = QCD ] |
2715 | +C |
2716 | + IMPLICIT NONE |
2717 | +C |
2718 | +C CONSTANTS |
2719 | +C |
2720 | + INTEGER NGRAPHS, NEIGEN |
2721 | + PARAMETER (NGRAPHS= 1,NEIGEN= 1) |
2722 | + INTEGER NWAVEFUNCS, NCOLOR |
2723 | + PARAMETER (NWAVEFUNCS=5, NCOLOR=1) |
2724 | + REAL*8 ZERO |
2725 | + PARAMETER (ZERO=0D0) |
2726 | + COMPLEX*16 IMAG1 |
2727 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2728 | + INCLUDE 'nexternal.inc' |
2729 | + INCLUDE 'born_nhel.inc' |
2730 | + INCLUDE 'coupl.inc' |
2731 | + INCLUDE 'genps.inc' |
2732 | +C |
2733 | +C ARGUMENTS |
2734 | +C |
2735 | + REAL*8 P(0:3,NEXTERNAL-1),BORNS(2) |
2736 | + INTEGER NHEL(NEXTERNAL-1), HELL |
2737 | + COMPLEX*16 BORNTILDE |
2738 | +C |
2739 | +C LOCAL VARIABLES |
2740 | +C |
2741 | + INTEGER I,J,IHEL,BACK_HEL,GLU_IJ |
2742 | + INTEGER IC(NEXTERNAL-1),NMO |
2743 | + PARAMETER (NMO=NEXTERNAL-1) |
2744 | + DATA IC /NMO*1/ |
2745 | + REAL*8 DENOM(NCOLOR), CF(NCOLOR,NCOLOR) |
2746 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR), W(8,NWAVEFUNCS) |
2747 | + $ , JAMPH(2, NCOLOR) |
2748 | +C |
2749 | +C GLOBAL VARIABLES |
2750 | +C |
2751 | + DOUBLE PRECISION AMP2(MAXAMPS), JAMP2(0:MAXAMPS) |
2752 | + COMMON/TO_AMPS/ AMP2, JAMP2 |
2753 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
2754 | + COMMON/TO_SAVEAMP/SAVEAMP |
2755 | + DOUBLE PRECISION HEL_FAC |
2756 | + INTEGER GET_HEL,SKIP(3) |
2757 | + COMMON/CBORN/HEL_FAC,GET_HEL,SKIP |
2758 | + LOGICAL CALCULATEDBORN |
2759 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2760 | + INTEGER NFKSPROCESS |
2761 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2762 | + INTEGER STEP_HEL |
2763 | + INTEGER IJ_VALUES(3) |
2764 | + DATA IJ_VALUES /2, 3, 4/ |
2765 | +C |
2766 | +C COLOR DATA |
2767 | +C |
2768 | + DATA DENOM(1)/1/ |
2769 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
2770 | +C 1 T(2,1) T(3,4) |
2771 | +C ---------- |
2772 | +C BEGIN CODE |
2773 | +C ---------- |
2774 | + GLU_IJ = IJ_VALUES(NFKSPROCESS) |
2775 | + BORN = 0D0 |
2776 | + BORNTILDE = (0D0,0D0) |
2777 | + BACK_HEL = NHEL(GLU_IJ) |
2778 | + BORNS(1) = 0D0 |
2779 | + BORNS(2) = 0D0 |
2780 | + IF (BACK_HEL.NE.0) THEN |
2781 | + STEP_HEL=-2*BACK_HEL |
2782 | + ELSE |
2783 | + STEP_HEL=1 |
2784 | + ENDIF |
2785 | + DO IHEL=BACK_HEL,-BACK_HEL,STEP_HEL |
2786 | + IF (IHEL.EQ.BACK_HEL.OR.NHEL(GLU_IJ).NE.0) THEN |
2787 | + IF (NHEL(GLU_IJ).NE.0) NHEL(GLU_IJ) = IHEL |
2788 | + IF (.NOT. CALCULATEDBORN) THEN |
2789 | + CALL IXXXXX(P(0,1),MDL_MT,NHEL(1),+1*IC(1),W(1,1)) |
2790 | + CALL OXXXXX(P(0,2),MDL_MB,NHEL(2),+1*IC(2),W(1,2)) |
2791 | + CALL OXXXXX(P(0,3),ZERO,NHEL(3),+1*IC(3),W(1,3)) |
2792 | + CALL IXXXXX(P(0,4),ZERO,NHEL(4),-1*IC(4),W(1,4)) |
2793 | + CALL FFV2_3(W(1,4),W(1,3),GC_100,MDL_MW,MDL_WW,W(1,5)) |
2794 | +C Amplitude(s) for diagram number 1 |
2795 | + CALL FFV2_0(W(1,1),W(1,2),W(1,5),GC_100,AMP(1)) |
2796 | + DO I=1,NGRAPHS |
2797 | + IF(IHEL.EQ.BACK_HEL)THEN |
2798 | + SAVEAMP(I,HELL)=AMP(I) |
2799 | + ELSEIF(IHEL.EQ.-BACK_HEL)THEN |
2800 | + SAVEAMP(I,HELL+SKIP(NFKSPROCESS))=AMP(I) |
2801 | + ELSE |
2802 | + WRITE(*,*) 'ERROR #1 in born.f' |
2803 | + STOP |
2804 | + ENDIF |
2805 | + ENDDO |
2806 | + ELSEIF (CALCULATEDBORN) THEN |
2807 | + DO I=1,NGRAPHS |
2808 | + IF(IHEL.EQ.BACK_HEL)THEN |
2809 | + AMP(I)=SAVEAMP(I,HELL) |
2810 | + ELSEIF(IHEL.EQ.-BACK_HEL)THEN |
2811 | + AMP(I)=SAVEAMP(I,HELL+SKIP(NFKSPROCESS)) |
2812 | + ELSE |
2813 | + WRITE(*,*) 'ERROR #1 in born.f' |
2814 | + STOP |
2815 | + ENDIF |
2816 | + ENDDO |
2817 | + ENDIF |
2818 | + JAMP(1)=-AMP(1) |
2819 | + DO I = 1, NCOLOR |
2820 | + ZTEMP = (0.D0,0.D0) |
2821 | + DO J = 1, NCOLOR |
2822 | + ZTEMP = ZTEMP + CF(J,I)*JAMP(J) |
2823 | + ENDDO |
2824 | + BORNS(2-(1+BACK_HEL*IHEL)/2)=BORNS(2-(1+BACK_HEL*IHEL)/2) |
2825 | + $ +ZTEMP*DCONJG(JAMP(I))/DENOM(I) |
2826 | + ENDDO |
2827 | + DO I = 1, NGRAPHS |
2828 | + AMP2(I)=AMP2(I)+AMP(I)*DCONJG(AMP(I)) |
2829 | + ENDDO |
2830 | + DO I = 1, NCOLOR |
2831 | + JAMP2(I)=JAMP2(I)+JAMP(I)*DCONJG(JAMP(I)) |
2832 | + JAMPH(2-(1+BACK_HEL*IHEL)/2,I)=JAMP(I) |
2833 | + ENDDO |
2834 | + ENDIF |
2835 | + ENDDO |
2836 | + BORN=BORNS(1)+BORNS(2) |
2837 | + DO I = 1, NCOLOR |
2838 | + ZTEMP = (0.D0,0.D0) |
2839 | + DO J = 1, NCOLOR |
2840 | + ZTEMP = ZTEMP + CF(J,I)*JAMPH(2,J) |
2841 | + ENDDO |
2842 | + BORNTILDE = BORNTILDE + ZTEMP*DCONJG(JAMPH(1,I))/DENOM(I) |
2843 | + ENDDO |
2844 | + NHEL(GLU_IJ) = BACK_HEL |
2845 | + END |
2846 | + |
2847 | + |
2848 | + BLOCK DATA GOODHELS |
2849 | + INTEGER NCOMB |
2850 | + PARAMETER ( NCOMB= 16 ) |
2851 | + INTEGER THEL |
2852 | + PARAMETER (THEL=NCOMB*3) |
2853 | + LOGICAL GOODHEL(NCOMB,3) |
2854 | + COMMON /C_GOODHEL/GOODHEL |
2855 | + DATA GOODHEL/THEL*.FALSE./ |
2856 | + END |
2857 | + |
2858 | |
2859 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_conf.inc' |
2860 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_conf.inc 1970-01-01 00:00:00 +0000 |
2861 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_conf.inc 2015-10-20 10:56:39 +0000 |
2862 | @@ -0,0 +1,8 @@ |
2863 | +C Diagram 1, Amplitude 1 |
2864 | + DATA MAPCONFIG( 1)/ 1/ |
2865 | + DATA (IFOREST(I, -1, 1),I=1,2)/ 4, 3/ |
2866 | + DATA SPROP( -1, 1)/ 24/ |
2867 | + DATA (IFOREST(I, -2, 1),I=1,2)/ -1, 2/ |
2868 | + DATA SPROP( -2, 1)/ 6/ |
2869 | +C Number of configs |
2870 | + DATA MAPCONFIG(0)/ 1/ |
2871 | |
2872 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_decayBW.inc' |
2873 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_decayBW.inc 1970-01-01 00:00:00 +0000 |
2874 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_decayBW.inc 2015-10-20 10:56:39 +0000 |
2875 | @@ -0,0 +1,2 @@ |
2876 | + DATA GFORCEBW(-1,1)/.FALSE./ |
2877 | + DATA GFORCEBW(-2,1)/.FALSE./ |
2878 | |
2879 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_hel.f' |
2880 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_hel.f 1970-01-01 00:00:00 +0000 |
2881 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_hel.f 2015-10-20 10:56:39 +0000 |
2882 | @@ -0,0 +1,151 @@ |
2883 | + SUBROUTINE SBORN_HEL(P1,ANS) |
2884 | +C |
2885 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2886 | +C By the MadGraph5_aMC@NLO Development Team |
2887 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2888 | +C |
2889 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2890 | +C AND HELICITIES |
2891 | +C FOR THE POINT IN PHASE SPACE P1(0:3,NEXTERNAL-1) |
2892 | +C |
2893 | +C Process: t > b u d~ [ real = QCD ] |
2894 | +C Process: t > b c s~ [ real = QCD ] |
2895 | +C |
2896 | + IMPLICIT NONE |
2897 | +C |
2898 | +C CONSTANTS |
2899 | +C |
2900 | + INCLUDE 'nexternal.inc' |
2901 | + INCLUDE 'born_nhel.inc' |
2902 | + INTEGER NCOMB |
2903 | + PARAMETER ( NCOMB= 16 ) |
2904 | + INTEGER THEL |
2905 | + PARAMETER (THEL=NCOMB*3) |
2906 | + INTEGER NGRAPHS |
2907 | + PARAMETER (NGRAPHS = 1) |
2908 | +C |
2909 | +C ARGUMENTS |
2910 | +C |
2911 | + REAL*8 P1(0:3,NEXTERNAL-1),ANS |
2912 | +C |
2913 | +C LOCAL VARIABLES |
2914 | +C |
2915 | + INTEGER IHEL,IDEN,J |
2916 | + REAL*8 BORN_HEL |
2917 | + INTEGER IDEN_VALUES(3) |
2918 | + DATA IDEN_VALUES /6, 6, 6/ |
2919 | +C |
2920 | +C GLOBAL VARIABLES |
2921 | +C |
2922 | + LOGICAL GOODHEL(NCOMB,3) |
2923 | + COMMON /C_GOODHEL/ GOODHEL |
2924 | + DOUBLE PRECISION SAVEMOM(NEXTERNAL-1,2) |
2925 | + COMMON/TO_SAVEMOM/SAVEMOM |
2926 | + LOGICAL CALCULATEDBORN |
2927 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
2928 | + INTEGER NFKSPROCESS |
2929 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
2930 | + DOUBLE PRECISION WGT_HEL(MAX_BHEL) |
2931 | + COMMON/C_BORN_HEL/WGT_HEL |
2932 | + |
2933 | +C ---------- |
2934 | +C BEGIN CODE |
2935 | +C ---------- |
2936 | + IDEN=IDEN_VALUES(NFKSPROCESS) |
2937 | + IF (CALCULATEDBORN) THEN |
2938 | + DO J=1,NEXTERNAL-1 |
2939 | + IF (SAVEMOM(J,1).NE.P1(0,J) .OR. SAVEMOM(J,2).NE.P1(3 |
2940 | + $ ,J)) THEN |
2941 | + CALCULATEDBORN=.FALSE. |
2942 | + WRITE (*,*) 'momenta not the same in Born_hel' |
2943 | + STOP |
2944 | + ENDIF |
2945 | + ENDDO |
2946 | + ELSE |
2947 | + WRITE(*,*) 'Error in born_hel: should be called only wit' |
2948 | + $ //'h calculatedborn = true' |
2949 | + STOP |
2950 | + ENDIF |
2951 | + ANS = 0D0 |
2952 | + DO IHEL=1,NCOMB |
2953 | + WGT_HEL(IHEL)=0D0 |
2954 | + IF (GOODHEL(IHEL,NFKSPROCESS)) THEN |
2955 | + WGT_HEL(IHEL)=BORN_HEL(P1,IHEL)/DBLE(IDEN) |
2956 | + ANS=ANS+WGT_HEL(IHEL) |
2957 | + ENDIF |
2958 | + ENDDO |
2959 | + END |
2960 | + |
2961 | + |
2962 | + REAL*8 FUNCTION BORN_HEL(P,HELL) |
2963 | +C |
2964 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
2965 | +C By the MadGraph5_aMC@NLO Development Team |
2966 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
2967 | +C RETURNS AMPLITUDE SQUARED SUMMED/AVG OVER COLORS |
2968 | +C FOR THE POINT WITH EXTERNAL LINES W(0:6,NEXTERNAL-1) |
2969 | + |
2970 | +C Process: t > b u d~ [ real = QCD ] |
2971 | +C Process: t > b c s~ [ real = QCD ] |
2972 | +C |
2973 | + IMPLICIT NONE |
2974 | +C |
2975 | +C CONSTANTS |
2976 | +C |
2977 | + INTEGER NGRAPHS |
2978 | + PARAMETER ( NGRAPHS = 1 ) |
2979 | + INTEGER NCOLOR |
2980 | + PARAMETER (NCOLOR=1) |
2981 | + REAL*8 ZERO |
2982 | + PARAMETER (ZERO=0D0) |
2983 | + COMPLEX*16 IMAG1 |
2984 | + PARAMETER (IMAG1 = (0D0,1D0)) |
2985 | + INCLUDE 'nexternal.inc' |
2986 | + INCLUDE 'born_nhel.inc' |
2987 | +C |
2988 | +C ARGUMENTS |
2989 | +C |
2990 | + REAL*8 P(0:3,NEXTERNAL-1) |
2991 | + INTEGER HELL |
2992 | +C |
2993 | +C LOCAL VARIABLES |
2994 | +C |
2995 | + INTEGER I,J |
2996 | + REAL*8 DENOM(NCOLOR), CF(NCOLOR,NCOLOR) |
2997 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR) |
2998 | +C |
2999 | +C GLOBAL VARIABLES |
3000 | +C |
3001 | + DOUBLE COMPLEX SAVEAMP(NGRAPHS,MAX_BHEL) |
3002 | + COMMON/TO_SAVEAMP/SAVEAMP |
3003 | + LOGICAL CALCULATEDBORN |
3004 | + COMMON/CCALCULATEDBORN/CALCULATEDBORN |
3005 | +C |
3006 | +C COLOR DATA |
3007 | +C |
3008 | + DATA DENOM(1)/1/ |
3009 | + DATA (CF(I, 1),I= 1, 1) / 9/ |
3010 | +C 1 T(2,1) T(3,4) |
3011 | +C ---------- |
3012 | +C BEGIN CODE |
3013 | +C ---------- |
3014 | + IF (.NOT. CALCULATEDBORN) THEN |
3015 | + WRITE(*,*) 'Error in born_hel.f: this should be called onl' |
3016 | + $ //'y with calculatedborn = true' |
3017 | + STOP |
3018 | + ELSEIF (CALCULATEDBORN) THEN |
3019 | + DO I=1,NGRAPHS |
3020 | + AMP(I)=SAVEAMP(I,HELL) |
3021 | + ENDDO |
3022 | + ENDIF |
3023 | + JAMP(1)=-AMP(1) |
3024 | + BORN_HEL = 0.D0 |
3025 | + DO I = 1, NCOLOR |
3026 | + ZTEMP = (0.D0,0.D0) |
3027 | + DO J = 1, NCOLOR |
3028 | + ZTEMP = ZTEMP + CF(J,I)*JAMP(J) |
3029 | + ENDDO |
3030 | + BORN_HEL =BORN_HEL+ZTEMP*DCONJG(JAMP(I))/DENOM(I) |
3031 | + ENDDO |
3032 | + END |
3033 | + |
3034 | |
3035 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_leshouche.inc' |
3036 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_leshouche.inc 1970-01-01 00:00:00 +0000 |
3037 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_leshouche.inc 2015-10-20 10:56:39 +0000 |
3038 | @@ -0,0 +1,8 @@ |
3039 | + DATA (IDUP(I,1),I=1,4)/6,5,2,-1/ |
3040 | + DATA (MOTHUP(1,I, 1),I=1, 4)/ 0, 1, 1, 1/ |
3041 | + DATA (MOTHUP(2,I, 1),I=1, 4)/ 0, 2, 2, 2/ |
3042 | + DATA (ICOLUP(1,I, 1),I=1, 4)/501,501,502, 0/ |
3043 | + DATA (ICOLUP(2,I, 1),I=1, 4)/ 0, 0, 0,502/ |
3044 | + DATA (IDUP(I,2),I=1,4)/6,5,4,-3/ |
3045 | + DATA (MOTHUP(1,I, 2),I=1, 4)/ 0, 1, 1, 1/ |
3046 | + DATA (MOTHUP(2,I, 2),I=1, 4)/ 0, 2, 2, 2/ |
3047 | |
3048 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_maxamps.inc' |
3049 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_maxamps.inc 1970-01-01 00:00:00 +0000 |
3050 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_maxamps.inc 2015-10-20 10:56:39 +0000 |
3051 | @@ -0,0 +1,3 @@ |
3052 | + INTEGER MAXAMPS, MAXFLOW, MAXPROC, MAXSPROC |
3053 | + PARAMETER (MAXAMPS=1, MAXFLOW=1) |
3054 | + PARAMETER (MAXPROC=2, MAXSPROC=1) |
3055 | |
3056 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_ngraphs.inc' |
3057 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_ngraphs.inc 1970-01-01 00:00:00 +0000 |
3058 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_ngraphs.inc 2015-10-20 10:56:39 +0000 |
3059 | @@ -0,0 +1,2 @@ |
3060 | + INTEGER N_MAX_CG |
3061 | + PARAMETER (N_MAX_CG=1) |
3062 | |
3063 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_nhel.inc' |
3064 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_nhel.inc 1970-01-01 00:00:00 +0000 |
3065 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_nhel.inc 2015-10-20 10:56:39 +0000 |
3066 | @@ -0,0 +1,3 @@ |
3067 | + INTEGER MAX_BHEL, MAX_BCOL |
3068 | + PARAMETER (MAX_BHEL=16) |
3069 | + PARAMETER(MAX_BCOL=1) |
3070 | |
3071 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_props.inc' |
3072 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_props.inc 1970-01-01 00:00:00 +0000 |
3073 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_props.inc 2015-10-20 10:56:39 +0000 |
3074 | @@ -0,0 +1,6 @@ |
3075 | + PMASS( -1, 1) = ABS(MDL_MW) |
3076 | + PWIDTH( -1, 1) = ABS(MDL_WW) |
3077 | + POW( -1, 1) = 2 |
3078 | + PMASS( -2, 1) = ABS(MDL_MT) |
3079 | + PWIDTH( -2, 1) = ABS(MDL_WT) |
3080 | + POW( -2, 1) = 1 |
3081 | |
3082 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%coloramps.inc' |
3083 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%coloramps.inc 1970-01-01 00:00:00 +0000 |
3084 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%coloramps.inc 2015-10-20 10:56:39 +0000 |
3085 | @@ -0,0 +1,2 @@ |
3086 | + LOGICAL ICOLAMP(1,1,1) |
3087 | + DATA(ICOLAMP(I,1,1),I=1,1)/.TRUE./ |
3088 | |
3089 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%config_subproc_map.inc' |
3090 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%config_subproc_map.inc 1970-01-01 00:00:00 +0000 |
3091 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%config_subproc_map.inc 2015-10-20 10:56:39 +0000 |
3092 | @@ -0,0 +1,1 @@ |
3093 | + DATA CONFSUB(1,1)/1/ |
3094 | |
3095 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%configs_and_props_decl.inc' |
3096 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%configs_and_props_decl.inc 1970-01-01 00:00:00 +0000 |
3097 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%configs_and_props_decl.inc 2015-10-20 10:56:39 +0000 |
3098 | @@ -0,0 +1,12 @@ |
3099 | + INTEGER IFR,LMAXCONFIGS_USED,MAX_BRANCH_USED |
3100 | + PARAMETER (LMAXCONFIGS_USED= 4) |
3101 | + PARAMETER (MAX_BRANCH_USED = 3) |
3102 | + INTEGER MAPCONFIG_D( 3,0:LMAXCONFIGS_USED) |
3103 | + INTEGER IFOREST_D( 3,2,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3104 | + INTEGER SPROP_D( 3,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3105 | + INTEGER TPRID_D( 3,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3106 | + DOUBLE PRECISION PMASS_D( 3,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED |
3107 | + $ ) |
3108 | + DOUBLE PRECISION PWIDTH_D( 3,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USE |
3109 | + $ D) |
3110 | + INTEGER POW_D( 3,-MAX_BRANCH_USED:-1,LMAXCONFIGS_USED) |
3111 | |
3112 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%fks_info.inc' |
3113 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%fks_info.inc 1970-01-01 00:00:00 +0000 |
3114 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%fks_info.inc 2015-10-20 10:56:39 +0000 |
3115 | @@ -0,0 +1,46 @@ |
3116 | + INTEGER IPOS, JPOS |
3117 | + INTEGER FKS_I_D(3), FKS_J_D(3) |
3118 | + INTEGER FKS_J_FROM_I_D(3, NEXTERNAL, 0:NEXTERNAL) |
3119 | + INTEGER PARTICLE_TYPE_D(3, NEXTERNAL), PDG_TYPE_D(3, NEXTERNAL) |
3120 | + REAL*8 PARTICLE_CHARGE_D(3, NEXTERNAL) |
3121 | + |
3122 | + DATA FKS_I_D / 5, 5, 5 / |
3123 | + DATA FKS_J_D / 2, 3, 4 / |
3124 | + |
3125 | + DATA (FKS_J_FROM_I_D(1, 5, JPOS), JPOS = 0, 4) / 4, 1, 2, 3, 4 / |
3126 | + |
3127 | + DATA (FKS_J_FROM_I_D(2, 5, JPOS), JPOS = 0, 4) / 4, 1, 2, 3, 4 / |
3128 | + |
3129 | + DATA (FKS_J_FROM_I_D(3, 5, JPOS), JPOS = 0, 4) / 4, 1, 2, 3, 4 / |
3130 | + |
3131 | + |
3132 | +C |
3133 | +C Particle type: |
3134 | +C octet = 8, triplet = 3, singlet = 1 |
3135 | + DATA (PARTICLE_TYPE_D(1, IPOS), IPOS=1, NEXTERNAL) / 3, 3, 3, |
3136 | + $ -3, 8 / |
3137 | + DATA (PARTICLE_TYPE_D(2, IPOS), IPOS=1, NEXTERNAL) / 3, 3, 3, |
3138 | + $ -3, 8 / |
3139 | + DATA (PARTICLE_TYPE_D(3, IPOS), IPOS=1, NEXTERNAL) / 3, 3, 3, |
3140 | + $ -3, 8 / |
3141 | + |
3142 | +C |
3143 | +C Particle type according to PDG: |
3144 | +C |
3145 | + DATA (PDG_TYPE_D(1, IPOS), IPOS=1, NEXTERNAL) / 6, 5, 2, -1, 21 / |
3146 | + DATA (PDG_TYPE_D(2, IPOS), IPOS=1, NEXTERNAL) / 6, 5, 2, -1, 21 / |
3147 | + DATA (PDG_TYPE_D(3, IPOS), IPOS=1, NEXTERNAL) / 6, 5, 2, -1, 21 / |
3148 | + |
3149 | +C |
3150 | +C Particle charge: |
3151 | +C charge is set 0. with QCD corrections, which is irrelevant |
3152 | + DATA (PARTICLE_CHARGE_D(1, IPOS), IPOS=1, NEXTERNAL) / |
3153 | + $ 0.000000000000000D0, 0.000000000000000D0, 0.000000000000000 |
3154 | + $ D0, 0.000000000000000D0, 0.000000000000000D0 / |
3155 | + DATA (PARTICLE_CHARGE_D(2, IPOS), IPOS=1, NEXTERNAL) / |
3156 | + $ 0.000000000000000D0, 0.000000000000000D0, 0.000000000000000 |
3157 | + $ D0, 0.000000000000000D0, 0.000000000000000D0 / |
3158 | + DATA (PARTICLE_CHARGE_D(3, IPOS), IPOS=1, NEXTERNAL) / |
3159 | + $ 0.000000000000000D0, 0.000000000000000D0, 0.000000000000000 |
3160 | + $ D0, 0.000000000000000D0, 0.000000000000000D0 / |
3161 | + |
3162 | |
3163 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%get_color.f' |
3164 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%get_color.f 1970-01-01 00:00:00 +0000 |
3165 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%get_color.f 2015-10-20 10:56:39 +0000 |
3166 | @@ -0,0 +1,54 @@ |
3167 | + FUNCTION GET_COLOR(IPDG) |
3168 | + IMPLICIT NONE |
3169 | + INTEGER GET_COLOR, IPDG |
3170 | + |
3171 | + IF(IPDG.EQ.-24)THEN |
3172 | + GET_COLOR=1 |
3173 | + RETURN |
3174 | + ELSE IF(IPDG.EQ.-6)THEN |
3175 | + GET_COLOR=-3 |
3176 | + RETURN |
3177 | + ELSE IF(IPDG.EQ.-5)THEN |
3178 | + GET_COLOR=-3 |
3179 | + RETURN |
3180 | + ELSE IF(IPDG.EQ.-3)THEN |
3181 | + GET_COLOR=-3 |
3182 | + RETURN |
3183 | + ELSE IF(IPDG.EQ.-2)THEN |
3184 | + GET_COLOR=-3 |
3185 | + RETURN |
3186 | + ELSE IF(IPDG.EQ.-1)THEN |
3187 | + GET_COLOR=-3 |
3188 | + RETURN |
3189 | + ELSE IF(IPDG.EQ.1)THEN |
3190 | + GET_COLOR=3 |
3191 | + RETURN |
3192 | + ELSE IF(IPDG.EQ.2)THEN |
3193 | + GET_COLOR=3 |
3194 | + RETURN |
3195 | + ELSE IF(IPDG.EQ.4)THEN |
3196 | + GET_COLOR=3 |
3197 | + RETURN |
3198 | + ELSE IF(IPDG.EQ.5)THEN |
3199 | + GET_COLOR=3 |
3200 | + RETURN |
3201 | + ELSE IF(IPDG.EQ.6)THEN |
3202 | + GET_COLOR=3 |
3203 | + RETURN |
3204 | + ELSE IF(IPDG.EQ.21)THEN |
3205 | + GET_COLOR=8 |
3206 | + RETURN |
3207 | + ELSE IF(IPDG.EQ.24)THEN |
3208 | + GET_COLOR=1 |
3209 | + RETURN |
3210 | + ELSE IF(IPDG.EQ.7)THEN |
3211 | +C This is dummy particle used in multiparticle vertices |
3212 | + GET_COLOR=2 |
3213 | + RETURN |
3214 | + ELSE |
3215 | + WRITE(*,*)'Error: No color given for pdg ',IPDG |
3216 | + GET_COLOR=0 |
3217 | + RETURN |
3218 | + ENDIF |
3219 | + END |
3220 | + |
3221 | |
3222 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%leshouche_decl.inc' |
3223 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%leshouche_decl.inc 1970-01-01 00:00:00 +0000 |
3224 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%leshouche_decl.inc 2015-10-20 10:56:39 +0000 |
3225 | @@ -0,0 +1,6 @@ |
3226 | + INTEGER MAXPROC_USED, MAXFLOW_USED |
3227 | + PARAMETER (MAXPROC_USED = 2) |
3228 | + PARAMETER (MAXFLOW_USED = 2) |
3229 | + INTEGER IDUP_D(3,5,MAXPROC_USED) |
3230 | + INTEGER MOTHUP_D(3,2,5,MAXPROC_USED) |
3231 | + INTEGER ICOLUP_D(3,2,5,MAXFLOW_USED) |
3232 | |
3233 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f' |
3234 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f 1970-01-01 00:00:00 +0000 |
3235 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f 2015-10-20 10:56:39 +0000 |
3236 | @@ -0,0 +1,194 @@ |
3237 | + SUBROUTINE SMATRIX_1(P,ANS) |
3238 | +C |
3239 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
3240 | +C By the MadGraph5_aMC@NLO Development Team |
3241 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
3242 | +C |
3243 | +C Returns amplitude squared summed/avg over colors |
3244 | +C and helicities |
3245 | +C for the point in phase space P(0:3,NEXTERNAL) |
3246 | +C |
3247 | +C Process: t > b u d~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3248 | +C Process: t > b c s~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3249 | +C |
3250 | + IMPLICIT NONE |
3251 | +C |
3252 | +C CONSTANTS |
3253 | +C |
3254 | + INCLUDE 'nexternal.inc' |
3255 | + INTEGER NCOMB |
3256 | + PARAMETER ( NCOMB=32) |
3257 | +C |
3258 | +C ARGUMENTS |
3259 | +C |
3260 | + REAL*8 P(0:3,NEXTERNAL),ANS |
3261 | +C |
3262 | +C LOCAL VARIABLES |
3263 | +C |
3264 | + INTEGER IHEL,IDEN,I,T_IDENT(NCOMB) |
3265 | + REAL*8 MATRIX_1 |
3266 | + REAL*8 T,T_SAVE(NCOMB) |
3267 | + SAVE T_SAVE,T_IDENT |
3268 | + INTEGER NHEL(NEXTERNAL,NCOMB) |
3269 | + DATA (NHEL(I, 1),I=1,5) / 1,-1,-1, 1,-1/ |
3270 | + DATA (NHEL(I, 2),I=1,5) / 1,-1,-1, 1, 1/ |
3271 | + DATA (NHEL(I, 3),I=1,5) / 1,-1,-1,-1,-1/ |
3272 | + DATA (NHEL(I, 4),I=1,5) / 1,-1,-1,-1, 1/ |
3273 | + DATA (NHEL(I, 5),I=1,5) / 1,-1, 1, 1,-1/ |
3274 | + DATA (NHEL(I, 6),I=1,5) / 1,-1, 1, 1, 1/ |
3275 | + DATA (NHEL(I, 7),I=1,5) / 1,-1, 1,-1,-1/ |
3276 | + DATA (NHEL(I, 8),I=1,5) / 1,-1, 1,-1, 1/ |
3277 | + DATA (NHEL(I, 9),I=1,5) / 1, 1,-1, 1,-1/ |
3278 | + DATA (NHEL(I, 10),I=1,5) / 1, 1,-1, 1, 1/ |
3279 | + DATA (NHEL(I, 11),I=1,5) / 1, 1,-1,-1,-1/ |
3280 | + DATA (NHEL(I, 12),I=1,5) / 1, 1,-1,-1, 1/ |
3281 | + DATA (NHEL(I, 13),I=1,5) / 1, 1, 1, 1,-1/ |
3282 | + DATA (NHEL(I, 14),I=1,5) / 1, 1, 1, 1, 1/ |
3283 | + DATA (NHEL(I, 15),I=1,5) / 1, 1, 1,-1,-1/ |
3284 | + DATA (NHEL(I, 16),I=1,5) / 1, 1, 1,-1, 1/ |
3285 | + DATA (NHEL(I, 17),I=1,5) /-1,-1,-1, 1,-1/ |
3286 | + DATA (NHEL(I, 18),I=1,5) /-1,-1,-1, 1, 1/ |
3287 | + DATA (NHEL(I, 19),I=1,5) /-1,-1,-1,-1,-1/ |
3288 | + DATA (NHEL(I, 20),I=1,5) /-1,-1,-1,-1, 1/ |
3289 | + DATA (NHEL(I, 21),I=1,5) /-1,-1, 1, 1,-1/ |
3290 | + DATA (NHEL(I, 22),I=1,5) /-1,-1, 1, 1, 1/ |
3291 | + DATA (NHEL(I, 23),I=1,5) /-1,-1, 1,-1,-1/ |
3292 | + DATA (NHEL(I, 24),I=1,5) /-1,-1, 1,-1, 1/ |
3293 | + DATA (NHEL(I, 25),I=1,5) /-1, 1,-1, 1,-1/ |
3294 | + DATA (NHEL(I, 26),I=1,5) /-1, 1,-1, 1, 1/ |
3295 | + DATA (NHEL(I, 27),I=1,5) /-1, 1,-1,-1,-1/ |
3296 | + DATA (NHEL(I, 28),I=1,5) /-1, 1,-1,-1, 1/ |
3297 | + DATA (NHEL(I, 29),I=1,5) /-1, 1, 1, 1,-1/ |
3298 | + DATA (NHEL(I, 30),I=1,5) /-1, 1, 1, 1, 1/ |
3299 | + DATA (NHEL(I, 31),I=1,5) /-1, 1, 1,-1,-1/ |
3300 | + DATA (NHEL(I, 32),I=1,5) /-1, 1, 1,-1, 1/ |
3301 | + LOGICAL GOODHEL(NCOMB) |
3302 | + DATA GOODHEL/NCOMB*.FALSE./ |
3303 | + INTEGER NTRY |
3304 | + DATA NTRY/0/ |
3305 | + DATA IDEN/ 6/ |
3306 | +C ---------- |
3307 | +C BEGIN CODE |
3308 | +C ---------- |
3309 | + NTRY=NTRY+1 |
3310 | + ANS = 0D0 |
3311 | + DO IHEL=1,NCOMB |
3312 | + IF (GOODHEL(IHEL) .OR. NTRY .LT. 2) THEN |
3313 | + IF (NTRY.LT.2) THEN |
3314 | +C for the first ps-point, check for helicities that give |
3315 | +C identical matrix elements |
3316 | + T=MATRIX_1(P ,NHEL(1,IHEL)) |
3317 | + T_SAVE(IHEL)=T |
3318 | + T_IDENT(IHEL)=-1 |
3319 | + DO I=1,IHEL-1 |
3320 | + IF (T.EQ.0D0) EXIT |
3321 | + IF (T_SAVE(I).EQ.0D0) CYCLE |
3322 | + IF (ABS(T/T_SAVE(I)-1D0) .LT. 1D-12) THEN |
3323 | +C WRITE (*,*) 'FOUND IDENTICAL',T,IHEL,T_SAVE(I),I |
3324 | + T_IDENT(IHEL) = I |
3325 | + ENDIF |
3326 | + ENDDO |
3327 | + ELSE |
3328 | + IF (T_IDENT(IHEL).GT.0) THEN |
3329 | +C if two helicity states are identical, dont recompute |
3330 | + T=T_SAVE(T_IDENT(IHEL)) |
3331 | + T_SAVE(IHEL)=T |
3332 | + ELSE |
3333 | + T=MATRIX_1(P ,NHEL(1,IHEL)) |
3334 | + T_SAVE(IHEL)=T |
3335 | + ENDIF |
3336 | + ENDIF |
3337 | +C add to the sum of helicities |
3338 | + ANS=ANS+T |
3339 | + IF (T .NE. 0D0 .AND. .NOT. GOODHEL(IHEL)) THEN |
3340 | + GOODHEL(IHEL)=.TRUE. |
3341 | + ENDIF |
3342 | + ENDIF |
3343 | + ENDDO |
3344 | + ANS=ANS/DBLE(IDEN) |
3345 | + END |
3346 | + |
3347 | + |
3348 | + REAL*8 FUNCTION MATRIX_1(P,NHEL) |
3349 | +C |
3350 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
3351 | +C By the MadGraph5_aMC@NLO Development Team |
3352 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
3353 | +C |
3354 | +C Returns amplitude squared summed/avg over colors |
3355 | +C for the point with external lines W(0:6,NEXTERNAL) |
3356 | +C |
3357 | +C Process: t > b u d~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3358 | +C Process: t > b c s~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3359 | +C |
3360 | + IMPLICIT NONE |
3361 | +C |
3362 | +C CONSTANTS |
3363 | +C |
3364 | + INTEGER NGRAPHS |
3365 | + PARAMETER (NGRAPHS=4) |
3366 | + INTEGER NWAVEFUNCS, NCOLOR |
3367 | + PARAMETER (NWAVEFUNCS=7, NCOLOR=2) |
3368 | + REAL*8 ZERO |
3369 | + PARAMETER (ZERO=0D0) |
3370 | + COMPLEX*16 IMAG1 |
3371 | + PARAMETER (IMAG1=(0D0,1D0)) |
3372 | + INCLUDE 'nexternal.inc' |
3373 | + INCLUDE 'coupl.inc' |
3374 | +C |
3375 | +C ARGUMENTS |
3376 | +C |
3377 | + REAL*8 P(0:3,NEXTERNAL) |
3378 | + INTEGER NHEL(NEXTERNAL) |
3379 | +C |
3380 | +C LOCAL VARIABLES |
3381 | +C |
3382 | + INTEGER I,J |
3383 | + INTEGER IC(NEXTERNAL) |
3384 | + DATA IC /NEXTERNAL*1/ |
3385 | + REAL*8 DENOM(NCOLOR), CF(NCOLOR,NCOLOR) |
3386 | + COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR), W(8,NWAVEFUNCS) |
3387 | +C |
3388 | +C COLOR DATA |
3389 | +C |
3390 | + DATA DENOM(1)/1/ |
3391 | + DATA (CF(I, 1),I= 1, 2) / 12, 0/ |
3392 | +C 1 T(2,1) T(5,3,4) |
3393 | + DATA DENOM(2)/1/ |
3394 | + DATA (CF(I, 2),I= 1, 2) / 0, 12/ |
3395 | +C 1 T(3,4) T(5,2,1) |
3396 | +C ---------- |
3397 | +C BEGIN CODE |
3398 | +C ---------- |
3399 | + CALL IXXXXX(P(0,1),MDL_MT,NHEL(1),+1*IC(1),W(1,1)) |
3400 | + CALL OXXXXX(P(0,2),MDL_MB,NHEL(2),+1*IC(2),W(1,2)) |
3401 | + CALL OXXXXX(P(0,3),ZERO,NHEL(3),+1*IC(3),W(1,3)) |
3402 | + CALL IXXXXX(P(0,4),ZERO,NHEL(4),-1*IC(4),W(1,4)) |
3403 | + CALL VXXXXX(P(0,5),ZERO,NHEL(5),+1*IC(5),W(1,5)) |
3404 | + CALL FFV1_1(W(1,2),W(1,5),GC_11,MDL_MB,ZERO,W(1,6)) |
3405 | + CALL FFV2_3(W(1,4),W(1,3),GC_100,MDL_MW,MDL_WW,W(1,7)) |
3406 | +C Amplitude(s) for diagram number 1 |
3407 | + CALL FFV2_0(W(1,1),W(1,6),W(1,7),GC_100,AMP(1)) |
3408 | + CALL FFV2_1(W(1,2),W(1,7),GC_100,MDL_MT,MDL_WT,W(1,6)) |
3409 | +C Amplitude(s) for diagram number 2 |
3410 | + CALL FFV1_0(W(1,1),W(1,6),W(1,5),GC_11,AMP(2)) |
3411 | + CALL FFV1_1(W(1,3),W(1,5),GC_11,ZERO,ZERO,W(1,6)) |
3412 | + CALL FFV2_3(W(1,4),W(1,6),GC_100,MDL_MW,MDL_WW,W(1,7)) |
3413 | +C Amplitude(s) for diagram number 3 |
3414 | + CALL FFV2_0(W(1,1),W(1,2),W(1,7),GC_100,AMP(3)) |
3415 | + CALL FFV1_2(W(1,4),W(1,5),GC_11,ZERO,ZERO,W(1,7)) |
3416 | + CALL FFV2_3(W(1,7),W(1,3),GC_100,MDL_MW,MDL_WW,W(1,5)) |
3417 | +C Amplitude(s) for diagram number 4 |
3418 | + CALL FFV2_0(W(1,1),W(1,2),W(1,5),GC_100,AMP(4)) |
3419 | + JAMP(1)=-AMP(3)-AMP(4) |
3420 | + JAMP(2)=-AMP(1)-AMP(2) |
3421 | + MATRIX_1 = 0.D0 |
3422 | + DO I = 1, NCOLOR |
3423 | + ZTEMP = (0.D0,0.D0) |
3424 | + DO J = 1, NCOLOR |
3425 | + ZTEMP = ZTEMP + CF(J,I)*JAMP(J) |
3426 | + ENDDO |
3427 | + MATRIX_1 = MATRIX_1+ZTEMP*DCONJG(JAMP(I))/DENOM(I) |
3428 | + ENDDO |
3429 | + END |
3430 | + |
3431 | |
3432 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nFKSconfigs.inc' |
3433 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nFKSconfigs.inc 1970-01-01 00:00:00 +0000 |
3434 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nFKSconfigs.inc 2015-10-20 10:56:39 +0000 |
3435 | @@ -0,0 +1,4 @@ |
3436 | + INTEGER FKS_CONFIGS |
3437 | + PARAMETER (FKS_CONFIGS=3) |
3438 | + |
3439 | + |
3440 | |
3441 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ncombs.inc' |
3442 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ncombs.inc 1970-01-01 00:00:00 +0000 |
3443 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ncombs.inc 2015-10-20 10:56:39 +0000 |
3444 | @@ -0,0 +1,2 @@ |
3445 | + INTEGER N_MAX_CL |
3446 | + PARAMETER (N_MAX_CL=32) |
3447 | |
3448 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nexternal.inc' |
3449 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nexternal.inc 1970-01-01 00:00:00 +0000 |
3450 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%nexternal.inc 2015-10-20 10:56:39 +0000 |
3451 | @@ -0,0 +1,4 @@ |
3452 | + INTEGER NEXTERNAL |
3453 | + PARAMETER (NEXTERNAL=5) |
3454 | + INTEGER NINCOMING |
3455 | + PARAMETER (NINCOMING=1) |
3456 | |
3457 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ngraphs.inc' |
3458 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ngraphs.inc 1970-01-01 00:00:00 +0000 |
3459 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%ngraphs.inc 2015-10-20 10:56:39 +0000 |
3460 | @@ -0,0 +1,2 @@ |
3461 | + INTEGER N_MAX_CG |
3462 | + PARAMETER (N_MAX_CG=4) |
3463 | |
3464 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_1.f' |
3465 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_1.f 1970-01-01 00:00:00 +0000 |
3466 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_1.f 2015-10-20 10:56:39 +0000 |
3467 | @@ -0,0 +1,98 @@ |
3468 | + SUBROUTINE DLUM_1(LUM) |
3469 | +C **************************************************** |
3470 | +C |
3471 | +C Generated by MadGraph5_aMC@NLO v. %(version)s, %(date)s |
3472 | +C By the MadGraph5_aMC@NLO Development Team |
3473 | +C Visit launchpad.net/madgraph5 and amcatnlo.web.cern.ch |
3474 | +C RETURNS PARTON LUMINOSITIES FOR MADFKS |
3475 | +C |
3476 | +C |
3477 | +C Process: t > b u d~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3478 | +C Process: t > b c s~ g WEIGHTED=5 QED=2 [ real = QCD ] |
3479 | +C |
3480 | +C **************************************************** |
3481 | +C |
3482 | + IMPLICIT NONE |
3483 | +C |
3484 | +C CONSTANTS |
3485 | +C |
3486 | +C |
3487 | + INCLUDE 'genps.inc' |
3488 | + INCLUDE 'nexternal.inc' |
3489 | + DOUBLE PRECISION CONV |
3490 | + PARAMETER (CONV=389379660D0) !CONV TO PICOBARNS |
3491 | +C |
3492 | +C ARGUMENTS |
3493 | +C |
3494 | +C |
3495 | + DOUBLE PRECISION PP(0:3,NEXTERNAL), LUM |
3496 | +C |
3497 | +C LOCAL VARIABLES |
3498 | +C |
3499 | +C |
3500 | + INTEGER I, ICROSS,ITYPE,LP |
3501 | + DOUBLE PRECISION P1(0:3,NEXTERNAL) |
3502 | + |
3503 | + DOUBLE PRECISION XPQ(-7:7) |
3504 | +C |
3505 | +C EXTERNAL FUNCTIONS |
3506 | +C |
3507 | +C |
3508 | + DOUBLE PRECISION ALPHAS2,REWGT,PDG2PDF |
3509 | +C |
3510 | +C GLOBAL VARIABLES |
3511 | +C |
3512 | +C |
3513 | + INTEGER IPROC |
3514 | + DOUBLE PRECISION PD(0:MAXPROC) |
3515 | + COMMON /SUBPROC/ PD, IPROC |
3516 | + INCLUDE 'coupl.inc' |
3517 | + INCLUDE 'run.inc' |
3518 | + INTEGER IMIRROR |
3519 | + COMMON/CMIRROR/IMIRROR |
3520 | +C |
3521 | +C DATA |
3522 | +C |
3523 | +C |
3524 | + |
3525 | + DATA ICROSS/1/ |
3526 | +C ---------- |
3527 | +C |
3528 | +C BEGIN CODE |
3529 | +C |
3530 | +C ---------- |
3531 | +C |
3532 | + LUM = 0D0 |
3533 | + IF (IMIRROR.EQ.2) THEN |
3534 | + PD(0) = 0D0 |
3535 | + IPROC = 0 |
3536 | + IPROC=IPROC+1 ! t > b u d~ g |
3537 | + PD(IPROC) = 1D0 |
3538 | + |
3539 | + PD(0)=PD(0)+PD(IPROC) |
3540 | + IPROC=IPROC+1 ! t > b c s~ g |
3541 | + PD(IPROC) = 1D0 |
3542 | + |
3543 | + PD(0)=PD(0)+PD(IPROC) |
3544 | + ELSE |
3545 | + PD(0) = 0D0 |
3546 | + IPROC = 0 |
3547 | + IPROC=IPROC+1 ! t > b u d~ g |
3548 | + PD(IPROC) = 1D0 |
3549 | + |
3550 | + PD(0)=PD(0)+PD(IPROC) |
3551 | + IPROC=IPROC+1 ! t > b c s~ g |
3552 | + PD(IPROC) = 1D0 |
3553 | + |
3554 | + PD(0)=PD(0)+PD(IPROC) |
3555 | + ENDIF |
3556 | + DO I=1,IPROC |
3557 | + IF (NINCOMING.EQ.2) THEN |
3558 | + LUM = LUM + PD(I) * CONV |
3559 | + ELSE |
3560 | + LUM = LUM + PD(I) |
3561 | + ENDIF |
3562 | + ENDDO |
3563 | + RETURN |
3564 | + END |
3565 | + |
3566 | |
3567 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_chooser.f' |
3568 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_chooser.f 1970-01-01 00:00:00 +0000 |
3569 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_chooser.f 2015-10-20 10:56:39 +0000 |
3570 | @@ -0,0 +1,21 @@ |
3571 | + DOUBLE PRECISION FUNCTION DLUM() |
3572 | + IMPLICIT NONE |
3573 | + INCLUDE 'timing_variables.inc' |
3574 | + INTEGER NFKSPROCESS |
3575 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
3576 | + CALL CPU_TIME(TBEFORE) |
3577 | + IF (NFKSPROCESS.EQ.1) THEN |
3578 | + CALL DLUM_1(DLUM) |
3579 | + ELSEIF (NFKSPROCESS.EQ.2) THEN |
3580 | + CALL DLUM_1(DLUM) |
3581 | + ELSEIF (NFKSPROCESS.EQ.3) THEN |
3582 | + CALL DLUM_1(DLUM) |
3583 | + ELSE |
3584 | + WRITE(*,*) 'ERROR: invalid n in dlum :', NFKSPROCESS |
3585 | + STOP |
3586 | + ENDIF |
3587 | + CALL CPU_TIME(TAFTER) |
3588 | + TPDF = TPDF + (TAFTER-TBEFORE) |
3589 | + RETURN |
3590 | + END |
3591 | + |
3592 | |
3593 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%pmass.inc' |
3594 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%pmass.inc 1970-01-01 00:00:00 +0000 |
3595 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%pmass.inc 2015-10-20 10:56:39 +0000 |
3596 | @@ -0,0 +1,5 @@ |
3597 | + PMASS(1)=ABS(MDL_MT) |
3598 | + PMASS(2)=ABS(MDL_MB) |
3599 | + PMASS(3)=ZERO |
3600 | + PMASS(4)=ZERO |
3601 | + PMASS(5)=ZERO |
3602 | |
3603 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_from_born_configs.inc' |
3604 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_from_born_configs.inc 1970-01-01 00:00:00 +0000 |
3605 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_from_born_configs.inc 2015-10-20 10:56:39 +0000 |
3606 | @@ -0,0 +1,5 @@ |
3607 | + INTEGER IRFBC |
3608 | + INTEGER REAL_FROM_BORN_CONF(1,3) |
3609 | + DATA (REAL_FROM_BORN_CONF(IRFBC,1),IRFBC=1,1) /1/ |
3610 | + DATA (REAL_FROM_BORN_CONF(IRFBC,2),IRFBC=1,1) /3/ |
3611 | + DATA (REAL_FROM_BORN_CONF(IRFBC,3),IRFBC=1,1) /4/ |
3612 | |
3613 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_me_chooser.f' |
3614 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_me_chooser.f 1970-01-01 00:00:00 +0000 |
3615 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%real_me_chooser.f 2015-10-20 10:56:39 +0000 |
3616 | @@ -0,0 +1,20 @@ |
3617 | + SUBROUTINE SMATRIX_REAL(P, WGT) |
3618 | + IMPLICIT NONE |
3619 | + INCLUDE 'nexternal.inc' |
3620 | + DOUBLE PRECISION P(0:3, NEXTERNAL) |
3621 | + DOUBLE PRECISION WGT |
3622 | + INTEGER NFKSPROCESS |
3623 | + COMMON/C_NFKSPROCESS/NFKSPROCESS |
3624 | + IF (NFKSPROCESS.EQ.1) THEN |
3625 | + CALL SMATRIX_1(P, WGT) |
3626 | + ELSEIF (NFKSPROCESS.EQ.2) THEN |
3627 | + CALL SMATRIX_1(P, WGT) |
3628 | + ELSEIF (NFKSPROCESS.EQ.3) THEN |
3629 | + CALL SMATRIX_1(P, WGT) |
3630 | + ELSE |
3631 | + WRITE(*,*) 'ERROR: invalid n in real_matrix :', NFKSPROCESS |
3632 | + STOP |
3633 | + ENDIF |
3634 | + RETURN |
3635 | + END |
3636 | + |
3637 | |
3638 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf.f' |
3639 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf.f 1970-01-01 00:00:00 +0000 |
3640 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf.f 2015-10-20 10:56:39 +0000 |
3641 | @@ -0,0 +1,45 @@ |
3642 | + SUBROUTINE SBORN_SF(P_BORN,M,N,WGT) |
3643 | + IMPLICIT NONE |
3644 | + INCLUDE 'nexternal.inc' |
3645 | + DOUBLE PRECISION P_BORN(0:3,NEXTERNAL-1),WGT |
3646 | + DOUBLE COMPLEX WGT1(2) |
3647 | + INTEGER M,N |
3648 | + |
3649 | +C b_sf_001 links partons 1 and 1 |
3650 | + IF (M.EQ.1 .AND. N.EQ.1) THEN |
3651 | + CALL SB_SF_001(P_BORN,WGT) |
3652 | + |
3653 | +C b_sf_002 links partons 1 and 2 |
3654 | + ELSEIF ((M.EQ.1 .AND. N.EQ.2).OR.(M.EQ.2 .AND. N.EQ.1)) THEN |
3655 | + CALL SB_SF_002(P_BORN,WGT) |
3656 | + |
3657 | +C b_sf_003 links partons 1 and 3 |
3658 | + ELSEIF ((M.EQ.1 .AND. N.EQ.3).OR.(M.EQ.3 .AND. N.EQ.1)) THEN |
3659 | + CALL SB_SF_003(P_BORN,WGT) |
3660 | + |
3661 | +C b_sf_004 links partons 1 and 4 |
3662 | + ELSEIF ((M.EQ.1 .AND. N.EQ.4).OR.(M.EQ.4 .AND. N.EQ.1)) THEN |
3663 | + CALL SB_SF_004(P_BORN,WGT) |
3664 | + |
3665 | +C b_sf_005 links partons 2 and 2 |
3666 | + ELSEIF (M.EQ.2 .AND. N.EQ.2) THEN |
3667 | + CALL SB_SF_005(P_BORN,WGT) |
3668 | + |
3669 | +C b_sf_006 links partons 2 and 3 |
3670 | + ELSEIF ((M.EQ.2 .AND. N.EQ.3).OR.(M.EQ.3 .AND. N.EQ.2)) THEN |
3671 | + CALL SB_SF_006(P_BORN,WGT) |
3672 | + |
3673 | +C b_sf_007 links partons 2 and 4 |
3674 | + ELSEIF ((M.EQ.2 .AND. N.EQ.4).OR.(M.EQ.4 .AND. N.EQ.2)) THEN |
3675 | + CALL SB_SF_007(P_BORN,WGT) |
3676 | + |
3677 | +C b_sf_008 links partons 3 and 4 |
3678 | + ELSEIF ((M.EQ.3 .AND. N.EQ.4).OR.(M.EQ.4 .AND. N.EQ.3)) THEN |
3679 | + CALL SB_SF_008(P_BORN,WGT) |
3680 | + |
3681 | + ELSE |
3682 | + WGT = 0D0 |
3683 | + ENDIF |
3684 | + |
3685 | + RETURN |
3686 | + END |
3687 | |
3688 | === added file 'tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf_dum.f' |
3689 | --- tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf_dum.f 1970-01-01 00:00:00 +0000 |
3690 | +++ tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%sborn_sf_dum.f 2015-10-20 10:56:39 +0000 |
3691 | @@ -0,0 +1,13 @@ |
3692 | + SUBROUTINE SBORN_SF(P_BORN,M,N,WGT) |
3693 | + IMPLICIT NONE |
3694 | + INCLUDE 'nexternal.inc' |
3695 | + DOUBLE PRECISION P_BORN(0:3,NEXTERNAL-1),WGT |
3696 | + DOUBLE COMPLEX WGT1(2) |
3697 | + INTEGER M,N |
3698 | + |
3699 | +C This is a dummy function because |
3700 | +C this subdir has no soft singularities |
3701 | + WGT = 0D0 |
3702 | + |
3703 | + RETURN |
3704 | + END |
3705 | |
3706 | === modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc' |
3707 | --- tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3708 | +++ tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3709 | @@ -9,6 +9,8 @@ |
3710 | DOUBLE COMPLEX REGLOGM |
3711 | DOUBLE COMPLEX RECMS |
3712 | DOUBLE COMPLEX ARG |
3713 | + |
3714 | + |
3715 | COMPLEX*32 MP_COND |
3716 | COMPLEX*32 MP_CONDIF |
3717 | COMPLEX*32 MP_REGLOG |
3718 | @@ -16,3 +18,5 @@ |
3719 | COMPLEX*32 MP_REGLOGM |
3720 | COMPLEX*32 MP_RECMS |
3721 | COMPLEX*32 MP_ARG |
3722 | + |
3723 | + |
3724 | |
3725 | === modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc' |
3726 | --- tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3727 | +++ tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3728 | @@ -9,6 +9,8 @@ |
3729 | DOUBLE COMPLEX REGLOGM |
3730 | DOUBLE COMPLEX RECMS |
3731 | DOUBLE COMPLEX ARG |
3732 | + |
3733 | + |
3734 | COMPLEX*32 MP_COND |
3735 | COMPLEX*32 MP_CONDIF |
3736 | COMPLEX*32 MP_REGLOG |
3737 | @@ -16,3 +18,5 @@ |
3738 | COMPLEX*32 MP_REGLOGM |
3739 | COMPLEX*32 MP_RECMS |
3740 | COMPLEX*32 MP_ARG |
3741 | + |
3742 | + |
3743 | |
3744 | === modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc' |
3745 | --- tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3746 | +++ tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3747 | @@ -9,6 +9,8 @@ |
3748 | DOUBLE COMPLEX REGLOGM |
3749 | DOUBLE COMPLEX RECMS |
3750 | DOUBLE COMPLEX ARG |
3751 | + |
3752 | + |
3753 | COMPLEX*32 MP_COND |
3754 | COMPLEX*32 MP_CONDIF |
3755 | COMPLEX*32 MP_REGLOG |
3756 | @@ -16,3 +18,5 @@ |
3757 | COMPLEX*32 MP_REGLOGM |
3758 | COMPLEX*32 MP_RECMS |
3759 | COMPLEX*32 MP_ARG |
3760 | + |
3761 | + |
3762 | |
3763 | === modified file 'tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc' |
3764 | --- tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3765 | +++ tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3766 | @@ -9,6 +9,8 @@ |
3767 | DOUBLE COMPLEX REGLOGM |
3768 | DOUBLE COMPLEX RECMS |
3769 | DOUBLE COMPLEX ARG |
3770 | + |
3771 | + |
3772 | COMPLEX*32 MP_COND |
3773 | COMPLEX*32 MP_CONDIF |
3774 | COMPLEX*32 MP_REGLOG |
3775 | @@ -16,3 +18,5 @@ |
3776 | COMPLEX*32 MP_REGLOGM |
3777 | COMPLEX*32 MP_RECMS |
3778 | COMPLEX*32 MP_ARG |
3779 | + |
3780 | + |
3781 | |
3782 | === modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc' |
3783 | --- tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3784 | +++ tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3785 | @@ -9,6 +9,8 @@ |
3786 | DOUBLE COMPLEX REGLOGM |
3787 | DOUBLE COMPLEX RECMS |
3788 | DOUBLE COMPLEX ARG |
3789 | + |
3790 | + |
3791 | COMPLEX*32 MP_COND |
3792 | COMPLEX*32 MP_CONDIF |
3793 | COMPLEX*32 MP_REGLOG |
3794 | @@ -16,3 +18,5 @@ |
3795 | COMPLEX*32 MP_REGLOGM |
3796 | COMPLEX*32 MP_RECMS |
3797 | COMPLEX*32 MP_ARG |
3798 | + |
3799 | + |
3800 | |
3801 | === modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc' |
3802 | --- tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3803 | +++ tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3804 | @@ -9,6 +9,8 @@ |
3805 | DOUBLE COMPLEX REGLOGM |
3806 | DOUBLE COMPLEX RECMS |
3807 | DOUBLE COMPLEX ARG |
3808 | + |
3809 | + |
3810 | COMPLEX*32 MP_COND |
3811 | COMPLEX*32 MP_CONDIF |
3812 | COMPLEX*32 MP_REGLOG |
3813 | @@ -16,3 +18,5 @@ |
3814 | COMPLEX*32 MP_REGLOGM |
3815 | COMPLEX*32 MP_RECMS |
3816 | COMPLEX*32 MP_ARG |
3817 | + |
3818 | + |
3819 | |
3820 | === modified file 'tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc' |
3821 | --- tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc 2015-08-14 03:43:29 +0000 |
3822 | +++ tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc 2015-10-20 10:56:39 +0000 |
3823 | @@ -9,6 +9,8 @@ |
3824 | DOUBLE COMPLEX REGLOGM |
3825 | DOUBLE COMPLEX RECMS |
3826 | DOUBLE COMPLEX ARG |
3827 | + |
3828 | + |
3829 | COMPLEX*32 MP_COND |
3830 | COMPLEX*32 MP_CONDIF |
3831 | COMPLEX*32 MP_REGLOG |
3832 | @@ -16,3 +18,5 @@ |
3833 | COMPLEX*32 MP_REGLOGM |
3834 | COMPLEX*32 MP_RECMS |
3835 | COMPLEX*32 MP_ARG |
3836 | + |
3837 | + |
3838 | |
3839 | === modified file 'tests/unit_tests/iolibs/test_export_fks.py' |
3840 | --- tests/unit_tests/iolibs/test_export_fks.py 2015-10-01 16:00:08 +0000 |
3841 | +++ tests/unit_tests/iolibs/test_export_fks.py 2015-10-20 10:56:39 +0000 |
3842 | @@ -68,6 +68,10 @@ |
3843 | """ target: SubProcesses/[P0.*\/.+\.(inc|f)]""" |
3844 | self.generate(['p p > t t~ [real=QCD]'], 'sm') |
3845 | |
3846 | + @IOTests.createIOTest() |
3847 | + def testIO_test_tdecay_fksreal(self): |
3848 | + """ target: SubProcesses/[P0.*\/.+\.(inc|f)]""" |
3849 | + self.generate(['t > j j b [real=QCD]'], 'sm') |
3850 | |
3851 | @IOTests.createIOTest() |
3852 | def testIO_test_pptt_fks_loonly(self): |
Hi Rik,
Negate all the cut automatically is easy. I can implement that if you want to.
I do that already at LO.
Cheers,
Olivier
On 08 Oct 2015, at 19:24, Rikkert Frederix <email address hidden> wrote:
> Rikkert Frederix has proposed merging lp:~maddevelopers/mg5amcnlo/NLO_decay_process into lp:~maddevelopers/mg5amcnlo/2.3.3. /code.launchpad .net/~maddevelo pers/mg5amcnlo/ NLO_decay_ process/ +merge/ 273880 NLO/SubProcesse s/driver_ mintFO. f' NLO/SubProcesse s/driver_ mintFO. f 2015-10-02 07:00:09 +0000 NLO/SubProcesse s/driver_ mintFO. f 2015-10-08 17:23:54 +0000 nincoming) -4 buffer( 1:12).eq. 'SUM_HELICITY' ) then NLO/SubProcesse s/driver_ mintMC. f' NLO/SubProcesse s/driver_ mintMC. f 2015-09-25 14:53:36 +0000 NLO/SubProcesse s/driver_ mintMC. f 2015-10-08 17:23:54 +0000 nincoming) -4
>
> Requested reviews:
> Hua-Sheng Shao (erdissshaw)
> marco zaro (marco-zaro)
>
> For more details, see:
> https:/
>
> Allow for the computation of (partial) decay widths at NLO accuracy, e.g.,
>
> generate Z > b b~ [QCD]
>
> or
>
> import model loop_sm-no_b_mass
> generate t > e+ ve j [QCD]
>
> etc.
>
> The renormalisation (and Ellis-Sexton) scales are automatically set to the mass of the decaying particle. Cuts are not automatically set to zero, so, in general you have to negate them in the run_card by hand.
> --
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/2.3.3.
> === modified file 'Template/
> --- Template/
> +++ Template/
> @@ -170,7 +170,7 @@
> else
> flat_grid=.false.
> endif
> - ndim = 3*(nexternal-2)-4
> + ndim = 3*(nexternal-
> if (abs(lpp(1)) .ge. 1) ndim=ndim+1
> if (abs(lpp(2)) .ge. 1) ndim=ndim+1
> c Don't proceed if muF1#muF2 (we need to work out the relevant formulae
> @@ -709,9 +709,14 @@
> endif
> elseif(
> read(buffer(15:),*) i
> - if (i.eq.0) then
> - mc_hel=0
> - write (*,*) 'Explicitly summing over helicities'
> + if (nincoming.eq.1) then
> + write (*,*) 'Sum over helicities in the virtuals'/
> + $ /' for decay process'
> + mc_hel=0
> + elseif (i.eq.0) then
> + mc_hel=0
> + write (*,*) 'Explicitly summing over helicities'/
> + $ /' for the virtuals'
> else
> mc_hel=1
> write(*,*) 'Do MC over helicities for the virtuals'
>
> === modified file 'Template/
> --- Template/
> +++ Template/
> @@ -108,6 +108,11 @@
> call cpu_time(tBefore)
> fixed_order=.false.
> nlo_ps=.true.
> + if (nincoming.ne.2) then
> + write (*,*) 'Decay processes not supported for'/
> + & /' event generation'
> + stop 1
> + endif
>
> c Read general MadFKS parameters
> c
> @@ -158,7 +163,7 @@
> else
> flat_grid=.false.
> endif
> - ndim = 3*(nexternal-2)-4
> + ndim = 3*(nexternal-
> if (abs(lpp(1)) .ge. 1) ndim=ndim+1
> if (abs(lpp(2)) .ge. 1) ndim=ndim+1
> c Don''t proceed if muF1#muF2 (we need to work out the relevant formulae
> @@ -638,12 +643,17 @@
>
> write(*,10) 'Exact helicity su...