11 #include "Riostream.h"
12 #include "RooAbsReal.h"
13 #include "RooAbsCategory.h"
24 RooAbsPdf(name,title),
27 sqrtS(
"sqrtS",
"sqrtS",this,_sqrtS)
33 RooAbsPdf(other,name),
36 sqrtS(
"sqrtS",this,other.sqrtS)
47 Double_t xa = exp(
Y)*sqrt(s/s0);
48 Double_t
xb = exp(-
Y)*sqrt(s/s0);
50 Double_t weightg = 1.0;
53 Double_t g0par0 = 0.2282; Double_t g0par1 = -0.0002252; Double_t g0par2 = 1.383e-07;
54 Double_t g1par0 = 0.01968; Double_t g1par1 = -0.0002993; Double_t g1par2 = 1.986e-07;
55 Double_t g2par0 = 3.624; Double_t g2par1 = -0.003164; Double_t g2par2 = 1.941e-06;
56 Double_t g3par0 = -0.578; Double_t g3par1 = -0.0003; Double_t g3par2 = 1.828e-07;
57 Double_t g4par0 = -7.515; Double_t g4par1 = -0.001355; Double_t g4par2 = 8.199e-07;
59 Double_t gluon0 = g0par0 + g0par1*
Q + g0par2*
Q*
Q;
60 Double_t gluon1 = g1par0 + g1par1*
Q + g1par2*
Q*
Q;
61 Double_t gluon2 = g2par0 + g2par1*
Q + g2par2*
Q*
Q;
62 Double_t gluon3 = g3par0 + g3par1*
Q + g3par2*
Q*
Q;
63 Double_t gluon4 = g4par0 + g4par1*
Q + g4par2*
Q*
Q;
65 Double_t Funcga = (gluon0+gluon1*xa+gluon2*pow(xa,2))*pow((1-xa),4)*pow(xa,gluon3)*exp(1.0+gluon4*xa);
66 Double_t Funcgb = (gluon0+gluon1*
xb+gluon2*pow(
xb,2))*pow((1-
xb),4)*pow(
xb,gluon3)*exp(1.0+gluon4*
xb);
67 Double_t FuncABg = Funcga*Funcgb/xa/
xb;
69 Double_t totSec = 2*
m*((FuncABg)*weightg);
71 if((
m <= 600. && TMath::Abs(
Y) > 20*pow(
m,-0.32)) || (
m > 600. && TMath::Abs(
Y) > 21*pow(
m,-0.34)))
74 Double_t xa0 = sqrt(s/s0);
76 Funcga = (gluon0+gluon1*xa0+gluon2*pow(xa0,2))*pow((1-xa0),4)*pow(xa0,gluon3)*exp(1.0+gluon4*xa0);
77 FuncABg = Funcga*Funcga/xa0/xa0;
78 Double_t totSec0 = 2*
m*((FuncABg)*weightg);
79 totSec = 1.e-5*totSec0;
82 if (totSec <= 0.) totSec = 0.00001;