madminer-tool / madminer

Machine learning–based inference toolkit for particle physics
https://arxiv.org/abs/1907.10621
MIT License
86 stars 45 forks source link

Systematics cannot be read by MadGraph #523

Open mmenen opened 2 years ago

mmenen commented 2 years ago

Hi all,

first of all the relevant program version I use: Python 3.8.2 MadMiner 0.9.3 MadGraph 3.4.0 Pythia 8.306 Delphes 3.5.0

I am trying to create an analysis with some systematics using Delphes. If I just execute the part 1 and 2b from the tutorial_particle_physics example, everything works fine. However, when I simply add systematics to part 1 of the tutorial: miner.add_systematics("norm", norm_variation=1.1) miner.add_systematics("scale", scale="mu", scale_variations=(0.5, 1.0, 2.0)) the MadGraph Event generation doesn't work anymore.

MadMiner itself does not give me an error but when checking the run folder in mg_processes, there is only an unweighted.lhe file. Additionally, the MadGraph debug file gives the following error:

File "{mg_directory}/madgraph/various/systematics.py", line 191, in self.mur=[float(i) for i in mur] ValueError: could not convert string to float: 'b'

which seems to come from the run_card written by MadMiner, which includes the following lines:

True = use_syst ! Enable systematics studies # systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++] ['--mur=b', '0.5', '1.0', '2.0'', '', '--muf=b'0.5,1.0,2.0'', ', ', '--together=mur', 'muf', '', '--dyn=-1''] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule

So mur and muf are written to the run_card as bytes, which MadGraph apparently can't handle.

Sinclert commented 2 years ago

Hi @mmenen 👋🏻

First of all, thanks for reporting this problem.

Given the valuable information you provided, I detected several issues:

To start, could you try reproducing this error with Madminer 0.9.5 and MadGraph 2.9.X?

Sinclert commented 1 year ago

Hey @mmenen ! Did you try the setup I described?

mmenen commented 1 year ago

Hi @Sinclert, sorry for the late answer. I have updated MadMiner to version 0.9.5 but this didn't fix the issue, so I suppose it is indeed a compatibility issue with MadGraph 3.X. Installing and running MadGraph 2.9.X has worked for me but running the event generation with MadMiner lead to a compiling issue with gfortran. I will give an update once this is resolved.