Reverse Landau function in RooFit?!


_ROOT Version: 6.13
_Platform: Centos7
_Compiler: PyRoot


Hello Everyone,
I’m new to Roofit, and I’m trying different functions to fit my mass distribution. I have a low tail on the left side of the peak which is the mirror of what happens in Landau function. How can I get the inverse of Landau function in RooFit?!

Thanks,
Sina

P.S I found the solution later on myself. First, you need to change your x values to -x using TF1 and then use the TF1 in the function. i.e :
x = RooRealVar(“x”,“m_{tt} [GeV]”,0 , 100);
fa1 = TF1(“fa1”,"-x", 0, 100);
rfa1 = RooFit.bindFunction(fa1,x);# RooAbsReal

ml = RooRealVar(“ml”,“mean landau”,ml0,-6000,6000) ;
sl = RooRealVar(“sl”,“sigma landau”,sl0,0,3000) ;
landau = RooLandau (“landau”,“lx”,rfa1,ml,sl);

Hello Sina,

that sounds like you are looking for the crystal ball function. It is the typical function to use if your mass distribution has a tail to the left because of e.g. losses in the reconstruction of the energy.

https://root.cern.ch/doc/master/classRooCBShape.html

Hi,
Yes, I’m familiar with the Crystal Ball function, but I prefer to use the mirror of the Landau function, or in general any given function that is asymmetric.
Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.