Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooMathCoreReg.cxx
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, NIKHEF, verkerke@nikhef.nl *
7  * *
8  * Copyright (c) 2000-2008, NIKHEF, Regents of the University of California *
9  * and Stanford University. All rights reserved. *
10  * *
11  *****************************************************************************/
12 
13 /** \class RooMathCoreReg
14  \ingroup Roofit
15 
16 **/
17 
18 #include "Riostream.h"
19 #include "RooMathCoreReg.h"
20 #include "RooCFunction1Binding.h"
21 #include "RooCFunction2Binding.h"
22 #include "RooCFunction3Binding.h"
23 #include "RooCFunction4Binding.h"
24 #include "Math/SpecFunc.h"
25 #include "Math/DistFunc.h"
26 
27 static RooMathCoreReg dummy ;
28 
29 RooMathCoreReg::RooMathCoreReg()
30 {
31  // Import MathCore 'special' functions from ROOT::Math namespace
32  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::erf",ROOT::Math::erf,"x") ;
33  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::erfc",ROOT::Math::erfc,"x") ;
34  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::tgamma",ROOT::Math::tgamma,"x") ;
35  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::lgamma",ROOT::Math::lgamma,"x") ;
36  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::inc_gamma",ROOT::Math::inc_gamma,"a","x") ;
37  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::inc_gamma_c",ROOT::Math::inc_gamma_c,"a","x") ;
38  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::beta",ROOT::Math::beta,"x","y") ;
39  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::inc_beta",ROOT::Math::inc_beta,"x","a","b") ;
40 
41  // MathCore pdf functions from ROOT::Math namespace
42  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::poisson_pdf",ROOT::Math::poisson_pdf, "n","mu") ;
43  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::beta_pdf",ROOT::Math::beta_pdf,"x","a","b") ;
44  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::breitwigner_pdf",ROOT::Math::breitwigner_pdf,"x","gamma","x0") ;
45  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::cauchy_pdf",ROOT::Math::cauchy_pdf,"x","b","x0") ;
46  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::chisquared_pdf",ROOT::Math::chisquared_pdf,"x","r","x0") ;
47  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::exponential_pdf",ROOT::Math::exponential_pdf,"x","lambda","x0") ;
48  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::gaussian_pdf",ROOT::Math::gaussian_pdf,"x","sigma","x0") ;
49  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::landau_pdf",ROOT::Math::landau_pdf,"x","sigma","x0.") ;
50  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::normal_pdf",ROOT::Math::normal_pdf,"x","sigma","x0") ;
51  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::tdistribution_pdf",ROOT::Math::tdistribution_pdf,"x","r","x0") ;
52  RooCFunction3Ref<double,unsigned int,double,unsigned int>::fmap().add("ROOT::Math::binomial_pdf",ROOT::Math::binomial_pdf,"int","double","unsigned") ;
53  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::fdistribution_pdf",ROOT::Math::fdistribution_pdf,"x","n","m","x0") ;
54  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::gamma_pdf",ROOT::Math::gamma_pdf,"x","alpha","theta","x0") ;
55  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::lognormal_pdf",ROOT::Math::lognormal_pdf,"x","m","s","x0") ;
56  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::uniform_pdf",ROOT::Math::uniform_pdf,"x","a","b","x0") ;
57 
58  // MathCore cdf functions from ROOT::Math namespace uint
59  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::poisson_cdf_c",ROOT::Math::poisson_cdf_c, "n","mu") ;
60  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::poisson_cdf",ROOT::Math::poisson_cdf, "n","mu") ;
61  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::beta_cdf_c",ROOT::Math::beta_cdf_c,"x","a","b") ;
62  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::beta_cdf",ROOT::Math::beta_cdf,"x","a","b") ;
63  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::breitwigner_cdf_c",ROOT::Math::breitwigner_cdf_c,"x","gamma","x0") ;
64  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::breitwigner_cdf",ROOT::Math::breitwigner_cdf,"x","gamma","x0") ;
65  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::cauchy_cdf_c",ROOT::Math::cauchy_cdf_c,"x","b","x0") ;
66  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::cauchy_cdf",ROOT::Math::cauchy_cdf,"x","b","x0") ;
67  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::chisquared_cdf_c",ROOT::Math::chisquared_cdf_c,"x","r","x0") ;
68  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::chisquared_cdf",ROOT::Math::chisquared_cdf,"x","r","x0") ;
69  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::exponential_cdf_c",ROOT::Math::exponential_cdf_c,"x","lambda","x0") ;
70  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::exponential_cdf",ROOT::Math::exponential_cdf,"x","lambda","x0") ;
71  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::landau_cdf",ROOT::Math::landau_cdf,"x","sigma","x0") ;
72  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::normal_cdf_c",ROOT::Math::normal_cdf_c,"x","sigma","x0") ;
73  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::normal_cdf",ROOT::Math::normal_cdf,"x","sigma","x0") ;
74  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::tdistribution_cdf_c",ROOT::Math::tdistribution_cdf_c,"x","r","x0") ;
75  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::tdistribution_cdf",ROOT::Math::tdistribution_cdf,"x","r","x0") ;
76  RooCFunction3Ref<double,unsigned int,double,unsigned int>::fmap().add("ROOT::Math::binomial_cdf_c",ROOT::Math::binomial_cdf_c,"int","double","unsigned") ;
77  RooCFunction3Ref<double,unsigned int,double,unsigned int>::fmap().add("ROOT::Math::binomial_cdf",ROOT::Math::binomial_cdf,"int","double","unsigned") ;
78  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::fdistribution_cdf_c",ROOT::Math::fdistribution_cdf_c,"x","n","m","x0") ;
79  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::fdistribution_cdf",ROOT::Math::fdistribution_cdf,"x","n","m","x0") ;
80  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::gamma_cdf_c",ROOT::Math::gamma_cdf_c,"x","alpha","theta","x0") ;
81  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::gamma_cdf",ROOT::Math::gamma_cdf,"x","alpha","theta","x0") ;
82  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::lognormal_cdf_c",ROOT::Math::lognormal_cdf_c,"x","m","s","x0") ;
83  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::lognormal_cdf",ROOT::Math::lognormal_cdf,"x","m","s","x0") ;
84  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::uniform_cdf_c",ROOT::Math::uniform_cdf_c,"x","a","b","x0") ;
85  RooCFunction4Ref<double,double,double,double,double>::fmap().add("ROOT::Math::uniform_cdf",ROOT::Math::uniform_cdf,"x","a","b","x0") ;
86 
87  // MathCore quantile functions from ROOT::Math namespace
88  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cauchy_quantile_c",ROOT::Math::cauchy_quantile_c, "z", "b") ;
89  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cauchy_quantile",ROOT::Math::cauchy_quantile, "z", "b") ;
90  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::breitwigner_quantile_c",ROOT::Math::breitwigner_quantile_c, "z", "gamma") ;
91  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::breitwigner_quantile",ROOT::Math::breitwigner_quantile, "z", "gamma") ;
92  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::chisquared_quantile_c",ROOT::Math::chisquared_quantile_c, "z", "r") ;
93  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::exponential_quantile_c",ROOT::Math::exponential_quantile_c, "z", "lambda") ;
94  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::exponential_quantile",ROOT::Math::exponential_quantile, "z", "lambda") ;
95  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::gaussian_quantile_c",ROOT::Math::gaussian_quantile_c, "z", "sigma") ;
96  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::gaussian_quantile",ROOT::Math::gaussian_quantile, "z", "sigma") ;
97  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::normal_quantile_c",ROOT::Math::normal_quantile_c, "z", "sigma") ;
98  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::normal_quantile",ROOT::Math::normal_quantile, "z", "sigma") ;
99  //RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::chisquared_quantile",ROOT::Math::chisquared_quantile, "z", "r") ;
100  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::beta_quantile",ROOT::Math::beta_quantile,"x","a","b") ;
101  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::beta_quantile_c",ROOT::Math::beta_quantile_c,"x","a","b") ;
102  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::fdistribution_quantile",ROOT::Math::fdistribution_quantile,"z","n","m") ;
103  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::fdistribution_quantile_c",ROOT::Math::fdistribution_quantile_c,"z","n","m") ;
104  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::gamma_quantile_c",ROOT::Math::gamma_quantile_c,"z","alpha","theta") ;
105  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::lognormal_quantile_c",ROOT::Math::lognormal_quantile_c,"x","m","s") ;
106  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::lognormal_quantile",ROOT::Math::lognormal_quantile,"x","m","s") ;
107  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::uniform_quantile_c",ROOT::Math::uniform_quantile_c,"z","a","b") ;
108  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::uniform_quantile",ROOT::Math::uniform_quantile,"z","a","b") ;
109  //RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::gamma_quantile",ROOT::Math::gamma_quantile,"z","alpha","theta") ;
110  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::gamma_quantile_c",ROOT::Math::gamma_quantile_c,"z","alpha","theta") ;
111 
112 }