7 #include "RooAbsReal.h" 8 #include "RooRealVar.h" 14 RooAbsReal& _m, RooAbsReal& _a, RooAbsReal& _b, RooAbsReal& _csi, RooAbsReal& _shift, RooAbsReal& _sigma, RooAbsReal& _ratio_sigma, RooAbsReal& _fraction_sigma ) :
17 RooAbsPdf(name, title),
18 m(
"m",
"Dependent", this, _m),
19 a(
"a",
"a", this, _a),
20 b(
"b",
"b", this, _b),
21 csi(
"csi",
"csi", this, _csi),
22 shift(
"shift",
"shift", this, _shift),
23 sigma(
"sigma",
"sigma", this, _sigma),
24 ratio_sigma(
"ratio_sigma",
"ratio_sigma", this, _ratio_sigma),
25 fraction_sigma(
"fraction_sigma",
"fraction_sigma", this, _fraction_sigma)
31 RooAbsPdf(other, name),
m(
"m", this, other.
m), a(
"a", this, other.a), b(
"b", this, other.b), csi(
"csi", this, other.csi), shift(
"shift", this, other.shift), sigma(
"sigma", this, other.sigma), ratio_sigma(
"ratio_sigma", this, other.ratio_sigma), fraction_sigma(
"fraction_sigma", this, other.fraction_sigma)
42 double B_NEW = (a_new+b_new)/2;
55 double CURVEG1 = fabs((1-
csi)*secondG1 + (b_new*
csi - a_new)*firstG1);
61 double firstG2 = ((2*(a_new-2*B_NEW+(
m-
shift))*sigma2)/exp((a_new-(
m-
shift))*(a_new-(
m-
shift))/(2*sigma2*sigma2)) - (2*(b_new-2*B_NEW+(
m-
shift))*sigma2)/exp((b_new-(
m-
shift))*(b_new-(
m-
shift))/(2*sigma2*sigma2))+ sqrt(2*TMath::Pi())*((B_NEW-(
m-
shift))*(B_NEW-(
m-
shift)) + sigma2*sigma2)*TMath::Erf((-a_new+(
m-
shift))/(sqrt(2)*sigma2)) - sqrt(2*TMath::Pi())*((B_NEW-(
m-
shift))*(B_NEW-(
m-
shift)) + sigma2*sigma2) * TMath::Erf((-b_new+(
m-
shift))/(sqrt(2)*sigma2)))/(2*sqrt(2*TMath::Pi()));
62 double secondG2 = (((2*sigma2*(a_new*a_new + B_NEW*B_NEW + a_new*(
m-
shift) + (
m-
shift)*(
m-
shift) - 2*B_NEW*(a_new+(
m-
shift)) + 2*(sigma2*sigma2)))/exp((a_new-(
m-
shift))*(a_new-(
m-
shift))/(2*(sigma2*sigma2))) - (2*sigma2*(b_new*b_new + B_NEW*B_NEW + b_new*(
m-
shift) + (
m-
shift)*(
m-
shift) - 2*B_NEW*(b_new + (
m-
shift)) + 2*(sigma2*sigma2)))/exp((b_new - (
m-
shift))*(b_new - (
m-
shift))/(2*(sigma2*sigma2))) - sqrt(2*TMath::Pi())*(-((B_NEW - (
m-
shift))*(B_NEW - (
m-
shift)) *(
m-
shift)) + (2*B_NEW - 3*(
m-
shift))*(sigma2*sigma2))*TMath::Erf((-a_new + (
m-
shift))/(sqrt(2)*sigma2)) + sqrt(2*TMath::Pi())* (-((B_NEW - (
m-
shift))*(B_NEW - (
m-
shift))*(
m-
shift)) + (2*B_NEW - 3*(
m-
shift))*(sigma2*sigma2)) *TMath::Erf((-b_new + (
m-
shift))/(sqrt(2)*sigma2)))/(2 *sqrt(2*TMath::Pi())));
63 double CURVEG2 = fabs((1-
csi)*secondG2 + (b_new*
csi - a_new)*firstG2);
RooRealProxy fraction_sigma
RooHORNSdini(const char *name, const char *title, RooAbsReal &_m, RooAbsReal &_a, RooAbsReal &_b, RooAbsReal &_csi, RooAbsReal &_shift, RooAbsReal &_sigma, RooAbsReal &_ratio_sigma, RooAbsReal &_fraction_sigma)
Double_t evaluate() const