bad pdg code assigned for a particle in the current process

Asked by Antony Martini

Dear MG team,

Trying to run " u g > gld gld j j $ ..." where gld is a gravitino, we get a strange error in some logs: "Error: No color given for PDG 12" although "PDG 12" is a neutrino which doesn't appear in our processes at all ! Maybe there is a assignement problem with the gravitino pdg code, I don't know... This error appears in the get_color.f file but where in MG this wrong pdg code '12' could be assigned?

Best regards,

Antony M.

Question information

Language:
English Edit question
Status:
Answered
For:
MadGraph5_aMC@NLO Edit question
Assignee:
FabioMaltoni Edit question
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Hi Antonny,

Could you give more details on how reproduce the problem.
In particular which process/ model you are using, did you use standard run_card/...
Which version of the code are you using?

Cheers,

Olivier

Revision history for this message
Antony Martini (a-martini03) said :
#2

Hi Olivier,

Actually, we found the issue for this problem. it seems related to MG5_aMC@NLO v2.1.1 (seems not appearing in 2.1.0). We use a model of supergravity where we we focus on the superpartner of the graviton: the gravitino.
Our model contains also the sgoldstino, which is a scalar colorless particle.

We try to generate events including two jets e.g. u g > gld gld j j where gld is the gravitino.
The sgoldstino appears in some diagrams as s-channel particle (it couples to two gluons, or to two gravitinos).

The pdg code error seems related to the reweight.f file, in the definition of the 'ipartupdate' subroutine. See this part of code (lines 289-310) :

 c gluon -> quark anti-quark: use both, but take hardest as 1
        if(p(1,ipart(1,ida1))**2+p(2,ipart(1,ida1))**2.gt.
     $ p(1,ipart(1,ida2))**2+p(2,ipart(1,ida2))**2) then
          ipart(1,imo)=ipart(1,ida1)
          ipart(2,imo)=ipart(1,ida2)
        else
          ipart(1,imo)=ipart(1,ida2)
          ipart(2,imo)=ipart(1,ida1)
        endif
      else if(idmo.eq.21.and.(idda1.eq.21.or.idda2.eq.21))then
         if(idda1.eq.21) then
            iddgluon = idda1
            idgluon = ida1
            iddother = idda2
            idother = ida2
! write(*,*) 'idgluon=ida1=',ida1
! write(*,*) ‘iddgluon=ipdg(ida1)=',ipdg(ida1)
! write(*,*) 'idother=ida2=',ida2
! write(*,*) ‘iddother=ipdg(ida2)=',ipdg(ida2)
         else
            iddgluon = idda2
            iddother = idda1
            idgluon = ida2
            idother = ida1
! write(*,*) 'idgluon=ida2=',ida2
! write(*,*) ‘iddgluon=ipdg(ida2)=',ipdg(ida2)
! write(*,*) 'idother=ida1=',ida1
! write(*,*) ‘iddother=ipdg(ida1)=',ipdg(ida1)
         endif

         if (isqcd(iddother))then !TINA
! if (isqcd(idother))then

Is it possible that the 'idother' variable should be replaced by the 'iddother' one in the last line:'if (isqcd(idother))then’?

By printing out some variables (see code above) we remarked that the pdg code 12 (for the neutrino) that we got, came from the idother variable (which we are not sure what it is). It is assigned to the sgoldstino and then used in the function get_color.f .
Since we do not have a neutrino in our process, there is no color defined for pdg code 12 (neutrino), that is why we got the error.

By replacing idother by iddother in the last line, the correct pdg code is used by sqcd for the sgoldstino, and the error message vanishes.

cheers,

Antony

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#3

Thanks a lot Antony,

You are right, this should be idd and not id.

Just for your information, id is the clustering identification of the particle.
To understand what it is you should write 12 in binary = 1100
which means that this particle is the merging of particle 3 and 4.

Thanks so much,

Olivier

On Jun 23, 2014, at 1:17 PM, Antony Martini <email address hidden> wrote:

> Question #250311 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/250311
>
> Antony Martini posted a new comment:
> Hi Olivier,
>
> Actually, we found the issue for this problem. it seems related to MG5_aMC@NLO v2.1.1 (seems not appearing in 2.1.0). We use a model of supergravity where we we focus on the superpartner of the graviton: the gravitino.
> Our model contains also the sgoldstino, which is a scalar colorless particle.
>
> We try to generate events including two jets e.g. u g > gld gld j j where gld is the gravitino.
> The sgoldstino appears in some diagrams as s-channel particle (it couples to two gluons, or to two gravitinos).
>
> The pdg code error seems related to the reweight.f file, in the
> definition of the 'ipartupdate' subroutine. See this part of code (lines
> 289-310) :
>
> c gluon -> quark anti-quark: use both, but take hardest as 1
> if(p(1,ipart(1,ida1))**2+p(2,ipart(1,ida1))**2.gt.
> $ p(1,ipart(1,ida2))**2+p(2,ipart(1,ida2))**2) then
> ipart(1,imo)=ipart(1,ida1)
> ipart(2,imo)=ipart(1,ida2)
> else
> ipart(1,imo)=ipart(1,ida2)
> ipart(2,imo)=ipart(1,ida1)
> endif
> else if(idmo.eq.21.and.(idda1.eq.21.or.idda2.eq.21))then
> if(idda1.eq.21) then
> iddgluon = idda1
> idgluon = ida1
> iddother = idda2
> idother = ida2
> ! write(*,*) 'idgluon=ida1=',ida1
> ! write(*,*) ‘iddgluon=ipdg(ida1)=',ipdg(ida1)
> ! write(*,*) 'idother=ida2=',ida2
> ! write(*,*) ‘iddother=ipdg(ida2)=',ipdg(ida2)
> else
> iddgluon = idda2
> iddother = idda1
> idgluon = ida2
> idother = ida1
> ! write(*,*) 'idgluon=ida2=',ida2
> ! write(*,*) ‘iddgluon=ipdg(ida2)=',ipdg(ida2)
> ! write(*,*) 'idother=ida1=',ida1
> ! write(*,*) ‘iddother=ipdg(ida1)=',ipdg(ida1)
> endif
>
> if (isqcd(iddother))then !TINA
> ! if (isqcd(idother))then
>
> Is it possible that the 'idother' variable should be replaced by the
> 'iddother' one in the last line:'if (isqcd(idother))then’?
>
> By printing out some variables (see code above) we remarked that the pdg code 12 (for the neutrino) that we got, came from the idother variable (which we are not sure what it is). It is assigned to the sgoldstino and then used in the function get_color.f .
> Since we do not have a neutrino in our process, there is no color defined for pdg code 12 (neutrino), that is why we got the error.
>
> By replacing idother by iddother in the last line, the correct pdg code
> is used by sqcd for the sgoldstino, and the error message vanishes.
>
> cheers,
>
> Antony
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Can you help with this problem?

Provide an answer of your own, or ask Antony Martini for more information if necessary.

To post a message you must log in.