CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AsymPow.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_AsymPow_h
2 #define HiggsAnalysis_CombinedLimit_AsymPow_h
3 
4 #include <RooAbsReal.h>
5 #include <RooRealProxy.h>
6 
7 
8 //_________________________________________________
9 /*
10 BEGIN_HTML
11 <p>
12 AsymPow is helper class for implementing asymmetric log-normal errors.
13 It has two parameters <i>kappa<sub>Low</sub></i>, <i>kappa<sub>High</sub></i> and one variable (<i>theta</i>).
14 <ul>
15 <li>for <i>theta &gt; 0</i>, it evaluates to <b>pow</b>(<i>kappa<sub>High</sub></i>, <i>theta</i>). </li>
16 <li>for <i>theta &lt; 0</i>, it evaluates to <b>pow</b>(<i>kappa<sub>Low</sub></i>, &minus;<i>theta</i>). </li>
17 </ul>
18 </p>
19 END_HTML
20 */
21 //
22 class AsymPow : public RooAbsReal {
23 
24  public:
25  AsymPow() {}
26  AsymPow(const char *name, const char *title, RooAbsReal &kappaLow, RooAbsReal &kappaHigh, RooAbsReal &theta) ;
27  ~AsymPow() ;
28 
29  TObject * clone(const char *newname) const ;
30 
31  protected:
32  Double_t evaluate() const;
33 
34  private:
35  RooRealProxy kappaLow_, kappaHigh_;
36  RooRealProxy theta_;
37 
38  // get the kappa for the appropriate x
39  Double_t logKappaForX(Double_t x) const ;
40 
41  ClassDef(AsymPow,1) // Asymmetric power
42 };
43 
44 #endif
Double_t evaluate() const
Definition: AsymPow.cc:25
Geom::Theta< T > theta() const
TObject * clone(const char *newname) const
Definition: AsymPow.cc:16
RooRealProxy theta_
Definition: AsymPow.h:36
AsymPow()
Definition: AsymPow.h:25
Double_t logKappaForX(Double_t x) const
Definition: AsymPow.cc:30
~AsymPow()
Definition: AsymPow.cc:14
RooRealProxy kappaHigh_
Definition: AsymPow.h:35
RooRealProxy kappaLow_
Definition: AsymPow.h:35
x
Definition: VDTMath.h:216