CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HZZ2L2QRooPdfs.h
Go to the documentation of this file.
1 #ifndef HZZ2L2QROOPDFS
2 #define HZZ2L2QROOPDFS
3 
4 #include "RooAbsPdf.h"
5 #include "RooRealProxy.h"
6 #include "RooAbsReal.h"
7 
8 class RooCB : public RooAbsPdf {
9  public:
10  RooCB();
11  RooCB(const char *name, const char *title,
12  RooAbsReal& _x,
13  RooAbsReal& _mean,
14  RooAbsReal& _width,
15  RooAbsReal& _alpha,
16  RooAbsReal& _n,
17  RooAbsReal& _theta
18  );
19  RooCB(const RooCB& other, const char* name=0) ;
20  virtual TObject* clone(const char* newname) const { return new RooCB(*this,newname); }
21  inline virtual ~RooCB() { }
22 
23  protected:
24 
25  RooRealProxy x ;
26  RooRealProxy mean;
27  RooRealProxy width;
28  RooRealProxy alpha;
29  RooRealProxy n;
30  RooRealProxy theta;
31 
32  Double_t evaluate() const ;
33 
34  private:
35 
36  ClassDef(RooCB,1)
37  };
38 
39 
40 class RooDoubleCB : public RooAbsPdf {
41 public:
42  RooDoubleCB();
43  RooDoubleCB(const char *name, const char *title,
44  RooAbsReal& _x,
45  RooAbsReal& _mean,
46  RooAbsReal& _width,
47  RooAbsReal& _alpha1,
48  RooAbsReal& _n1,
49  RooAbsReal& _alpha2,
50  RooAbsReal& _n2
51  );
52  RooDoubleCB(const RooDoubleCB& other, const char* name=0) ;
53  virtual TObject* clone(const char* newname) const { return new RooDoubleCB(*this,newname); }
54  inline virtual ~RooDoubleCB() { }
55 
56 protected:
57 
58  RooRealProxy x ;
59  RooRealProxy mean;
60  RooRealProxy width;
61  RooRealProxy alpha1;
62  RooRealProxy n1;
63  RooRealProxy alpha2;
64  RooRealProxy n2;
65 
66  Double_t evaluate() const ;
67 
68 private:
69 
70  ClassDef(RooDoubleCB,1)
71 };
72 
73 class RooFermi : public RooAbsPdf {
74 public:
75  RooFermi();
76  RooFermi(const char *name, const char *title,
77  RooAbsReal& _x,
78  RooAbsReal& _cutOff,
79  RooAbsReal& _beta
80  );
81  RooFermi(const RooFermi& other, const char* name=0) ;
82  virtual TObject* clone(const char* newname) const { return new RooFermi(*this,newname); }
83  inline virtual ~RooFermi() { }
84 
85 protected:
86 
87  RooRealProxy x ;
88  RooRealProxy cutOff ;
89  RooRealProxy beta ;
90 
91  Double_t evaluate() const ;
92 
93 private:
94 
95  ClassDef(RooFermi,1)
96 };
97 
98 class RooRelBW : public RooAbsPdf {
99 public:
100  RooRelBW();
101  RooRelBW(const char *name, const char *title,
102  RooAbsReal& _x,
103  RooAbsReal& _mean,
104  RooAbsReal& _width,
105  RooAbsReal& _n
106  );
107  RooRelBW(const RooRelBW& other, const char* name=0) ;
108  virtual TObject* clone(const char* newname) const { return new RooRelBW(*this,newname); }
109  inline virtual ~RooRelBW() { }
110 
111 protected:
112 
113  RooRealProxy x ;
114  RooRealProxy mean ;
115  RooRealProxy width ;
116  RooRealProxy n ;
117 
118  Double_t evaluate() const ;
119 
120 private:
121 
122  ClassDef(RooRelBW,1)
123 };
124 
125 
126 class Triangle : public RooAbsPdf {
127 public:
128  Triangle();
129  Triangle(const char *name, const char *title,
130  RooAbsReal& _m,
131  RooAbsReal& _start,
132  RooAbsReal& _turn,
133  RooAbsReal& _stop
134  );
135 
136  Triangle(const Triangle& other, const char* name = 0);
137  virtual TObject* clone(const char* newname) const {
138  return new Triangle(*this,newname); }
139 
140  inline virtual ~Triangle() { }
141  Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
142  Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
143 
144 protected:
145 
146  RooRealProxy m;
147  RooRealProxy start;
148  RooRealProxy turn;
149  RooRealProxy stop;
150 
151  Double_t evaluate() const;
152 
153 private:
154 
155  ClassDef(Triangle,1)
156 };
157 
158 
159 class RooLevelledExp : public RooAbsPdf {
160  public:
161  RooLevelledExp();
162  RooLevelledExp(const char *name, const char *title,
163  RooAbsReal& _x,
164  RooAbsReal& _sigma,
165  RooAbsReal& _alpha,
166  RooAbsReal& _m,
167  //RooAbsReal& _k,
168  RooAbsReal& _theta
169  );
170 
171  RooLevelledExp(const RooLevelledExp& other, const char* name=0) ;
172  virtual TObject* clone(const char* newname) const { return new RooLevelledExp(*this,newname); }
173  inline virtual ~RooLevelledExp() { }
174 
175  protected:
176 
177  RooRealProxy x ;
178  RooRealProxy sigma;
179  RooRealProxy alpha;
180  RooRealProxy m;
181  // RooRealProxy k;
182  RooRealProxy theta;
183 
184 
185  Double_t evaluate() const ;
186 
187  private:
188 
189  ClassDef(RooLevelledExp,1)
190  };
191 
192 
193 #endif
RooRealProxy alpha2
virtual TObject * clone(const char *newname) const
RooRealProxy m
RooRealProxy width
RooRealProxy sigma
RooRealProxy alpha1
virtual TObject * clone(const char *newname) const
RooRealProxy width
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
virtual ~RooFermi()
Double_t evaluate() const
virtual TObject * clone(const char *newname) const
RooRealProxy start
RooRealProxy m
Double_t evaluate() const
virtual TObject * clone(const char *newname) const
RooRealProxy alpha
virtual ~RooDoubleCB()
virtual TObject * clone(const char *newname) const
RooRealProxy x
RooRealProxy n
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
RooRealProxy cutOff
Double_t evaluate() const
RooRealProxy beta
RooRealProxy theta
RooRealProxy x
RooRealProxy mean
Double_t evaluate() const
virtual ~RooRelBW()
Double_t evaluate() const
RooRealProxy n
virtual TObject * clone(const char *newname) const
RooRealProxy n1
RooRealProxy x
virtual ~Triangle()
virtual ~RooLevelledExp()
RooRealProxy x
Double_t evaluate() const
RooRealProxy mean
RooRealProxy alpha
RooRealProxy stop
RooRealProxy mean
RooRealProxy theta
RooRealProxy width
virtual ~RooCB()
RooRealProxy turn
RooRealProxy x
RooRealProxy n2