Skip to content

Fix "nprocesses>1" code generation (example: uutt within pptt gives "const int denominators = 36,36;") #343

@valassi

Description

@valassi

Hi @oliviermattelaer as discussed today at the meeting I am assigning this to you.

This is a followup to #337 and to #272. The problem: code generation for pptt now succeeds (after fixing the assert in #337), however the code does not build in the uutt subdirectory, because nprocesses=2 there (#272).

I checked that the uutt standalone and the uutt within pptt differ in the following way for instance:

/data/avalassi/GPU2020/madgraph4gpuX/epochX/cudacpp> diff -r pp_tt.auto/ uu_tt.auto/
...
diff -r pp_tt.auto/SubProcesses/P1_Sigma_sm_uux_ttx/CPPProcess.cc uu_tt.auto/SubProcesses/P1_Sigma_sm_uux_ttx/CPPProcess.cc
...
502c497
<     const int denominators = 36,36; // FIXME: assume process.nprocesses == 1 for the moment (eventually denominators[nprocesses]?)
---
>     const int denominators = 36; // FIXME: assume process.nprocesses == 1 for the moment (eventually denominators[nprocesses]?)

From our discussions, I understand that this is because "uutt" within pptt is not only "uu" proper, but also some other combinations of quarks (as you mentioned today, probably it is that u+ubar to t+tbar and ubar+u to t+tbar are not exactly the same?). Anyway, what I mean is that the ggtt within pptt and the ggtt standalone instead are essentially the same code, so it is really the "uutt" part which is different.

As discussed today, this probaby comes from the base python that you developed, rather than from my plugin modifying your python. So best if you take a look. Thanks! Andrea

PS I am instead merging PR #340 that contains ONLY the fix for the assert in #337

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions