Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fdc_covariance.cc
Go to the documentation of this file.
1 
2 
3 // The following was auto-generated from the gen_covariance_code.C
4 // macro using a ROOT file generated with the fdc_covariance_tree
5 // plugin.
6 
7 
8 double GetFDCCovariance(int layer1, int layer2);
9 double GetFDCCathodeCovariance(int layer1, int layer2);
10 
11 
12 //-------------------------
13 // GetFDCCovariance
14 //-------------------------
15 double GetFDCCovariance(int layer1, int layer2)
16 {
17  if(layer1<1 || layer2>24 || layer2<1 || layer2>24)return 0.0;
18  if(layer2<layer1){
19  int tmp = layer1;
20  layer1 = layer2;
21  layer2 = tmp;
22  }
23 
24  switch(layer1){
25  case 1:
26  if(layer2==1)return 0.000585634;
27  if(layer2==2)return 0.000585637;
28  if(layer2==3)return 0.000585505;
29  if(layer2==4)return 0.000580329;
30  if(layer2==5)return 0.000577621;
31  if(layer2==6)return 0.000577471;
32  if(layer2==7)return 0.000337295;
33  if(layer2==8)return 0.000265735;
34  if(layer2==9)return 0.000281526;
35  if(layer2==10)return 0.000220917;
36  if(layer2==11)return 0.000199922;
37  if(layer2==12)return 9.48379e-05;
38  if(layer2==13)return -0.000621933;
39  if(layer2==14)return -0.00085377;
40  if(layer2==15)return -0.00100895;
41  if(layer2==16)return -0.00101167;
42  if(layer2==17)return -0.00109397;
43  if(layer2==18)return -0.00122267;
44  if(layer2==19)return -0.002534;
45  if(layer2==20)return -0.0026614;
46  if(layer2==21)return -0.00297017;
47  if(layer2==22)return -0.00294615;
48  if(layer2==23)return -0.00307489;
49  if(layer2==24)return -0.00327564;
50  break; // layer 1
51  case 2:
52  if(layer2==2)return 0.000588198;
53  if(layer2==3)return 0.000586648;
54  if(layer2==4)return 0.000583233;
55  if(layer2==5)return 0.000571174;
56  if(layer2==6)return 0.0005714;
57  if(layer2==7)return 0.000323606;
58  if(layer2==8)return 0.000241671;
59  if(layer2==9)return 0.000241261;
60  if(layer2==10)return 0.000209708;
61  if(layer2==11)return 0.000207312;
62  if(layer2==12)return 0.000104978;
63  if(layer2==13)return -0.000697916;
64  if(layer2==14)return -0.000897349;
65  if(layer2==15)return -0.00102077;
66  if(layer2==16)return -0.0010817;
67  if(layer2==17)return -0.00110823;
68  if(layer2==18)return -0.00126598;
69  if(layer2==19)return -0.00259498;
70  if(layer2==20)return -0.00264318;
71  if(layer2==21)return -0.00302039;
72  if(layer2==22)return -0.00292141;
73  if(layer2==23)return -0.00320805;
74  if(layer2==24)return -0.00328668;
75  break; // layer 2
76  case 3:
77  if(layer2==3)return 0.000610334;
78  if(layer2==4)return 0.000576509;
79  if(layer2==5)return 0.000580319;
80  if(layer2==6)return 0.000552877;
81  if(layer2==7)return 0.000270971;
82  if(layer2==8)return 0.000269639;
83  if(layer2==9)return 0.000313385;
84  if(layer2==10)return 0.000204131;
85  if(layer2==11)return 0.000213183;
86  if(layer2==12)return 0.000142326;
87  if(layer2==13)return -0.0006886;
88  if(layer2==14)return -0.000836541;
89  if(layer2==15)return -0.000867524;
90  if(layer2==16)return -0.00089191;
91  if(layer2==17)return -0.00118841;
92  if(layer2==18)return -0.00114409;
93  if(layer2==19)return -0.00262366;
94  if(layer2==20)return -0.00276578;
95  if(layer2==21)return -0.00302496;
96  if(layer2==22)return -0.00274118;
97  if(layer2==23)return -0.00329716;
98  if(layer2==24)return -0.00322495;
99  break; // layer 3
100  case 4:
101  if(layer2==4)return 0.000663642;
102  if(layer2==5)return 0.00057822;
103  if(layer2==6)return 0.000603196;
104  if(layer2==7)return 0.000508455;
105  if(layer2==8)return 0.000383883;
106  if(layer2==9)return 0.000420884;
107  if(layer2==10)return 0.000469223;
108  if(layer2==11)return 0.00029155;
109  if(layer2==12)return 0.00028835;
110  if(layer2==13)return -0.000305435;
111  if(layer2==14)return -0.000420861;
112  if(layer2==15)return -0.000793265;
113  if(layer2==16)return -0.000887853;
114  if(layer2==17)return -0.00069152;
115  if(layer2==18)return -0.000970917;
116  if(layer2==19)return -0.00212543;
117  if(layer2==20)return -0.00233911;
118  if(layer2==21)return -0.00263463;
119  if(layer2==22)return -0.00286518;
120  if(layer2==23)return -0.00275972;
121  if(layer2==24)return -0.00311307;
122  break; // layer 4
123  case 5:
124  if(layer2==5)return 0.000762076;
125  if(layer2==6)return 0.000578621;
126  if(layer2==7)return 0.000344426;
127  if(layer2==8)return 0.000501357;
128  if(layer2==9)return 0.000475929;
129  if(layer2==10)return 0.000359146;
130  if(layer2==11)return 0.000263931;
131  if(layer2==12)return 0.000297406;
132  if(layer2==13)return -0.000500437;
133  if(layer2==14)return -0.000267775;
134  if(layer2==15)return -0.000595586;
135  if(layer2==16)return -0.000903103;
136  if(layer2==17)return -0.000563898;
137  if(layer2==18)return -0.000759776;
138  if(layer2==19)return -0.00246909;
139  if(layer2==20)return -0.00263376;
140  if(layer2==21)return -0.00224664;
141  if(layer2==22)return -0.00282813;
142  if(layer2==23)return -0.00312209;
143  if(layer2==24)return -0.00318908;
144  break; // layer 5
145  case 6:
146  if(layer2==6)return 0.00091888;
147  if(layer2==7)return 0.000592297;
148  if(layer2==8)return 0.000361344;
149  if(layer2==9)return 0.000600295;
150  if(layer2==10)return 0.000481805;
151  if(layer2==11)return 0.000418612;
152  if(layer2==12)return 0.000475262;
153  if(layer2==13)return -0.000160005;
154  if(layer2==14)return -0.00033444;
155  if(layer2==15)return -0.000574285;
156  if(layer2==16)return -0.000972138;
157  if(layer2==17)return -0.000565014;
158  if(layer2==18)return -0.000808768;
159  if(layer2==19)return -0.00186498;
160  if(layer2==20)return -0.00204238;
161  if(layer2==21)return -0.00240424;
162  if(layer2==22)return -0.0025992;
163  if(layer2==23)return -0.00244965;
164  if(layer2==24)return -0.00274029;
165  break; // layer 6
166  case 7:
167  if(layer2==7)return 0.00941613;
168  if(layer2==8)return 0.00243384;
169  if(layer2==9)return 0.00197798;
170  if(layer2==10)return 0.00198357;
171  if(layer2==11)return 0.00159895;
172  if(layer2==12)return 0.00217037;
173  if(layer2==13)return 0.00540402;
174  if(layer2==14)return 0.00346997;
175  if(layer2==15)return 0.00354863;
176  if(layer2==16)return 0.00232144;
177  if(layer2==17)return 0.00755751;
178  if(layer2==18)return 0.0039261;
179  if(layer2==19)return 0.00384286;
180  if(layer2==20)return 0.00944355;
181  if(layer2==21)return 0.00565062;
182  if(layer2==22)return 0.00136788;
183  if(layer2==23)return 0.00990618;
184  if(layer2==24)return 0.00620554;
185  break; // layer 7
186  case 8:
187  if(layer2==8)return 0.012477;
188  if(layer2==9)return 0.00336062;
189  if(layer2==10)return 0.00236514;
190  if(layer2==11)return 0.00236415;
191  if(layer2==12)return 0.00322261;
192  if(layer2==13)return 0.00475278;
193  if(layer2==14)return 0.00672238;
194  if(layer2==15)return 0.0101226;
195  if(layer2==16)return 0.00384073;
196  if(layer2==17)return 0.0133649;
197  if(layer2==18)return 0.0110647;
198  if(layer2==19)return 0.000943711;
199  if(layer2==20)return 0.0119423;
200  if(layer2==21)return 0.0172422;
201  if(layer2==22)return 0.00180998;
202  if(layer2==23)return 0.00971831;
203  if(layer2==24)return 0.014592;
204  break; // layer 8
205  case 9:
206  if(layer2==9)return 0.0109299;
207  if(layer2==10)return 0.00263205;
208  if(layer2==11)return 0.00191202;
209  if(layer2==12)return 0.00214378;
210  if(layer2==13)return 0.00508611;
211  if(layer2==14)return 0.0037997;
212  if(layer2==15)return 0.00686033;
213  if(layer2==16)return 0.00407503;
214  if(layer2==17)return 0.00651406;
215  if(layer2==18)return 0.00784606;
216  if(layer2==19)return 0.00432215;
217  if(layer2==20)return 0.00561573;
218  if(layer2==21)return 0.00929072;
219  if(layer2==22)return 0.00430716;
220  if(layer2==23)return 0.00506619;
221  if(layer2==24)return 0.00863102;
222  break; // layer 9
223  case 10:
224  if(layer2==10)return 0.0126246;
225  if(layer2==11)return 0.00205085;
226  if(layer2==12)return 0.00266086;
227  if(layer2==13)return 0.00694037;
228  if(layer2==14)return 0.00696621;
229  if(layer2==15)return 0.00301847;
230  if(layer2==16)return 0.00527808;
231  if(layer2==17)return 0.00657487;
232  if(layer2==18)return 0.00332406;
233  if(layer2==19)return 0.00717002;
234  if(layer2==20)return 0.00689147;
235  if(layer2==21)return 0.00488396;
236  if(layer2==22)return 0.00461135;
237  if(layer2==23)return 0.00663182;
238  if(layer2==24)return 0.0028906;
239  break; // layer 10
240  case 11:
241  if(layer2==11)return 0.0137119;
242  if(layer2==12)return 0.00202584;
243  if(layer2==13)return 0.00307288;
244  if(layer2==14)return 0.00566122;
245  if(layer2==15)return 0.00451167;
246  if(layer2==16)return 0.00243922;
247  if(layer2==17)return 0.00643825;
248  if(layer2==18)return 0.00528795;
249  if(layer2==19)return 0.00257297;
250  if(layer2==20)return 0.00759791;
251  if(layer2==21)return 0.00873083;
252  if(layer2==22)return 0.00224811;
253  if(layer2==23)return 0.00626871;
254  if(layer2==24)return 0.00829066;
255  break; // layer 11
256  case 12:
257  if(layer2==12)return 0.0149375;
258  if(layer2==13)return 0.00669672;
259  if(layer2==14)return 0.00532517;
260  if(layer2==15)return 0.00923196;
261  if(layer2==16)return 0.00514177;
262  if(layer2==17)return 0.00858525;
263  if(layer2==18)return 0.00916853;
264  if(layer2==19)return 0.00660234;
265  if(layer2==20)return 0.00686408;
266  if(layer2==21)return 0.0117095;
267  if(layer2==22)return 0.00690335;
268  if(layer2==23)return 0.00704723;
269  if(layer2==24)return 0.0109506;
270  break; // layer 12
271  case 13:
272  if(layer2==13)return 0.0424831;
273  if(layer2==14)return 0.0132986;
274  if(layer2==15)return 0.0112832;
275  if(layer2==16)return 0.0114952;
276  if(layer2==17)return 0.0191486;
277  if(layer2==18)return 0.014654;
278  if(layer2==19)return 0.0265102;
279  if(layer2==20)return 0.0251338;
280  if(layer2==21)return 0.0204195;
281  if(layer2==22)return 0.0229189;
282  if(layer2==23)return 0.0266061;
283  if(layer2==24)return 0.019977;
284  break; // layer 13
285  case 14:
286  if(layer2==14)return 0.0487339;
287  if(layer2==15)return 0.0129352;
288  if(layer2==16)return 0.0113439;
289  if(layer2==17)return 0.0210415;
290  if(layer2==18)return 0.0162345;
291  if(layer2==19)return 0.0162787;
292  if(layer2==20)return 0.0296003;
293  if(layer2==21)return 0.029972;
294  if(layer2==22)return 0.0144352;
295  if(layer2==23)return 0.0306181;
296  if(layer2==24)return 0.026856;
297  break; // layer 14
298  case 15:
299  if(layer2==15)return 0.0547796;
300  if(layer2==16)return 0.0134318;
301  if(layer2==17)return 0.0266401;
302  if(layer2==18)return 0.0293692;
303  if(layer2==19)return 0.0171676;
304  if(layer2==20)return 0.0272509;
305  if(layer2==21)return 0.0500961;
306  if(layer2==22)return 0.023925;
307  if(layer2==23)return 0.0278054;
308  if(layer2==24)return 0.0489375;
309  break; // layer 15
310  case 16:
311  if(layer2==16)return 0.0481183;
312  if(layer2==17)return 0.0145537;
313  if(layer2==18)return 0.015112;
314  if(layer2==19)return 0.0260147;
315  if(layer2==20)return 0.0241747;
316  if(layer2==21)return 0.0201543;
317  if(layer2==22)return 0.0321924;
318  if(layer2==23)return 0.0241489;
319  if(layer2==24)return 0.0211445;
320  break; // layer 16
321  case 17:
322  if(layer2==17)return 0.0724264;
323  if(layer2==18)return 0.0326953;
324  if(layer2==19)return 0.0166213;
325  if(layer2==20)return 0.0551036;
326  if(layer2==21)return 0.0552371;
327  if(layer2==22)return 0.0154214;
328  if(layer2==23)return 0.0549375;
329  if(layer2==24)return 0.0523486;
330  break; // layer 17
331  case 18:
332  if(layer2==18)return 0.0680758;
333  if(layer2==19)return 0.0219335;
334  if(layer2==20)return 0.0321661;
335  if(layer2==21)return 0.0626003;
336  if(layer2==22)return 0.0276625;
337  if(layer2==23)return 0.0324177;
338  if(layer2==24)return 0.0611823;
339  break; // layer 18
340  case 19:
341  if(layer2==19)return 0.103584;
342  if(layer2==20)return 0.0381741;
343  if(layer2==21)return 0.0361168;
344  if(layer2==22)return 0.0609626;
345  if(layer2==23)return 0.0433971;
346  if(layer2==24)return 0.0380554;
347  break; // layer 19
348  case 20:
349  if(layer2==20)return 0.127328;
350  if(layer2==21)return 0.0655345;
351  if(layer2==22)return 0.0363031;
352  if(layer2==23)return 0.0968891;
353  if(layer2==24)return 0.0702118;
354  break; // layer 20
355  case 21:
356  if(layer2==21)return 0.146928;
357  if(layer2==22)return 0.042056;
358  if(layer2==23)return 0.0665459;
359  if(layer2==24)return 0.114058;
360  break; // layer 21
361  case 22:
362  if(layer2==22)return 0.115602;
363  if(layer2==23)return 0.0406957;
364  if(layer2==24)return 0.0476336;
365  break; // layer 22
366  case 23:
367  if(layer2==23)return 0.146012;
368  if(layer2==24)return 0.0737714;
369  break; // layer 23
370  case 24:
371  if(layer2==24)return 0.158888;
372  break; // layer 24
373  } // switch for layer1 25
374 
375  return 0.0;
376 }
377 
378 
379 // NOTE: At this point, the following is incorrect. It does not
380 // Properly account for the Lorentz deflections that are in the
381 // simulated data file. It's better to use the above for the
382 // MULS error along the wire as well for the time being.
383 // April 20, 2009 DL
384 
385 
386 //-------------------------
387 // GetFDCCathodeCovariance
388 //-------------------------
389 double GetFDCCathodeCovariance(int layer1, int layer2)
390 {
391  if(layer1<1 || layer2>24 || layer2<1 || layer2>24)return 0.0;
392  if(layer2<layer1){
393  int tmp = layer1;
394  layer1 = layer2;
395  layer2 = tmp;
396  }
397 
398  switch(layer1){
399  case 1:
400  if(layer2==1)return 0.000259212;
401  if(layer2==2)return -1.48748e-06;
402  if(layer2==3)return 1.49637e-06;
403  if(layer2==4)return -3.95846e-06;
404  if(layer2==5)return -2.62431e-06;
405  if(layer2==6)return -7.89397e-07;
406  if(layer2==7)return 2.85425e-05;
407  if(layer2==8)return 1.10816e-05;
408  if(layer2==9)return 1.69028e-05;
409  if(layer2==10)return 1.82918e-05;
410  if(layer2==11)return -1.4731e-05;
411  if(layer2==12)return 1.48368e-05;
412  if(layer2==13)return 5.5183e-05;
413  if(layer2==14)return 1.10052e-06;
414  if(layer2==15)return 3.33326e-05;
415  if(layer2==16)return 4.88196e-05;
416  if(layer2==17)return 4.25319e-05;
417  if(layer2==18)return 4.02736e-05;
418  if(layer2==19)return 8.80668e-05;
419  if(layer2==20)return 0.00011175;
420  if(layer2==21)return 8.40024e-05;
421  if(layer2==22)return 8.43182e-05;
422  if(layer2==23)return 5.43089e-05;
423  if(layer2==24)return 4.01294e-05;
424  break; // layer 1
425  case 2:
426  if(layer2==2)return 0.000257954;
427  if(layer2==3)return -2.17538e-07;
428  if(layer2==4)return 3.05871e-06;
429  if(layer2==5)return 1.05325e-05;
430  if(layer2==6)return -2.02414e-05;
431  if(layer2==7)return 1.69923e-05;
432  if(layer2==8)return 8.42202e-05;
433  if(layer2==9)return -0.00010199;
434  if(layer2==10)return -8.60192e-06;
435  if(layer2==11)return 9.5151e-05;
436  if(layer2==12)return -0.000119313;
437  if(layer2==13)return -5.02435e-05;
438  if(layer2==14)return 0.000146529;
439  if(layer2==15)return -0.000198696;
440  if(layer2==16)return -7.37034e-05;
441  if(layer2==17)return 0.000119301;
442  if(layer2==18)return -0.000206375;
443  if(layer2==19)return -0.000194452;
444  if(layer2==20)return 0.000123303;
445  if(layer2==21)return -0.000278509;
446  if(layer2==22)return -0.000156683;
447  if(layer2==23)return 0.000115377;
448  if(layer2==24)return -0.000255137;
449  break; // layer 2
450  case 3:
451  if(layer2==3)return 0.000282503;
452  if(layer2==4)return 2.49987e-05;
453  if(layer2==5)return -3.31924e-05;
454  if(layer2==6)return 7.65871e-05;
455  if(layer2==7)return 0.00021057;
456  if(layer2==8)return -0.000127246;
457  if(layer2==9)return 0.000350758;
458  if(layer2==10)return 0.000240732;
459  if(layer2==11)return -0.000122853;
460  if(layer2==12)return 0.000408539;
461  if(layer2==13)return 0.000508711;
462  if(layer2==14)return -2.98293e-05;
463  if(layer2==15)return 0.00046555;
464  if(layer2==16)return 0.000503079;
465  if(layer2==17)return 6.94061e-05;
466  if(layer2==18)return 0.000487515;
467  if(layer2==19)return 0.000742624;
468  if(layer2==20)return 0.000241953;
469  if(layer2==21)return 0.000493597;
470  if(layer2==22)return 0.000790171;
471  if(layer2==23)return 0.000201507;
472  if(layer2==24)return 0.000524748;
473  break; // layer 3
474  case 4:
475  if(layer2==4)return 0.000344896;
476  if(layer2==5)return 6.70214e-05;
477  if(layer2==6)return 9.35823e-05;
478  if(layer2==7)return 0.000658416;
479  if(layer2==8)return 0.000560364;
480  if(layer2==9)return 0.000199577;
481  if(layer2==10)return 0.000817453;
482  if(layer2==11)return 0.000727325;
483  if(layer2==12)return 0.000190464;
484  if(layer2==13)return 0.00123537;
485  if(layer2==14)return 0.00138458;
486  if(layer2==15)return 4.15432e-05;
487  if(layer2==16)return 0.00126318;
488  if(layer2==17)return 0.00151974;
489  if(layer2==18)return -5.78469e-05;
490  if(layer2==19)return 0.00099527;
491  if(layer2==20)return 0.00202511;
492  if(layer2==21)return -0.000791871;
493  if(layer2==22)return 0.00139361;
494  if(layer2==23)return 0.00180254;
495  if(layer2==24)return -0.00117376;
496  break; // layer 4
497  case 5:
498  if(layer2==5)return 0.000480153;
499  if(layer2==6)return -0.000176782;
500  if(layer2==7)return 0.000348708;
501  if(layer2==8)return 0.00136624;
502  if(layer2==9)return -0.00114986;
503  if(layer2==10)return 0.000233608;
504  if(layer2==11)return 0.00152214;
505  if(layer2==12)return -0.00137914;
506  if(layer2==13)return -0.00040315;
507  if(layer2==14)return 0.00213068;
508  if(layer2==15)return -0.00211505;
509  if(layer2==16)return -0.000439276;
510  if(layer2==17)return 0.00201734;
511  if(layer2==18)return -0.002279;
512  if(layer2==19)return -0.00176081;
513  if(layer2==20)return 0.00219088;
514  if(layer2==21)return -0.00349883;
515  if(layer2==22)return -0.00169445;
516  if(layer2==23)return 0.00186074;
517  if(layer2==24)return -0.00390196;
518  break; // layer 5
519  case 6:
520  if(layer2==6)return 0.000700908;
521  if(layer2==7)return 0.00111843;
522  if(layer2==8)return -0.000725816;
523  if(layer2==9)return 0.00217654;
524  if(layer2==10)return 0.00166731;
525  if(layer2==11)return -0.000618979;
526  if(layer2==12)return 0.00249643;
527  if(layer2==13)return 0.00354854;
528  if(layer2==14)return 8.93556e-05;
529  if(layer2==15)return 0.00324484;
530  if(layer2==16)return 0.00372352;
531  if(layer2==17)return 0.000449007;
532  if(layer2==18)return 0.00333059;
533  if(layer2==19)return 0.00526369;
534  if(layer2==20)return 0.00147875;
535  if(layer2==21)return 0.00358997;
536  if(layer2==22)return 0.00537658;
537  if(layer2==23)return 0.00146612;
538  if(layer2==24)return 0.00306215;
539  break; // layer 6
540  case 7:
541  if(layer2==7)return 0.0119196;
542  if(layer2==8)return 0.00537461;
543  if(layer2==9)return 0.0074455;
544  if(layer2==10)return 0.0120928;
545  if(layer2==11)return 0.00762934;
546  if(layer2==12)return 0.00816088;
547  if(layer2==13)return 0.0251839;
548  if(layer2==14)return 0.0171282;
549  if(layer2==15)return 0.00711942;
550  if(layer2==16)return 0.0264409;
551  if(layer2==17)return 0.021432;
552  if(layer2==18)return 0.00620119;
553  if(layer2==19)return 0.0293231;
554  if(layer2==20)return 0.0329347;
555  if(layer2==21)return -0.00264357;
556  if(layer2==22)return 0.0309255;
557  if(layer2==23)return 0.0327569;
558  if(layer2==24)return -0.0059781;
559  break; // layer 7
560  case 8:
561  if(layer2==8)return 0.0127684;
562  if(layer2==9)return -0.00804617;
563  if(layer2==10)return 0.00582225;
564  if(layer2==11)return 0.0152876;
565  if(layer2==12)return -0.0100867;
566  if(layer2==13)return 0.00246289;
567  if(layer2==14)return 0.023448;
568  if(layer2==15)return -0.0191363;
569  if(layer2==16)return 0.00186881;
570  if(layer2==17)return 0.0236892;
571  if(layer2==18)return -0.0212029;
572  if(layer2==19)return -0.00898381;
573  if(layer2==20)return 0.0254384;
574  if(layer2==21)return -0.0331911;
575  if(layer2==22)return -0.00820424;
576  if(layer2==23)return 0.0231141;
577  if(layer2==24)return -0.037125;
578  break; // layer 8
579  case 9:
580  if(layer2==9)return 0.0176829;
581  if(layer2==10)return 0.00818921;
582  if(layer2==11)return -0.007947;
583  if(layer2==12)return 0.0210759;
584  if(layer2==13)return 0.0275057;
585  if(layer2==14)return -0.00597435;
586  if(layer2==15)return 0.0307075;
587  if(layer2==16)return 0.0299251;
588  if(layer2==17)return -0.00121394;
589  if(layer2==18)return 0.0325854;
590  if(layer2==19)return 0.0454171;
591  if(layer2==20)return 0.00923176;
592  if(layer2==21)return 0.0356939;
593  if(layer2==22)return 0.0467138;
594  if(layer2==23)return 0.0117531;
595  if(layer2==24)return 0.0341138;
596  break; // layer 9
597  case 10:
598  if(layer2==10)return 0.0159691;
599  if(layer2==11)return 0.00824885;
600  if(layer2==12)return 0.00907031;
601  if(layer2==13)return 0.0282879;
602  if(layer2==14)return 0.0206978;
603  if(layer2==15)return 0.00801328;
604  if(layer2==16)return 0.0296676;
605  if(layer2==17)return 0.0235688;
606  if(layer2==18)return 0.00721606;
607  if(layer2==19)return 0.0325955;
608  if(layer2==20)return 0.0348687;
609  if(layer2==21)return -0.0021366;
610  if(layer2==22)return 0.033933;
611  if(layer2==23)return 0.0341879;
612  if(layer2==24)return -0.00765239;
613  break; // layer 10
614  case 11:
615  if(layer2==11)return 0.018272;
616  if(layer2==12)return -0.0100808;
617  if(layer2==13)return 0.00710489;
618  if(layer2==14)return 0.0300333;
619  if(layer2==15)return -0.0215207;
620  if(layer2==16)return 0.00631188;
621  if(layer2==17)return 0.030934;
622  if(layer2==18)return -0.0238843;
623  if(layer2==19)return -0.00585993;
624  if(layer2==20)return 0.0350924;
625  if(layer2==21)return -0.0394446;
626  if(layer2==22)return -0.0045144;
627  if(layer2==23)return 0.0321007;
628  if(layer2==24)return -0.0448891;
629  break; // layer 11
630  case 12:
631  if(layer2==12)return 0.0251355;
632  if(layer2==13)return 0.0326002;
633  if(layer2==14)return -0.00883425;
634  if(layer2==15)return 0.0376816;
635  if(layer2==16)return 0.0355568;
636  if(layer2==17)return -0.00350749;
637  if(layer2==18)return 0.0403662;
638  if(layer2==19)return 0.0562171;
639  if(layer2==20)return 0.00928686;
640  if(layer2==21)return 0.0455012;
641  if(layer2==22)return 0.0573382;
642  if(layer2==23)return 0.013248;
643  if(layer2==24)return 0.0434772;
644  break; // layer 12
645  case 13:
646  if(layer2==13)return 0.0746805;
647  if(layer2==14)return 0.0314059;
648  if(layer2==15)return 0.0435293;
649  if(layer2==16)return 0.0837659;
650  if(layer2==17)return 0.0438281;
651  if(layer2==18)return 0.0430851;
652  if(layer2==19)return 0.111447;
653  if(layer2==20)return 0.0816691;
654  if(layer2==21)return 0.0275505;
655  if(layer2==22)return 0.113626;
656  if(layer2==23)return 0.0861752;
657  if(layer2==24)return 0.0179491;
658  break; // layer 13
659  case 14:
660  if(layer2==14)return 0.0634629;
661  if(layer2==15)return -0.0300999;
662  if(layer2==16)return 0.0309582;
663  if(layer2==17)return 0.0687258;
664  if(layer2==18)return -0.0358981;
665  if(layer2==19)return 0.0150537;
666  if(layer2==20)return 0.0882759;
667  if(layer2==21)return -0.0726655;
668  if(layer2==22)return 0.0162644;
669  if(layer2==23)return 0.0862753;
670  if(layer2==24)return -0.0853443;
671  break; // layer 14
672  case 15:
673  if(layer2==15)return 0.0740832;
674  if(layer2==16)return 0.0505133;
675  if(layer2==17)return -0.0240409;
676  if(layer2==18)return 0.0806006;
677  if(layer2==19)return 0.0899995;
678  if(layer2==20)return -0.00857435;
679  if(layer2==21)return 0.0961208;
680  if(layer2==22)return 0.0974814;
681  if(layer2==23)return 0.000700254;
682  if(layer2==24)return 0.0988446;
683  break; // layer 15
684  case 16:
685  if(layer2==16)return 0.0892268;
686  if(layer2==17)return 0.0442551;
687  if(layer2==18)return 0.050842;
688  if(layer2==19)return 0.123553;
689  if(layer2==20)return 0.0862985;
690  if(layer2==21)return 0.0351894;
691  if(layer2==22)return 0.12626;
692  if(layer2==23)return 0.0926381;
693  if(layer2==24)return 0.0252649;
694  break; // layer 16
695  case 17:
696  if(layer2==17)return 0.0786674;
697  if(layer2==18)return -0.0306203;
698  if(layer2==19)return 0.033929;
699  if(layer2==20)return 0.107187;
700  if(layer2==21)return -0.0739739;
701  if(layer2==22)return 0.0334797;
702  if(layer2==23)return 0.107798;
703  if(layer2==24)return -0.0866908;
704  break; // layer 17
705  case 18:
706  if(layer2==18)return 0.0893095;
707  if(layer2==19)return 0.0971627;
708  if(layer2==20)return -0.0154624;
709  if(layer2==21)return 0.113637;
710  if(layer2==22)return 0.103139;
711  if(layer2==23)return -0.0082286;
712  if(layer2==24)return 0.114272;
713  break; // layer 18
714  case 19:
715  if(layer2==19)return 0.191898;
716  if(layer2==20)return 0.0949705;
717  if(layer2==21)return 0.0985812;
718  if(layer2==22)return 0.202249;
719  if(layer2==23)return 0.112417;
720  if(layer2==24)return 0.0882125;
721  break; // layer 19
722  case 20:
723  if(layer2==20)return 0.173644;
724  if(layer2==21)return -0.0796099;
725  if(layer2==22)return 0.0958044;
726  if(layer2==23)return 0.182096;
727  if(layer2==24)return -0.0976008;
728  break; // layer 20
729  case 21:
730  if(layer2==21)return 0.182626;
731  if(layer2==22)return 0.104415;
732  if(layer2==23)return -0.0722736;
733  if(layer2==24)return 0.190527;
734  break; // layer 21
735  case 22:
736  if(layer2==22)return 0.211122;
737  if(layer2==23)return 0.110645;
738  if(layer2==24)return 0.0941412;
739  break; // layer 22
740  case 23:
741  if(layer2==23)return 0.194591;
742  if(layer2==24)return -0.091654;
743  break; // layer 23
744  case 24:
745  if(layer2==24)return 0.206504;
746  break; // layer 24
747  } // switch for layer1 25
748 
749  return 0.0;
750 }
double GetFDCCovariance(int layer1, int layer2)
double GetFDCCathodeCovariance(int layer1, int layer2)