How to use the C++ output

Asked by Simona Salvini

Hello,
I am writing a C++ code in order to compute a differential cross section.
First I generated my process and saved the output in standalone_cpp mode.
Then I modified the file check_sa.cpp so that now it can compute an arbitrary function of each squared matrix.
Now I need to consider the subprocesses all together and weight them by means of the proper pdf but I do not know how to do it.
Do you have any suggestions, please? My only idea is to evaluate my cross section for each subprocess and then sum the results "by hand". Therefore I tried to implement the lhapdf libraries for only one particular subprocess, but I obtained this error during the compilation
(g++ -o check check_sa.cpp CPPProcess.o -L../../lib -lmodel_sm -L/[MyPath]/lhapdf/lib/ -lLHAPDF -I/[MyPath]/lhapdf/include/ -lgfortran -pedantic -ansi -Wall):
CPPProcess.h:14:27: fatal error: Parameters_sm.h: No such file or directory compilation terminated.
But actually this file is there!

I hope I made myself clear. Thank you for any help.
Simona

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Johan Alwall
Solved:
Last query:
Last reply:
Revision history for this message
Best Johan Alwall (johan-alwall) said :
#1

Hello Simona,

That is correct, for the standalone output we only contribute the matrix elements so you need to include the PDF dependency yourself. You can also try generating the Pythia8 output if that is more convenient (but that of course uses a lot of Pythia-internal classes).

For your particular error, is it possible that the present directory is not included in the include path? I.e., you might need to add
-I.
in your compilation line.

All the best,
Johan

Revision history for this message
Simona Salvini (simona-salvini) said :
#2

Thanks Johan Alwall, that solved my question.

Revision history for this message
Simona Salvini (simona-salvini) said :
#3

Indeed I wrote my makefile not properly. Thank you again.