JHUGen MELA  v2.4.1
Matrix element calculations as used in JHUGen. MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website https://spin.pha.jhu.edu/ and papers cited there for more details, and kindly cite those papers when using this code.
RooTsallis.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <cmath>
3 #include "RooTsallis.h"
4 #include "RooFit.h"
5 #include "RooRealVar.h"
6 #include "RooRealConstant.h"
7 #include "TH1.h"
8 
9 //ClassImp(RooTsallis)
10 
11 RooTsallisSM::RooTsallisSM(const char *name, const char *title,
12  RooAbsReal& _x,
13  RooAbsReal& _mzz,
14  RooAbsReal& _m,
15  RooAbsReal& _n0,
16  RooAbsReal& _n1,
17  RooAbsReal& _n2,
18  RooAbsReal& _ndue,
19  RooAbsReal& _bb0,
20  RooAbsReal& _bb1,
21  RooAbsReal& _bb2,
22  RooAbsReal& _T0,
23  RooAbsReal& _T1,
24  RooAbsReal& _T2):
25 
26  RooAbsPdf(name,title),
27  x("x","x",this,_x),
28  mzz("mzz","mzz",this,_mzz),
29  m("m","m",this,_m),
30  n0("n0","n0",this,_n0),
31  n1("n1","n1",this,_n1),
32  n2("n2","n2",this,_n2),
33  ndue("ndue","ndue",this,_ndue),
34  bb0("bb0","bb0",this,_bb0),
35  bb1("bb1","bb1",this,_bb1),
36  bb2("bb2","bb2",this,_bb2),
37  T0("T0","T0",this,_T0),
38  T1("T1","T1",this,_T1),
39  T2("T2","T2",this,_T2)
40  {
41  }
42 
43 
44  RooTsallisSM::RooTsallisSM(const RooTsallisSM& other, const char* name) :
45  RooAbsPdf(other,name),
46  x("x",this,other.x),
47  mzz("mzz",this,other.mzz),
48  m("m",this,other.m),
49  n0("n0",this,other.n0),
50  n1("n1",this,other.n1),
51  n2("n2",this,other.n2),
52  ndue("ndue",this,other.ndue),
53  bb0("bb0",this,other.bb0),
54  bb1("bb1",this,other.bb1),
55  bb2("bb2",this,other.bb2),
56  T0("T0",this,other.T0),
57  T1("T1",this,other.T1),
58  T2("T2",this,other.T2)
59  {
60  }
61 
62 
63 
64  double RooTsallisSM::evaluate() const
65  {
66  // cout<<"In rooTsallisSM::evaluate()"<<endl;
67  double T = T0 + mzz*T1 + mzz*mzz*T2;
68  double n = n0 + mzz*n1 + mzz*mzz*n2;
69  double bb = bb0 + mzz*bb1 + mzz*mzz*bb2;
70  double result = pow(x,ndue)*exp(-bb*x)*pow(1 + (sqrt(x*x + m*m) - m)/(fabs(n*T)),-n);
71  return result;
72  }
73 
74 
75 // LET ROOFIT COMPUTE IT
76 
77 /* int RooTsallisSM::getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName) const
78 {
79  if (matchArgs(allVars,analVars,x)) return 1 ;
80  return 0 ;
81 }
82 
83 double RooTsallisSM::analyticalIntegral(int code, const char* rangeName) const
84 {
85  switch(code)
86  {
87  case 1:
88  {
89  // mathematica dixit
90  float term1 = x*pow(1 + (sqrt(x*x + m*m) - m)/(n*T),-n);
91  float term2 = m*n*(sqrt(x*x + m*m) + 2*T) - n*n*T*(sqrt(x*x + m*m) + T) -n*m*m - n*x*x + x*x;
92  return -term1*term2/((n-2)*(n-1));
93  }
94  }
95 
96 assert(0) ;
97 return 0 ;
98 } */
99 
100 
101 
102 
103 
RooTsallisSM::mzz
RooRealProxy mzz
Definition: RooTsallis.h:47
RooTsallisSM::x
RooRealProxy x
Definition: RooTsallis.h:46
RooTsallis.h
RooTsallisSM::T1
RooRealProxy T1
Definition: RooTsallis.h:57
RooTsallisSM::bb1
RooRealProxy bb1
Definition: RooTsallis.h:54
RooTsallisSM::m
RooRealProxy m
Definition: RooTsallis.h:48
mela.m
m
Definition: mela.py:715
RooTsallisSM::n1
RooRealProxy n1
Definition: RooTsallis.h:50
RooTsallisSM::T0
RooRealProxy T0
Definition: RooTsallis.h:56
RooTsallisSM::n0
RooRealProxy n0
Definition: RooTsallis.h:49
RooTsallisSM::evaluate
Double_t evaluate() const
Definition: RooTsallis.cc:64
n2
int n2
Definition: TMCFM.hh:63
RooTsallisSM::ndue
RooRealProxy ndue
Definition: RooTsallis.h:52
RooTsallisSM::bb0
RooRealProxy bb0
Definition: RooTsallis.h:53
RooTsallisSM::n2
RooRealProxy n2
Definition: RooTsallis.h:51
RooTsallisSM::bb2
RooRealProxy bb2
Definition: RooTsallis.h:55
RooTsallisSM::T2
RooRealProxy T2
Definition: RooTsallis.h:58
RooTsallisSM::RooTsallisSM
RooTsallisSM(const char *name, const char *title, RooAbsReal &_x, RooAbsReal &_mzz, RooAbsReal &_m, RooAbsReal &_n0, RooAbsReal &_n1, RooAbsReal &_n2, RooAbsReal &_ndue, RooAbsReal &_bb0, RooAbsReal &_bb1, RooAbsReal &_bb2, RooAbsReal &_T0, RooAbsReal &_T1, RooAbsReal &_T2)
Definition: RooTsallis.cc:11
RooTsallisSM
Definition: RooTsallis.h:21