LO pythia8_card is not accepted when we supply pythia8 card directly

Bug #1708577 reported by Sung Hak Lim
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MadGraph5_aMC@NLO
Fix Released
Undecided
Valentin Hirschi

Bug Description

Dear MG5 team,

We experienced a similar problem in LO case comparing to NLO case: https://bugs.launchpad.net/mg5amcnlo/+bug/1708113

version: 2.5.4
process: p p > t t~

Here is the explanation of bug:

After generating process, at following screen:

/------------------------------------------------------------\
| 1. param : param_card.dat |
| 2. run : run_card.dat |
| 3. pythia8 : pythia8_card.dat |
| 4. madanalysis5_parton : madanalysis5_parton_card.dat |
| 5. madanalysis5_hadron : madanalysis5_hadron_card.dat |
\------------------------------------------------------------/

If we give new pythia card by
   ./pythia8_card.dat

Then mg5 crashes with following error in script mode

Command "generate_events run_01" interrupted with error:
KeyError : 'pythia8'
Please report this bug on https://bugs.launchpad.net/mg5amcnlo
More information is found in 'ME5_debug'.
Please attach this file to your report.

Also, give error in interactive mode

'pythia8'
not valid argument. Valid argument are file path or value in (0,done,1,param,2,run,3,pythia8).
please retry

The crash appears at line 5779 of common_run_interface.py

        if card_name != 'banner':
            logger.info('copy %s as %s' % (path, card_name))
            files.cp(path, self.paths[card_name.split('_',1)[0]]) <- this point
            self.reload_card(self.paths[card_name.split('_',1)[0]])

card_name.split('_',1)[0] is 'pythia8' in this case, however, self.paths contain key for pythia8 card as PY8:

    'PY8': '/home/starlight/mgoutput/pp2zhjj_new/Cards/pythia8_card.dat'

MG5 accept new pythia8 card and copy it into [PROCESS_PATH]/Cards/pythia8_card.dat when we make following hacky change:

        if card_name != 'banner':
            logger.info('copy %s as %s' % (path, card_name))
            card_key = card_name.split('_',1)[0]
            if card_key == 'pythia8':
                card_key = 'PY8'
            files.cp(path, self.paths[card_key] )
            self.reload_card( self.paths[card_key] )

However, there is still another problem. If we modify number for reserved entry in the pythia8_card, for example:

         JetMatching:nJetMax = 2

This does not reflect in PY8Card.cmd during run. i.e. [PROCESS_PATH]/Events/run_01/PY8_parallelization/split_*/PY8Card.cmd contains default parameter.

Strangely, non-reserved command updated well, for example:

        PDF:pSet=LHAPDF6:NNPDF30_nnlo_as_0118

Is reflected well in both cards.

We also tested this changes using set pythia8_card command, and the change of parameter works well in this case.

Could you check this bug if you have time?

Best wishes,
Sung Hak Lim
Amit Chakraborty

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote : Re: [Bug 1708577] [NEW] LO pythia8_card is not accepted when we supply pythia8 card directly
Download full text (6.6 KiB)

Hi,

Thanks for reporting this.

I have fix the name issue. (I have changed the keys such that it follows the same convention as the other card)

For the second, I will let Valentin handle this problem.

Cheers,

Olivier

> On 4 Aug 2017, at 06:01, Sung Hak Lim <email address hidden> wrote:
>
> Public bug reported:
>
> Dear MG5 team,
>
> We experienced a similar problem in LO case comparing to NLO case:
> https://bugs.launchpad.net/mg5amcnlo/+bug/1708113
>
> version: 2.5.4
> process: p p > t t~
>
> Here is the explanation of bug:
>
> After generating process, at following screen:
>
> /------------------------------------------------------------\
> | 1. param : param_card.dat |
> | 2. run : run_card.dat |
> | 3. pythia8 : pythia8_card.dat |
> | 4. madanalysis5_parton : madanalysis5_parton_card.dat |
> | 5. madanalysis5_hadron : madanalysis5_hadron_card.dat |
> \------------------------------------------------------------/
>
> If we give new pythia card by
> ./pythia8_card.dat
>
> Then mg5 crashes with following error in script mode
>
> Command "generate_events run_01" interrupted with error:
> KeyError : 'pythia8'
> Please report this bug on https://bugs.launchpad.net/mg5amcnlo
> More information is found in 'ME5_debug'.
> Please attach this file to your report.
>
> Also, give error in interactive mode
>
> 'pythia8'
> not valid argument. Valid argument are file path or value in (0,done,1,param,2,run,3,pythia8).
> please retry
>
> The crash appears at line 5779 of common_run_interface.py
>
> if card_name != 'banner':
> logger.info('copy %s as %s' % (path, card_name))
> files.cp(path, self.paths[card_name.split('_',1)[0]]) <- this point
> self.reload_card(self.paths[card_name.split('_',1)[0]])
>
> card_name.split('_',1)[0] is 'pythia8' in this case, however, self.paths
> contain key for pythia8 card as PY8:
>
> 'PY8': '/home/starlight/mgoutput/pp2zhjj_new/Cards/pythia8_card.dat'
>
> MG5 accept new pythia8 card and copy it into
> [PROCESS_PATH]/Cards/pythia8_card.dat when we make following hacky
> change:
>
> if card_name != 'banner':
> logger.info('copy %s as %s' % (path, card_name))
> card_key = card_name.split('_',1)[0]
> if card_key == 'pythia8':
> card_key = 'PY8'
> files.cp(path, self.paths[card_key] )
> self.reload_card( self.paths[card_key] )
>
> However, there is still another problem. If we modify number for
> reserved entry in the pythia8_card, for example:
>
> JetMatching:nJetMax = 2
>
> This does not reflect in PY8Card.cmd during run. i.e.
> [PROCESS_PATH]/Events/run_01/PY8_parallelization/split_*/PY8Card.cmd
> contains default parameter.
>
> Strangely, non-reserved command updated well, for example:
>
> PDF:pSet=LHAPDF6:NNPDF30_nnlo_as_0118
>
> Is reflected well in both cards.
>
> We also tested this changes using set pythia8_card command, and the
> change of parameter works well in this case.
>
> Could you check this bug if you have time?
>
> Best wishes,...

Read more...

Changed in mg5amcnlo:
assignee: nobody → Valentin Hirschi (valentin-hirschi)
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

By the way could you attach your pythia8 card, your run_card and proc_card?
This will help Valentin(or me) to reproduce the problem.

Thanks,

Olivier

Revision history for this message
Sung Hak Lim (sunghak-lim) wrote :

Hi Olivier and Valentin,

Here are the cards.

You can reproduce the bug by injecting this files after launch
 ./pythia8_card.dat

There are two modifications
Merging:nJetMax = 2 ! default is -1, and i just choose arbitrary reserved parameter with arbitrary number

PDF:pSet=LHAPDF6:NNPDF30_nnlo_as_0118 ! additional non-reserved parameter change

First one will not be reflected and second one will be reflected.

Best wishes,
Sung Hak

Revision history for this message
Valentin Hirschi (valentin-hirschi) wrote : Re: [Bug 1708577] Re: LO pythia8_card is not accepted when we supply pythia8 card directly
Download full text (4.4 KiB)

Hi Sung,

Can you confirm that you are indeed attempting an MLM-merged simulation
with that shower card? If not, then I believe that I automatically discard
this parameter in the generated PY8 shower card (i.e. the one in the
event/run directory) because it is ignored by Pythia8 whenever it is not
operating in the context of MLM merging.

Cheers

On Mon, Aug 7, 2017 at 12:17 PM, Sung Hak Lim <email address hidden> wrote:

> Hi Olivier and Valentin,
>
> Here are the cards.
>
> You can reproduce the bug by injecting this files after launch
> ./pythia8_card.dat
>
> There are two modifications
> Merging:nJetMax = 2 ! default is -1, and i just choose
> arbitrary reserved parameter with arbitrary number
>
> PDF:pSet=LHAPDF6:NNPDF30_nnlo_as_0118 ! additional non-reserved
> parameter change
>
> First one will not be reflected and second one will be reflected.
>
> Best wishes,
> Sung Hak
>
>
> ** Attachment added: "cards.tar.gz"
> https://bugs.launchpad.net/mg5amcnlo/+bug/1708577/+
> attachment/4928323/+files/cards.tar.gz
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1708577
>
> Title:
> LO pythia8_card is not accepted when we supply pythia8 card directly
>
> Status in MadGraph5_aMC@NLO:
> New
>
> Bug description:
> Dear MG5 team,
>
> We experienced a similar problem in LO case comparing to NLO case:
> https://bugs.launchpad.net/mg5amcnlo/+bug/1708113
>
> version: 2.5.4
> process: p p > t t~
>
> Here is the explanation of bug:
>
> After generating process, at following screen:
>
> /------------------------------------------------------------\
> | 1. param : param_card.dat |
> | 2. run : run_card.dat |
> | 3. pythia8 : pythia8_card.dat |
> | 4. madanalysis5_parton : madanalysis5_parton_card.dat |
> | 5. madanalysis5_hadron : madanalysis5_hadron_card.dat |
> \------------------------------------------------------------/
>
> If we give new pythia card by
> ./pythia8_card.dat
>
> Then mg5 crashes with following error in script mode
>
> Command "generate_events run_01" interrupted with error:
> KeyError : 'pythia8'
> Please report this bug on https://bugs.launchpad.net/mg5amcnlo
> More information is found in 'ME5_debug'.
> Please attach this file to your report.
>
> Also, give error in interactive mode
>
> 'pythia8'
> not valid argument. Valid argument are file path or value in
> (0,done,1,param,2,run,3,pythia8).
> please retry
>
> The crash appears at line 5779 of common_run_interface.py
>
> if card_name != 'banner':
> logger.info('copy %s as %s' % (path, card_name))
> files.cp(path, self.paths[card_name.split('_',1)[0]])
> <- this point
> self.reload_card(self.paths[card_name.split('_',1)[0]])
>
> card_name.split('_',1)[0] is 'pythia8' in this case, however,
> self.paths contain key for pythia8 card as PY8:
>
> 'PY8':
> '/home/starlight/mgoutput/pp2zhjj_new/Cards/pythia8_card.dat'
>
> MG5 accept new pythia8 card and copy it into
> [PRO...

Read more...

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :
Download full text (7.7 KiB)

Hi Valentin,

If you look at the run_card, indeed MLM is OFF:

#*********************************************************************
# Matching parameter (MLM only)
#*********************************************************************
  0 = ickkw ! 0 no matching, 1 MLM

So that should be it.

Thanks,

Olivier

On 7 Aug 2017, at 17:01, Valentin Hirschi <<email address hidden><mailto:<email address hidden>>> wrote:

Hi Sung,

Can you confirm that you are indeed attempting an MLM-merged simulation
with that shower card? If not, then I believe that I automatically discard
this parameter in the generated PY8 shower card (i.e. the one in the
event/run directory) because it is ignored by Pythia8 whenever it is not
operating in the context of MLM merging.

Cheers

On Mon, Aug 7, 2017 at 12:17 PM, Sung Hak Lim <<email address hidden><mailto:<email address hidden>>>
wrote:

Hi Olivier and Valentin,

Here are the cards.

You can reproduce the bug by injecting this files after launch
./pythia8_card.dat

There are two modifications
Merging:nJetMax = 2 ! default is -1, and i just choose
arbitrary reserved parameter with arbitrary number

PDF:pSet=LHAPDF6:NNPDF30_nnlo_as_0118 ! additional non-reserved
parameter change

First one will not be reflected and second one will be reflected.

Best wishes,
Sung Hak

** Attachment added: "cards.tar.gz"
  https://bugs.launchpad.net/mg5amcnlo/+bug/1708577/+
attachment/4928323/+files/cards.tar.gz

--
You received this bug notification because you are a bug assignee.
https://bugs.launchpad.net/bugs/1708577

Title:
 LO pythia8_card is not accepted when we supply pythia8 card directly

Status in MadGraph5_aMC@NLO:
 New

Bug description:
 Dear MG5 team,

 We experienced a similar problem in LO case comparing to NLO case:
 https://bugs.launchpad.net/mg5amcnlo/+bug/1708113

 version: 2.5.4
 process: p p > t t~

 Here is the explanation of bug:

 After generating process, at following screen:

 /------------------------------------------------------------\
 | 1. param : param_card.dat |
 | 2. run : run_card.dat |
 | 3. pythia8 : pythia8_card.dat |
 | 4. madanalysis5_parton : madanalysis5_parton_card.dat |
 | 5. madanalysis5_hadron : madanalysis5_hadron_card.dat |
 \------------------------------------------------------------/

 If we give new pythia card by
    ./pythia8_card.dat

 Then mg5 crashes with following error in script mode

 Command "generate_events run_01" interrupted with error:
 KeyError : 'pythia8'
 Please report this bug on https://bugs.launchpad.net/mg5amcnlo
 More information is found in 'ME5_debug'.
 Please attach this file to your report.

 Also, give error in interactive mode

 'pythia8'
 not valid argument. Valid argument are file path or value in
(0,done,1,param,2,run,3,pythia8).
 please retry

 The crash appears at line 5779 of common_run_interface.py

         if card_name != 'banner':
             logger.info<http://logger.info/>('copy %s as %s' % (path, card_name))
             files.cp(path, self.paths[card_name.split('_',1)[0]])
<- this point
             self.reload_ca...

Read more...

Changed in mg5amcnlo:
status: New → Fix Committed
Revision history for this message
Sung Hak Lim (sunghak-lim) wrote :

Hi Olivier and Valentin,

Oh I see. MG5 does not import irrelevant parameters in pythia8 card. Then this behavior is just normal.

Thanks for the clarification!

Best wishes,
Sung Hak

Changed in mg5amcnlo:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.