Transverse Mass Cut

Asked by Özer Özdal on 2021-01-14

Dear MG5 Team,

I'm attempting to simulate p p > lep neut where lep = l+ l- and neut = ve vm ve~ vm~ by applying a generation cut on the transverse mass. You can see my attempt in SubProcesses/cuts.f below. The outcome of this block is almost correct when I read the file with MA5. However, I seldomly get some transverse mass (MtMiss) values larger than 3600 GeV. Your insights will be helpful to understand this matter. Many thanks.

c
c Transverse Mass (Added by Ozer)
c

      Pt1t2Dot = PtDot(ptemp,ptemp2)
      Pt1Mag = PtDot(ptemp,ptemp)
      Pt2Mag = PtDot(ptemp2,ptemp2)
      cosangle = Pt1t2Dot/(Pt1Mag*Pt2Mag)

      MtMiss = dsqrt( 2*(pt(ptemp(0))*pt(ptemp2(0)))*(1 - cosangle) )
      write(*,*) MtMiss
      if ((MtMiss.lt.2000d0).or.(MtMiss.gt.3600d0)) then
         if(debug) write (*,*) 'transverse mass -> fails'
         passcuts=.false.
         return
      endif

Regards,
Ozer

Question information

Language:
English Edit question
Status:
Answered
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Last query:
2021-01-15
Last reply:
2021-01-15

Hi,

I certainly not have information since I do not know
1) the definition of ptemp
2) the definition of ptemp2
3) the definition of the variable in MA5

However, I note that you are using an angle for your computation. Which might means that your computation might not be lorentz invariant. Note that the momenta in cuts.f are not in the lab frame but in the center of mass frame.

Cheers,

Olivier

> On 14 Jan 2021, at 18:45, Özer Özdal <email address hidden> wrote:
>
> New question #694993 on MadGraph5_aMC@NLO:
> https://answers.launchpad.net/mg5amcnlo/+question/694993
>
> Dear MG5 Team,
>
> I'm attempting to simulate p p > lep neut where lep = l+ l- and neut = ve vm ve~ vm~ by applying a generation cut on the transverse mass. You can see my attempt in SubProcesses/cuts.f below. The outcome of this block is almost correct when I read the file with MA5. However, I seldomly get some transverse mass (MtMiss) values larger than 3600 GeV. Your insights will be helpful to understand this matter. Many thanks.
>
> c
> c Transverse Mass (Added by Ozer)
> c
>
> Pt1t2Dot = PtDot(ptemp,ptemp2)
> Pt1Mag = PtDot(ptemp,ptemp)
> Pt2Mag = PtDot(ptemp2,ptemp2)
> cosangle = Pt1t2Dot/(Pt1Mag*Pt2Mag)
>
> MtMiss = dsqrt( 2*(pt(ptemp(0))*pt(ptemp2(0)))*(1 - cosangle) )
> write(*,*) MtMiss
> if ((MtMiss.lt.2000d0).or.(MtMiss.gt.3600d0)) then
> if(debug) write (*,*) 'transverse mass -> fails'
> passcuts=.false.
> return
> endif
>
> Regards,
> Ozer
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Özer Özdal (oozdal) said : #2

Hi,

> 1) the definition of ptemp
The momenta of the neutrino

> 2) the definition of ptemp2
The momenta of the lepton

> 3) the definition of the variable in MA5
  MALorentzVector MET = event.mc()->MET().momentum();
  double MtMiss = leptons[0]->mt_met(MET);

Or (technically the same)

  double MET_ = PHYSICS->Transverse->EventMET(event.mc());
  double MtMiss = 0;
  if ( leptons.size() == 1 ) { MtMiss = sqrt(2*leptons[0]->pt()*MET*(1-cos(leptons[0]->dphi_0_pi(event.mc()->MET())))); }

Therefore, I have to implement the boost first in cuts.f from the CoM frame to the lab frame and then define the transverse mass. Is that correct ? How can I define the boost vector in MG5 ?

Cheers,

Ozer

> Therefore, I have to implement the boost first in cuts.f from the CoM
> frame to the lab frame and then define the transverse mass. Is that
> correct ? How can I define the boost vector in MG5 ?

This is not trivial since the lab frame is not yet define in the computation.
More exactly we have two values defined for the branching ratio but we do not know which
one will be associated to the first beam and which one will be associated to the second.
So we do not know the lab frame at that stage of the computation.

The first question to check is if your computattion should be pz boost invariant or not.
If it is then check if it is with your fortran function.
If it is not, then the next question is if this is dependent of the beam direction (if not then you should be able to boost the computation to a frame where you can do such computation).

Cheers,

Olivier

> On 15 Jan 2021, at 19:35, Özer Özdal <email address hidden> wrote:
>
> Question #694993 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/694993
>
> Status: Answered => Open
>
> Özer Özdal is still having a problem:
> Hi,
>
>> 1) the definition of ptemp
> The momenta of the neutrino
>
>> 2) the definition of ptemp2
> The momenta of the lepton
>
>> 3) the definition of the variable in MA5
> MALorentzVector MET = event.mc()->MET().momentum();
> double MtMiss = leptons[0]->mt_met(MET);
>
> Or (technically the same)
>
> double MET_ = PHYSICS->Transverse->EventMET(event.mc());
> double MtMiss = 0;
> if ( leptons.size() == 1 ) { MtMiss = sqrt(2*leptons[0]->pt()*MET*(1-cos(leptons[0]->dphi_0_pi(event.mc()->MET())))); }
>
> Therefore, I have to implement the boost first in cuts.f from the CoM
> frame to the lab frame and then define the transverse mass. Is that
> correct ? How can I define the boost vector in MG5 ?
>
> Cheers,
>
> Ozer
>
> --
> 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 Özer Özdal for more information if necessary.

To post a message you must log in.