1 |
buchmann |
1.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 "RooSUSYNPdf.h"
|
12 |
|
|
#include "RooAbsReal.h"
|
13 |
|
|
#include "RooAbsCategory.h"
|
14 |
|
|
#include "TMath.h"
|
15 |
|
|
|
16 |
|
|
ClassImp(RooSUSYNPdf)
|
17 |
|
|
|
18 |
|
|
RooSUSYNPdf::RooSUSYNPdf(const char *name, const char *title,
|
19 |
|
|
RooAbsReal& _inv,
|
20 |
|
|
RooAbsReal& _a,
|
21 |
|
|
RooAbsReal& _s,
|
22 |
|
|
RooAbsReal& _m0) :
|
23 |
|
|
RooAbsPdf(name,title),
|
24 |
|
|
inv("inv","inv",this,_inv),
|
25 |
|
|
a("a","a",this,_a),
|
26 |
|
|
s("s","s",this,_s),
|
27 |
|
|
m0("m0","m0",this,_m0)
|
28 |
|
|
{
|
29 |
|
|
}
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
RooSUSYNPdf::RooSUSYNPdf(const RooSUSYNPdf& other, const char* name) :
|
33 |
|
|
RooAbsPdf(other,name),
|
34 |
|
|
inv("inv",this,other.inv),
|
35 |
|
|
a("a",this,other.a),
|
36 |
|
|
s("s",this,other.s),
|
37 |
|
|
m0("m0",this,other.m0)
|
38 |
|
|
{
|
39 |
|
|
}
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
Double_t RooSUSYNPdf::evaluate() const
|
44 |
|
|
{
|
45 |
|
|
// ENTER EXPRESSION IN TERMS OF VARIABLE ARGUMENTS HERE
|
46 |
|
|
//quadratic
|
47 |
|
|
Double_t value =
|
48 |
|
|
(a+inv+1)*(-s)*TMath::Exp(-0.5*(a-inv)*(a-inv)/(s*s))/(sqrt(TMath::TwoPi()))
|
49 |
|
|
+(inv*inv+s*s+inv)*TMath::Erf((a-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 |
|
|
-inv*TMath::Erf((m0-inv)/(sqrt(2)*s))/2
|
53 |
|
|
+s*TMath::Exp(-0.5*(m0-inv)*(m0-inv)/(s*s))/(sqrt(TMath::TwoPi()));
|
54 |
|
|
//+inv*TMath::Erf((a-inv)/(sqrt(2)*s))/2
|
55 |
|
|
//-s*TMath::Exp(-0.5*(a-inv)*(a-inv)/(s*s))/(sqrt(TMath::TwoPi()));
|
56 |
|
|
|
57 |
|
|
if(value>0) return value;
|
58 |
|
|
else return 0.;
|
59 |
|
|
}
|
60 |
|
|
|
61 |
|
|
|
62 |
|
|
|