BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Minor5 Class Reference

#include <minor.h>

+ Inheritance diagram for Minor5:

Public Types

typedef SPtr< Minor5Ptr
 
typedef SPtr< Minor5Ptr
 

Public Member Functions

ncomplex evalE (int ep)
 
ncomplex evalE (int ep, int i)
 
ncomplex evalE (int ep, int i, int j)
 
ncomplex evalE (int ep, int i, int j, int k)
 
ncomplex evalE (int ep, int i, int j, int k, int l)
 
ncomplex evalE (int ep, int i, int j, int k, int l, int m)
 
ncomplex I4s (int ep, int s)
 
ncomplex I3st (int ep, int s, int t)
 
ncomplex I4Ds (int ep, int s)
 
ncomplex I4Dsi (int ep, int s, int i)
 
ncomplex I2stu (int ep, int s, int t, int u)
 
ncomplex I3Dst (int ep, int s, int t)
 
ncomplex I4D2s (int ep, int s)
 
ncomplex I4D2si (int ep, int s, int i)
 
ncomplex I3Dsti (int ep, int s, int t, int i)
 
ncomplex I3D2st (int ep, int s, int t)
 
ncomplex I4D3s (int ep, int s)
 
ncomplex I4D2sij (int ep, int s, int i, int j)
 
ncomplex I2Dstu (int ep, int s, int t, int u)
 
ncomplex I3D2sti (int ep, int s, int t, int i)
 
ncomplex I4D3si (int ep, int s, int i)
 
ncomplex I4D3sij (int ep, int s, int i, int j)
 
ncomplex I2Dstui (int ep, int s, int t, int u, int i)
 
ncomplex I3D2stij (int ep, int s, int t, int i, int j)
 
ncomplex I4D3sijk (int ep, int s, int i, int j, int k)
 
ncomplex I4D4s (int ep, int s)
 
ncomplex I4D4si (int ep, int s, int i)
 
ncomplex I3D3sti (int ep, int s, int t, int i)
 
ncomplex I4D4sij (int ep, int s, int i, int j)
 
ncomplex I2D2stui (int ep, int s, int t, int u, int i)
 
ncomplex I3D3stij (int ep, int s, int t, int i, int j)
 
ncomplex I4D4sijk (int ep, int s, int i, int j, int k)
 
ncomplex I2D2stuij (int ep, int s, int t, int u, int i, int j)
 
ncomplex I3D3stijk (int ep, int s, int t, int i, int j, int k)
 
ncomplex I4D4sijkl (int ep, int s, int i, int j, int k, int l)
 
ncomplex I2D2stu (int ep, int s, int t, int u)
 
ncomplex I3D3st (int ep, int s, int t)
 
ncomplex I2D3stu (int ep, int s, int t, int u)
 
ncomplex I3D4st (int ep, int s, int t)
 
ncomplex I2D4stu (int ep, int s, int t, int u)
 
ncomplex I3D5st (int ep, int s, int t)
 
ncomplex I2D5stu (int ep, int s, int t, int u)
 
ncomplex I3D6st (int ep, int s, int t)
 
ncomplex I2D6stu (int ep, int s, int t, int u)
 
ncomplex I3D7st (int ep, int s, int t)
 
double M1 (int i, int l) PURE
 
double M2 (int i, int j, int l, int m) PURE
 
double M3 (int i, int j, int k, int l, int m, int n) PURE
 
double gram3 (double p1, double p2, double p3) PURE
 
ncomplex evalE (int ep)
 
ncomplex evalE (int ep, int i)
 
ncomplex evalE (int ep, int i, int j)
 
ncomplex evalE (int ep, int i, int j, int k)
 
ncomplex evalE (int ep, int i, int j, int k, int l)
 
ncomplex evalE (int ep, int i, int j, int k, int l, int m)
 
ncomplex I4s (int ep, int s)
 
ncomplex I3st (int ep, int s, int t)
 
ncomplex I4Ds (int ep, int s)
 
ncomplex I4Dsi (int ep, int s, int i)
 
ncomplex I2stu (int ep, int s, int t, int u)
 
ncomplex I3Dst (int ep, int s, int t)
 
ncomplex I4D2s (int ep, int s)
 
ncomplex I4D2si (int ep, int s, int i)
 
ncomplex I3Dsti (int ep, int s, int t, int i)
 
ncomplex I3D2st (int ep, int s, int t)
 
ncomplex I4D3s (int ep, int s)
 
ncomplex I4D2sij (int ep, int s, int i, int j)
 
ncomplex I2Dstu (int ep, int s, int t, int u)
 
ncomplex I3D2sti (int ep, int s, int t, int i)
 
ncomplex I4D3si (int ep, int s, int i)
 
ncomplex I4D3sij (int ep, int s, int i, int j)
 
ncomplex I2Dstui (int ep, int s, int t, int u, int i)
 
ncomplex I3D2stij (int ep, int s, int t, int i, int j)
 
ncomplex I4D3sijk (int ep, int s, int i, int j, int k)
 
ncomplex I4D4s (int ep, int s)
 
ncomplex I4D4si (int ep, int s, int i)
 
ncomplex I3D3sti (int ep, int s, int t, int i)
 
ncomplex I4D4sij (int ep, int s, int i, int j)
 
ncomplex I2D2stui (int ep, int s, int t, int u, int i)
 
ncomplex I3D3stij (int ep, int s, int t, int i, int j)
 
ncomplex I4D4sijk (int ep, int s, int i, int j, int k)
 
ncomplex I2D2stuij (int ep, int s, int t, int u, int i, int j)
 
ncomplex I3D3stijk (int ep, int s, int t, int i, int j, int k)
 
ncomplex I4D4sijkl (int ep, int s, int i, int j, int k, int l)
 
ncomplex I2D2stu (int ep, int s, int t, int u)
 
ncomplex I3D3st (int ep, int s, int t)
 
ncomplex I2D3stu (int ep, int s, int t, int u)
 
ncomplex I3D4st (int ep, int s, int t)
 
ncomplex I2D4stu (int ep, int s, int t, int u)
 
ncomplex I3D5st (int ep, int s, int t)
 
ncomplex I2D5stu (int ep, int s, int t, int u)
 
ncomplex I3D6st (int ep, int s, int t)
 
ncomplex I2D6stu (int ep, int s, int t, int u)
 
ncomplex I3D7st (int ep, int s, int t)
 
double M1 (int i, int l) PURE
 
double M2 (int i, int j, int l, int m) PURE
 
double M3 (int i, int j, int k, int l, int m, int n) PURE
 
double gram3 (double p1, double p2, double p3) PURE
 
- Public Member Functions inherited from Minor< 5 >
 Minor ()
 
 Minor ()
 
double Kay (int i, int j) PURE
 
double Kay (int i, int j) PURE
 
- Public Member Functions inherited from MinorBase
 MinorBase ()
 
 MinorBase ()
 
- Public Member Functions inherited from SRefCnt
 SRefCnt ()
 
 SRefCnt ()
 

Static Public Member Functions

static Ptr create (const Kinem5 &k)
 
static Ptr create (const Kinem4 &k)
 
static Ptr create (const Kinem5 &k)
 
static Ptr create (const Kinem4 &k)
 
- Static Public Member Functions inherited from MinorBase
static int ns (int i, int j) CONST
 
static int nss (int i, int j) CONST
 
static int is (int i, int j) CONST
 
static int is (int i, int j, int k) CONST
 
static int is (int i, int j, int k, int l) CONST
 
static int iss (int i, int j) CONST
 
static int iss (int i, int j, int k) CONST
 
static int iss (int i, int j, int k, int l) CONST
 
static int iss (int i, int j, int k, int l, int m) CONST
 
static double getmeps ()
 
static int im3 (int i, int j, int k) CONST
 
static int im2 (int i, int j) CONST
 
static int signM3ud (int i, int j, int k, int l, int m, int n) CONST
 
static int signM2ud (int i, int j, int l, int m) CONST
 
static void freeidxM3 (int set[], int free[])
 
static void Rescale (double factor)
 
static int ns (int i, int j) CONST
 
static int nss (int i, int j) CONST
 
static int is (int i, int j) CONST
 
static int is (int i, int j, int k) CONST
 
static int is (int i, int j, int k, int l) CONST
 
static int iss (int i, int j) CONST
 
static int iss (int i, int j, int k) CONST
 
static int iss (int i, int j, int k, int l) CONST
 
static int iss (int i, int j, int k, int l, int m) CONST
 
static double getmeps ()
 
static int im3 (int i, int j, int k) CONST
 
static int im2 (int i, int j) CONST
 
static int signM3ud (int i, int j, int k, int l, int m, int n) CONST
 
static int signM2ud (int i, int j, int l, int m) CONST
 
static void freeidxM3 (int set[], int free[])
 
static void Rescale (double factor)
 

Friends

class SPtr< Minor5 >
 

Additional Inherited Members

- Protected Attributes inherited from Minor< 5 >
double Cay [(DCay-1) *(DCay)/2]
 
- Protected Attributes inherited from SRefCnt
int count
 
- Static Protected Attributes inherited from Minor< 5 >
static const int DCay
 
- Static Protected Attributes inherited from MinorBase
static const unsigned char idxtbl [64]
 
static const double teps =1e-14
 
static const double heps =1e-15
 
static const double ceps =5e-2
 
static const double deps1 =5e-2
 
static const double deps2 =5e-2
 
static const double deps3 =5e-2
 
static const double seps1 =1e-8
 
static const double seps2 =1e-5
 
static const double epsir1 =5e-6
 
static const double epsir2 =5e-6
 
static double deps =1e-14
 
static double meps =1e-10
 
static double m3eps =1
 

Detailed Description

Definition at line 214 of file eemmg-lib-new/src/minor.h.

Member Typedef Documentation

◆ Ptr [1/2]

Definition at line 218 of file eemmg-lib-new/src/minor.h.

◆ Ptr [2/2]

Definition at line 218 of file eemmg-lib/src/minor.h.

Member Function Documentation

◆ create() [1/4]

static Ptr Minor5::create ( const Kinem4 k)
inlinestatic

Definition at line 220 of file eemmg-lib-new/src/minor.h.

220{ return Ptr(new Minor5(k)); }
SPtr< Minor5 > Ptr

◆ create() [2/4]

static Ptr Minor5::create ( const Kinem4 k)
inlinestatic

Definition at line 220 of file eemmg-lib/src/minor.h.

220{ return Ptr(new Minor5(k)); }

◆ create() [3/4]

static Ptr Minor5::create ( const Kinem5 k)
inlinestatic

Definition at line 219 of file eemmg-lib-new/src/minor.h.

219{ return Ptr(new Minor5(k)); }

Referenced by getMinorN().

◆ create() [4/4]

static Ptr Minor5::create ( const Kinem5 k)
inlinestatic

Definition at line 219 of file eemmg-lib/src/minor.h.

219{ return Ptr(new Minor5(k)); }

◆ evalE() [1/12]

ncomplex Minor5::evalE ( int  ep)

Definition at line 24 of file eemmg-lib-new/src/minoreval.cpp.

25{
26 ncomplex ivalue=0;
27 ncomplex sum1=0;
28 const double d00=M1(0, 0);
29 for (int s=1; s<=5; s++) {
30 sum1+=M1(0, s)*I4s(ep, s);
31 }
32 ivalue=sum1/d00;
33 return ivalue;
34}
XmlRpcServer s
Definition: HelloServer.cpp:11
ncomplex I4s(int ep, int s)
double M1(int i, int l) PURE
std::complex< double > ncomplex
double int * ep
Definition: qcdloop1.h:74

◆ evalE() [2/12]

ncomplex Minor5::evalE ( int  ep)

◆ evalE() [3/12]

ncomplex Minor5::evalE ( int  ep,
int  i 
)

Definition at line 40 of file eemmg-lib-new/src/minoreval.cpp.

41{
42 ncomplex ivalue=0;
43 ncomplex sum1=0;
44 const double d00=M1(0, 0);
45 for (int s=1; s<=5; s++) {
46 sum1+=M2(0, i, 0, s)*I4s(ep, s);
47 }
48 ivalue=-sum1/d00;
49 return ivalue;
50}
double M2(int i, int j, int l, int m) PURE

◆ evalE() [4/12]

ncomplex Minor5::evalE ( int  ep,
int  i 
)

◆ evalE() [5/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j 
)

Definition at line 56 of file eemmg-lib-new/src/minoreval.cpp.

57{
58 ncomplex ivalue=0;
59 const double d00=M1(0, 0);
60 if (i==0 && j==0) {
61 ncomplex sum1=0;
62 for (int s=1; s<=5; s++) {
63 sum1+=M1(0, s)*I4Ds(ep, s);
64 }
65 ivalue=-sum1/(2*d00);
66 }
67 else {
68 assert(i!=0 && j!=0); // E01, E02, etc do not exist
69 ncomplex sum1=0;
70 for (int s=1; s<=5; s++) {
71 sum1+=M2(0, i, s, j)*I4Ds(ep, s);
72 sum1+=M2(0, s, 0, j)*I4Dsi(ep, s, i);
73 }
74// if (i!=j) { // is symmetrization needed?
75// ncomplex sumX=0;
76// for (int s=1; s<=5; s++) {
77// sumX+=M2(0, j, s, i)*I4Ds(ep, s);
78// sumX+=M2(0, s, 0, i)*I4Dsi(ep, s, j);
79// }
80// sum1=0.5*(sum1+sumX);
81// }
82 ivalue=sum1/d00;
83 }
84 return ivalue;
85}
ncomplex I4Ds(int ep, int s)
ncomplex I4Dsi(int ep, int s, int i)

◆ evalE() [6/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j 
)

◆ evalE() [7/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k 
)

Definition at line 91 of file eemmg-lib-new/src/minoreval.cpp.

92{
93 ncomplex ivalue=0;
94 const double d00=M1(0, 0);
95 if (i==0 && j==0) {
96 assert(i==0 && j==0 && k!=0); // E000 does not exist, E100 is a wrong syntax
97
98 /* // Fleischer's formula 6.13
99 ncomplex sum1=0;
100 for (int s=1; s<=5; s++) {
101 sum1+=0.5*M2(0, s, 0, k)*I4Ds(ep, s);
102 sum1+=-M1(s, k)*I4D2s(ep, s); // (4-1)/3=1 // NB d-1=3 and d=4
103 }
104 ivalue=sum1/d00;
105 */
106 // This variant looks simpler (does not depend on I4D2s)
107 ncomplex sum1=0;
108 for (int s=1; s<=5; s++) {
109 sum1+=0.5*M2(0, s, 0, k)*I4Ds(ep, s);
110 sum1+=M1(s, 0)*I4D2si(ep, s, k);
111 }
112 ivalue=sum1/(3*d00);
113 }
114 else {
115 assert(i!=0 && j!=0 && k!=0); // E110, E012, etc do not exist
116 ncomplex sum1=0;
117 ncomplex sumX=0;
118 ncomplex sumY=0;
119 if (i == j) {
120 for (int s=1; s<=5; s++) {
121 sum1+=2*M2(0, j, s, k)*I4D2si(ep, s, i);
122 sum1+=M2(0, s, 0, k)*I4D2sij(ep, s, i, j);
123 }
124 if (i != k) {
125 for (int s=1; s<=5; s++) {
126 sumX+=M2(0, j, s, i)*I4D2si(ep, s, k);
127 sumX+=M2(0, k, s, i)*I4D2si(ep, s, j);
128 sumX+=M2(0, s, 0, i)*I4D2sij(ep, s, k, j);
129 }
130 sum1=(sum1+2.*sumX)/3.;
131 }
132 } else { // i!=j
133 for (int s=1; s<=5; s++) {
134 sum1+=M2(0, j, s, k)*I4D2si(ep, s, i);
135 sum1+=M2(0, i, s, k)*I4D2si(ep, s, j);
136 sum1+=M2(0, s, 0, k)*I4D2sij(ep, s, i, j);
137 }
138 if (i != k) {
139 for (int s=1; s<=5; s++) {
140 sumX+=M2(0, j, s, i)*I4D2si(ep, s, k);
141 sumX+=M2(0, k, s, i)*I4D2si(ep, s, j);
142 sumX+=M2(0, s, 0, i)*I4D2sij(ep, s, k, j);
143 }
144 }
145 else { sumX=sum1; }
146 if (j != k) {
147 for (int s=1; s<=5; s++) {
148 sumY+=M2(0, k, s, j)*I4D2si(ep, s, i);
149 sumY+=M2(0, i, s, j)*I4D2si(ep, s, k);
150 sumY+=M2(0, s, 0, j)*I4D2sij(ep, s, i, k);
151 }
152 }
153 else { sumY=sum1; }
154 sum1=(sum1+sumX+sumY)/3.;
155 }
156 ivalue=-sum1/d00;
157 }
158 return ivalue;
159}
ncomplex I4D2si(int ep, int s, int i)
ncomplex I4D2sij(int ep, int s, int i, int j)

◆ evalE() [8/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k 
)

◆ evalE() [9/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k,
int  l 
)

Definition at line 165 of file eemmg-lib-new/src/minoreval.cpp.

166{
167 ncomplex ivalue=0;
168 const double d00=M1(0, 0);
169
170 if (i==0 && j==0) {
171 if (k==0 && l==0) {
172 ncomplex sum1=0;
173 for (int s=1; s<=5; s++) {
174#ifndef USE_GOLEM_MODE
175// Cancel pole and finite part with E00ij - LoopTools-like convention
176 sum1+=M1(s, 0)*(I4D2s(ep, s)+(ep==0 ? (-1./6.+1./4.) : (ep==1? -1./6.: 0.)));
177#else
178// Golem95 convention
179 sum1+=M1(s, 0)*(I4D2s(ep, s)+(ep==0 ? -1./9. : 0.));
180#endif
181 }
182 ivalue=0.25*sum1/d00;
183 }
184 else {
185 assert(i==0 && j==0 && k!=0 && l!=0); // E0001 does not exist, E1200 is a wrong syntax
186 ncomplex sum1=0;
187
188 for (int s=1; s<=5; s++) {
189#ifndef USE_GOLEM_MODE
190// Cancel pole and finite part with E0000 - LoopTools-like convention
191 sum1+=0.5*(M2(0, k, s, l)+M2(0, l, s, k))*(I4D2s(ep, s)+(ep==0 ? (-1./6.+1./4.) : (ep==1? -1./6.: 0.)));
192#else
193// Golem95 convention
194 sum1+=0.5*(M2(0, k, s, l)+M2(0, l, s, k))*(I4D2s(ep, s)+(ep==0 ? -1./9. : 0.));
195#endif
196 sum1+=0.5*(M2(0, s, 0, l)*I4D2si(ep, s, k)+M2(0, s, 0, k)*I4D2si(ep, s, l));
197 sum1+=0.5*M1(s, 0)*(I4D3sij(ep, s, k, l)+I4D3sij(ep, s, l, k));
198 }
199 ivalue=-0.25*sum1/d00;
200 }
201 }
202 else {
203 assert(i!=0 && j!=0 && k!=0 && l!=0); // E110, E012, etc do not exist
204 ncomplex sum1234=0;
205 for (int s=1; s<=5; s++) {
206 ncomplex sum1=M2(0,k,s,l)*I4D3sij(ep,s,i,j)
207 +M2(0,i,s,l)*I4D3sij(ep,s,k,j)
208 +M2(0,j,s,l)*I4D3sij(ep,s,i,k)
209 +M2(0,s,0,l)*I4D3sijk(ep,s,i,j,k);
210 ncomplex sum2=sum1;
211 if (l!=k) {
212 sum2=M2(0,l,s,k)*I4D3sij(ep,s,i,j)
213 +M2(0,i,s,k)*I4D3sij(ep,s,l,j)
214 +M2(0,j,s,k)*I4D3sij(ep,s,i,l)
215 +M2(0,s,0,k)*I4D3sijk(ep,s,i,j,l);
216 }
217 ncomplex sum3=sum1;
218 if (j==k) {
219 sum3=sum2;
220 }
221 else if (l!=j) {
222 sum3=M2(0,k,s,j)*I4D3sij(ep,s,i,l)
223 +M2(0,i,s,j)*I4D3sij(ep,s,k,l)
224 +M2(0,l,s,j)*I4D3sij(ep,s,i,k)
225 +M2(0,s,0,j)*I4D3sijk(ep,s,i,l,k);
226 }
227 ncomplex sum4=sum1;
228 if (i==j) {
229 sum4=sum3;
230 }
231 else if (l!=i) {
232 sum4=M2(0,k,s,i)*I4D3sij(ep,s,l,j)
233 +M2(0,l,s,i)*I4D3sij(ep,s,k,j)
234 +M2(0,j,s,i)*I4D3sij(ep,s,l,k)
235 +M2(0,s,0,i)*I4D3sijk(ep,s,l,j,k);
236 }
237 sum1234+=sum1+sum2+sum3+sum4;
238 }
239 ivalue=sum1234/(4*d00);
240 }
241 return ivalue;
242}
ncomplex I4D3sijk(int ep, int s, int i, int j, int k)
ncomplex I4D3sij(int ep, int s, int i, int j)
ncomplex I4D2s(int ep, int s)

◆ evalE() [10/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k,
int  l 
)

◆ evalE() [11/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k,
int  l,
int  m 
)

Definition at line 248 of file eemmg-lib-new/src/minoreval.cpp.

249{
250 ncomplex ivalue=0;
251 const double d00=M1(0, 0);
252
253 if (i==0 && j==0) {
254 if (k==0 && l==0) {
255 assert(m!=0); // E00000 does not exist
256 ncomplex sum1=0;
257 for (int s=1; s<=5; s++) {
258 sum1+=+M2(0, s, 0, m)*I4D2s(ep, s)
259 +M1(s, 0)*(4.*I4D3si(ep, s, m)-2.*(ep<2 ? I4D3si(ep+1, s, m) : 0.));
260 }
261 ivalue=-sum1/(20.*d00);
262 }
263 else {
264 assert(i==0 && j==0 && k!=0 && l!=0 && m!=0); // E00012 does not exist, E00100 is a wrong syntax
265 ncomplex sum1=0;
266 ncomplex sumX=0;
267 ncomplex sumY=0;
268 if (k == l) {
269 for (int s=1; s<=5; s++) {
270 sum1+=+2*M2(0, k, s, m)*I4D3si(ep, s, l)
271 +M2(0, s, 0, m)*I4D3sij(ep, s, k, l);
272 }
273 if (ep==0) sum1+=1./24.*(M1(k, m)-M2(0, k, l, m));
274 if (k != m) {
275 for (int s=1; s<=5; s++) {
276 sumX+=+M2(0, m, s, k)*I4D3si(ep, s, l)
277 +M2(0, l, s, k)*I4D3si(ep, s, m)
278 +M2(0, s, 0, k)*I4D3sij(ep, s, m, l);
279 }
280 if (ep==0) sumX+=1./48.*(M1(m, k)+M1(l, k)-M2(0, l, m, k));
281 sum1=(sum1+2.*sumX)/3.;
282 }
283 } else { // k!=l
284 for (int s=1; s<=5; s++) {
285 sum1+=+M2(0, k, s, m)*I4D3si(ep, s, l)
286 +M2(0, l, s, m)*I4D3si(ep, s, k)
287 +M2(0, s, 0, m)*I4D3sij(ep, s, k, l);
288 }
289 if (ep==0) sum1+=1./48.*(M1(k, m)+M1(l, m)-M2(0, k, l, m)-M2(0, l, k, m));
290 if (k != m) {
291 for (int s=1; s<=5; s++) {
292 sumX+=+M2(0, m, s, k)*I4D3si(ep, s, l)
293 +M2(0, l, s, k)*I4D3si(ep, s, m)
294 +M2(0, s, 0, k)*I4D3sij(ep, s, m, l);
295 }
296 if (ep==0) sumX+=1./48.*(M1(m, k)+M1(l, k)-M2(0, m, l, k)-M2(0, l, m, k));
297 }
298 else { sumX=sum1; }
299 if (l != m) {
300 for (int s=1; s<=5; s++) {
301 sumY+=+M2(0, k, s, l)*I4D3si(ep, s, m)
302 +M2(0, m, s, l)*I4D3si(ep, s, k)
303 +M2(0, s, 0, l)*I4D3sij(ep, s, k, m);
304 }
305 if (ep==0) sumY+=1./48.*(M1(k, l)+M1(m, l)-M2(0, k, m, l)-M2(0, m, k, l));
306 }
307 else { sumY=sum1; }
308 sum1=(sum1+sumX+sumY)/3.;
309 }
310 sumX=0;
311 for (int s=1; s<=5; s++) {
312 sumX+=M1(s,0)*I4D4sijk(ep, s, k, l, m);
313 }
314 sum1=3.*sum1+2.*sumX;
315 ivalue=sum1/(10.*d00);
316 }
317 }
318 else {
319 assert(i!=0 && j!=0 && k!=0 && l!=0 && m!=0);
320 ncomplex sum12345=0;
321 for (int s=1; s<=5; s++) {
322 ncomplex sum1=+M2(0, l, s, m)*I4D4sijk(ep, s, i, j, k)
323 +M2(0, i, s, m)*I4D4sijk(ep, s, l, j, k)
324 +M2(0, j, s, m)*I4D4sijk(ep, s, i, l, k)
325 +M2(0, k, s, m)*I4D4sijk(ep, s, i, j, l)
326 +M2(0, s, 0, m)*I4D4sijkl(ep, s, i, j, k, l);
327 ncomplex sum2=sum1;
328 if (m!=l) {
329 sum2=+M2(0, m, s, l)*I4D4sijk(ep, s, i, j, k)
330 +M2(0, i, s, l)*I4D4sijk(ep, s, m, j, k)
331 +M2(0, j, s, l)*I4D4sijk(ep, s, i, m, k)
332 +M2(0, k, s, l)*I4D4sijk(ep, s, i, j, m)
333 +M2(0, s, 0, l)*I4D4sijkl(ep, s, i, j, k, m);
334 }
335 ncomplex sum3=sum1;
336 if (k==l) {
337 sum3=sum2;
338 }
339 else if (m!=k) {
340 sum3=+M2(0, l, s, k)*I4D4sijk(ep, s, i, j, m)
341 +M2(0, i, s, k)*I4D4sijk(ep, s, l, j, m)
342 +M2(0, j, s, k)*I4D4sijk(ep, s, i, l, m)
343 +M2(0, m, s, k)*I4D4sijk(ep, s, i, j, l)
344 +M2(0, s, 0, k)*I4D4sijkl(ep, s, i, j, m, l);
345 }
346 ncomplex sum4=sum1;
347 if (j==k) {
348 sum4=sum3;
349 }
350 else if (m!=j) {
351 sum4=+M2(0, l, s, j)*I4D4sijk(ep, s, i, m, k)
352 +M2(0, i, s, j)*I4D4sijk(ep, s, l, m, k)
353 +M2(0, m, s, j)*I4D4sijk(ep, s, i, l, k)
354 +M2(0, k, s, j)*I4D4sijk(ep, s, i, m, l)
355 +M2(0, s, 0, j)*I4D4sijkl(ep, s, i, m, k, l);
356 }
357 ncomplex sum5=sum1;
358 if (i==j) {
359 sum5=sum4;
360 }
361 else if (m!=i) {
362 sum5=+M2(0, l, s, i)*I4D4sijk(ep, s, m, j, k)
363 +M2(0, m, s, i)*I4D4sijk(ep, s, l, j, k)
364 +M2(0, j, s, i)*I4D4sijk(ep, s, m, l, k)
365 +M2(0, k, s, i)*I4D4sijk(ep, s, m, j, l)
366 +M2(0, s, 0, i)*I4D4sijkl(ep, s, m, j, k, l);
367 }
368 sum12345+=sum1+sum2+sum3+sum4+sum5;
369 }
370 ivalue=-sum12345/(5*d00);
371 }
372 return ivalue;
373}
ncomplex I4D4sijk(int ep, int s, int i, int j, int k)
ncomplex I4D3si(int ep, int s, int i)
ncomplex I4D4sijkl(int ep, int s, int i, int j, int k, int l)

◆ evalE() [12/12]

ncomplex Minor5::evalE ( int  ep,
int  i,
int  j,
int  k,
int  l,
int  m 
)

◆ gram3() [1/2]

double Minor5::gram3 ( double  p1,
double  p2,
double  p3 
)

Definition at line 546 of file eemmg-lib-new/src/minor.cpp.

547{
548 double g3;
549 if (fabs(p1) > fabs(p2)) {
550 if (fabs(p1) > fabs(p3)) {
551 const double diff=(p1 - p2 - p3);
552 const double subs=(-4.)*p2*p3;
553 g3=diff*diff+subs;
554 }
555 else {
556 const double diff=(p3 - p2 - p1);
557 const double subs=(-4.)*p2*p1;
558 g3=diff*diff+subs;
559 }
560 }
561 else {
562 if (fabs(p2) > fabs(p3)) {
563 const double diff=(p2 - p1 - p3);
564 const double subs=(-4.)*p1*p3;
565 g3=diff*diff+subs;
566 }
567 else {
568 const double diff=(p3 - p2 - p1);
569 const double subs=(-4.)*p2*p1;
570 g3=diff*diff+subs;
571 }
572 }
573 return g3;
574}
double * p2
Definition: qcdloop1.h:76
double double * p3
Definition: qcdloop1.h:76

◆ gram3() [2/2]

double Minor5::gram3 ( double  p1,
double  p2,
double  p3 
)

◆ I2D2stu() [1/2]

ncomplex Minor5::I2D2stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 2242 of file eemmg-lib-new/src/minor.cpp.

2243{
2244 assert(t!=u && u!=s && s!=t);
2245 if (ep==2) return 0;
2246 if (not fEval[E_I2D2stu+ep]) {
2247 I2D2stuEval(0,ep,1,2,3,4,5,kinem.p5());
2248 I2D2stuEval(1,ep,1,2,4,3,5,kinem.s45());
2249 I2D2stuEval(2,ep,1,2,5,3,4,kinem.p4());
2250
2251 I2D2stuEval(3,ep,1,3,4,2,5,kinem.s12());
2252 I2D2stuEval(4,ep,1,3,5,2,4,kinem.s34());
2253
2254 I2D2stuEval(5,ep,1,4,5,2,3,kinem.p3());
2255
2256 if (smax==5) {
2257 I2D2stuEval(6,ep,2,3,4,1,5,kinem.p1());
2258 I2D2stuEval(7,ep,2,3,5,1,4,kinem.s15());
2259
2260 I2D2stuEval(8,ep,2,4,5,1,3,kinem.s23());
2261
2262
2263 I2D2stuEval(9,ep,3,4,5,1,2,kinem.p2());
2264 }
2265
2266 fEval[E_I2D2stu+ep]=true;
2267 }
2268 int idx=im3(s,t,u)-10;
2269 return pI2D2stu[ep][idx];
2270}
TTree * t
Definition: binning.cxx:23
double p4() const
double p3() const
double p1() const
double s15() const
double s45() const
double p2() const
double p5() const
double s34() const
double s12() const
double s23() const
static int im3(int i, int j, int k) CONST

◆ I2D2stu() [2/2]

ncomplex Minor5::I2D2stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2D2stui() [1/2]

ncomplex Minor5::I2D2stui ( int  ep,
int  s,
int  t,
int  u,
int  i 
)

Definition at line 2776 of file eemmg-lib-new/src/minor.cpp.

2777{
2778 assert(s!=t && t!=u && u!=s && s!=i && t!=i && u!=i);
2779 if (ep==2) return 0;
2780 if (not fEval[E_I2D2stui+ep]) {
2781 I2D2stuiEval(ep,1,4,5,2,3,kinem.p3());
2782 I2D2stuiEval(ep,1,3,5,2,4,kinem.s34());
2783 I2D2stuiEval(ep,1,3,4,2,5,kinem.s12());
2784 I2D2stuiEval(ep,1,4,5,3,2,kinem.p3());
2785 I2D2stuiEval(ep,1,2,5,3,4,kinem.p4());
2786 I2D2stuiEval(ep,1,2,4,3,5,kinem.s45());
2787 I2D2stuiEval(ep,1,3,5,4,2,kinem.s34());
2788 I2D2stuiEval(ep,1,2,5,4,3,kinem.p4());
2789 I2D2stuiEval(ep,1,2,3,4,5,kinem.p5());
2790#ifdef USE_ZERO_CHORD
2791 I2D2stuiEval(ep,1,3,4,5,2,kinem.s12());
2792 I2D2stuiEval(ep,1,2,4,5,3,kinem.s45());
2793 I2D2stuiEval(ep,1,2,3,5,4,kinem.p5());
2794#endif
2795
2796 if (smax==5) {
2797 I2D2stuiEval(ep,3,4,5,1,2,kinem.p2());
2798 I2D2stuiEval(ep,2,4,5,1,3,kinem.s23());
2799 I2D2stuiEval(ep,2,3,5,1,4,kinem.s15());
2800 I2D2stuiEval(ep,2,3,4,1,5,kinem.p1());
2801 I2D2stuiEval(ep,3,4,5,2,1,kinem.p2());
2802 I2D2stuiEval(ep,2,4,5,3,1,kinem.s23());
2803 I2D2stuiEval(ep,2,3,5,4,1,kinem.s15());
2804#ifdef USE_ZERO_CHORD
2805 I2D2stuiEval(ep,2,3,4,5,1,kinem.p1());
2806#endif
2807 }
2808
2809 fEval[E_I2D2stui+ep]=true;
2810 }
2811 int ip=15-s-t-u-i; // ip
2812 return pI2D2stui[ep][i-1][ip-1];
2813}

◆ I2D2stui() [2/2]

ncomplex Minor5::I2D2stui ( int  ep,
int  s,
int  t,
int  u,
int  i 
)

◆ I2D2stuij() [1/2]

ncomplex Minor5::I2D2stuij ( int  ep,
int  s,
int  t,
int  u,
int  i,
int  j 
)

Definition at line 3056 of file eemmg-lib-new/src/minor.cpp.

3057{
3058 assert(s!=t && t!=u && u!=s && s!=i && t!=i && u!=i && s!=j && t!=j && u!=j);
3059 if (ep==2) return 0;
3060 if (not fEval[E_I2D2stuij+ep]) {
3061 I2D2stuijEval(ep,1,2,3,4,5,kinem.p5());
3062 I2D2stuijEval(ep,1,2,4,3,5,kinem.s45());
3063 I2D2stuijEval(ep,1,2,5,3,4,kinem.p4());
3064 I2D2stuijEval(ep,1,2,5,4,3,kinem.p4());
3065
3066 I2D2stuijEval(ep,1,3,4,2,5,kinem.s12());
3067 I2D2stuijEval(ep,1,3,5,2,4,kinem.s34());
3068 I2D2stuijEval(ep,1,3,5,4,2,kinem.s34());
3069
3070 I2D2stuijEval(ep,1,4,5,2,3,kinem.p3());
3071 I2D2stuijEval(ep,1,4,5,3,2,kinem.p3());
3072
3073#ifdef USE_ZERO_CHORD
3074 I2D2stuijEval(ep,1,2,3,5,4,kinem.p5());
3075 I2D2stuijEval(ep,1,2,4,5,3,kinem.s45());
3076 I2D2stuijEval(ep,1,3,4,5,2,kinem.s12());
3077#endif
3078 if (smax==5) {
3079 I2D2stuijEval(ep,2,3,4,1,5,kinem.p1());
3080 I2D2stuijEval(ep,2,3,5,1,4,kinem.s15());
3081 I2D2stuijEval(ep,2,3,5,4,1,kinem.s15());
3082 I2D2stuijEval(ep,2,4,5,1,3,kinem.s23());
3083 I2D2stuijEval(ep,2,4,5,3,1,kinem.s23());
3084 I2D2stuijEval(ep,3,4,5,1,2,kinem.p2());
3085 I2D2stuijEval(ep,3,4,5,2,1,kinem.p2());
3086#ifdef USE_ZERO_CHORD
3087 I2D2stuijEval(ep,2,3,4,5,1,kinem.p1());
3088#endif
3089 }
3090
3091 fEval[E_I2D2stuij+ep]=true;
3092 }
3093 int ip=15-s-t-u-i; // ip
3094 return pI2D2stuij[ep][i-1][ip-1][i==j ? 0 : 1];
3095}

◆ I2D2stuij() [2/2]

ncomplex Minor5::I2D2stuij ( int  ep,
int  s,
int  t,
int  u,
int  i,
int  j 
)

◆ I2D3stu() [1/2]

ncomplex Minor5::I2D3stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 143 of file eemmg-lib-new/src/minorex.cpp.

144{
145 assert(t!=u && u!=s && s!=t); //if (t==u || u==s || s==t) return 0;
146 if (ep==2) return 0;
147 if (not fEval[E_I2D3stu+ep]) {
148 I2D3stuEval(0,ep,1,2,3,4,5,kinem.p5());
149 I2D3stuEval(1,ep,1,2,4,3,5,kinem.s45());
150 I2D3stuEval(2,ep,1,2,5,3,4,kinem.p4());
151
152 I2D3stuEval(3,ep,1,3,4,2,5,kinem.s12());
153 I2D3stuEval(4,ep,1,3,5,2,4,kinem.s34());
154
155 I2D3stuEval(5,ep,1,4,5,2,3,kinem.p3());
156
157 if (smax==5) {
158 I2D3stuEval(6,ep,2,3,4,1,5,kinem.p1());
159 I2D3stuEval(7,ep,2,3,5,1,4,kinem.s15());
160
161 I2D3stuEval(8,ep,2,4,5,1,3,kinem.s23());
162
163
164 I2D3stuEval(9,ep,3,4,5,1,2,kinem.p2());
165 }
166
167 fEval[E_I2D3stu+ep]=true;
168 }
169 int idx=im3(s,t,u)-10;
170 return pI2D3stu[ep][idx];
171}

◆ I2D3stu() [2/2]

ncomplex Minor5::I2D3stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2D4stu() [1/2]

ncomplex Minor5::I2D4stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 276 of file eemmg-lib-new/src/minorex.cpp.

277{
278 assert(t!=u && u!=s && s!=t); //if (t==u || u==s || s==t) return 0;
279 if (ep==2) return 0;
280 if (not fEval[E_I2D4stu+ep]) {
281 I2D4stuEval(0,ep,1,2,3,4,5,kinem.p5());
282 I2D4stuEval(1,ep,1,2,4,3,5,kinem.s45());
283 I2D4stuEval(2,ep,1,2,5,3,4,kinem.p4());
284
285 I2D4stuEval(3,ep,1,3,4,2,5,kinem.s12());
286 I2D4stuEval(4,ep,1,3,5,2,4,kinem.s34());
287
288 I2D4stuEval(5,ep,1,4,5,2,3,kinem.p3());
289
290 if (smax==5) {
291 I2D4stuEval(6,ep,2,3,4,1,5,kinem.p1());
292 I2D4stuEval(7,ep,2,3,5,1,4,kinem.s15());
293
294 I2D4stuEval(8,ep,2,4,5,1,3,kinem.s23());
295
296
297 I2D4stuEval(9,ep,3,4,5,1,2,kinem.p2());
298 }
299
300 fEval[E_I2D4stu+ep]=true;
301 }
302 int idx=im3(s,t,u)-10;
303 return pI2D4stu[ep][idx];
304}

◆ I2D4stu() [2/2]

ncomplex Minor5::I2D4stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2D5stu() [1/2]

ncomplex Minor5::I2D5stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 413 of file eemmg-lib-new/src/minorex.cpp.

414{
415 assert(t!=u && u!=s && s!=t); //if (t==u || u==s || s==t) return 0;
416 if (ep==2) return 0;
417 if (not fEval[E_I2D5stu+ep]) {
418 I2D5stuEval(0,ep,1,2,3,4,5,kinem.p5());
419 I2D5stuEval(1,ep,1,2,4,3,5,kinem.s45());
420 I2D5stuEval(2,ep,1,2,5,3,4,kinem.p4());
421
422 I2D5stuEval(3,ep,1,3,4,2,5,kinem.s12());
423 I2D5stuEval(4,ep,1,3,5,2,4,kinem.s34());
424
425 I2D5stuEval(5,ep,1,4,5,2,3,kinem.p3());
426
427 if (smax==5) {
428 I2D5stuEval(6,ep,2,3,4,1,5,kinem.p1());
429 I2D5stuEval(7,ep,2,3,5,1,4,kinem.s15());
430
431 I2D5stuEval(8,ep,2,4,5,1,3,kinem.s23());
432
433
434 I2D5stuEval(9,ep,3,4,5,1,2,kinem.p2());
435 }
436
437 fEval[E_I2D5stu+ep]=true;
438 }
439 int idx=im3(s,t,u)-10;
440 return pI2D5stu[ep][idx];
441}

◆ I2D5stu() [2/2]

ncomplex Minor5::I2D5stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2D6stu() [1/2]

ncomplex Minor5::I2D6stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 548 of file eemmg-lib-new/src/minorex.cpp.

549{
550 assert(t!=u && u!=s && s!=t); //if (t==u || u==s || s==t) return 0;
551 if (ep==2) return 0;
552 if (not fEval[E_I2D6stu+ep]) {
553 I2D6stuEval(0,ep,1,2,3,4,5,kinem.p5());
554 I2D6stuEval(1,ep,1,2,4,3,5,kinem.s45());
555 I2D6stuEval(2,ep,1,2,5,3,4,kinem.p4());
556
557 I2D6stuEval(3,ep,1,3,4,2,5,kinem.s12());
558 I2D6stuEval(4,ep,1,3,5,2,4,kinem.s34());
559
560 I2D6stuEval(5,ep,1,4,5,2,3,kinem.p3());
561
562 if (smax==5) {
563 I2D6stuEval(6,ep,2,3,4,1,5,kinem.p1());
564 I2D6stuEval(7,ep,2,3,5,1,4,kinem.s15());
565
566 I2D6stuEval(8,ep,2,4,5,1,3,kinem.s23());
567
568
569 I2D6stuEval(9,ep,3,4,5,1,2,kinem.p2());
570 }
571
572 fEval[E_I2D6stu+ep]=true;
573 }
574 int idx=im3(s,t,u)-10;
575 return pI2D6stu[ep][idx];
576}

◆ I2D6stu() [2/2]

ncomplex Minor5::I2D6stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2Dstu() [1/2]

ncomplex Minor5::I2Dstu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 1514 of file eemmg-lib-new/src/minor.cpp.

1515{
1516 assert(t!=u && u!=s && s!=t);
1517 if (ep==2) return 0;
1518 if (not fEval[E_I2Dstu+ep]) {
1519 I2DstuEval(0,ep,1,2,3,4,5,kinem.p5());
1520 I2DstuEval(1,ep,1,2,4,3,5,kinem.s45());
1521 I2DstuEval(2,ep,1,2,5,3,4,kinem.p4());
1522
1523 I2DstuEval(3,ep,1,3,4,2,5,kinem.s12());
1524 I2DstuEval(4,ep,1,3,5,2,4,kinem.s34());
1525
1526 I2DstuEval(5,ep,1,4,5,2,3,kinem.p3());
1527
1528 if (smax==5) {
1529 I2DstuEval(6,ep,2,3,4,1,5,kinem.p1());
1530 I2DstuEval(7,ep,2,3,5,1,4,kinem.s15());
1531
1532 I2DstuEval(8,ep,2,4,5,1,3,kinem.s23());
1533
1534
1535 I2DstuEval(9,ep,3,4,5,1,2,kinem.p2());
1536 }
1537
1538 fEval[E_I2Dstu+ep]=true;
1539 }
1540 int idx=im3(s,t,u)-10;
1541 return pI2Dstu[ep][idx];
1542}

◆ I2Dstu() [2/2]

ncomplex Minor5::I2Dstu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I2Dstui() [1/2]

ncomplex Minor5::I2Dstui ( int  ep,
int  s,
int  t,
int  u,
int  i 
)

Definition at line 2001 of file eemmg-lib-new/src/minor.cpp.

2002{
2003 assert(s!=t && t!=u && u!=s && s!=i && t!=i && u!=i);
2004// if (ep==1) return -0.5; // not quite true
2005 if (ep==2) return 0;
2006 if (not fEval[E_I2Dstui+ep]) {
2007 I2DstuiEval(ep,1,4,5,2,3,kinem.p3());
2008 I2DstuiEval(ep,1,3,5,2,4,kinem.s34());
2009 I2DstuiEval(ep,1,3,4,2,5,kinem.s12());
2010 I2DstuiEval(ep,1,4,5,3,2,kinem.p3());
2011 I2DstuiEval(ep,1,2,5,3,4,kinem.p4());
2012 I2DstuiEval(ep,1,2,4,3,5,kinem.s45());
2013 I2DstuiEval(ep,1,3,5,4,2,kinem.s34());
2014 I2DstuiEval(ep,1,2,5,4,3,kinem.p4());
2015 I2DstuiEval(ep,1,2,3,4,5,kinem.p5());
2016#ifdef USE_ZERO_CHORD
2017 I2DstuiEval(ep,1,3,4,5,2,kinem.s12());
2018 I2DstuiEval(ep,1,2,4,5,3,kinem.s45());
2019 I2DstuiEval(ep,1,2,3,5,4,kinem.p5());
2020#endif
2021
2022 if (smax==5) {
2023 I2DstuiEval(ep,3,4,5,1,2,kinem.p2());
2024 I2DstuiEval(ep,2,4,5,1,3,kinem.s23());
2025 I2DstuiEval(ep,2,3,5,1,4,kinem.s15());
2026 I2DstuiEval(ep,2,3,4,1,5,kinem.p1());
2027 I2DstuiEval(ep,3,4,5,2,1,kinem.p2());
2028 I2DstuiEval(ep,2,4,5,3,1,kinem.s23());
2029 I2DstuiEval(ep,2,3,5,4,1,kinem.s15());
2030#ifdef USE_ZERO_CHORD
2031 I2DstuiEval(ep,2,3,4,5,1,kinem.p1());
2032#endif
2033 }
2034
2035 fEval[E_I2Dstui+ep]=true;
2036 }
2037 int ip=15-s-t-u-i;
2038 return pI2Dstui[ep][i-1][ip-1];
2039}

◆ I2Dstui() [2/2]

ncomplex Minor5::I2Dstui ( int  ep,
int  s,
int  t,
int  u,
int  i 
)

◆ I2stu() [1/2]

ncomplex Minor5::I2stu ( int  ep,
int  s,
int  t,
int  u 
)

Definition at line 898 of file eemmg-lib-new/src/minor.cpp.

899{
900 assert(t!=u && u!=s && s!=t);
901 if (ep>=2) return 0;
902
903 if (not fEval[E_I2stu+ep]) {
904 I2stuEval(ep);
905 }
906 int idx=im3(s,t,u)-10;
907 return pI2stu[ep][idx];
908}

◆ I2stu() [2/2]

ncomplex Minor5::I2stu ( int  ep,
int  s,
int  t,
int  u 
)

◆ I3D2st() [1/2]

ncomplex Minor5::I3D2st ( int  ep,
int  s,
int  t 
)

Definition at line 1593 of file eemmg-lib-new/src/minor.cpp.

1594{
1595 assert(s!=t);
1596 if (ep==2) return 0;
1597 if (not fEval[E_I3D2st+ep]) {
1598 I3D2stEval(ep);
1599 }
1600 int idx = im2(s,t)-5;
1601 return pI3D2st[ep][idx];
1602}
static int im2(int i, int j) CONST

◆ I3D2st() [2/2]

ncomplex Minor5::I3D2st ( int  ep,
int  s,
int  t 
)

◆ I3D2sti() [1/2]

ncomplex Minor5::I3D2sti ( int  ep,
int  s,
int  t,
int  i 
)

Definition at line 1810 of file eemmg-lib-new/src/minor.cpp.

1811{
1812 assert(s!=t && s!=i && t!=i);
1813 if (ep==1) return 1./6.;
1814 else if (ep==2) return 0.;
1815 if (not fEval[E_I3D2sti+ep]) {
1816 I3D2stiEval(ep);
1817 }
1818 int idx = im2(s,t)-5;
1819 return pI3D2sti[ep][i-1][idx];
1820}

◆ I3D2sti() [2/2]

ncomplex Minor5::I3D2sti ( int  ep,
int  s,
int  t,
int  i 
)

◆ I3D2stij() [1/2]

ncomplex Minor5::I3D2stij ( int  ep,
int  s,
int  t,
int  i,
int  j 
)

Definition at line 2090 of file eemmg-lib-new/src/minor.cpp.

2091{
2092 assert(s!=t && s!=i && s!=j && t!=i && t!=j);
2093 if (not fEval[E_I3D2stij+ep]) {
2094 I3D2stijEval(ep);
2095 }
2096 int idx = im2(s,t)-5;
2097 return pI3D2stij[ep][is(i-1,j-1)][idx];
2098}
static int is(int i, int j) CONST

◆ I3D2stij() [2/2]

ncomplex Minor5::I3D2stij ( int  ep,
int  s,
int  t,
int  i,
int  j 
)

◆ I3D3st() [1/2]

ncomplex Minor5::I3D3st ( int  ep,
int  s,
int  t 
)

Definition at line 2323 of file eemmg-lib-new/src/minor.cpp.

2324{
2325 assert(s!=t);
2326 if (ep==2) return 0;
2327 if (not fEval[E_I3D3st+ep]) {
2328 I3D3stEval(ep);
2329 }
2330 int idx = im2(s,t)-5;
2331 return pI3D3st[ep][idx];
2332}

◆ I3D3st() [2/2]

ncomplex Minor5::I3D3st ( int  ep,
int  s,
int  t 
)

◆ I3D3sti() [1/2]

ncomplex Minor5::I3D3sti ( int  ep,
int  s,
int  t,
int  i 
)

Definition at line 2618 of file eemmg-lib-new/src/minor.cpp.

2619{
2620 assert(s!=t && s!=i && t!=i);
2621 if (ep==2) return 0.;
2622 if (not fEval[E_I3D3sti+ep]) {
2623 I3D3stiEval(ep);
2624 }
2625 int idx = im2(s,t)-5;
2626 return pI3D3sti[ep][i-1][idx];
2627}

◆ I3D3sti() [2/2]

ncomplex Minor5::I3D3sti ( int  ep,
int  s,
int  t,
int  i 
)

◆ I3D3stij() [1/2]

ncomplex Minor5::I3D3stij ( int  ep,
int  s,
int  t,
int  i,
int  j 
)

Definition at line 2861 of file eemmg-lib-new/src/minor.cpp.

2862{
2863 assert(s!=t && s!=i && s!=j && t!=i && t!=j);
2864 if (ep==1) return ( i==j ? -1./12. : -1./24. ); // -1/12 == -2/24
2865 else if (ep==2) return 0;
2866 if (not fEval[E_I3D3stij+ep]) {
2867 I3D3stijEval(ep);
2868 }
2869 int idx = im2(s,t)-5;
2870 return pI3D3stij[ep][is(i-1,j-1)][idx];
2871}

◆ I3D3stij() [2/2]

ncomplex Minor5::I3D3stij ( int  ep,
int  s,
int  t,
int  i,
int  j 
)

◆ I3D3stijk() [1/2]

ncomplex Minor5::I3D3stijk ( int  ep,
int  s,
int  t,
int  i,
int  j,
int  k 
)

Definition at line 3166 of file eemmg-lib-new/src/minor.cpp.

3167{
3168 assert(s!=t && s!=i && s!=j && s!=k && t!=i && t!=j && t!=k);
3169 if (not fEval[E_I3D3stijk+ep]) {
3170 I3D3stijkEval(ep);
3171 }
3172 int idx = im2(s,t)-5;
3173 return pI3D3stijk[ep][is(i-1,j-1,k-1)][idx];
3174}

◆ I3D3stijk() [2/2]

ncomplex Minor5::I3D3stijk ( int  ep,
int  s,
int  t,
int  i,
int  j,
int  k 
)

◆ I3D4st() [1/2]

ncomplex Minor5::I3D4st ( int  ep,
int  s,
int  t 
)

Definition at line 228 of file eemmg-lib-new/src/minorex.cpp.

229{
230 assert(s!=t); //if (s==t) return 0;
231 if (ep==2) return 0;
232 if (not fEval[E_I3D4st+ep]) {
233 I3D4stEval(ep);
234 }
235 int idx = im2(s,t)-5;
236 return pI3D4st[ep][idx];
237}

◆ I3D4st() [2/2]

ncomplex Minor5::I3D4st ( int  ep,
int  s,
int  t 
)

◆ I3D5st() [1/2]

ncomplex Minor5::I3D5st ( int  ep,
int  s,
int  t 
)

Definition at line 366 of file eemmg-lib-new/src/minorex.cpp.

367{
368 assert(s!=t); //if (s==t) return 0;
369 if (ep==2) return 0;
370 if (not fEval[E_I3D5st+ep]) {
371 I3D5stEval(ep);
372 }
373 int idx = im2(s,t)-5;
374 return pI3D5st[ep][idx];
375}

◆ I3D5st() [2/2]

ncomplex Minor5::I3D5st ( int  ep,
int  s,
int  t 
)

◆ I3D6st() [1/2]

ncomplex Minor5::I3D6st ( int  ep,
int  s,
int  t 
)

Definition at line 501 of file eemmg-lib-new/src/minorex.cpp.

502{
503 assert(s!=t); //if (s==t) return 0;
504 if (ep==2) return 0;
505 if (not fEval[E_I3D6st+ep]) {
506 I3D6stEval(ep);
507 }
508 int idx = im2(s,t)-5;
509 return pI3D6st[ep][idx];
510}

◆ I3D6st() [2/2]

ncomplex Minor5::I3D6st ( int  ep,
int  s,
int  t 
)

◆ I3D7st() [1/2]

ncomplex Minor5::I3D7st ( int  ep,
int  s,
int  t 
)

Definition at line 637 of file eemmg-lib-new/src/minorex.cpp.

638{
639 assert(s!=t); //if (s==t) return 0;
640 if (ep==2) return 0;
641 if (not fEval[E_I3D7st+ep]) {
642 I3D7stEval(ep);
643 }
644 int idx = im2(s,t)-5;
645 return pI3D7st[ep][idx];
646}

◆ I3D7st() [2/2]

ncomplex Minor5::I3D7st ( int  ep,
int  s,
int  t 
)

◆ I3Dst() [1/2]

ncomplex Minor5::I3Dst ( int  ep,
int  s,
int  t 
)

Definition at line 1096 of file eemmg-lib-new/src/minor.cpp.

1097{
1098 assert(s!=t);
1099 if (ep==1) return -0.5;
1100 else if (ep==2) return 0;
1101 if (not fEval[E_I3Dst+ep]) {
1102 I3DstEval(ep);
1103 }
1104 int idx = im2(s,t)-5;
1105 return pI3Dst[ep][idx];
1106}

◆ I3Dst() [2/2]

ncomplex Minor5::I3Dst ( int  ep,
int  s,
int  t 
)

◆ I3Dsti() [1/2]

ncomplex Minor5::I3Dsti ( int  ep,
int  s,
int  t,
int  i 
)

Definition at line 1357 of file eemmg-lib-new/src/minor.cpp.

1358{
1359 assert(s!=t && s!=i && t!=i);
1360 if (not fEval[E_I3Dsti+ep]) {
1361 I3DstiEval(ep);
1362 }
1363 int idx = im2(s,t)-5;
1364 return pI3Dsti[ep][i-1][idx];
1365}

◆ I3Dsti() [2/2]

ncomplex Minor5::I3Dsti ( int  ep,
int  s,
int  t,
int  i 
)

◆ I3st() [1/2]

ncomplex Minor5::I3st ( int  ep,
int  s,
int  t 
)

Definition at line 849 of file eemmg-lib-new/src/minor.cpp.

850{
851 assert(s!=t);
852 if (not fEval[E_I3st+ep]) {
853 I3stEval(ep);
854 }
855 int idx = im2(s,t)-5;
856 return pI3st[ep][idx];
857}

◆ I3st() [2/2]

ncomplex Minor5::I3st ( int  ep,
int  s,
int  t 
)

◆ I4D2s() [1/2]

ncomplex Minor5::I4D2s ( int  ep,
int  s 
)

Definition at line 1208 of file eemmg-lib-new/src/minor.cpp.

1209{
1210 if (ep==1) return 1./6.;
1211 else if (ep==2) return 0;
1212 if (not fEval[E_I4D2s+ep]) {
1213 I4D2sEval(ep);
1214 }
1215 return pI4D2s[ep][s-1];
1216}

Referenced by evalE().

◆ I4D2s() [2/2]

ncomplex Minor5::I4D2s ( int  ep,
int  s 
)

◆ I4D2si() [1/2]

ncomplex Minor5::I4D2si ( int  ep,
int  s,
int  i 
)

Definition at line 1302 of file eemmg-lib-new/src/minor.cpp.

1303{
1304 if (s==i) return 0;
1305 if (ep!=0) return 0; // I4D2si is finite
1306 if (not fEval[E_I4D2si+ep]) {
1307 I4D2siEval(ep);
1308 }
1309 return pI4D2si[ep][i-1][s-1];
1310}

Referenced by evalE().

◆ I4D2si() [2/2]

ncomplex Minor5::I4D2si ( int  ep,
int  s,
int  i 
)

◆ I4D2sij() [1/2]

ncomplex Minor5::I4D2sij ( int  ep,
int  s,
int  i,
int  j 
)

Definition at line 1460 of file eemmg-lib-new/src/minor.cpp.

1461{
1462 if (s==i || s==j) return 0;
1463 if (not fEval[E_I4D2sij+ep]) {
1464 I4D2sijEval(ep);
1465 }
1466 return pI4D2sij[ep][is(i-1,j-1)][s-1];
1467}

Referenced by evalE().

◆ I4D2sij() [2/2]

ncomplex Minor5::I4D2sij ( int  ep,
int  s,
int  i,
int  j 
)

◆ I4D3s() [1/2]

ncomplex Minor5::I4D3s ( int  ep,
int  s 
)

Definition at line 1712 of file eemmg-lib-new/src/minor.cpp.

1713{
1714 if (ep==2) return 0;
1715 if (not fEval[E_I4D3s+ep]) {
1716 I4D3sEval(ep);
1717 }
1718 return pI4D3s[ep][s-1];
1719}

◆ I4D3s() [2/2]

ncomplex Minor5::I4D3s ( int  ep,
int  s 
)

◆ I4D3si() [1/2]

ncomplex Minor5::I4D3si ( int  ep,
int  s,
int  i 
)

Definition at line 1907 of file eemmg-lib-new/src/minor.cpp.

1908{
1909 if (s==i) return 0;
1910 if (ep==1) return -1./24.;
1911 else if (ep==2) return 0;
1912 if (not fEval[E_I4D3si+ep]) {
1913 I4D3siEval(ep);
1914 }
1915 return pI4D3si[ep][i-1][s-1];
1916}

Referenced by evalE().

◆ I4D3si() [2/2]

ncomplex Minor5::I4D3si ( int  ep,
int  s,
int  i 
)

◆ I4D3sij() [1/2]

ncomplex Minor5::I4D3sij ( int  ep,
int  s,
int  i,
int  j 
)

Definition at line 1952 of file eemmg-lib-new/src/minor.cpp.

1953{
1954 if (s==i || s==j) return 0;
1955 else if (ep!=0) return 0; // I4D3sij is finite
1956 if (not fEval[E_I4D3sij+ep]) {
1957 I4D3sijEval(ep);
1958 }
1959 return pI4D3sij[ep][is(i-1,j-1)][s-1];
1960}

Referenced by evalE().

◆ I4D3sij() [2/2]

ncomplex Minor5::I4D3sij ( int  ep,
int  s,
int  i,
int  j 
)

◆ I4D3sijk() [1/2]

ncomplex Minor5::I4D3sijk ( int  ep,
int  s,
int  i,
int  j,
int  k 
)

Definition at line 2180 of file eemmg-lib-new/src/minor.cpp.

2181{
2182 if (s==i || s==j || s==k) return 0;
2183 if (not fEval[E_I4D3sijk+ep]) {
2184 I4D3sijkEval(ep);
2185 }
2186 return pI4D3sijk[ep][is(i-1,j-1,k-1)][s-1];
2187}

Referenced by evalE().

◆ I4D3sijk() [2/2]

ncomplex Minor5::I4D3sijk ( int  ep,
int  s,
int  i,
int  j,
int  k 
)

◆ I4D4s() [1/2]

ncomplex Minor5::I4D4s ( int  ep,
int  s 
)

Definition at line 2452 of file eemmg-lib-new/src/minor.cpp.

2453{
2454 if (ep==2) return 0;
2455 if (not fEval[E_I4D4s+ep]) {
2456 I4D4sEval(ep);
2457 }
2458 return pI4D4s[ep][s-1];
2459}

◆ I4D4s() [2/2]

ncomplex Minor5::I4D4s ( int  ep,
int  s 
)

◆ I4D4si() [1/2]

ncomplex Minor5::I4D4si ( int  ep,
int  s,
int  i 
)

Definition at line 2559 of file eemmg-lib-new/src/minor.cpp.

2560{
2561 if (s==i) return 0;
2562 if (ep==2) return 0;
2563 if (not fEval[E_I4D4si+ep]) {
2564 I4D4siEval(ep);
2565 }
2566 return pI4D4si[ep][i-1][s-1];
2567}

◆ I4D4si() [2/2]

ncomplex Minor5::I4D4si ( int  ep,
int  s,
int  i 
)

◆ I4D4sij() [1/2]

ncomplex Minor5::I4D4sij ( int  ep,
int  s,
int  i,
int  j 
)

Definition at line 2726 of file eemmg-lib-new/src/minor.cpp.

2727{
2728 if (s==i || s==j) return 0;
2729 if (ep==1) return ( i==j ? 1./60. : 1./120. );
2730 else if (ep==2) return 0;
2731 if (not fEval[E_I4D4sij+ep]) {
2732 I4D4sijEval(ep);
2733 }
2734 return pI4D4sij[ep][is(i-1,j-1)][s-1];
2735}

◆ I4D4sij() [2/2]

ncomplex Minor5::I4D4sij ( int  ep,
int  s,
int  i,
int  j 
)

◆ I4D4sijk() [1/2]

ncomplex Minor5::I4D4sijk ( int  ep,
int  s,
int  i,
int  j,
int  k 
)

Definition at line 3003 of file eemmg-lib-new/src/minor.cpp.

3004{
3005 if (s==i || s==j || s==k) return 0;
3006 if (ep==2) return 0; // I4D4sijk finite
3007 if (not fEval[E_I4D4sijk+ep]) {
3008 I4D4sijkEval(ep);
3009 }
3010 return pI4D4sijk[ep][is(i-1,j-1,k-1)][s-1];
3011}

Referenced by evalE().

◆ I4D4sijk() [2/2]

ncomplex Minor5::I4D4sijk ( int  ep,
int  s,
int  i,
int  j,
int  k 
)

◆ I4D4sijkl() [1/2]

ncomplex Minor5::I4D4sijkl ( int  ep,
int  s,
int  i,
int  j,
int  k,
int  l 
)

Definition at line 3275 of file eemmg-lib-new/src/minor.cpp.

3276{
3277 if (s==i || s==j || s==k || s==l) return 0;
3278 if (not fEval[E_I4D4sijkl+ep]) {
3279 I4D4sijklEval(ep);
3280 }
3281 return pI4D4sijkl[ep][is(i-1,j-1,k-1,l-1)][s-1];
3282}

Referenced by evalE().

◆ I4D4sijkl() [2/2]

ncomplex Minor5::I4D4sijkl ( int  ep,
int  s,
int  i,
int  j,
int  k,
int  l 
)

◆ I4Ds() [1/2]

ncomplex Minor5::I4Ds ( int  ep,
int  s 
)

Definition at line 956 of file eemmg-lib-new/src/minor.cpp.

957{
958 if (ep!=0) return 0; // I4Ds is finite
959 if (not fEval[E_I4Ds+ep]) {
960 I4DsEval(ep);
961 }
962 return pI4Ds[ep][s-1];
963}

Referenced by evalE().

◆ I4Ds() [2/2]

ncomplex Minor5::I4Ds ( int  ep,
int  s 
)

◆ I4Dsi() [1/2]

ncomplex Minor5::I4Dsi ( int  ep,
int  s,
int  i 
)

Definition at line 1046 of file eemmg-lib-new/src/minor.cpp.

1047{
1048 if (s==i) return 0;
1049 if (not fEval[E_I4Dsi+ep]) {
1050 I4DsiEval(ep);
1051 }
1052 return pI4Dsi[ep][i-1][s-1];
1053}

Referenced by evalE().

◆ I4Dsi() [2/2]

ncomplex Minor5::I4Dsi ( int  ep,
int  s,
int  i 
)

◆ I4s() [1/2]

ncomplex Minor5::I4s ( int  ep,
int  s 
)

Definition at line 809 of file eemmg-lib-new/src/minor.cpp.

810{
811 if (not fEval[E_I4s+ep]) {
812 I4sEval(ep);
813 }
814 return pI4s[ep][s-1];
815}

Referenced by evalE().

◆ I4s() [2/2]

ncomplex Minor5::I4s ( int  ep,
int  s 
)

◆ M1() [1/2]

double Minor5::M1 ( int  i,
int  l 
)

Definition at line 462 of file eemmg-lib-new/src/minor.cpp.

463{
464 return pM1[is(i,l)];
465}

Referenced by evalE().

◆ M1() [2/2]

double Minor5::M1 ( int  i,
int  l 
)

◆ M2() [1/2]

double Minor5::M2 ( int  i,
int  j,
int  l,
int  m 
)

Definition at line 471 of file eemmg-lib-new/src/minor.cpp.

472{
473 int sign=signM2ud(i,j,l,m);
474 if (sign==0) return 0;
475
476 int uidx=im2(i,j);
477 int lidx=im2(l,m);
478
479 return pM2[is(uidx,lidx)]*sign;
480}
static int signM2ud(int i, int j, int l, int m) CONST

Referenced by evalE().

◆ M2() [2/2]

double Minor5::M2 ( int  i,
int  j,
int  l,
int  m 
)

◆ M3() [1/2]

double Minor5::M3 ( int  i,
int  j,
int  k,
int  l,
int  m,
int  n 
)

Definition at line 486 of file eemmg-lib-new/src/minor.cpp.

487{
488 int sign=signM3ud(i,j,k,l,m,n);
489 if (sign==0) return 0;
490
491 int uidx=im3(i,j,k);
492 int lidx=im3(l,m,n);
493
494 return pM3[is(uidx,lidx)]*sign;
495}
const Int_t n
static int signM3ud(int i, int j, int k, int l, int m, int n) CONST

◆ M3() [2/2]

double Minor5::M3 ( int  i,
int  j,
int  k,
int  l,
int  m,
int  n 
)

Friends And Related Function Documentation

◆ SPtr< Minor5 >

friend class SPtr< Minor5 >
friend

Definition at line 211 of file eemmg-lib-new/src/minor.h.


The documentation for this class was generated from the following files: