# How to define Missing Invariant Mass within madanalysis

Asked by Deepanjali Goswami on 2016-01-05

How to define Missing Invariant Mass within madanalysis?
We are using Type-III seesaw model, we want to get a distribution of Missing Invariant Mass (MIM). We do not see the inbult set of variables for the MIM in the plot card. How do we define this?

## Question information

Language:
English Edit question
Status:
Open
For:
Assignee:
Rikkert Frederix Edit question
Last query:
2016-01-21
2016-01-20
 Rikkert Frederix (frederix) said on 2016-01-05: #1

You can use the placeholders X1(p1), XY1(p1,p2), etc. to define the MIM.

Best regards,
Rikkert

 Deepanjali Goswami (g-deepanjali-j) said on 2016-01-05: #2

Can you please describe it in a more descriptive way, I am not able to define the MIM for SM neutrinos.

 Rikkert Frederix (frederix) said on 2016-01-08: #3

Assuming that your process has exactly 2 neutrinos in the final state (and that you are using LHE level plotting and not LHCO), you define the function XY1(p1,p2) to be the computation of the MIM of these particles,

XY1=sqrt( (p1(0)+p2(0))**2 - (p1(1)+p2(1))**2 - (p1(2)+p2(2))**2 - (p1(3)+p2(3))**2 )

(please double check this formula; I might have made a typo). Then, in the plot_card, add the neutrinos to a new class and specify that you want to plot XY1 for the first 2 particles in this new class, as you would do for any other plot.

Let me know if this helps.

best,
Rikkert

 Deepanjali Goswami (g-deepanjali) said on 2016-01-09: #4

Hi,

Thank you very much for your nice explanation.
I have a doubt that should I define this function of XY1 in kin_functions.f?
What about the function if I have anti neutrinos along with neutrinos in
the final state?

Regards,
Deepanjali

> Question #280514 on MadGraph5_aMC@NLO changed:
>
> Rikkert Frederix proposed the following answer:
> Assuming that your process has exactly 2 neutrinos in the final state
> (and that you are using LHE level plotting and not LHCO), you define the
> function XY1(p1,p2) to be the computation of the MIM of these particles,
>
> XY1=sqrt( (p1(0)+p2(0))**2 - (p1(1)+p2(1))**2 - (p1(2)+p2(2))**2 -
> (p1(3)+p2(3))**2 )
>
> (please double check this formula; I might have made a typo). Then, in
> the plot_card, add the neutrinos to a new class and specify that you
> want to plot XY1 for the first 2 particles in this new class, as you
> would do for any other plot.
>
> Let me know if this helps.
>
> best,
> Rikkert
>
> --
> the question.
>

 Rikkert Frederix (frederix) said on 2016-01-11: #5

Hello Deepanjali,

XY1 should be defined in kin_functions.f. The placeholder is there.

Anti-neutrinos can be treated in the same way is the neutrinos by adding them to the same class.

Best,
Rikkert

 Deepanjali Goswami (g-deepanjali) said on 2016-01-16: #6

Hi,
I defined the variable for MIM as given below in kin_function.f,

DOUBLE PRECISION FUNCTION XY1(P1,P2)
c************************************************************************
c Missing Invariant Mass of two particles.
c************************************************************************
IMPLICIT NONE
c
c Arguments
c
double precision p1(0:3),p2(0:3), dsign
c-----
c Begin Code
c-----
XY1 = sqrt((p1(0)+p2(0))**2 - (p1(1)+p2(1))**2 -
>(p1(2)+p2(2))**2 - (p1(3)+p2(3))**2)

RETURN
END
_____________________________________________________________
After compiling it in plot card , its giving error like this,

compile Source Directory
Error detected in "generate_events "
write debug file
/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/run_01_tag_1_debug.log
MadGraph5Error : A compilation Error occurs when trying to compile
/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/Source.
The compilation fails with the following output message:
gfortran -O -w -fbounds-check -fPIC -ffixed-line-length-132 -c -o
kin_functions.o kin_functions.f
gfortran -O -w -fbounds-check -fPIC -ffixed-line-length-132 -c -o
setrun.o setrun.f
cd PDF; make
cd MODEL; make
make[1]: Entering directory
`/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/Source/PDF'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to
parent make rule.
make[1]: Entering directory
`/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/Source/MODEL'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to
parent make rule.
ar cru ../../lib/libpdf.a Ctq4Fn.o Ctq5Par.o Ctq5Pdf.o Partonx5.o
Ctq6Pdf.o cteq3.o mrs98.o mrs98lo.o mrs98ht.o mrs99.o mrst2001.o
mrst2002.o jeppe02.o pdfwrap.o opendata.o pdf.o PhotonFlux.o
pdg2pdf.o NNPDFDriver.o
gfortran -O -w -fbounds-check -fPIC -ffixed-line-length-132 -c -o
rw_para.o rw_para.f
kin_functions.f:45.9:

END
1
Error: Expecting END FUNCTION statement at (1)
kin_functions.f:52.132:

1
Error: Unexpected IMPLICIT NONE statement at (1)
kin_functions.f:56.25:

double precision p1(0:3),p2(0:3), dsign
1
Error: Symbol 'p1' at (1) already has basic type of REAL
kin_functions.f:65.10:

XY1 = sqrt((p1(0)+p2(0))**2 - (p1(1)+p2(1))**2 -
1
Error: Symbol 'xy1' at (1) has no IMPLICIT type
ranlib ../../lib/libpdf.a
make[1]: Leaving directory
`/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/Source/PDF'
make: *** [kin_functions.o] Error 1
make: *** Waiting for unfinished jobs....
ar cru ../../lib/libmodel.a couplings.o lha_read.o printout.o
rw_para.o model_functions.o couplings1.o couplings2.o couplings3.o
ranlib ../../lib/libmodel.a
make[1]: Leaving directory
`/home/deepanjali/MG5_aMC_v2_3_0/check-typeiii-MIM/Source/MODEL'

Please try to fix this compilations issue and retry.
If you think that this is a bug, you can report this at
quit
INFO:

Can you please check my mistake in kin_function.f and let me know.
Thanking you very much.

Regards,
Deepanjali

>
>
> Rikkert Frederix proposed the following answer:
> Hello Deepanjali,
>
> XY1 should be defined in kin_functions.f. The placeholder is there.
>
> Anti-neutrinos can be treated in the same way is the neutrinos by adding
> them to the same class.
>
> Best,
> Rikkert
>
> --
> know that it is solved:
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
>
>

 Rikkert Frederix (frederix) said on 2016-01-18: #7

Dear Deepanjali,

The kin_function.f is a fortran77 file. You'll have to use syntax that is fortran77 compatible (including the 6 white spaces at the beginning of each line). Please look on-line for introductions to programming in fortran77.

Best,
Rikkert

 Deepanjali Goswami (g-deepanjali) said on 2016-01-20: #8

Hi,
I checked that all the lines have 6 blank white space. Still showing the
same error.

Please give me suggestions over it.

Thanking you.
Regards,
Deepanjali

> Question #280514 on MadGraph5_aMC@NLO changed:
>
>
> Rikkert Frederix proposed the following answer:
> Dear Deepanjali,
>
> The kin_function.f is a fortran77 file. You'll have to use syntax that
> is fortran77 compatible (including the 6 white spaces at the beginning
> of each line). Please look on-line for introductions to programming in
> fortran77.
>
> Best,
> Rikkert
>
> --
> the question.
>

 Olivier Mattelaer (olivier-mattelaer) said on 2016-01-20: #9

Hi,

If I'm correct it should be 7 space not 6.
including before the DOUBLE PRECISION FUNCTION XY1(P1,P2)

Otherwise this is pure computing, and it will be very difficult to help you via mail/internet (and not our role actually).
So if you still have problem, I would suggest to find a f77 expert within your collegue and/or ask your IT team for help on this.

Cheers,

Olivier

 Deepanjali Goswami (g-deepanjali) said on 2016-01-21: #10

Hi,
Thank you very much.
It solved my problem.

Regards,
Deepanjali

> Question #280514 on MadGraph5_aMC@NLO changed:
>
>
> Olivier Mattelaer proposed the following answer:
> Hi,
>
> If I'm correct it should be 7 space not 6.
> including before the DOUBLE PRECISION FUNCTION XY1(P1,P2)
>
> Otherwise this is pure computing, and it will be very difficult to help
> you via mail/internet (and not our role actually).
> So if you still have problem, I would suggest to find a f77 expert within
>
> Cheers,
>
> Olivier
>
> --