This repository has been archived by the owner on Mar 18, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
RooDSCBShape.h
60 lines (50 loc) · 1.96 KB
/
RooDSCBShape.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
* *
* Code massaged by Giulio Dujany - University of Manchester *
*****************************************************************************/
#ifndef ROODSCBSHAPE
#define ROODSCBSHAPE
#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"
class RooDSCBShape : public RooAbsPdf {
public:
RooDSCBShape() {} ;
RooDSCBShape(const char *name, const char *title,
RooAbsReal& _x,
RooAbsReal& _mu,
RooAbsReal& _sig,
RooAbsReal& _a1,
RooAbsReal& _n1,
RooAbsReal& _a2,
RooAbsReal& _n2);
RooDSCBShape(const RooDSCBShape& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new RooDSCBShape(*this,newname); }
inline virtual ~RooDSCBShape() { }
virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* r=0) const;
virtual Double_t analyticalIntegral(Int_t code,const char* rangeName=0) const;
protected:
RooRealProxy x ;
RooRealProxy mu ;
RooRealProxy sig ;
RooRealProxy a1 ;
RooRealProxy n1 ;
RooRealProxy a2 ;
RooRealProxy n2 ;
Double_t evaluate() const ;
double IntGaus(double x0, double x1) const;
double IntPwLw(double x0, double x1, double alpha, double n) const;
private:
ClassDef(RooDSCBShape,1)
// Double sided crystal ball
// mu and sig are the parameters of the gaussians
// a1, n1 the parameters of the left power law tail
// a2, n2 the parameters of the right power law tail
// a1, a2 >= 0; n1, n2 >= 1// Your description goes here...
};
#endif