1 |
/*****************************************************************************
|
2 |
* Project: RooFit *
|
3 |
* *
|
4 |
* This code was autogenerated by RooClassFactory *
|
5 |
*****************************************************************************/
|
6 |
|
7 |
// Your description goes here...
|
8 |
|
9 |
#include "Riostream.h"
|
10 |
|
11 |
#include "RooSUSYPdf.h"
|
12 |
#include "RooAbsReal.h"
|
13 |
#include "RooAbsCategory.h"
|
14 |
#include "TMath.h"
|
15 |
|
16 |
ClassImp(RooSUSYPdf)
|
17 |
|
18 |
RooSUSYPdf::RooSUSYPdf(const char *name, const char *title,
|
19 |
RooAbsReal& _inv,
|
20 |
RooAbsReal& _c,
|
21 |
RooAbsReal& _s,
|
22 |
RooAbsReal& _m0) :
|
23 |
RooAbsPdf(name,title),
|
24 |
inv("inv","inv",this,_inv),
|
25 |
c("c","c",this,_c),
|
26 |
s("s","s",this,_s),
|
27 |
m0("m0","m0",this,_m0)
|
28 |
{
|
29 |
}
|
30 |
|
31 |
|
32 |
RooSUSYPdf::RooSUSYPdf(const RooSUSYPdf& other, const char* name) :
|
33 |
RooAbsPdf(other,name),
|
34 |
inv("inv",this,other.inv),
|
35 |
c("c",this,other.c),
|
36 |
s("s",this,other.s),
|
37 |
m0("m0",this,other.m0)
|
38 |
{
|
39 |
}
|
40 |
|
41 |
|
42 |
|
43 |
Double_t RooSUSYPdf::evaluate() const
|
44 |
{
|
45 |
// ENTER EXPRESSION IN TERMS OF VARIABLE ARGUMENTS HERE
|
46 |
//quadratic
|
47 |
Double_t value = c*(
|
48 |
(m0+inv)*(-s)*TMath::Exp(-0.5*(m0-inv)*(m0-inv)/(s*s))/(sqrt(TMath::TwoPi()))
|
49 |
+(inv*inv+s*s)*TMath::Erf((m0-inv)/(sqrt(2)*s))/2
|
50 |
+inv*s*TMath::Exp(-0.5*inv*inv/(s*s))/(sqrt(TMath::TwoPi()))
|
51 |
+(inv*inv+s*s)*TMath::Erf(sqrt(2)*(inv)/(2*s))/2);
|
52 |
|
53 |
if(value>0) return value;
|
54 |
else return 0.;
|
55 |
//old
|
56 |
//return -c*((m0+inv)*s*TMath::Exp(-0.5*TMath::Power(c, -2)*TMath::Power(inv-m0, 2))/(sqrt(TMath::TwoPi()))+(inv*inv+s*s)*TMath::Erf(sqrt(2)*(inv-m0)/(2*s))/2)+c*(inv*s*TMath::Exp(-0.5*TMath::Power(s, -2)*TMath::Power(inv, 2))/(sqrt(TMath::TwoPi()))+(inv*inv+s*s)*TMath::Erf(sqrt(2)*(inv)/(2*s))/2);
|
57 |
}
|
58 |
|
59 |
|
60 |
|