13 #include <Riostream.h>
16 #include <RooAbsCategory.h>
17 #include <RooAbsReal.h>
45 m_vxx(
"vxx",
"vxx",this,
vxx),
46 m_vyy(
"vyy",
"vyy",this,
vyy),
47 m_vxy(
"vxy",
"vxy",this,
vxy),
48 m_mx(
"mx",
"mx",this,
mx),
49 m_sx(
"sx",
"sx",this,
sx),
50 m_ax(
"ax",
"ax",this,
ax),
51 m_my(
"my",
"my",this,
my),
52 m_sy(
"sy",
"sy",this,
sy),
53 m_ay(
"ay",
"ay",this,
ay),
54 m_mz(
"mz",
"mz",this,
mz),
55 m_sz(
"sz",
"sz",this,
sz),
57 m_rho(
"rho",
"rho",this,
rho)
64 m_x(
"x",this,
other.m_x),
65 m_y(
"y",this,
other.m_y),
66 m_z(
"z",this,
other.m_z),
67 m_vxx(
"vxx",this,
other.m_vxx),
68 m_vyy(
"vyy",this,
other.m_vyy),
69 m_vxy(
"vxy",this,
other.m_vxy),
70 m_mx(
"mx",this,
other.m_mx),
71 m_sx(
"sx",this,
other.m_sx),
72 m_ax(
"ax",this,
other.m_ax),
73 m_my(
"my",this,
other.m_my),
74 m_sy(
"sy",this,
other.m_sy),
75 m_ay(
"ay",this,
other.m_ay),
76 m_mz(
"mz",this,
other.m_mz),
77 m_sz(
"sz",this,
other.m_sz),
78 m_k(
"k",this,
other.m_k),
79 m_rho(
"rho",this,
other.m_rho)
95 double detw = wxx*wyy - wxy*wxy;
96 double iwxx = wyy/detw;
97 double iwyy = wxx/detw;
98 double iwxy = -wxy/detw;
136 if (matchArgs(allVars,analVars,
m_x,
m_y,
m_z))
return 1;
137 if (matchArgs(allVars,analVars,
m_x,
m_y) )
return 2;
138 if (matchArgs(allVars,analVars,
m_x,
m_z) )
return 3;
139 if (matchArgs(allVars,analVars,
m_y,
m_z) )
return 4;
150 double pi = TMath::Pi();
156 double detw = wxx*wyy - wxy*wxy;
167 return 2*
pi*sqrt(detw)*sqrt(2*
pi)*
m_sz;
188 return 0.5*
pi*sqrt(wxx)*sqrt(wzz)*
189 (TMath::Erf((
m_mx-
m_x.min(rangeName))/sqrt(2*wxx))-TMath::Erf((
m_mx-
m_x.max(rangeName))/sqrt(2*wxx)))
190 *(TMath::Erf((
m_mz-
m_z.min(rangeName))/sqrt(2*wzz))-TMath::Erf((
m_mz-
m_z.max(rangeName))/sqrt(2*wzz)))
196 return 0.5*
pi*sqrt(wyy)*sqrt(wzz)*
197 (TMath::Erf((
m_my-
m_y.min(rangeName))/sqrt(2*wyy))-TMath::Erf((
m_my-
m_y.max(rangeName))/sqrt(2*wyy)))
198 *(TMath::Erf((
m_mz-
m_z.min(rangeName))/sqrt(2*wzz))-TMath::Erf((
m_mz-
m_z.max(rangeName))/sqrt(2*wzz)))