ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/EdgeModules/RooSUSYNPdf.cxx
Revision: 1.1
Committed: Mon Jul 16 02:26:17 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 "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