ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/EdgeModules/RooSUSYPdf.cxx
Revision: 1.1
Committed: Mon Jul 16 02:26:18 2012 UTC (12 years, 9 months ago) by buchmann
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
Added edge analytical functions

File Contents

# Content
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