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

# User Rev Content
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 "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