cuts on MadSpin decay products

Asked by Arian Abrahantes

Dear Experts:

With the latest MG5@NLO version I want to make the simple simulation:

generate p p > t t~ [QCD]
output myfirst -f
madspin on
launch

and by using the default Madspin card I will get final particles leptons neutrinos an b-quarks. So far so good.

Yet I need to differentiate the cuts between light jets and heavy jets (in the simulation above the one corresponding to the b-quark). As noted in my posts, I added to SubProcess/cuts.f to loop over the final state particles:

      do i=1,nexternal ! loop over final state particles
        if (istatus(i).eq.1
     & .and. abs(ipdg(i)).eq.5) then ! final particle b-quark
          if (eta(p(0,i)) .gt. 2.5) then ! etab < 2.5
            passcuts_user=.false.
            write (*,*) "ETA BBB REJECTED >>>>>"
            return
          endif
          if (pt(p(0,i)) .lt. 20.) then ! ptb > 20
            passcuts_user=.false.
            write (*,*) "PT BBB REJECTED >>>>>"
            return
          endif
        endif
      enddo

and after having it included I never see the outputs. IMhO, likely the cut is not applied to decay products. I recall there was a cut_decays param but it is not present for the NLO run_card. Is there a way to solve this for the NLO run?.

Any help is deeply appreciated. thanks in advance,

arian

Question information

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

Hi Arian,

MadSpin didn’t use cuts.f in the current version and can not apply any cut.

If you want to play with the cuts.
The best is
1) run the default MS (no cut) with the option
set ms_dir NEW_PATH

2) you need to implement the cut in the files:
$NEW_PATH/full_me/SubProcesses/P0_XXXXXXXXX/driver.f
around line 370.

If you want to modify directly the Template, this is of course possible but dangerous.
The original file is :
MadSpin/src/driver.f

Cheers,

Olivier

On Apr 4, 2014, at 6:51 PM, Arian Abrahantes <email address hidden> wrote:

> New question #246528 on MadGraph5_aMC@NLO:
> https://answers.launchpad.net/mg5amcnlo/+question/246528
>
> Dear Experts:
>
> With the latest MG5@NLO version I want to make the simple simulation:
>
> generate p p > t t~ [QCD]
> output myfirst -f
> madspin on
> launch
>
> and by using the default Madspin card I will get final particles leptons neutrinos an b-quarks. So far so good.
>
> Yet I need to differentiate the cuts between light jets and heavy jets (in the simulation above the one corresponding to the b-quark). As noted in my posts, I added to SubProcess/cuts.f to loop over the final state particles:
>
> do i=1,nexternal ! loop over final state particles
> if (istatus(i).eq.1
> & .and. abs(ipdg(i)).eq.5) then ! final particle b-quark
> if (eta(p(0,i)) .gt. 2.5) then ! etab < 2.5
> passcuts_user=.false.
> write (*,*) "ETA BBB REJECTED >>>>>"
> return
> endif
> if (pt(p(0,i)) .lt. 20.) then ! ptb > 20
> passcuts_user=.false.
> write (*,*) "PT BBB REJECTED >>>>>"
> return
> endif
> endif
> enddo
>
> and after having it included I never see the outputs. IMhO, likely the cut is not applied to decay products. I recall there was a cut_decays param but it is not present for the NLO run_card. Is there a way to solve this for the NLO run?.
>
> Any help is deeply appreciated. thanks in advance,
>
> arian
>
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Arian Abrahantes (arian-abrahantes) said :
#2

Thanks olivier. I will do as suggested. Deeply tnkful once more

Cheers

Arian

Sent from my iPod

On Apr 5, 2014, at 3:01, Olivier Mattelaer <email address hidden> wrote:

> Your question #246528 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/246528
>
> Status: Open => Answered
>
> Olivier Mattelaer proposed the following answer:
> Hi Arian,
>
> MadSpin didn’t use cuts.f in the current version and can not apply any
> cut.
>
> If you want to play with the cuts.
> The best is
> 1) run the default MS (no cut) with the option
> set ms_dir NEW_PATH
>
> 2) you need to implement the cut in the files:
> $NEW_PATH/full_me/SubProcesses/P0_XXXXXXXXX/driver.f
> around line 370.
>
> If you want to modify directly the Template, this is of course possible but dangerous.
> The original file is :
> MadSpin/src/driver.f
>
> Cheers,
>
> Olivier
>
>
>
>
> On Apr 4, 2014, at 6:51 PM, Arian Abrahantes <email address hidden> wrote:
>
>> New question #246528 on MadGraph5_aMC@NLO:
>> https://answers.launchpad.net/mg5amcnlo/+question/246528
>>
>> Dear Experts:
>>
>> With the latest MG5@NLO version I want to make the simple simulation:
>>
>> generate p p > t t~ [QCD]
>> output myfirst -f
>> madspin on
>> launch
>>
>> and by using the default Madspin card I will get final particles leptons neutrinos an b-quarks. So far so good.
>>
>> Yet I need to differentiate the cuts between light jets and heavy jets (in the simulation above the one corresponding to the b-quark). As noted in my posts, I added to SubProcess/cuts.f to loop over the final state particles:
>>
>> do i=1,nexternal ! loop over final state particles
>> if (istatus(i).eq.1
>> & .and. abs(ipdg(i)).eq.5) then ! final particle b-quark
>> if (eta(p(0,i)) .gt. 2.5) then ! etab < 2.5
>> passcuts_user=.false.
>> write (*,*) "ETA BBB REJECTED >>>>>"
>> return
>> endif
>> if (pt(p(0,i)) .lt. 20.) then ! ptb > 20
>> passcuts_user=.false.
>> write (*,*) "PT BBB REJECTED >>>>>"
>> return
>> endif
>> endif
>> enddo
>>
>> and after having it included I never see the outputs. IMhO, likely the cut is not applied to decay products. I recall there was a cut_decays param but it is not present for the NLO run_card. Is there a way to solve this for the NLO run?.
>>
>> Any help is deeply appreciated. thanks in advance,
>>
>> arian
>>
>>
>> --
>> You received this question notification because you are an answer
>> contact for MadGraph5_aMC@NLO.
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/mg5amcnlo/+question/246528/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/mg5amcnlo/+question/246528
>
> You received this question notification because you asked the question.

Revision history for this message
Arian Abrahantes (arian-abrahantes) said :
#3

Hi oilivier:

 just to get it right, these are the lines around the one you pointed

          call generate_momenta_conf(jac,x,itree,qmass,qwidth,ptrial,pprod,map_external2res)

          if (jac.lt.0d0) then
            write(*,*) nexternal, counter, maxBW, weight, counter2, 0
            do i=1,nexternal
               write (*,*) (pfull(j,i), j=0,3)
            enddo
          else
            write(*,*) nexternal, counter, maxBW, weight, counter2, 1
            do i=1,nexternal
              write (*,*) (ptrial(j,i), j=0,3)
            enddo
          endif

line 370 is the one writing "pfull". To which momenta should I have to apply the cuts: pfull or ptrial o both. I presume the plan would be

check the particle identification b-quarks and apply the cuts on eta and pt if they are not fulfill call again "generate_momenta_conf" until the cut is fulfilled.

actually after reading this a realize that I must cut on the electrons as well because they do not follow the cuts on the run_card either, right?

thanks for your suggestions,

cheers,

arian

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

Hi Arian,

> line 370 is the one writing "pfull". To which momenta should I have to apply the cuts: pfull or ptrial o both.

I think that you need to apply it on both. I have assign this question to Pierre such that he can confirm (but I think that he is in holliday for a couple of weeks).

> presume the plan would be
check the particle identification b-quarks and apply the cuts on eta and pt if they are not fulfill call again "generate_momenta_conf" until the cut is fulfilled.

Yes that should be the idea. (Just put a security to have a maximum number of try ;-) )

>actually after reading this a realize that I must cut on the electrons as well because they do not follow the cuts on the run_card either, right?

That's correct,

Cheers,

Olivier

Can you help with this problem?

Provide an answer of your own, or ask Arian Abrahantes for more information if necessary.

To post a message you must log in.