ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/PhotonFix.cc
Revision: 1.2
Committed: Thu Sep 8 15:51:24 2011 UTC (13 years, 7 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_025pre1
Changes since 1.1: +2147 -1672 lines
Log Message:
Add tool and required changes for photon energy regression

File Contents

# User Rev Content
1 bendavid 1.2 #include <cmath>
2     #include <cassert>
3     #include <fstream>
4     #include <iomanip>
5    
6     // ensure that this include points to the appropriate location for PhotonFix.h
7     #include "../interface/PhotonFix.h"
8    
9     /*PhotonFix::PhotonFix(double e, double eta, double phi, double r9) :
10     _e(e), _eta(eta), _phi(phi), _r9(r9) {
11    
12     setup();
13     }*/
14    
15     void PhotonFix::setup(double e, double eta, double phi, double r9){
16     // Check constants have been set up
17     assert(_initialised);
18    
19     _e = e;
20     _eta = eta;
21     _phi = phi;
22     _r9 = r9;
23    
24     // Determine if EB or EE
25     _be=(fabs(_eta)<1.48?0:1);
26    
27     // Determine if high or low R9
28     if(_be==0) _hl=(_r9>=0.94?0:1);
29     else _hl=(_r9>=0.95?0:1);
30    
31     // Coordinates relative to cracks
32     double r2Min;
33     if(_be==0) {
34    
35     r2Min=1.0e6;
36     for(unsigned i(0);i<169;i++) {
37     for(unsigned j(0);j<360;j++) {
38     double de(_eta-_barrelCGap[i][j][0]);
39     double df(dPhi(_phi,_barrelCGap[i][j][1]));
40     double r2(de*de+df*df);
41    
42     if(r2<r2Min) {
43     r2Min=r2;
44     if(i>=84) {
45     _aC= de;
46     _bC=-df;
47     } else {
48     _aC=-de;
49     _bC= df;
50     }
51     }
52     }
53     }
54    
55     r2Min=1.0e6;
56     for(unsigned i(0);i<33;i++) {
57     for(unsigned j(0);j<180;j++) {
58     double de(_eta-_barrelSGap[i][j][0]);
59     double df(dPhi(_phi,_barrelSGap[i][j][1]));
60     double r2(de*de+df*df);
61    
62     if(r2<r2Min) {
63     r2Min=r2;
64     if(i>=16) {
65     _aS= de;
66     _bS=-df;
67     } else {
68     _aS=-de;
69     _bS= df;
70     }
71     }
72     }
73     }
74    
75     r2Min=1.0e6;
76     for(unsigned i(0);i<7;i++) {
77     for(unsigned j(0);j<18;j++) {
78     double de(_eta-_barrelMGap[i][j][0]);
79     double df(dPhi(_phi,_barrelMGap[i][j][1]));
80     double r2(de*de+df*df);
81    
82     if(r2<r2Min) {
83     r2Min=r2;
84     if(i>=3) {
85     _aM= de;
86     _bM=-df;
87     } else {
88     _aM=-de;
89     _bM= df;
90     }
91     }
92     }
93     }
94    
95     } else {
96     unsigned iz(_eta>=0.0?0:1);
97     double r[2]={xZ(),yZ()};
98    
99     r2Min=1.0e6;
100     for(unsigned i(0);i<7080;i++) {
101     double dx(r[0]-_endcapCGap[iz][i][0]);
102     double dy(r[1]-_endcapCGap[iz][i][1]);
103     double r2(dx*dx+dy*dy);
104    
105     if(r2<r2Min) {
106     r2Min=r2;
107     if(r[0]>0.0) _aC= dx;
108     else _aC=-dx;
109     if(r[1]>0.0) _bC= dy;
110     else _bC=-dy;
111     }
112     }
113    
114     r2Min=1.0e6;
115     for(unsigned i(0);i<264;i++) {
116     double dx(r[0]-_endcapSGap[iz][i][0]);
117     double dy(r[1]-_endcapSGap[iz][i][1]);
118     double r2(dx*dx+dy*dy);
119    
120     if(r2<r2Min) {
121     r2Min=r2;
122     if(r[0]>0.0) _aS= dx;
123     else _aS=-dx;
124     if(r[1]>0.0) _bS= dy;
125     else _bS=-dy;
126     }
127     }
128    
129     r2Min=1.0e6;
130     for(unsigned i(0);i<1;i++) {
131     double dx(r[0]-_endcapMGap[iz][i][0]);
132     double dy(r[1]-_endcapMGap[iz][i][1]);
133     double r2(dx*dx+dy*dy);
134    
135     if(r2<r2Min) {
136     r2Min=r2;
137     if(iz==0) {_aM= dx;_bM= dy;}
138     else {_aM=-dx;_bM=-dy;}
139     }
140     }
141     }
142     }
143    
144     double PhotonFix::fixedEnergy() const {
145     double f(0.0);
146    
147     // Overall scale and energy(T) dependence
148     f =_meanScale[_be][_hl][0];
149     f+=_meanScale[_be][_hl][1]*_e;
150     f+=_meanScale[_be][_hl][2]*_e/cosh(_eta);
151     f+=_meanScale[_be][_hl][3]*cosh(_eta)/_e;
152    
153     // General eta or zeta dependence
154     if(_be==0) {
155     f+=_meanAT[_be][_hl][0]*_eta*_eta;
156     f+=expCorrection(_eta,_meanBT[_be][_hl]);
157     } else {
158     f+=_meanAT[_be][_hl][0]*xZ()*xZ();
159     f+=_meanBT[_be][_hl][0]*yZ()*yZ();
160     }
161    
162     // Eta or x crystal, submodule and module dependence
163     f+=expCorrection(_aC,_meanAC[_be][_hl]);
164     f+=expCorrection(_aS,_meanAS[_be][_hl]);
165     f+=expCorrection(_aM,_meanAM[_be][_hl]);
166    
167     // Phi or y crystal, submodule and module dependence
168     f+=expCorrection(_bC,_meanBC[_be][_hl]);
169     f+=expCorrection(_bS,_meanBS[_be][_hl]);
170     f+=expCorrection(_bM,_meanBM[_be][_hl]);
171    
172     // R9 dependence
173     if(_hl==0) {
174     f+=_meanR9[_be][_hl][1]*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0])
175     +_meanR9[_be][_hl][2]*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0]);
176     } else {
177     f+=_meanR9[_be][_hl][0]*_r9+_meanR9[_be][_hl][1]*_r9*_r9+_meanR9[_be][_hl][2]*_r9*_r9*_r9;
178     }
179    
180     return _e*f;
181     }
182    
183     double PhotonFix::sigmaEnergy() const {
184    
185     // Overall resolution scale vs energy
186     double sigma;
187     if(_be==0) {
188     sigma =_sigmaScale[_be][_hl][0]*_sigmaScale[_be][_hl][0];
189     //std::cout << "PhotonFix::sigmaEnergy 1 sigma = " << sigma << std::endl;
190     sigma+=_sigmaScale[_be][_hl][1]*_sigmaScale[_be][_hl][1]*_e;
191     //std::cout << "PhotonFix::sigmaEnergy 2 sigma = " << sigma << std::endl;
192     sigma+=_sigmaScale[_be][_hl][2]*_sigmaScale[_be][_hl][2]*_e*_e;
193     //std::cout << "PhotonFix::sigmaEnergy 3 sigma = " << sigma << std::endl;
194     } else {
195     sigma =_sigmaScale[_be][_hl][0]*_sigmaScale[_be][_hl][0]*cosh(_eta)*cosh(_eta);
196     sigma+=_sigmaScale[_be][_hl][1]*_sigmaScale[_be][_hl][1]*_e;
197     sigma+=_sigmaScale[_be][_hl][2]*_sigmaScale[_be][_hl][2]*_e*_e;
198     }
199     sigma=sqrt(sigma);
200    
201     double f(1.0);
202    
203     // General eta or zeta dependence
204     if(_be==0) {
205     f+=_sigmaAT[_be][_hl][0]*_eta*_eta;
206     //std::cout << "PhotonFix::sigmaEnergy 4 f = " << f << std::endl;
207     f+=expCorrection(_eta,_sigmaBT[_be][_hl]);
208     //std::cout << "PhotonFix::sigmaEnergy 5 f = " << f << std::endl;
209     } else {
210     f+=_sigmaAT[_be][_hl][0]*xZ()*xZ();
211     f+=_sigmaBT[_be][_hl][0]*yZ()*yZ();
212     }
213    
214     // Eta or x crystal, submodule and module dependence
215     f+=expCorrection(_aC,_sigmaAC[_be][_hl]);
216     //std::cout << "PhotonFix::sigmaEnergy 6 f = " << f << std::endl;
217     f+=expCorrection(_aS,_sigmaAS[_be][_hl]);
218     //std::cout << "PhotonFix::sigmaEnergy 7 f = " << f << std::endl;
219     f+=expCorrection(_aM,_sigmaAM[_be][_hl]);
220     //std::cout << "PhotonFix::sigmaEnergy 8 f = " << f << std::endl;
221    
222     // Phi or y crystal, submodule and module dependence
223     f+=expCorrection(_bC,_sigmaBC[_be][_hl]);
224     //std::cout << "PhotonFix::sigmaEnergy 9 f = " << f << std::endl;
225     f+=expCorrection(_bS,_sigmaBS[_be][_hl]);
226     //std::cout << "PhotonFix::sigmaEnergy 10 f = " << f << std::endl;
227     f+=expCorrection(_bM,_sigmaBM[_be][_hl]);
228     //std::cout << "PhotonFix::sigmaEnergy 11 f = " << f << std::endl;
229    
230     // R9 dependence
231     if(_hl==0) {
232     f+=_sigmaR9[_be][_hl][1]*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0])
233     +_sigmaR9[_be][_hl][2]*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0]);
234     //std::cout << "PhotonFix::sigmaEnergy 12 f = " << f << std::endl;
235     } else {
236     f+=_sigmaR9[_be][_hl][0]*_r9+_sigmaR9[_be][_hl][1]*_r9*_r9+_sigmaR9[_be][_hl][2]*_r9*_r9*_r9;
237     //std::cout << "PhotonFix::sigmaEnergy 13 f = " << f << std::endl;
238     }
239    
240     return sigma*f;
241     }
242    
243     double PhotonFix::rawEnergy() const {
244     return _e;
245     }
246    
247     double PhotonFix::eta() const {
248     return _eta;
249     }
250    
251     double PhotonFix::phi() const {
252     return _phi;
253     }
254    
255     double PhotonFix::r9() const {
256     return _r9;
257     }
258    
259     double PhotonFix::etaC() const {
260     assert(_be==0);
261     return _aC;
262     }
263    
264     double PhotonFix::etaS() const {
265     assert(_be==0);
266     return _aS;
267     }
268    
269     double PhotonFix::etaM() const {
270     assert(_be==0);
271     return _aM;
272     }
273    
274     double PhotonFix::phiC() const {
275     assert(_be==0);
276     return _bC;
277     }
278    
279     double PhotonFix::phiS() const {
280     assert(_be==0);
281     return _bS;
282     }
283    
284     double PhotonFix::phiM() const {
285     assert(_be==0);
286     return _bM;
287     }
288    
289     double PhotonFix::xZ() const {
290     assert(_be==1);
291     return asinh(cos(_phi)/sinh(_eta));
292     }
293    
294     double PhotonFix::xC() const {
295     assert(_be==1);
296     return _aC;
297     }
298    
299     double PhotonFix::xS() const {
300     assert(_be==1);
301     return _aS;
302     }
303    
304     double PhotonFix::xM() const {
305     assert(_be==1);
306     return _aM;
307     }
308    
309     double PhotonFix::yZ() const {
310     assert(_be==1);
311     return asinh(sin(_phi)/sinh(_eta));
312     }
313    
314     double PhotonFix::yC() const {
315     assert(_be==1);
316     return _bC;
317     }
318    
319     double PhotonFix::yS() const {
320     assert(_be==1);
321     return _bS;
322     }
323    
324     double PhotonFix::yM() const {
325     assert(_be==1);
326     return _bM;
327     }
328    
329     double PhotonFix::GetaPhi(double f0, double f1) const {
330     return aPhi(f0,f1);
331     }
332    
333     void PhotonFix::barrelCGap(unsigned i, unsigned j, unsigned k, double c){
334     _barrelCGap[i][j][k] = c;
335     }
336     void PhotonFix::barrelSGap(unsigned i, unsigned j, unsigned k, double c){
337     _barrelSGap[i][j][k] = c;
338     }
339     void PhotonFix::barrelMGap(unsigned i, unsigned j, unsigned k, double c){
340     _barrelMGap[i][j][k] = c;
341     }
342     void PhotonFix::endcapCrystal(unsigned i, unsigned j, bool c){
343     _endcapCrystal[i][j] = c;
344     }
345     void PhotonFix::endcapCGap(unsigned i, unsigned j, unsigned k, double c){
346     _endcapCGap[i][j][k] = c;
347     }
348     void PhotonFix::endcapSGap(unsigned i, unsigned j, unsigned k, double c){
349     _endcapSGap[i][j][k] = c;
350     }
351     void PhotonFix::endcapMGap(unsigned i, unsigned j, unsigned k, double c){
352     _endcapMGap[i][j][k] = c;
353     }
354    
355    
356     void PhotonFix::print() const {
357     std::cout << "PhotonFix: e,eta,phi,r9 = " << _e << ", " << _eta << ", " << _phi << ", " << _r9 << ", gaps "
358     << _aC << ", " << _aS << ", " << _aM << ", "
359     << _bC << ", " << _bS << ", " << _bM << std::endl;
360     }
361    
362     void PhotonFix::setParameters(unsigned be, unsigned hl, const double *p) {
363     for(unsigned i(0);i<4;i++) {
364     _meanScale[be][hl][i] =p[i+ 0*4];
365     _meanAT[be][hl][i] =p[i+ 1*4];
366     _meanAC[be][hl][i] =p[i+ 2*4];
367     _meanAS[be][hl][i] =p[i+ 3*4];
368     _meanAM[be][hl][i] =p[i+ 4*4];
369     _meanBT[be][hl][i] =p[i+ 5*4];
370     _meanBC[be][hl][i] =p[i+ 6*4];
371     _meanBS[be][hl][i] =p[i+ 7*4];
372     _meanBM[be][hl][i] =p[i+ 8*4];
373     _meanR9[be][hl][i] =p[i+ 9*4];
374    
375     _sigmaScale[be][hl][i]=p[i+10*4];
376     _sigmaAT[be][hl][i] =p[i+11*4];
377     _sigmaAC[be][hl][i] =p[i+12*4];
378     _sigmaAS[be][hl][i] =p[i+13*4];
379     _sigmaAM[be][hl][i] =p[i+14*4];
380     _sigmaBT[be][hl][i] =p[i+15*4];
381     _sigmaBC[be][hl][i] =p[i+16*4];
382     _sigmaBS[be][hl][i] =p[i+17*4];
383     _sigmaBM[be][hl][i] =p[i+18*4];
384     _sigmaR9[be][hl][i] =p[i+19*4];
385     }
386     }
387    
388     void PhotonFix::getParameters(unsigned be, unsigned hl, double *p) {
389     for(unsigned i(0);i<4;i++) {
390     p[i+ 0*4]=_meanScale[be][hl][i];
391     p[i+ 1*4]=_meanAT[be][hl][i];
392     p[i+ 2*4]=_meanAC[be][hl][i];
393     p[i+ 3*4]=_meanAS[be][hl][i];
394     p[i+ 4*4]=_meanAM[be][hl][i];
395     p[i+ 5*4]=_meanBT[be][hl][i];
396     p[i+ 6*4]=_meanBC[be][hl][i];
397     p[i+ 7*4]=_meanBS[be][hl][i];
398     p[i+ 8*4]=_meanBM[be][hl][i];
399     p[i+ 9*4]=_meanR9[be][hl][i];
400    
401     p[i+10*4]=_sigmaScale[be][hl][i];
402     p[i+11*4]=_sigmaAT[be][hl][i];
403     p[i+12*4]=_sigmaAC[be][hl][i];
404     p[i+13*4]=_sigmaAS[be][hl][i];
405     p[i+14*4]=_sigmaAM[be][hl][i];
406     p[i+15*4]=_sigmaBT[be][hl][i];
407     p[i+16*4]=_sigmaBC[be][hl][i];
408     p[i+17*4]=_sigmaBS[be][hl][i];
409     p[i+18*4]=_sigmaBM[be][hl][i];
410     p[i+19*4]=_sigmaR9[be][hl][i];
411     }
412     }
413    
414     void PhotonFix::dumpParameters(std::ostream &o) {
415     o << std::setprecision(9);
416    
417     for(unsigned be(0);be<2;be++) {
418     for(unsigned hl(0);hl<2;hl++) {
419     for(unsigned i(0);i<4;i++) {
420     o << " _meanScale[" << be << "][" << hl << "][" << i << "]=" << _meanScale[be][hl][i] << ";" << std::endl;
421     }
422     for(unsigned i(0);i<4;i++) {
423     o << " _meanAT[" << be << "][" << hl << "][" << i << "]=" << _meanAT[be][hl][i] << ";" << std::endl;
424     }
425     for(unsigned i(0);i<4;i++) {
426     o << " _meanAC[" << be << "][" << hl << "][" << i << "]=" << _meanAC[be][hl][i] << ";" << std::endl;
427     }
428     for(unsigned i(0);i<4;i++) {
429     o << " _meanAS[" << be << "][" << hl << "][" << i << "]=" << _meanAS[be][hl][i] << ";" << std::endl;
430     }
431     for(unsigned i(0);i<4;i++) {
432     o << " _meanAM[" << be << "][" << hl << "][" << i << "]=" << _meanAM[be][hl][i] << ";" << std::endl;
433     }
434     for(unsigned i(0);i<4;i++) {
435     o << " _meanBT[" << be << "][" << hl << "][" << i << "]=" << _meanBT[be][hl][i] << ";" << std::endl;
436     }
437     for(unsigned i(0);i<4;i++) {
438     o << " _meanBC[" << be << "][" << hl << "][" << i << "]=" << _meanBC[be][hl][i] << ";" << std::endl;
439     }
440     for(unsigned i(0);i<4;i++) {
441     o << " _meanBS[" << be << "][" << hl << "][" << i << "]=" << _meanBS[be][hl][i] << ";" << std::endl;
442     }
443     for(unsigned i(0);i<4;i++) {
444     o << " _meanBM[" << be << "][" << hl << "][" << i << "]=" << _meanBM[be][hl][i] << ";" << std::endl;
445     }
446     for(unsigned i(0);i<4;i++) {
447     o << " _meanR9[" << be << "][" << hl << "][" << i << "]=" << _meanR9[be][hl][i] << ";" << std::endl;
448     }
449     o << std::endl;
450    
451     for(unsigned i(0);i<4;i++) {
452     o << " _sigmaScale[" << be << "][" << hl << "][" << i << "]=" << _sigmaScale[be][hl][i] << ";" << std::endl;
453     }
454     for(unsigned i(0);i<4;i++) {
455     o << " _sigmaAT[" << be << "][" << hl << "][" << i << "]=" << _sigmaAT[be][hl][i] << ";" << std::endl;
456     }
457     for(unsigned i(0);i<4;i++) {
458     o << " _sigmaAC[" << be << "][" << hl << "][" << i << "]=" << _sigmaAC[be][hl][i] << ";" << std::endl;
459     }
460     for(unsigned i(0);i<4;i++) {
461     o << " _sigmaAS[" << be << "][" << hl << "][" << i << "]=" << _sigmaAS[be][hl][i] << ";" << std::endl;
462     }
463     for(unsigned i(0);i<4;i++) {
464     o << " _sigmaAM[" << be << "][" << hl << "][" << i << "]=" << _sigmaAM[be][hl][i] << ";" << std::endl;
465     }
466     for(unsigned i(0);i<4;i++) {
467     o << " _sigmaBT[" << be << "][" << hl << "][" << i << "]=" << _sigmaBT[be][hl][i] << ";" << std::endl;
468     }
469     for(unsigned i(0);i<4;i++) {
470     o << " _sigmaBC[" << be << "][" << hl << "][" << i << "]=" << _sigmaBC[be][hl][i] << ";" << std::endl;
471     }
472     for(unsigned i(0);i<4;i++) {
473     o << " _sigmaBS[" << be << "][" << hl << "][" << i << "]=" << _sigmaBS[be][hl][i] << ";" << std::endl;
474     }
475     for(unsigned i(0);i<4;i++) {
476     o << " _sigmaBM[" << be << "][" << hl << "][" << i << "]=" << _sigmaBM[be][hl][i] << ";" << std::endl;
477     }
478     for(unsigned i(0);i<4;i++) {
479     o << " _sigmaR9[" << be << "][" << hl << "][" << i << "]=" << _sigmaR9[be][hl][i] << ";" << std::endl;
480     }
481     o << std::endl;
482     }
483     }
484     }
485    
486     void PhotonFix::printParameters(std::ostream &o) {
487     o << "PhotonFix::printParameters()" << std::endl;
488    
489     for(unsigned be(0);be<2;be++) {
490     for(unsigned hl(0);hl<2;hl++) {
491     o << " Parameters for " << (be==0?"barrel":"endcap")
492     << ", " << (hl==0?"high":"low") << " R9" << std::endl;
493    
494     o << " Mean scaling ";
495     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanScale[be][hl][i];
496     o << std::endl;
497     o << " Mean " << (be==0?"Eta ":"ZetaX") << " total ";
498     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAT[be][hl][i];
499     o << std::endl;
500     o << " Mean " << (be==0?"Eta ":"ZetaX") << " crystal ";
501     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAC[be][hl][i];
502     o << std::endl;
503     o << " Mean " << (be==0?"Eta ":"ZetaX") << " submodule";
504     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAS[be][hl][i];
505     o << std::endl;
506     o << " Mean " << (be==0?"Eta ":"ZetaX") << " module ";
507     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAM[be][hl][i];
508     o << std::endl;
509     o << " Mean " << (be==0?"Eta zero ":"ZetaY total ");
510     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBT[be][hl][i];
511     o << std::endl;
512     o << " Mean " << (be==0?"Phi ":"ZetaY") << " crystal ";
513     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBC[be][hl][i];
514     o << std::endl;
515     o << " Mean " << (be==0?"Phi ":"ZetaY") << " submodule";
516     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBS[be][hl][i];
517     o << std::endl;
518     o << " Mean " << (be==0?"Phi ":"ZetaY") << " module ";
519     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBM[be][hl][i];
520     o << std::endl;
521     o << " Mean R9 ";
522     for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanR9[be][hl][i];
523     o << std::endl;
524    
525     o << " Sigma scaling ";
526     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaScale[be][hl][i];
527     o << std::endl;
528     o << " Sigma " << (be==0?"Eta ":"ZetaX") << " total ";
529     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAT[be][hl][i];
530     o << std::endl;
531     o << " Sigma " << (be==0?"Eta ":"ZetaX") << " crystal ";
532     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAC[be][hl][i];
533     o << std::endl;
534     o << " Sigma " << (be==0?"Eta ":"ZetaX") << " submodule";
535     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAS[be][hl][i];
536     o << std::endl;
537     o << " Sigma " << (be==0?"Eta ":"ZetaX") << " module ";
538     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAM[be][hl][i];
539     o << std::endl;
540     o << " Sigma " << (be==0?"Eta ":"ZetaY") << " total ";
541     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBT[be][hl][i];
542     o << std::endl;
543     o << " Sigma " << (be==0?"Eta ":"ZetaY") << " crystal ";
544     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBC[be][hl][i];
545     o << std::endl;
546     o << " Sigma " << (be==0?"Phi ":"ZetaY") << " submodule";
547     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBS[be][hl][i];
548     o << std::endl;
549     o << " Sigma " << (be==0?"Phi ":"ZetaY") << " module ";
550     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBM[be][hl][i];
551     o << std::endl;
552     o << " Sigma R9 ";
553     for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaR9[be][hl][i];
554     o << std::endl;
555     }
556     }
557     }
558    
559     double PhotonFix::asinh(double s) const {
560     if(s>=0.0) return log(sqrt(s*s+1.0)+s);
561     else return -log(sqrt(s*s+1.0)-s);
562     }
563    
564     void PhotonFix::dumpGaps(std::ostream &o) {
565     o << std::setprecision(15);
566    
567     for(unsigned i(0);i<169;i++) {
568     for(unsigned j(0);j<360;j++) {
569     for(unsigned k(0);k<2;k++) {
570     o << _barrelCGap[i][j][k] << std::endl;
571     }
572     }
573     }
574    
575     for(unsigned i(0);i<33;i++) {
576     for(unsigned j(0);j<180;j++) {
577     for(unsigned k(0);k<2;k++) {
578     o << _barrelSGap[i][j][k] << std::endl;
579     }
580     }
581     }
582    
583     for(unsigned i(0);i<7;i++) {
584     for(unsigned j(0);j<18;j++) {
585     for(unsigned k(0);k<2;k++) {
586     o << _barrelMGap[i][j][k] << std::endl;
587     }
588     }
589     }
590    
591     for(unsigned i(0);i<100;i++) {
592     for(unsigned j(0);j<100;j++) {
593     if(_endcapCrystal[i][j]) o << 0 << std::endl;
594     else o << 1 << std::endl;
595     }
596     }
597    
598     for(unsigned i(0);i<2;i++) {
599     for(unsigned j(0);j<7080;j++) {
600     for(unsigned k(0);k<2;k++) {
601     o << _endcapCGap[i][j][k] << std::endl;
602     }
603     }
604     }
605    
606     for(unsigned i(0);i<2;i++) {
607     for(unsigned j(0);j<264;j++) {
608     for(unsigned k(0);k<2;k++) {
609     o << _endcapSGap[i][j][k] << std::endl;
610     }
611     }
612     }
613    
614     for(unsigned i(0);i<2;i++) {
615     for(unsigned j(0);j<1;j++) {
616     for(unsigned k(0);k<2;k++) {
617     o << _endcapMGap[i][j][k] << std::endl;
618     }
619     }
620     }
621     }
622    
623     double PhotonFix::dPhi(double f0, double f1) const {
624     double df(f0-f1);
625     if(df> _onePi) df-=_twoPi;
626     if(df<-_onePi) df+=_twoPi;
627     return df;
628     }
629    
630     double PhotonFix::aPhi(double f0, double f1) const {
631     double af(0.5*(f0+f1));
632     if(fabs(dPhi(af,f0))>0.5*_onePi) {
633     if(af>=0.0) af-=_onePi;
634     else af+=_onePi;
635     }
636    
637     assert(fabs(dPhi(af,f0))<0.5*_onePi);
638     assert(fabs(dPhi(af,f1))<0.5*_onePi);
639    
640     return af;
641     }
642    
643     double PhotonFix::expCorrection(double a, const double *p) const {
644     if(p[1]==0.0 || p[2]==0.0 || p[3]==0.0) return 0.0;
645    
646     double b(a-p[0]);
647     if(b>=0.0) return p[1]*exp(-fabs(p[2])*b);
648     else return p[1]*exp( fabs(p[3])*b);
649     }
650    
651     double PhotonFix::gausCorrection(double a, const double *p) const {
652     if(p[1]==0.0 || p[2]==0.0 || p[3]==0.0) return 0.0;
653    
654     double b(a-p[0]);
655     if(b>=0.0) return p[1]*exp(-0.5*p[2]*p[2]*b*b);
656     else return p[1]*exp(-0.5*p[3]*p[3]*b*b);
657     }
658     bool PhotonFix::initialised() {
659     return _initialised;
660     }
661     bool PhotonFix::initialise(const std::string &s, const std::string &infile) {
662     if(_initialised) return false;
663    
664    
665     initialiseParameters(s);
666     initialiseGeometry(s,infile);
667     return true;
668     }
669    
670     bool PhotonFix::initialiseParameters(const std::string &s) {
671     _initialised=false;
672    
673     if(s=="Nominal") {
674     for(unsigned be(0);be<2;be++) {
675     for(unsigned hl(0);hl<2;hl++) {
676     for(unsigned i(0);i<4;i++) {
677     _meanScale[be][hl][i]=0;
678     _meanAT[be][hl][i]=0;
679     _meanAC[be][hl][i]=0;
680     _meanAS[be][hl][i]=0;
681     _meanAM[be][hl][i]=0;
682     _meanBT[be][hl][i]=0;
683     _meanBC[be][hl][i]=0;
684     _meanBS[be][hl][i]=0;
685     _meanBM[be][hl][i]=0;
686     _meanR9[be][hl][i]=0;
687    
688     _sigmaScale[be][hl][i]=0;
689     _sigmaAT[be][hl][i]=0;
690     _sigmaAC[be][hl][i]=0;
691     _sigmaAS[be][hl][i]=0;
692     _sigmaAM[be][hl][i]=0;
693     _sigmaBT[be][hl][i]=0;
694     _sigmaBC[be][hl][i]=0;
695     _sigmaBS[be][hl][i]=0;
696     _sigmaBM[be][hl][i]=0;
697     _sigmaR9[be][hl][i]=0;
698     }
699    
700     _meanScale[be][hl][0]=1.0;
701     if(be==0) {
702     _sigmaScale[be][hl][0]=0.2;
703     _sigmaScale[be][hl][1]=0.03;
704     _sigmaScale[be][hl][2]=0.006;
705     } else {
706     _sigmaScale[be][hl][0]=0.25;
707     _sigmaScale[be][hl][1]=0.05;
708     _sigmaScale[be][hl][2]=0.010;
709     }
710     }
711     }
712    
713     _initialised=true;
714     }
715    
716     if(s=="3_8") {
717     _meanScale[0][0][0]=0.994724;
718     _meanScale[0][0][1]=1.98102e-06;
719     _meanScale[0][0][2]=1.43015e-05;
720     _meanScale[0][0][3]=-0.0908525;
721     _meanAT[0][0][0]=0.0;
722     _meanAT[0][0][1]=0.0;
723     _meanAT[0][0][2]=0.0;
724     _meanAT[0][0][3]=0.0;
725     _meanAC[0][0][0]=-0.00352041;
726     _meanAC[0][0][1]=0.00982015;
727     _meanAC[0][0][2]=434.32;
728     _meanAC[0][0][3]=529.508;
729     _meanAS[0][0][0]=-1.1;
730     _meanAS[0][0][1]=0.00135995;
731     _meanAS[0][0][2]=295.712;
732     _meanAS[0][0][3]=5.13202e+07;
733     _meanAM[0][0][0]=-0.00140562;
734     _meanAM[0][0][1]=0.156322;
735     _meanAM[0][0][2]=263.097;
736     _meanAM[0][0][3]=222.294;
737     _meanBT[0][0][0]=0.0;
738     _meanBT[0][0][1]=0.0;
739     _meanBT[0][0][2]=0.0;
740     _meanBT[0][0][3]=0.0;
741     _meanBC[0][0][0]=-0.00294295;
742     _meanBC[0][0][1]=0.011533;
743     _meanBC[0][0][2]=562.905;
744     _meanBC[0][0][3]=421.097;
745     _meanBS[0][0][0]=-0.00204373;
746     _meanBS[0][0][1]=0.00347592;
747     _meanBS[0][0][2]=36.5614;
748     _meanBS[0][0][3]=1265.25;
749     _meanBM[0][0][0]=-0.00275381;
750     _meanBM[0][0][1]=0.0812447;
751     _meanBM[0][0][2]=216.885;
752     _meanBM[0][0][3]=264.754;
753     _meanR9[0][0][0]=0.952584;
754     _meanR9[0][0][1]=22.7119;
755     _meanR9[0][0][2]=402.816;
756     _meanR9[0][0][3]=0;
757    
758     _sigmaScale[0][0][0]=0.167184;
759     _sigmaScale[0][0][1]=6.14323e-11;
760     _sigmaScale[0][0][2]=0.00769693;
761     _sigmaScale[0][0][3]=0;
762     _sigmaAT[0][0][0]=0.228255;
763     _sigmaAT[0][0][1]=0;
764     _sigmaAT[0][0][2]=0;
765     _sigmaAT[0][0][3]=0;
766     _sigmaAC[0][0][0]=-0.00411906;
767     _sigmaAC[0][0][1]=0.077799;
768     _sigmaAC[0][0][2]=23.1033;
769     _sigmaAC[0][0][3]=-3e+17;
770     _sigmaAS[0][0][0]=0;
771     _sigmaAS[0][0][1]=0;
772     _sigmaAS[0][0][2]=0;
773     _sigmaAS[0][0][3]=0;
774     _sigmaAM[0][0][0]=-0.000130695;
775     _sigmaAM[0][0][1]=11.2121;
776     _sigmaAM[0][0][2]=468.535;
777     _sigmaAM[0][0][3]=407.652;
778     _sigmaBT[0][0][0]=1.33384e-05;
779     _sigmaBT[0][0][1]=8.77098;
780     _sigmaBT[0][0][2]=324.048;
781     _sigmaBT[0][0][3]=239.868;
782     _sigmaBC[0][0][0]=-0.00281964;
783     _sigmaBC[0][0][1]=0.125811;
784     _sigmaBC[0][0][2]=538.949;
785     _sigmaBC[0][0][3]=1358.76;
786     _sigmaBS[0][0][0]=0;
787     _sigmaBS[0][0][1]=0;
788     _sigmaBS[0][0][2]=0;
789     _sigmaBS[0][0][3]=0;
790     _sigmaBM[0][0][0]=-0.00293676;
791     _sigmaBM[0][0][1]=8.88276;
792     _sigmaBM[0][0][2]=350.032;
793     _sigmaBM[0][0][3]=580.354;
794     _sigmaR9[0][0][0]=0.955876;
795     _sigmaR9[0][0][1]=2254.5;
796     _sigmaR9[0][0][2]=14627;
797     _sigmaR9[0][0][3]=0;
798    
799     _meanScale[0][1][0]=0.888348;
800     _meanScale[0][1][1]=1.20452e-05;
801     _meanScale[0][1][2]=-1.04458e-05;
802     _meanScale[0][1][3]=-0.542383;
803     _meanAT[0][1][0]=0.0;
804     _meanAT[0][1][1]=0.0;
805     _meanAT[0][1][2]=0.0;
806     _meanAT[0][1][3]=0.0;
807     _meanAC[0][1][0]=-0.00320856;
808     _meanAC[0][1][1]=0.0240109;
809     _meanAC[0][1][2]=115.145;
810     _meanAC[0][1][3]=205.859;
811     _meanAS[0][1][0]=0.0349736;
812     _meanAS[0][1][1]=-0.00232864;
813     _meanAS[0][1][2]=318.584;
814     _meanAS[0][1][3]=1.4e+09;
815     _meanAM[0][1][0]=-0.00104798;
816     _meanAM[0][1][1]=0.208249;
817     _meanAM[0][1][2]=297.049;
818     _meanAM[0][1][3]=220.609;
819     _meanBT[0][1][0]=0.0;
820     _meanBT[0][1][1]=0.0;
821     _meanBT[0][1][2]=0.0;
822     _meanBT[0][1][3]=0.0;
823     _meanBC[0][1][0]=-0.00420429;
824     _meanBC[0][1][1]=0.00203991;
825     _meanBC[0][1][2]=172.278;
826     _meanBC[0][1][3]=410.677;
827     _meanBS[0][1][0]=-0.0430854;
828     _meanBS[0][1][1]=0.0961883;
829     _meanBS[0][1][2]=0.196958;
830     _meanBS[0][1][3]=11442.2;
831     _meanBM[0][1][0]=-0.00389457;
832     _meanBM[0][1][1]=0.0449086;
833     _meanBM[0][1][2]=78.9252;
834     _meanBM[0][1][3]=103.237;
835     _meanR9[0][1][0]=0.0182102;
836     _meanR9[0][1][1]=-0.03752;
837     _meanR9[0][1][2]=0.0198881;
838     _meanR9[0][1][3]=0;
839    
840     _sigmaScale[0][1][0]=0.386681;
841     _sigmaScale[0][1][1]=0.0913412;
842     _sigmaScale[0][1][2]=0.00119232;
843     _sigmaScale[0][1][3]=0;
844     _sigmaAT[0][1][0]=1.36562;
845     _sigmaAT[0][1][1]=0;
846     _sigmaAT[0][1][2]=0;
847     _sigmaAT[0][1][3]=0;
848     _sigmaAC[0][1][0]=-0.00504613;
849     _sigmaAC[0][1][1]=-1.09115;
850     _sigmaAC[0][1][2]=8.57406;
851     _sigmaAC[0][1][3]=57.1351;
852     _sigmaAS[0][1][0]=0;
853     _sigmaAS[0][1][1]=0;
854     _sigmaAS[0][1][2]=0;
855     _sigmaAS[0][1][3]=0;
856     _sigmaAM[0][1][0]=-0.00014319;
857     _sigmaAM[0][1][1]=5.39527;
858     _sigmaAM[0][1][2]=432.566;
859     _sigmaAM[0][1][3]=265.165;
860     _sigmaBT[0][1][0]=-0.040161;
861     _sigmaBT[0][1][1]=2.65711;
862     _sigmaBT[0][1][2]=-0.398357;
863     _sigmaBT[0][1][3]=-0.440649;
864     _sigmaBC[0][1][0]=0.00580015;
865     _sigmaBC[0][1][1]=-0.631833;
866     _sigmaBC[0][1][2]=18594.3;
867     _sigmaBC[0][1][3]=4.00955e+08;
868     _sigmaBS[0][1][0]=0;
869     _sigmaBS[0][1][1]=0;
870     _sigmaBS[0][1][2]=0;
871     _sigmaBS[0][1][3]=0;
872     _sigmaBM[0][1][0]=-0.00376665;
873     _sigmaBM[0][1][1]=3.74316;
874     _sigmaBM[0][1][2]=102.72;
875     _sigmaBM[0][1][3]=157.396;
876     _sigmaR9[0][1][0]=-3.12696;
877     _sigmaR9[0][1][1]=1.75114;
878     _sigmaR9[0][1][2]=0;
879     _sigmaR9[0][1][3]=0;
880    
881     _meanScale[1][0][0]=0.999461;
882     _meanScale[1][0][1]=4.37414e-06;
883     _meanScale[1][0][2]=4.92078e-06;
884     _meanScale[1][0][3]=-0.121609;
885     _meanAT[1][0][0]=0.0;
886     _meanAT[1][0][1]=0.0;
887     _meanAT[1][0][2]=0.0;
888     _meanAT[1][0][3]=0.0;
889     _meanAC[1][0][0]=-0.000396058;
890     _meanAC[1][0][1]=0.0144837;
891     _meanAC[1][0][2]=1374.93;
892     _meanAC[1][0][3]=945.634;
893     _meanAS[1][0][0]=-0.000871036;
894     _meanAS[1][0][1]=0.0442747;
895     _meanAS[1][0][2]=645.709;
896     _meanAS[1][0][3]=962.845;
897     _meanAM[1][0][0]=0.000434298;
898     _meanAM[1][0][1]=0.0658628;
899     _meanAM[1][0][2]=1928.49;
900     _meanAM[1][0][3]=728.522;
901     _meanBT[1][0][0]=0.0;
902     _meanBT[1][0][1]=0.0;
903     _meanBT[1][0][2]=0.0;
904     _meanBT[1][0][3]=0.0;
905     _meanBC[1][0][0]=-0.000452212;
906     _meanBC[1][0][1]=0.0129968;
907     _meanBC[1][0][2]=1056.08;
908     _meanBC[1][0][3]=759.102;
909     _meanBS[1][0][0]=-0.000786157;
910     _meanBS[1][0][1]=0.0346555;
911     _meanBS[1][0][2]=592.239;
912     _meanBS[1][0][3]=854.285;
913     _meanBM[1][0][0]=-0.0665038;
914     _meanBM[1][0][1]=-0.00211713;
915     _meanBM[1][0][2]=4.84395;
916     _meanBM[1][0][3]=11.6644;
917     _meanR9[1][0][0]=0.971355;
918     _meanR9[1][0][1]=47.2751;
919     _meanR9[1][0][2]=536.907;
920     _meanR9[1][0][3]=0;
921    
922     _sigmaScale[1][0][0]=0.254641;
923     _sigmaScale[1][0][1]=0.00264818;
924     _sigmaScale[1][0][2]=0.0114953;
925     _sigmaScale[1][0][3]=0;
926     _sigmaAT[1][0][0]=0.935839;
927     _sigmaAT[1][0][1]=0;
928     _sigmaAT[1][0][2]=0;
929     _sigmaAT[1][0][3]=0;
930     _sigmaAC[1][0][0]=-0.00476475;
931     _sigmaAC[1][0][1]=2.14548;
932     _sigmaAC[1][0][2]=29937;
933     _sigmaAC[1][0][3]=2.6e+11;
934     _sigmaAS[1][0][0]=-8.17285e-05;
935     _sigmaAS[1][0][1]=1.5821;
936     _sigmaAS[1][0][2]=1928.83;
937     _sigmaAS[1][0][3]=902.519;
938     _sigmaAM[1][0][0]=0.0278577;
939     _sigmaAM[1][0][1]=0.58439;
940     _sigmaAM[1][0][2]=43.3575;
941     _sigmaAM[1][0][3]=19.7836;
942     _sigmaBT[1][0][0]=-0.456051;
943     _sigmaBT[1][0][1]=0;
944     _sigmaBT[1][0][2]=0;
945     _sigmaBT[1][0][3]=0;
946     _sigmaBC[1][0][0]=-0.00264527;
947     _sigmaBC[1][0][1]=0.696043;
948     _sigmaBC[1][0][2]=7.49509e+12;
949     _sigmaBC[1][0][3]=96843;
950     _sigmaBS[1][0][0]=0.000258933;
951     _sigmaBS[1][0][1]=1.28387;
952     _sigmaBS[1][0][2]=1668.71;
953     _sigmaBS[1][0][3]=730.716;
954     _sigmaBM[1][0][0]=0.00121506;
955     _sigmaBM[1][0][1]=0.938541;
956     _sigmaBM[1][0][2]=9003.57;
957     _sigmaBM[1][0][3]=288.897;
958     _sigmaR9[1][0][0]=1.01207;
959     _sigmaR9[1][0][1]=-816.244;
960     _sigmaR9[1][0][2]=-16283.8;
961     _sigmaR9[1][0][3]=0;
962    
963     _meanScale[1][1][0]=0.324634;
964     _meanScale[1][1][1]=9.48206e-05;
965     _meanScale[1][1][2]=1.0e-12;
966     _meanScale[1][1][3]=1.0e-12;
967     _meanAT[1][1][0]=0.0;
968     _meanAT[1][1][1]=0.0;
969     _meanAT[1][1][2]=0.0;
970     _meanAT[1][1][3]=0.0;
971     _meanAC[1][1][0]=-0.00158311;
972     _meanAC[1][1][1]=0.0106161;
973     _meanAC[1][1][2]=338.964;
974     _meanAC[1][1][3]=797.172;
975     _meanAS[1][1][0]=-0.00960269;
976     _meanAS[1][1][1]=-0.00496491;
977     _meanAS[1][1][2]=934.472;
978     _meanAS[1][1][3]=8.32667e-16;
979     _meanAM[1][1][0]=-0.00219814;
980     _meanAM[1][1][1]=0.653906;
981     _meanAM[1][1][2]=0.0949848;
982     _meanAM[1][1][3]=0.0977831;
983     _meanBT[1][1][0]=0.0;
984     _meanBT[1][1][1]=0.0;
985     _meanBT[1][1][2]=0.0;
986     _meanBT[1][1][3]=0.0;
987     _meanBC[1][1][0]=-0.00423472;
988     _meanBC[1][1][1]=0.0279695;
989     _meanBC[1][1][2]=28073.7;
990     _meanBC[1][1][3]=118612;
991     _meanBS[1][1][0]=-0.0012476;
992     _meanBS[1][1][1]=0.02744;
993     _meanBS[1][1][2]=390.697;
994     _meanBS[1][1][3]=727.861;
995     _meanBM[1][1][0]=-1.36573e-05;
996     _meanBM[1][1][1]=0.0667504;
997     _meanBM[1][1][2]=-80154.4;
998     _meanBM[1][1][3]=576.637;
999     _meanR9[1][1][0]=0.113317;
1000     _meanR9[1][1][1]=0.0142669;
1001     _meanR9[1][1][2]=-0.125721;
1002     _meanR9[1][1][3]=0;
1003    
1004     _sigmaScale[1][1][0]=0.471767;
1005     _sigmaScale[1][1][1]=0.211196;
1006     _sigmaScale[1][1][2]=0.0240124;
1007     _sigmaScale[1][1][3]=0;
1008     _sigmaAT[1][1][0]=0.404395;
1009     _sigmaAT[1][1][1]=0;
1010     _sigmaAT[1][1][2]=0;
1011     _sigmaAT[1][1][3]=0;
1012     _sigmaAC[1][1][0]=0.00173151;
1013     _sigmaAC[1][1][1]=-0.479291;
1014     _sigmaAC[1][1][2]=11583.5;
1015     _sigmaAC[1][1][3]=-7e+09;
1016     _sigmaAS[1][1][0]=0.000450387;
1017     _sigmaAS[1][1][1]=0.662978;
1018     _sigmaAS[1][1][2]=924.051;
1019     _sigmaAS[1][1][3]=448.417;
1020     _sigmaAM[1][1][0]=0.00335603;
1021     _sigmaAM[1][1][1]=0.648407;
1022     _sigmaAM[1][1][2]=134.672;
1023     _sigmaAM[1][1][3]=27.4139;
1024     _sigmaBT[1][1][0]=0.602402;
1025     _sigmaBT[1][1][1]=0;
1026     _sigmaBT[1][1][2]=0;
1027     _sigmaBT[1][1][3]=0;
1028     _sigmaBC[1][1][0]=-0.00256192;
1029     _sigmaBC[1][1][1]=2.01276;
1030     _sigmaBC[1][1][2]=114558;
1031     _sigmaBC[1][1][3]=2.15421e+06;
1032     _sigmaBS[1][1][0]=0.00151576;
1033     _sigmaBS[1][1][1]=0.359084;
1034     _sigmaBS[1][1][2]=329.414;
1035     _sigmaBS[1][1][3]=154.509;
1036     _sigmaBM[1][1][0]=-0.0452587;
1037     _sigmaBM[1][1][1]=1.26253;
1038     _sigmaBM[1][1][2]=1.9e+09;
1039     _sigmaBM[1][1][3]=1058.76;
1040     _sigmaR9[1][1][0]=4.59667;
1041     _sigmaR9[1][1][1]=-5.14404;
1042     _sigmaR9[1][1][2]=0;
1043     _sigmaR9[1][1][3]=0;
1044    
1045     _initialised=true;
1046     }
1047    
1048     if(s=="3_11") {
1049     _meanScale[0][0][0]=0.994363;
1050     _meanScale[0][0][1]=4.84904e-07;
1051     _meanScale[0][0][2]=1.54475e-05;
1052     _meanScale[0][0][3]=-0.103309;
1053     _meanAT[0][0][0]=0.0;
1054     _meanAT[0][0][1]=0.0;
1055     _meanAT[0][0][2]=0.0;
1056     _meanAT[0][0][3]=0.0;
1057     _meanAC[0][0][0]=-0.00360057;
1058     _meanAC[0][0][1]=0.00970858;
1059     _meanAC[0][0][2]=409.406;
1060     _meanAC[0][0][3]=527.952;
1061     _meanAS[0][0][0]=-1.1;
1062     _meanAS[0][0][1]=0.00135995;
1063     _meanAS[0][0][2]=295.712;
1064     _meanAS[0][0][3]=5.13202e+07;
1065     _meanAM[0][0][0]=-0.00129854;
1066     _meanAM[0][0][1]=0.151466;
1067     _meanAM[0][0][2]=261.828;
1068     _meanAM[0][0][3]=214.662;
1069     _meanBT[0][0][0]=0.0;
1070     _meanBT[0][0][1]=0.0;
1071     _meanBT[0][0][2]=0.0;
1072     _meanBT[0][0][3]=0.0;
1073     _meanBC[0][0][0]=-0.00286864;
1074     _meanBC[0][0][1]=0.0114118;
1075     _meanBC[0][0][2]=563.962;
1076     _meanBC[0][0][3]=412.922;
1077     _meanBS[0][0][0]=-0.00210996;
1078     _meanBS[0][0][1]=0.00327867;
1079     _meanBS[0][0][2]=23.617;
1080     _meanBS[0][0][3]=1018.45;
1081     _meanBM[0][0][0]=-0.002287;
1082     _meanBM[0][0][1]=0.0848984;
1083     _meanBM[0][0][2]=235.575;
1084     _meanBM[0][0][3]=260.773;
1085     _meanR9[0][0][0]=0.951724;
1086     _meanR9[0][0][1]=23.7181;
1087     _meanR9[0][0][2]=177.34;
1088     _meanR9[0][0][3]=0;
1089    
1090     _sigmaScale[0][0][0]=0.187578;
1091     _sigmaScale[0][0][1]=-0.000901045;
1092     _sigmaScale[0][0][2]=0.00673186;
1093     _sigmaScale[0][0][3]=0;
1094     _sigmaAT[0][0][0]=0.183777;
1095     _sigmaAT[0][0][1]=0;
1096     _sigmaAT[0][0][2]=0;
1097     _sigmaAT[0][0][3]=0;
1098     _sigmaAC[0][0][0]=-0.00430202;
1099     _sigmaAC[0][0][1]=0.122501;
1100     _sigmaAC[0][0][2]=51.9772;
1101     _sigmaAC[0][0][3]=-3e+17;
1102     _sigmaAS[0][0][0]=0;
1103     _sigmaAS[0][0][1]=0;
1104     _sigmaAS[0][0][2]=0;
1105     _sigmaAS[0][0][3]=0;
1106     _sigmaAM[0][0][0]=0.00101883;
1107     _sigmaAM[0][0][1]=11.2009;
1108     _sigmaAM[0][0][2]=593.111;
1109     _sigmaAM[0][0][3]=345.433;
1110     _sigmaBT[0][0][0]=-6.02356e-05;
1111     _sigmaBT[0][0][1]=6.99896;
1112     _sigmaBT[0][0][2]=235.996;
1113     _sigmaBT[0][0][3]=196;
1114     _sigmaBC[0][0][0]=-0.00282254;
1115     _sigmaBC[0][0][1]=0.18764;
1116     _sigmaBC[0][0][2]=509.825;
1117     _sigmaBC[0][0][3]=1400.14;
1118     _sigmaBS[0][0][0]=0;
1119     _sigmaBS[0][0][1]=0;
1120     _sigmaBS[0][0][2]=0;
1121     _sigmaBS[0][0][3]=0;
1122     _sigmaBM[0][0][0]=-0.00252199;
1123     _sigmaBM[0][0][1]=39.1544;
1124     _sigmaBM[0][0][2]=612.481;
1125     _sigmaBM[0][0][3]=905.994;
1126     _sigmaR9[0][0][0]=0.95608;
1127     _sigmaR9[0][0][1]=2203.31;
1128     _sigmaR9[0][0][2]=-22454.2;
1129     _sigmaR9[0][0][3]=0;
1130    
1131     _meanScale[0][1][0]=0.889415;
1132     _meanScale[0][1][1]=1.21788e-05;
1133     _meanScale[0][1][2]=-4.3438e-06;
1134     _meanScale[0][1][3]=-0.629968;
1135     _meanAT[0][1][0]=0.0;
1136     _meanAT[0][1][1]=0.0;
1137     _meanAT[0][1][2]=0.0;
1138     _meanAT[0][1][3]=0.0;
1139     _meanAC[0][1][0]=-0.00313701;
1140     _meanAC[0][1][1]=0.0227998;
1141     _meanAC[0][1][2]=128.653;
1142     _meanAC[0][1][3]=234.333;
1143     _meanAS[0][1][0]=0.0346198;
1144     _meanAS[0][1][1]=-0.00261336;
1145     _meanAS[0][1][2]=177.983;
1146     _meanAS[0][1][3]=1.19839e+14;
1147     _meanAM[0][1][0]=-0.00100745;
1148     _meanAM[0][1][1]=0.264247;
1149     _meanAM[0][1][2]=337.255;
1150     _meanAM[0][1][3]=251.454;
1151     _meanBT[0][1][0]=0.0;
1152     _meanBT[0][1][1]=0.0;
1153     _meanBT[0][1][2]=0.0;
1154     _meanBT[0][1][3]=0.0;
1155     _meanBC[0][1][0]=-0.00397794;
1156     _meanBC[0][1][1]=0.00219079;
1157     _meanBC[0][1][2]=176.842;
1158     _meanBC[0][1][3]=450.29;
1159     _meanBS[0][1][0]=-2e+07;
1160     _meanBS[0][1][1]=0.0957598;
1161     _meanBS[0][1][2]=-8.88573e-27;
1162     _meanBS[0][1][3]=11442.2;
1163     _meanBM[0][1][0]=-0.00366315;
1164     _meanBM[0][1][1]=0.0622186;
1165     _meanBM[0][1][2]=94.5155;
1166     _meanBM[0][1][3]=126.404;
1167     _meanR9[0][1][0]=0.00636789;
1168     _meanR9[0][1][1]=0.000336062;
1169     _meanR9[0][1][2]=-0.0092699;
1170     _meanR9[0][1][3]=0;
1171    
1172     _sigmaScale[0][1][0]=0.685096;
1173     _sigmaScale[0][1][1]=0.129065;
1174     _sigmaScale[0][1][2]=-0.00212486;
1175     _sigmaScale[0][1][3]=0;
1176     _sigmaAT[0][1][0]=0.898865;
1177     _sigmaAT[0][1][1]=0;
1178     _sigmaAT[0][1][2]=0;
1179     _sigmaAT[0][1][3]=0;
1180     _sigmaAC[0][1][0]=-0.00492979;
1181     _sigmaAC[0][1][1]=-1.20123;
1182     _sigmaAC[0][1][2]=2.89231;
1183     _sigmaAC[0][1][3]=18.2059;
1184     _sigmaAS[0][1][0]=0;
1185     _sigmaAS[0][1][1]=0;
1186     _sigmaAS[0][1][2]=0;
1187     _sigmaAS[0][1][3]=0;
1188     _sigmaAM[0][1][0]=-0.000727825;
1189     _sigmaAM[0][1][1]=8.42395;
1190     _sigmaAM[0][1][2]=512.032;
1191     _sigmaAM[0][1][3]=415.962;
1192     _sigmaBT[0][1][0]=-0.0336364;
1193     _sigmaBT[0][1][1]=2.45182;
1194     _sigmaBT[0][1][2]=-0.284353;
1195     _sigmaBT[0][1][3]=-0.31679;
1196     _sigmaBC[0][1][0]=0.00510553;
1197     _sigmaBC[0][1][1]=-0.953869;
1198     _sigmaBC[0][1][2]=113872;
1199     _sigmaBC[0][1][3]=1.35966e+09;
1200     _sigmaBS[0][1][0]=0;
1201     _sigmaBS[0][1][1]=0;
1202     _sigmaBS[0][1][2]=0;
1203     _sigmaBS[0][1][3]=0;
1204     _sigmaBM[0][1][0]=-0.0034071;
1205     _sigmaBM[0][1][1]=4.19719;
1206     _sigmaBM[0][1][2]=128.952;
1207     _sigmaBM[0][1][3]=180.604;
1208     _sigmaR9[0][1][0]=-3.38988;
1209     _sigmaR9[0][1][1]=2.0714;
1210     _sigmaR9[0][1][2]=0;
1211     _sigmaR9[0][1][3]=0;
1212    
1213     _meanScale[1][0][0]=1.0009;
1214     _meanScale[1][0][1]=-4.79805e-06;
1215     _meanScale[1][0][2]=3.34625e-05;
1216     _meanScale[1][0][3]=-0.194267;
1217     _meanAT[1][0][0]=0.0;
1218     _meanAT[1][0][1]=0.0;
1219     _meanAT[1][0][2]=0.0;
1220     _meanAT[1][0][3]=0.0;
1221     _meanAC[1][0][0]=-0.000177563;
1222     _meanAC[1][0][1]=0.0122839;
1223     _meanAC[1][0][2]=1798.92;
1224     _meanAC[1][0][3]=776.856;
1225     _meanAS[1][0][0]=-0.000533039;
1226     _meanAS[1][0][1]=0.0642604;
1227     _meanAS[1][0][2]=969.596;
1228     _meanAS[1][0][3]=1004.15;
1229     _meanAM[1][0][0]=0.000163185;
1230     _meanAM[1][0][1]=0.085936;
1231     _meanAM[1][0][2]=1593.17;
1232     _meanAM[1][0][3]=681.623;
1233     _meanBT[1][0][0]=0.0;
1234     _meanBT[1][0][1]=0.0;
1235     _meanBT[1][0][2]=0.0;
1236     _meanBT[1][0][3]=0.0;
1237     _meanBC[1][0][0]=-0.000518186;
1238     _meanBC[1][0][1]=0.0121868;
1239     _meanBC[1][0][2]=1112.53;
1240     _meanBC[1][0][3]=933.281;
1241     _meanBS[1][0][0]=-0.000750734;
1242     _meanBS[1][0][1]=0.03859;
1243     _meanBS[1][0][2]=547.579;
1244     _meanBS[1][0][3]=775.887;
1245     _meanBM[1][0][0]=-0.190395;
1246     _meanBM[1][0][1]=-0.00362647;
1247     _meanBM[1][0][2]=5.25687;
1248     _meanBM[1][0][3]=-2.8e+08;
1249     _meanR9[1][0][0]=0.972346;
1250     _meanR9[1][0][1]=53.9185;
1251     _meanR9[1][0][2]=1354.5;
1252     _meanR9[1][0][3]=0;
1253    
1254     _sigmaScale[1][0][0]=0.348019;
1255     _sigmaScale[1][0][1]=-6.43731e-11;
1256     _sigmaScale[1][0][2]=0.0158647;
1257     _sigmaScale[1][0][3]=0;
1258     _sigmaAT[1][0][0]=0.215239;
1259     _sigmaAT[1][0][1]=0;
1260     _sigmaAT[1][0][2]=0;
1261     _sigmaAT[1][0][3]=0;
1262     _sigmaAC[1][0][0]=-0.00492298;
1263     _sigmaAC[1][0][1]=-3.40058;
1264     _sigmaAC[1][0][2]=17263.9;
1265     _sigmaAC[1][0][3]=2.6e+11;
1266     _sigmaAS[1][0][0]=-0.000237998;
1267     _sigmaAS[1][0][1]=3.0258;
1268     _sigmaAS[1][0][2]=1811.25;
1269     _sigmaAS[1][0][3]=1846.79;
1270     _sigmaAM[1][0][0]=0.0210134;
1271     _sigmaAM[1][0][1]=0.328359;
1272     _sigmaAM[1][0][2]=22.49;
1273     _sigmaAM[1][0][3]=14.5021;
1274     _sigmaBT[1][0][0]=-0.495072;
1275     _sigmaBT[1][0][1]=0;
1276     _sigmaBT[1][0][2]=0;
1277     _sigmaBT[1][0][3]=0;
1278     _sigmaBC[1][0][0]=-0.00265007;
1279     _sigmaBC[1][0][1]=0.970549;
1280     _sigmaBC[1][0][2]=-6.89119e+07;
1281     _sigmaBC[1][0][3]=180110;
1282     _sigmaBS[1][0][0]=0.00045833;
1283     _sigmaBS[1][0][1]=2.16342;
1284     _sigmaBS[1][0][2]=3582.4;
1285     _sigmaBS[1][0][3]=1100.36;
1286     _sigmaBM[1][0][0]=0.00188871;
1287     _sigmaBM[1][0][1]=1.66177;
1288     _sigmaBM[1][0][2]=3.2e+08;
1289     _sigmaBM[1][0][3]=2163.81;
1290     _sigmaR9[1][0][0]=-220.415;
1291     _sigmaR9[1][0][1]=5.19136e-08;
1292     _sigmaR9[1][0][2]=3.04028e-10;
1293     _sigmaR9[1][0][3]=0;
1294    
1295     _meanScale[1][1][0]=0.338011;
1296     _meanScale[1][1][1]=9.47815e-05;
1297     _meanScale[1][1][2]=-0.000238735;
1298     _meanScale[1][1][3]=-0.846414;
1299     _meanAT[1][1][0]=0.0;
1300     _meanAT[1][1][1]=0.0;
1301     _meanAT[1][1][2]=0.0;
1302     _meanAT[1][1][3]=0.0;
1303     _meanAC[1][1][0]=-0.00125367;
1304     _meanAC[1][1][1]=0.013324;
1305     _meanAC[1][1][2]=203.988;
1306     _meanAC[1][1][3]=431.951;
1307     _meanAS[1][1][0]=0.000282607;
1308     _meanAS[1][1][1]=0.0307431;
1309     _meanAS[1][1][2]=343.509;
1310     _meanAS[1][1][3]=274.957;
1311     _meanAM[1][1][0]=0.0020258;
1312     _meanAM[1][1][1]=0.643913;
1313     _meanAM[1][1][2]=0.0693877;
1314     _meanAM[1][1][3]=0.0816029;
1315     _meanBT[1][1][0]=0.0;
1316     _meanBT[1][1][1]=0.0;
1317     _meanBT[1][1][2]=0.0;
1318     _meanBT[1][1][3]=0.0;
1319     _meanBC[1][1][0]=-0.00513833;
1320     _meanBC[1][1][1]=5.94424e+08;
1321     _meanBC[1][1][2]=-62814.9;
1322     _meanBC[1][1][3]=118612;
1323     _meanBS[1][1][0]=-0.00152129;
1324     _meanBS[1][1][1]=0.0234694;
1325     _meanBS[1][1][2]=186.483;
1326     _meanBS[1][1][3]=754.201;
1327     _meanBM[1][1][0]=-0.000404987;
1328     _meanBM[1][1][1]=0.156384;
1329     _meanBM[1][1][2]=-1.7e+08;
1330     _meanBM[1][1][3]=1793.83;
1331     _meanR9[1][1][0]=0.0645278;
1332     _meanR9[1][1][1]=0.161614;
1333     _meanR9[1][1][2]=-0.215822;
1334     _meanR9[1][1][3]=0;
1335    
1336     _sigmaScale[1][1][0]=1.07376;
1337     _sigmaScale[1][1][1]=7.47238e-13;
1338     _sigmaScale[1][1][2]=0.0289594;
1339     _sigmaScale[1][1][3]=0;
1340     _sigmaAT[1][1][0]=-0.520907;
1341     _sigmaAT[1][1][1]=0;
1342     _sigmaAT[1][1][2]=0;
1343     _sigmaAT[1][1][3]=0;
1344     _sigmaAC[1][1][0]=0.00165941;
1345     _sigmaAC[1][1][1]=-0.351422;
1346     _sigmaAC[1][1][2]=8968.94;
1347     _sigmaAC[1][1][3]=-7e+09;
1348     _sigmaAS[1][1][0]=0.000490279;
1349     _sigmaAS[1][1][1]=0.554531;
1350     _sigmaAS[1][1][2]=469.111;
1351     _sigmaAS[1][1][3]=457.541;
1352     _sigmaAM[1][1][0]=0.00102079;
1353     _sigmaAM[1][1][1]=0.628055;
1354     _sigmaAM[1][1][2]=53.9452;
1355     _sigmaAM[1][1][3]=72.911;
1356     _sigmaBT[1][1][0]=-0.461542;
1357     _sigmaBT[1][1][1]=0;
1358     _sigmaBT[1][1][2]=0;
1359     _sigmaBT[1][1][3]=0;
1360     _sigmaBC[1][1][0]=-0.00219303;
1361     _sigmaBC[1][1][1]=0.874327;
1362     _sigmaBC[1][1][2]=71353.2;
1363     _sigmaBC[1][1][3]=2.09924e+08;
1364     _sigmaBS[1][1][0]=0.00104021;
1365     _sigmaBS[1][1][1]=0.236098;
1366     _sigmaBS[1][1][2]=482.954;
1367     _sigmaBS[1][1][3]=191.984;
1368     _sigmaBM[1][1][0]=-0.000116086;
1369     _sigmaBM[1][1][1]=2.4438;
1370     _sigmaBM[1][1][2]=1.9e+09;
1371     _sigmaBM[1][1][3]=-700.271;
1372     _sigmaR9[1][1][0]=4.59374;
1373     _sigmaR9[1][1][1]=-5.06202;
1374     _sigmaR9[1][1][2]=0;
1375     _sigmaR9[1][1][3]=0;
1376    
1377     _initialised=true;
1378     }
1379    
1380     if(s=="4_2") {
1381     _meanScale[0][0][0]=0.995941423;
1382     _meanScale[0][0][1]=-1.41986304e-05;
1383     _meanScale[0][0][2]=3.66129541e-05;
1384     _meanScale[0][0][3]=-0.0774047233;
1385     _meanAT[0][0][0]=0.000720281545;
1386     _meanAT[0][0][1]=0;
1387     _meanAT[0][0][2]=0;
1388     _meanAT[0][0][3]=0;
1389     _meanAC[0][0][0]=-0.00344862444;
1390     _meanAC[0][0][1]=0.0101395802;
1391     _meanAC[0][0][2]=466.112225;
1392     _meanAC[0][0][3]=507.628173;
1393     _meanAS[0][0][0]=0;
1394     _meanAS[0][0][1]=0;
1395     _meanAS[0][0][2]=0;
1396     _meanAS[0][0][3]=0;
1397     _meanAM[0][0][0]=-0.000871553792;
1398     _meanAM[0][0][1]=0.141419889;
1399     _meanAM[0][0][2]=281.104504;
1400     _meanAM[0][0][3]=195.875679;
1401     _meanBT[0][0][0]=0;
1402     _meanBT[0][0][1]=0.026344491;
1403     _meanBT[0][0][2]=-104.20518;
1404     _meanBT[0][0][3]=-176099;
1405     _meanBC[0][0][0]=-0.00272095949;
1406     _meanBC[0][0][1]=0.012411788;
1407     _meanBC[0][0][2]=587.318903;
1408     _meanBC[0][0][3]=381.415059;
1409     _meanBS[0][0][0]=-0.00201265145;
1410     _meanBS[0][0][1]=0.00372948657;
1411     _meanBS[0][0][2]=41.2773112;
1412     _meanBS[0][0][3]=748.890936;
1413     _meanBM[0][0][0]=-0.00168471013;
1414     _meanBM[0][0][1]=0.0685484442;
1415     _meanBM[0][0][2]=217.983503;
1416     _meanBM[0][0][3]=207.660928;
1417     _meanR9[0][0][0]=0.946581139;
1418     _meanR9[0][0][1]=20.6034189;
1419     _meanR9[0][0][2]=187.28856;
1420     _meanR9[0][0][3]=0;
1421    
1422     _sigmaScale[0][0][0]=0.206349443;
1423     _sigmaScale[0][0][1]=0.0206592338;
1424     _sigmaScale[0][0][2]=0.00653752299;
1425     _sigmaScale[0][0][3]=0;
1426     _sigmaAT[0][0][0]=0.178629422;
1427     _sigmaAT[0][0][1]=0;
1428     _sigmaAT[0][0][2]=0;
1429     _sigmaAT[0][0][3]=0;
1430     _sigmaAC[0][0][0]=-0.00335501889;
1431     _sigmaAC[0][0][1]=0.0997921532;
1432     _sigmaAC[0][0][2]=93.6397821;
1433     _sigmaAC[0][0][3]=1519.43272;
1434     _sigmaAS[0][0][0]=0;
1435     _sigmaAS[0][0][1]=0;
1436     _sigmaAS[0][0][2]=0;
1437     _sigmaAS[0][0][3]=0;
1438     _sigmaAM[0][0][0]=0.000927325527;
1439     _sigmaAM[0][0][1]=10.2678389;
1440     _sigmaAM[0][0][2]=619.975988;
1441     _sigmaAM[0][0][3]=285.190815;
1442     _sigmaBT[0][0][0]=0;
1443     _sigmaBT[0][0][1]=0.895041707;
1444     _sigmaBT[0][0][2]=94.6834192;
1445     _sigmaBT[0][0][3]=62.3012502;
1446     _sigmaBC[0][0][0]=-0.00169896783;
1447     _sigmaBC[0][0][1]=0.323973706;
1448     _sigmaBC[0][0][2]=1234.03309;
1449     _sigmaBC[0][0][3]=907.352988;
1450     _sigmaBS[0][0][0]=0;
1451     _sigmaBS[0][0][1]=0;
1452     _sigmaBS[0][0][2]=0;
1453     _sigmaBS[0][0][3]=0;
1454     _sigmaBM[0][0][0]=-0.00249508825;
1455     _sigmaBM[0][0][1]=57.8982306;
1456     _sigmaBM[0][0][2]=665.068952;
1457     _sigmaBM[0][0][3]=1075.1094;
1458     _sigmaR9[0][0][0]=0.952890416;
1459     _sigmaR9[0][0][1]=1958.37946;
1460     _sigmaR9[0][0][2]=21612.0219;
1461     _sigmaR9[0][0][3]=0;
1462    
1463     _meanScale[0][1][0]=0.982680412;
1464     _meanScale[0][1][1]=3.13860176e-05;
1465     _meanScale[0][1][2]=-2.89107109e-05;
1466     _meanScale[0][1][3]=-0.458678502;
1467     _meanAT[0][1][0]=-0.00204222443;
1468     _meanAT[0][1][1]=0;
1469     _meanAT[0][1][2]=0;
1470     _meanAT[0][1][3]=0;
1471     _meanAC[0][1][0]=-0.00329797061;
1472     _meanAC[0][1][1]=0.0212879256;
1473     _meanAC[0][1][2]=135.879912;
1474     _meanAC[0][1][3]=238.247576;
1475     _meanAS[0][1][0]=0;
1476     _meanAS[0][1][1]=0;
1477     _meanAS[0][1][2]=0;
1478     _meanAS[0][1][3]=0;
1479     _meanAM[0][1][0]=-0.000512006976;
1480     _meanAM[0][1][1]=0.124281288;
1481     _meanAM[0][1][2]=480.326634;
1482     _meanAM[0][1][3]=286.165783;
1483     _meanBT[0][1][0]=0;
1484     _meanBT[0][1][1]=0.204384889;
1485     _meanBT[0][1][2]=303.764745;
1486     _meanBT[0][1][3]=408.14741;
1487     _meanBC[0][1][0]=-0.0035698745;
1488     _meanBC[0][1][1]=0.00402323151;
1489     _meanBC[0][1][2]=980.296598;
1490     _meanBC[0][1][3]=869.711616;
1491     _meanBS[0][1][0]=0;
1492     _meanBS[0][1][1]=0;
1493     _meanBS[0][1][2]=0;
1494     _meanBS[0][1][3]=0;
1495     _meanBM[0][1][0]=-0.00321305828;
1496     _meanBM[0][1][1]=0.0454848819;
1497     _meanBM[0][1][2]=147.827487;
1498     _meanBM[0][1][3]=227.625382;
1499     _meanR9[0][1][0]=0.0253777359;
1500     _meanR9[0][1][1]=-0.0420810898;
1501     _meanR9[0][1][2]=0.0181966013;
1502     _meanR9[0][1][3]=0;
1503    
1504     _sigmaScale[0][1][0]=1.53707929;
1505     _sigmaScale[0][1][1]=0.0946423194;
1506     _sigmaScale[0][1][2]=-0.00765920151;
1507     _sigmaScale[0][1][3]=0;
1508     _sigmaAT[0][1][0]=0.808880052;
1509     _sigmaAT[0][1][1]=0;
1510     _sigmaAT[0][1][2]=0;
1511     _sigmaAT[0][1][3]=0;
1512     _sigmaAC[0][1][0]=-0.00195542375;
1513     _sigmaAC[0][1][1]=-2.09949949;
1514     _sigmaAC[0][1][2]=4.30292193;
1515     _sigmaAC[0][1][3]=5.09475964;
1516     _sigmaAS[0][1][0]=0;
1517     _sigmaAS[0][1][1]=0;
1518     _sigmaAS[0][1][2]=0;
1519     _sigmaAS[0][1][3]=0;
1520     _sigmaAM[0][1][0]=-0.00105652021;
1521     _sigmaAM[0][1][1]=5.83420851;
1522     _sigmaAM[0][1][2]=506.986527;
1523     _sigmaAM[0][1][3]=468.330744;
1524     _sigmaBT[0][1][0]=0;
1525     _sigmaBT[0][1][1]=2.83411417;
1526     _sigmaBT[0][1][2]=-0.211242292;
1527     _sigmaBT[0][1][3]=-0.198231087;
1528     _sigmaBC[0][1][0]=0.00580038243;
1529     _sigmaBC[0][1][1]=0.165505659;
1530     _sigmaBC[0][1][2]=4133.45418;
1531     _sigmaBC[0][1][3]=375000000;
1532     _sigmaBS[0][1][0]=0;
1533     _sigmaBS[0][1][1]=0;
1534     _sigmaBS[0][1][2]=0;
1535     _sigmaBS[0][1][3]=0;
1536     _sigmaBM[0][1][0]=-0.00269993666;
1537     _sigmaBM[0][1][1]=3.42390459;
1538     _sigmaBM[0][1][2]=171.300481;
1539     _sigmaBM[0][1][3]=284.718025;
1540     _sigmaR9[0][1][0]=-3.75255938;
1541     _sigmaR9[0][1][1]=4.3849733;
1542     _sigmaR9[0][1][2]=-1.81745726;
1543     _sigmaR9[0][1][3]=0;
1544    
1545     _meanScale[1][0][0]=0.990082016;
1546     _meanScale[1][0][1]=-3.75802712e-06;
1547     _meanScale[1][0][2]=2.56693516e-05;
1548     _meanScale[1][0][3]=-0.0492813428;
1549     _meanAT[1][0][0]=0.072352478;
1550     _meanAT[1][0][1]=0;
1551     _meanAT[1][0][2]=0;
1552     _meanAT[1][0][3]=0;
1553     _meanAC[1][0][0]=-0.0002936899;
1554     _meanAC[1][0][1]=0.0160546814;
1555     _meanAC[1][0][2]=1183.48593;
1556     _meanAC[1][0][3]=761.29774;
1557     _meanAS[1][0][0]=-0.000462243216;
1558     _meanAS[1][0][1]=0.0795658256;
1559     _meanAS[1][0][2]=887.080242;
1560     _meanAS[1][0][3]=1067.72442;
1561     _meanAM[1][0][0]=0.000354495505;
1562     _meanAM[1][0][1]=0.516700576;
1563     _meanAM[1][0][2]=4376.14811;
1564     _meanAM[1][0][3]=2093.33478;
1565     _meanBT[1][0][0]=0.077752944;
1566     _meanBT[1][0][1]=0;
1567     _meanBT[1][0][2]=0;
1568     _meanBT[1][0][3]=0;
1569     _meanBC[1][0][0]=-0.000411367107;
1570     _meanBC[1][0][1]=0.0161135906;
1571     _meanBC[1][0][2]=1414.07982;
1572     _meanBC[1][0][3]=951.556042;
1573     _meanBS[1][0][0]=8.51070829e-05;
1574     _meanBS[1][0][1]=0.0699037982;
1575     _meanBS[1][0][2]=1565.72963;
1576     _meanBS[1][0][3]=841.509573;
1577     _meanBM[1][0][0]=-0.00252281385;
1578     _meanBM[1][0][1]=0.00600665031;
1579     _meanBM[1][0][2]=268.761304;
1580     _meanBM[1][0][3]=46.5945865;
1581     _meanR9[1][0][0]=0.964231565;
1582     _meanR9[1][0][1]=30.1631606;
1583     _meanR9[1][0][2]=414.510458;
1584     _meanR9[1][0][3]=0;
1585    
1586     _sigmaScale[1][0][0]=0.218991853;
1587     _sigmaScale[1][0][1]=6.93889e-18;
1588     _sigmaScale[1][0][2]=0.00939222285;
1589     _sigmaScale[1][0][3]=0;
1590     _sigmaAT[1][0][0]=1.61339852;
1591     _sigmaAT[1][0][1]=0;
1592     _sigmaAT[1][0][2]=0;
1593     _sigmaAT[1][0][3]=0;
1594     _sigmaAC[1][0][0]=0.00019476922;
1595     _sigmaAC[1][0][1]=0.697650974;
1596     _sigmaAC[1][0][2]=-0.000125668382;
1597     _sigmaAC[1][0][3]=12.8659982;
1598     _sigmaAS[1][0][0]=-1.68218147e-05;
1599     _sigmaAS[1][0][1]=6.57794255;
1600     _sigmaAS[1][0][2]=1555.93015;
1601     _sigmaAS[1][0][3]=1401.542;
1602     _sigmaAM[1][0][0]=0.0570038229;
1603     _sigmaAM[1][0][1]=0.633551691;
1604     _sigmaAM[1][0][2]=9.59639e+11;
1605     _sigmaAM[1][0][3]=16.4637695;
1606     _sigmaBT[1][0][0]=-0.0591443023;
1607     _sigmaBT[1][0][1]=0;
1608     _sigmaBT[1][0][2]=0;
1609     _sigmaBT[1][0][3]=0;
1610     _sigmaBC[1][0][0]=-0.00320070019;
1611     _sigmaBC[1][0][1]=25.5502578;
1612     _sigmaBC[1][0][2]=7.49509e+12;
1613     _sigmaBC[1][0][3]=3798165.72;
1614     _sigmaBS[1][0][0]=9.63685051e-05;
1615     _sigmaBS[1][0][1]=6.91673581;
1616     _sigmaBS[1][0][2]=2447.68053;
1617     _sigmaBS[1][0][3]=1721.11327;
1618     _sigmaBM[1][0][0]=0.00148006;
1619     _sigmaBM[1][0][1]=28;
1620     _sigmaBM[1][0][2]=5400000;
1621     _sigmaBM[1][0][3]=-9000000;
1622     _sigmaR9[1][0][0]=187.987786;
1623     _sigmaR9[1][0][1]=-1.91777372e-07;
1624     _sigmaR9[1][0][2]=8.29820105e-09;
1625     _sigmaR9[1][0][3]=0;
1626    
1627     _meanScale[1][1][0]=0.331585644;
1628     _meanScale[1][1][1]=-4.97323079e-05;
1629     _meanScale[1][1][2]=0.000208912195;
1630     _meanScale[1][1][3]=-1.36032052;
1631     _meanAT[1][1][0]=-0.0640673292;
1632     _meanAT[1][1][1]=0;
1633     _meanAT[1][1][2]=0;
1634     _meanAT[1][1][3]=0;
1635     _meanAC[1][1][0]=-0.00129027954;
1636     _meanAC[1][1][1]=0.00733510902;
1637     _meanAC[1][1][2]=182.714706;
1638     _meanAC[1][1][3]=621.652554;
1639     _meanAS[1][1][0]=-0.000490574173;
1640     _meanAS[1][1][1]=0.0308208884;
1641     _meanAS[1][1][2]=385.372647;
1642     _meanAS[1][1][3]=492.313289;
1643     _meanAM[1][1][0]=-0.0064828927;
1644     _meanAM[1][1][1]=0.649443452;
1645     _meanAM[1][1][2]=0.0573092773;
1646     _meanAM[1][1][3]=0.0743069;
1647     _meanBT[1][1][0]=-0.147343956;
1648     _meanBT[1][1][1]=0;
1649     _meanBT[1][1][2]=0;
1650     _meanBT[1][1][3]=0;
1651     _meanBC[1][1][0]=-0.00503351921;
1652     _meanBC[1][1][1]=-57691.5085;
1653     _meanBC[1][1][2]=46202.9758;
1654     _meanBC[1][1][3]=118612;
1655     _meanBS[1][1][0]=-0.000793147706;
1656     _meanBS[1][1][1]=0.0238305184;
1657     _meanBS[1][1][2]=402.215233;
1658     _meanBS[1][1][3]=455.848092;
1659     _meanBM[1][1][0]=0.000434549102;
1660     _meanBM[1][1][1]=0.0443539812;
1661     _meanBM[1][1][2]=-39970930.5;
1662     _meanBM[1][1][3]=-635.815445;
1663     _meanR9[1][1][0]=-0.411370898;
1664     _meanR9[1][1][1]=1.30133082;
1665     _meanR9[1][1][2]=-0.890618718;
1666     _meanR9[1][1][3]=0;
1667    
1668     _sigmaScale[1][1][0]=1.49352299;
1669     _sigmaScale[1][1][1]=1.38778e-17;
1670     _sigmaScale[1][1][2]=0.0248352105;
1671     _sigmaScale[1][1][3]=0;
1672     _sigmaAT[1][1][0]=-1.18239629;
1673     _sigmaAT[1][1][1]=0;
1674     _sigmaAT[1][1][2]=0;
1675     _sigmaAT[1][1][3]=0;
1676     _sigmaAC[1][1][0]=0.00155030534;
1677     _sigmaAC[1][1][1]=-0.673931391;
1678     _sigmaAC[1][1][2]=134075.829;
1679     _sigmaAC[1][1][3]=-7e+09;
1680     _sigmaAS[1][1][0]=6.95848091e-05;
1681     _sigmaAS[1][1][1]=0.522471203;
1682     _sigmaAS[1][1][2]=463.305497;
1683     _sigmaAS[1][1][3]=1159.49992;
1684     _sigmaAM[1][1][0]=-0.00509006951;
1685     _sigmaAM[1][1][1]=0.945276887;
1686     _sigmaAM[1][1][2]=46.4072512;
1687     _sigmaAM[1][1][3]=7.11474e+12;
1688     _sigmaBT[1][1][0]=-1.59480683;
1689     _sigmaBT[1][1][1]=0;
1690     _sigmaBT[1][1][2]=0;
1691     _sigmaBT[1][1][3]=0;
1692     _sigmaBC[1][1][0]=-0.00202302997;
1693     _sigmaBC[1][1][1]=15.4301057;
1694     _sigmaBC[1][1][2]=-33315545.5;
1695     _sigmaBC[1][1][3]=-6e+09;
1696     _sigmaBS[1][1][0]=0.00271126099;
1697     _sigmaBS[1][1][1]=0.325669289;
1698     _sigmaBS[1][1][2]=2322.66097;
1699     _sigmaBS[1][1][3]=298.692034;
1700     _sigmaBM[1][1][0]=-0.0454765849;
1701     _sigmaBM[1][1][1]=6.81541098;
1702     _sigmaBM[1][1][2]=1.9e+09;
1703     _sigmaBM[1][1][3]=-26353.4449;
1704     _sigmaR9[1][1][0]=41.1074567;
1705     _sigmaR9[1][1][1]=-86.9595346;
1706     _sigmaR9[1][1][2]=45.7818889;
1707     _sigmaR9[1][1][3]=0;
1708    
1709     _initialised=true;
1710     }
1711    
1712     if(s=="4_2e") {
1713     _meanScale[0][0][0]=1.03294629;
1714     _meanScale[0][0][1]=-0.000210626517;
1715     _meanScale[0][0][2]=0.000268568795;
1716     _meanScale[0][0][3]=0.338053561;
1717     _meanAT[0][0][0]=0.0200811135;
1718     _meanAT[0][0][1]=0;
1719     _meanAT[0][0][2]=0;
1720     _meanAT[0][0][3]=0;
1721     _meanAC[0][0][0]=-0.00326696352;
1722     _meanAC[0][0][1]=0.010765809;
1723     _meanAC[0][0][2]=513.763513;
1724     _meanAC[0][0][3]=546.438243;
1725     _meanAS[0][0][0]=0;
1726     _meanAS[0][0][1]=0;
1727     _meanAS[0][0][2]=0;
1728     _meanAS[0][0][3]=0;
1729     _meanAM[0][0][0]=-0.00135522301;
1730     _meanAM[0][0][1]=0.166490439;
1731     _meanAM[0][0][2]=278.324187;
1732     _meanAM[0][0][3]=245.998361;
1733     _meanBT[0][0][0]=0;
1734     _meanBT[0][0][1]=0;
1735     _meanBT[0][0][2]=0;
1736     _meanBT[0][0][3]=0;
1737     _meanBC[0][0][0]=-0.00332906015;
1738     _meanBC[0][0][1]=0.00792585358;
1739     _meanBC[0][0][2]=514.766605;
1740     _meanBC[0][0][3]=488.870257;
1741     _meanBS[0][0][0]=-0.00199241828;
1742     _meanBS[0][0][1]=0.0037942702;
1743     _meanBS[0][0][2]=29.9438726;
1744     _meanBS[0][0][3]=1077.1644;
1745     _meanBM[0][0][0]=-0.00159080193;
1746     _meanBM[0][0][1]=0.107998922;
1747     _meanBM[0][0][2]=229.934523;
1748     _meanBM[0][0][3]=231.786153;
1749     _meanR9[0][0][0]=0.857844414;
1750     _meanR9[0][0][1]=-16.8494499;
1751     _meanR9[0][0][2]=125.493331;
1752     _meanR9[0][0][3]=0;
1753    
1754     _sigmaScale[0][0][0]=0.392737806;
1755     _sigmaScale[0][0][1]=0.0353140568;
1756     _sigmaScale[0][0][2]=-0.00613223131;
1757     _sigmaScale[0][0][3]=0;
1758     _sigmaAT[0][0][0]=1.02977565;
1759     _sigmaAT[0][0][1]=0;
1760     _sigmaAT[0][0][2]=0;
1761     _sigmaAT[0][0][3]=0;
1762     _sigmaAC[0][0][0]=-0.00350109526;
1763     _sigmaAC[0][0][1]=-0.951103069;
1764     _sigmaAC[0][0][2]=-54434.4267;
1765     _sigmaAC[0][0][3]=-3e+17;
1766     _sigmaAS[0][0][0]=0;
1767     _sigmaAS[0][0][1]=0;
1768     _sigmaAS[0][0][2]=0;
1769     _sigmaAS[0][0][3]=0;
1770     _sigmaAM[0][0][0]=0.00127749544;
1771     _sigmaAM[0][0][1]=5.03867192;
1772     _sigmaAM[0][0][2]=563.047721;
1773     _sigmaAM[0][0][3]=272.293234;
1774     _sigmaBT[0][0][0]=0.00480679465;
1775     _sigmaBT[0][0][1]=7.56230742;
1776     _sigmaBT[0][0][2]=-33600000;
1777     _sigmaBT[0][0][3]=-257.677353;
1778     _sigmaBC[0][0][0]=-0.00169935002;
1779     _sigmaBC[0][0][1]=2790083.26;
1780     _sigmaBC[0][0][2]=-97275416.4;
1781     _sigmaBC[0][0][3]=23710676.7;
1782     _sigmaBS[0][0][0]=0;
1783     _sigmaBS[0][0][1]=0;
1784     _sigmaBS[0][0][2]=0;
1785     _sigmaBS[0][0][3]=0;
1786     _sigmaBM[0][0][0]=-0.00194553738;
1787     _sigmaBM[0][0][1]=7.77713222;
1788     _sigmaBM[0][0][2]=264.960159;
1789     _sigmaBM[0][0][3]=363.487107;
1790     _sigmaR9[0][0][0]=0.952571;
1791     _sigmaR9[0][0][1]=0;
1792     _sigmaR9[0][0][2]=0;
1793     _sigmaR9[0][0][3]=0;
1794    
1795     _meanScale[0][1][0]=0.86164193;
1796     _meanScale[0][1][1]=-0.0001184458;
1797     _meanScale[0][1][2]=0.000232979403;
1798     _meanScale[0][1][3]=0.310305987;
1799     _meanAT[0][1][0]=0.0103409006;
1800     _meanAT[0][1][1]=0;
1801     _meanAT[0][1][2]=0;
1802     _meanAT[0][1][3]=0;
1803     _meanAC[0][1][0]=-0.00325081301;
1804     _meanAC[0][1][1]=0.0208748426;
1805     _meanAC[0][1][2]=165.245698;
1806     _meanAC[0][1][3]=292.03632;
1807     _meanAS[0][1][0]=0.0330004;
1808     _meanAS[0][1][1]=-148569.764;
1809     _meanAS[0][1][2]=87999432.1;
1810     _meanAS[0][1][3]=7787218.96;
1811     _meanAM[0][1][0]=-0.000867413605;
1812     _meanAM[0][1][1]=0.10580464;
1813     _meanAM[0][1][2]=396.92529;
1814     _meanAM[0][1][3]=263.112883;
1815     _meanBT[0][1][0]=0;
1816     _meanBT[0][1][1]=0.216283067;
1817     _meanBT[0][1][2]=312.543466;
1818     _meanBT[0][1][3]=463.601293;
1819     _meanBC[0][1][0]=-0.00505883024;
1820     _meanBC[0][1][1]=0.00182528255;
1821     _meanBC[0][1][2]=507.478054;
1822     _meanBC[0][1][3]=-6837.26736;
1823     _meanBS[0][1][0]=-166707004;
1824     _meanBS[0][1][1]=0.0928055999;
1825     _meanBS[0][1][2]=-5.30004162e-11;
1826     _meanBS[0][1][3]=11442.2;
1827     _meanBM[0][1][0]=-5.93998135e-05;
1828     _meanBM[0][1][1]=0.0096852184;
1829     _meanBM[0][1][2]=59.8040186;
1830     _meanBM[0][1][3]=-440000000;
1831     _meanR9[0][1][0]=0.0716647946;
1832     _meanR9[0][1][1]=-0.204241803;
1833     _meanR9[0][1][2]=0.154962477;
1834     _meanR9[0][1][3]=0;
1835    
1836     _sigmaScale[0][1][0]=0.469123815;
1837     _sigmaScale[0][1][1]=-0.090283052;
1838     _sigmaScale[0][1][2]=0.000469934719;
1839     _sigmaScale[0][1][3]=0;
1840     _sigmaAT[0][1][0]=1.77629522;
1841     _sigmaAT[0][1][1]=0;
1842     _sigmaAT[0][1][2]=0;
1843     _sigmaAT[0][1][3]=0;
1844     _sigmaAC[0][1][0]=-0.00636220086;
1845     _sigmaAC[0][1][1]=-0.781271127;
1846     _sigmaAC[0][1][2]=4.90734224;
1847     _sigmaAC[0][1][3]=65.6835127;
1848     _sigmaAS[0][1][0]=0;
1849     _sigmaAS[0][1][1]=0;
1850     _sigmaAS[0][1][2]=0;
1851     _sigmaAS[0][1][3]=0;
1852     _sigmaAM[0][1][0]=0.000179292631;
1853     _sigmaAM[0][1][1]=7.62815501;
1854     _sigmaAM[0][1][2]=743.55507;
1855     _sigmaAM[0][1][3]=354.656661;
1856     _sigmaBT[0][1][0]=-0.0507778073;
1857     _sigmaBT[0][1][1]=3.00903133;
1858     _sigmaBT[0][1][2]=-0.526032834;
1859     _sigmaBT[0][1][3]=-0.630748789;
1860     _sigmaBC[0][1][0]=0.00490009575;
1861     _sigmaBC[0][1][1]=-1.53772346;
1862     _sigmaBC[0][1][2]=553415.545;
1863     _sigmaBC[0][1][3]=2.36808e+19;
1864     _sigmaBS[0][1][0]=0;
1865     _sigmaBS[0][1][1]=0;
1866     _sigmaBS[0][1][2]=0;
1867     _sigmaBS[0][1][3]=0;
1868     _sigmaBM[0][1][0]=-0.00113947453;
1869     _sigmaBM[0][1][1]=3.74348887;
1870     _sigmaBM[0][1][2]=91.9478901;
1871     _sigmaBM[0][1][3]=101.304882;
1872     _sigmaR9[0][1][0]=-0.261512815;
1873     _sigmaR9[0][1][1]=-1.69974425;
1874     _sigmaR9[0][1][2]=0;
1875     _sigmaR9[0][1][3]=0;
1876    
1877     _meanScale[1][0][0]=0.961072344;
1878     _meanScale[1][0][1]=8.81367775e-05;
1879     _meanScale[1][0][2]=-0.000270690177;
1880     _meanScale[1][0][3]=0.745461418;
1881     _meanAT[1][0][0]=0.532495533;
1882     _meanAT[1][0][1]=0;
1883     _meanAT[1][0][2]=0;
1884     _meanAT[1][0][3]=0;
1885     _meanAC[1][0][0]=-0.000539999855;
1886     _meanAC[1][0][1]=0.0100918811;
1887     _meanAC[1][0][2]=953.905309;
1888     _meanAC[1][0][3]=808.944612;
1889     _meanAS[1][0][0]=-0.000597157153;
1890     _meanAS[1][0][1]=0.0571921693;
1891     _meanAS[1][0][2]=700.692431;
1892     _meanAS[1][0][3]=924.653733;
1893     _meanAM[1][0][0]=0.000230736156;
1894     _meanAM[1][0][1]=1.77368196;
1895     _meanAM[1][0][2]=4461.03178;
1896     _meanAM[1][0][3]=3300.73792;
1897     _meanBT[1][0][0]=0.483274186;
1898     _meanBT[1][0][1]=0;
1899     _meanBT[1][0][2]=0;
1900     _meanBT[1][0][3]=0;
1901     _meanBC[1][0][0]=-0.000651403853;
1902     _meanBC[1][0][1]=0.0111101805;
1903     _meanBC[1][0][2]=1276.07724;
1904     _meanBC[1][0][3]=1489.51887;
1905     _meanBS[1][0][0]=-0.000251246189;
1906     _meanBS[1][0][1]=0.0530409004;
1907     _meanBS[1][0][2]=767.699586;
1908     _meanBS[1][0][3]=835.195311;
1909     _meanBM[1][0][0]=-0.187856578;
1910     _meanBM[1][0][1]=-0.00821848896;
1911     _meanBM[1][0][2]=0.891813494;
1912     _meanBM[1][0][3]=-580000000;
1913     _meanR9[1][0][0]=0.96358076;
1914     _meanR9[1][0][1]=28.7116938;
1915     _meanR9[1][0][2]=697.709731;
1916     _meanR9[1][0][3]=0;
1917    
1918     _sigmaScale[1][0][0]=0.46256953;
1919     _sigmaScale[1][0][1]=-2.50963561e-08;
1920     _sigmaScale[1][0][2]=0.0139636379;
1921     _sigmaScale[1][0][3]=0;
1922     _sigmaAT[1][0][0]=6.47165025;
1923     _sigmaAT[1][0][1]=0;
1924     _sigmaAT[1][0][2]=0;
1925     _sigmaAT[1][0][3]=0;
1926     _sigmaAC[1][0][0]=48.1275;
1927     _sigmaAC[1][0][1]=150005000;
1928     _sigmaAC[1][0][2]=21231.6;
1929     _sigmaAC[1][0][3]=2.6e+11;
1930     _sigmaAS[1][0][0]=0.000209127817;
1931     _sigmaAS[1][0][1]=2.19868731;
1932     _sigmaAS[1][0][2]=1695.98579;
1933     _sigmaAS[1][0][3]=967.250228;
1934     _sigmaAM[1][0][0]=0.0217972665;
1935     _sigmaAM[1][0][1]=1.26317651;
1936     _sigmaAM[1][0][2]=34.0924905;
1937     _sigmaAM[1][0][3]=55.1895282;
1938     _sigmaBT[1][0][0]=5.21983754;
1939     _sigmaBT[1][0][1]=0;
1940     _sigmaBT[1][0][2]=0;
1941     _sigmaBT[1][0][3]=0;
1942     _sigmaBC[1][0][0]=-0.004;
1943     _sigmaBC[1][0][1]=-120000;
1944     _sigmaBC[1][0][2]=7.49509e+12;
1945     _sigmaBC[1][0][3]=36643600;
1946     _sigmaBS[1][0][0]=0.000250338051;
1947     _sigmaBS[1][0][1]=1.98819262;
1948     _sigmaBS[1][0][2]=1967.55308;
1949     _sigmaBS[1][0][3]=1098.23855;
1950     _sigmaBM[1][0][0]=0.00101799874;
1951     _sigmaBM[1][0][1]=88.0546723;
1952     _sigmaBM[1][0][2]=8.47552e+10;
1953     _sigmaBM[1][0][3]=-132255.757;
1954     _sigmaR9[1][0][0]=144.031062;
1955     _sigmaR9[1][0][1]=-6.11507616e-07;
1956     _sigmaR9[1][0][2]=1.18181734e-08;
1957     _sigmaR9[1][0][3]=0;
1958    
1959     _meanScale[1][1][0]=0.288888347;
1960     _meanScale[1][1][1]=6.52038486e-06;
1961     _meanScale[1][1][2]=0.000173654897;
1962     _meanScale[1][1][3]=0.422671325;
1963     _meanAT[1][1][0]=0.0614964598;
1964     _meanAT[1][1][1]=0;
1965     _meanAT[1][1][2]=0;
1966     _meanAT[1][1][3]=0;
1967     _meanAC[1][1][0]=-0.00123181641;
1968     _meanAC[1][1][1]=0.0133568947;
1969     _meanAC[1][1][2]=165.847556;
1970     _meanAC[1][1][3]=332.705784;
1971     _meanAS[1][1][0]=-0.00088161986;
1972     _meanAS[1][1][1]=0.0304986746;
1973     _meanAS[1][1][2]=382.755876;
1974     _meanAS[1][1][3]=616.470187;
1975     _meanAM[1][1][0]=0.000980695422;
1976     _meanAM[1][1][1]=0.63575757;
1977     _meanAM[1][1][2]=0.0336097848;
1978     _meanAM[1][1][3]=0.043315868;
1979     _meanBT[1][1][0]=0.11623414;
1980     _meanBT[1][1][1]=0;
1981     _meanBT[1][1][2]=0;
1982     _meanBT[1][1][3]=0;
1983     _meanBC[1][1][0]=-0.00716072255;
1984     _meanBC[1][1][1]=-0.440696266;
1985     _meanBC[1][1][2]=1887.74154;
1986     _meanBC[1][1][3]=118612;
1987     _meanBS[1][1][0]=-0.000492035977;
1988     _meanBS[1][1][1]=0.0292167014;
1989     _meanBS[1][1][2]=433.232787;
1990     _meanBS[1][1][3]=484.310448;
1991     _meanBM[1][1][0]=0.00299476541;
1992     _meanBM[1][1][1]=0.0149328977;
1993     _meanBM[1][1][2]=-48728700;
1994     _meanBM[1][1][3]=37.0041547;
1995     _meanR9[1][1][0]=0.19617696;
1996     _meanR9[1][1][1]=-0.350976375;
1997     _meanR9[1][1][2]=0.181094838;
1998     _meanR9[1][1][3]=0;
1999    
2000     _sigmaScale[1][1][0]=1.26164895;
2001     _sigmaScale[1][1][1]=-6.61150347e-07;
2002     _sigmaScale[1][1][2]=0.0280532297;
2003     _sigmaScale[1][1][3]=0;
2004     _sigmaAT[1][1][0]=-0.232612761;
2005     _sigmaAT[1][1][1]=0;
2006     _sigmaAT[1][1][2]=0;
2007     _sigmaAT[1][1][3]=0;
2008     _sigmaAC[1][1][0]=0.00137406444;
2009     _sigmaAC[1][1][1]=-0.377659364;
2010     _sigmaAC[1][1][2]=27171.5802;
2011     _sigmaAC[1][1][3]=-560000000;
2012     _sigmaAS[1][1][0]=0.00022943714;
2013     _sigmaAS[1][1][1]=0.335082568;
2014     _sigmaAS[1][1][2]=590.511812;
2015     _sigmaAS[1][1][3]=387.352521;
2016     _sigmaAM[1][1][0]=-0.000780390674;
2017     _sigmaAM[1][1][1]=1.05127796;
2018     _sigmaAM[1][1][2]=33.7378914;
2019     _sigmaAM[1][1][3]=61.3730807;
2020     _sigmaBT[1][1][0]=0.529507693;
2021     _sigmaBT[1][1][1]=0;
2022     _sigmaBT[1][1][2]=0;
2023     _sigmaBT[1][1][3]=0;
2024     _sigmaBC[1][1][0]=-0.00203996;
2025     _sigmaBC[1][1][1]=93000;
2026     _sigmaBC[1][1][2]=61225800;
2027     _sigmaBC[1][1][3]=-4.43323e+17;
2028     _sigmaBS[1][1][0]=0.00125939613;
2029     _sigmaBS[1][1][1]=0.31048111;
2030     _sigmaBS[1][1][2]=295.258764;
2031     _sigmaBS[1][1][3]=263.974257;
2032     _sigmaBM[1][1][0]=-0.046100748;
2033     _sigmaBM[1][1][1]=1.22348596;
2034     _sigmaBM[1][1][2]=1.9e+09;
2035     _sigmaBM[1][1][3]=1254.99;
2036     _sigmaR9[1][1][0]=9.09347838;
2037     _sigmaR9[1][1][1]=-10.0390435;
2038     _sigmaR9[1][1][2]=0;
2039     _sigmaR9[1][1][3]=0;
2040    
2041     _initialised=true;
2042     }
2043    
2044     assert(_initialised);
2045     return true;
2046     }
2047    
2048     // Get the geometry of cracks and gaps from file
2049     bool PhotonFix::initialiseGeometry(const std::string &s,const std::string &infile) {
2050    
2051     std::ifstream fin(infile.c_str());
2052     assert(fin);
2053    
2054     std::cout << "Reading in here" << std::endl;
2055     for(unsigned i(0);i<169;i++) {
2056     for(unsigned j(0);j<360;j++) {
2057     for(unsigned k(0);k<2;k++) {
2058     fin >> _barrelCGap[i][j][k];
2059     }
2060     }
2061     }
2062    
2063     for(unsigned i(0);i<33;i++) {
2064     for(unsigned j(0);j<180;j++) {
2065     for(unsigned k(0);k<2;k++) {
2066     fin >> _barrelSGap[i][j][k];
2067     }
2068     }
2069     }
2070    
2071     for(unsigned i(0);i<7;i++) {
2072     for(unsigned j(0);j<18;j++) {
2073     for(unsigned k(0);k<2;k++) {
2074     fin >> _barrelMGap[i][j][k];
2075     }
2076     }
2077     }
2078     for(unsigned i(0);i<100;i++) {
2079     for(unsigned j(0);j<100;j++) {
2080     unsigned k;
2081     fin >> k;
2082     _endcapCrystal[i][j]=(k==0);
2083     }
2084     }
2085    
2086     for(unsigned i(0);i<2;i++) {
2087     for(unsigned j(0);j<7080;j++) {
2088     for(unsigned k(0);k<2;k++) {
2089     fin >> _endcapCGap[i][j][k];
2090     }
2091     }
2092     }
2093    
2094     for(unsigned i(0);i<2;i++) {
2095     for(unsigned j(0);j<264;j++) {
2096     for(unsigned k(0);k<2;k++) {
2097     fin >> _endcapSGap[i][j][k];
2098     }
2099     }
2100     }
2101    
2102     for(unsigned i(0);i<2;i++) {
2103     for(unsigned j(0);j<1;j++) {
2104     for(unsigned k(0);k<2;k++) {
2105     fin >> _endcapMGap[i][j][k];
2106     }
2107     }
2108     }
2109    
2110     assert(fin);
2111    
2112     return true;
2113     }
2114    
2115    
2116     // bool PhotonFix::_initialised=false;
2117     //
2118     // double PhotonFix::_meanScale[2][2][4];
2119     // double PhotonFix::_meanAT[2][2][4];
2120     // double PhotonFix::_meanAC[2][2][4];
2121     // double PhotonFix::_meanAS[2][2][4];
2122     // double PhotonFix::_meanAM[2][2][4];
2123     // double PhotonFix::_meanBT[2][2][4];
2124     // double PhotonFix::_meanBC[2][2][4];
2125     // double PhotonFix::_meanBS[2][2][4];
2126     // double PhotonFix::_meanBM[2][2][4];
2127     // double PhotonFix::_meanR9[2][2][4];
2128     //
2129     // double PhotonFix::_sigmaScale[2][2][4];
2130     // double PhotonFix::_sigmaAT[2][2][4];
2131     // double PhotonFix::_sigmaAC[2][2][4];
2132     // double PhotonFix::_sigmaAS[2][2][4];
2133     // double PhotonFix::_sigmaAM[2][2][4];
2134     // double PhotonFix::_sigmaBT[2][2][4];
2135     // double PhotonFix::_sigmaBC[2][2][4];
2136     // double PhotonFix::_sigmaBS[2][2][4];
2137     // double PhotonFix::_sigmaBM[2][2][4];
2138     // double PhotonFix::_sigmaR9[2][2][4];
2139     //
2140     // double PhotonFix::_barrelCGap[169][360][2];
2141     // double PhotonFix::_barrelSGap[33][180][2];
2142     // double PhotonFix::_barrelMGap[7][18][2];
2143     //
2144     // bool PhotonFix::_endcapCrystal[100][100];
2145     // double PhotonFix::_endcapCGap[2][7080][2];
2146     // double PhotonFix::_endcapSGap[2][264][2];
2147     // double PhotonFix::_endcapMGap[2][1][2];