ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/PhotonFix.cc
(Generate patch)

Comparing UserCode/MitPhysics/Utils/src/PhotonFix.cc (file contents):
Revision 1.1 by bendavid, Wed Jul 27 15:17:37 2011 UTC vs.
Revision 1.3 by paus, Thu Mar 29 23:41:57 2012 UTC

# Line 1 | Line 1
1 < #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(){
16 <  // Check constants have been set up
17 <  assert(_initialised);
18 <
19 <  // Determine if EB or EE
20 <  _be=(fabs(_eta)<1.48?0:1);
21 <  
22 <  // Determine if high or low R9
23 <  if(_be==0) _hl=(_r9>=0.94?0:1);
24 <  else       _hl=(_r9>=0.95?0:1);
25 <  
26 <  // Coordinates relative to cracks
27 <  double r2Min;
28 <  if(_be==0) {
29 <    
30 <    r2Min=1.0e6;
31 <    for(unsigned i(0);i<169;i++) {
32 <      for(unsigned j(0);j<360;j++) {
33 <        double de(_eta-_barrelCGap[i][j][0]);
34 <        double df(dPhi(_phi,_barrelCGap[i][j][1]));
35 <        double r2(de*de+df*df);
36 <        
37 <          if(r2<r2Min) {
38 <            r2Min=r2;
39 <            if(i>=84) {
40 <              _aC= de;
41 <              _bC=-df;
42 <            } else {
43 <              _aC=-de;
44 <              _bC= df;
45 <            }
46 <          }
47 <        }
48 <      }
49 <      
50 <      r2Min=1.0e6;
51 <      for(unsigned i(0);i<33;i++) {
52 <        for(unsigned j(0);j<180;j++) {
53 <          double de(_eta-_barrelSGap[i][j][0]);
54 <          double df(dPhi(_phi,_barrelSGap[i][j][1]));
55 <          double r2(de*de+df*df);
56 <          
57 <          if(r2<r2Min) {
58 <            r2Min=r2;
59 <            if(i>=16) {
60 <              _aS= de;
61 <              _bS=-df;
62 <            } else {
63 <              _aS=-de;
64 <              _bS= df;
65 <            }
66 <          }
67 <        }
68 <      }
69 <      
70 <      r2Min=1.0e6;
71 <      for(unsigned i(0);i<7;i++) {
72 <        for(unsigned j(0);j<18;j++) {
73 <          double de(_eta-_barrelMGap[i][j][0]);
74 <          double df(dPhi(_phi,_barrelMGap[i][j][1]));
75 <          double r2(de*de+df*df);
76 <          
77 <          if(r2<r2Min) {
78 <            r2Min=r2;
79 <            if(i>=3) {
80 <              _aM= de;
81 <              _bM=-df;
82 <            } else {
83 <              _aM=-de;
84 <              _bM= df;
85 <            }
86 <          }
87 <        }
88 <      }
89 <
90 <    } else {
91 <      unsigned iz(_eta>=0.0?0:1);
92 <      double r[2]={xZ(),yZ()};
93 <
94 <      r2Min=1.0e6;
95 <      for(unsigned i(0);i<7080;i++) {
96 <        double dx(r[0]-_endcapCGap[iz][i][0]);
97 <        double dy(r[1]-_endcapCGap[iz][i][1]);
98 <        double r2(dx*dx+dy*dy);
99 <
100 <        if(r2<r2Min) {
101 <          r2Min=r2;
102 <          if(r[0]>0.0) _aC= dx;
103 <          else         _aC=-dx;
104 <          if(r[1]>0.0) _bC= dy;
105 <          else         _bC=-dy;
106 <        }
107 <      }
108 <
109 <      r2Min=1.0e6;
110 <      for(unsigned i(0);i<264;i++) {
111 <        double dx(r[0]-_endcapSGap[iz][i][0]);
112 <        double dy(r[1]-_endcapSGap[iz][i][1]);
113 <        double r2(dx*dx+dy*dy);
114 <
115 <        if(r2<r2Min) {
116 <          r2Min=r2;
117 <          if(r[0]>0.0) _aS= dx;
118 <          else         _aS=-dx;
119 <          if(r[1]>0.0) _bS= dy;
120 <          else         _bS=-dy;
121 <        }
122 <      }
123 <
124 <      r2Min=1.0e6;
125 <      for(unsigned i(0);i<1;i++) {
126 <        double dx(r[0]-_endcapMGap[iz][i][0]);
127 <        double dy(r[1]-_endcapMGap[iz][i][1]);
128 <        double r2(dx*dx+dy*dy);
129 <
130 <        if(r2<r2Min) {
131 <          r2Min=r2;
132 <          if(iz==0) {_aM= dx;_bM= dy;}
133 <          else      {_aM=-dx;_bM=-dy;}
134 <        }
135 <      }
136 <    }
137 < }
138 <
139 < double PhotonFix::fixedEnergy() const {
140 <  double f(0.0);
141 <  
142 <  // Overall scale and energy(T) dependence
143 <  f =_meanScale[_be][_hl][0];
144 <  f+=_meanScale[_be][_hl][1]*_e;
145 <  f+=_meanScale[_be][_hl][2]*_e/cosh(_eta);
146 <  f+=_meanScale[_be][_hl][3]*cosh(_eta)/_e;
147 <  
148 <  // Eta or x crystal, submodule and module dependence
149 <  f+=expCorrection(_aC,_meanAC[_be][_hl]);
150 <  f+=expCorrection(_aS,_meanAS[_be][_hl]);
151 <  f+=expCorrection(_aM,_meanAM[_be][_hl]);
152 <  
153 <  // Phi or y crystal, submodule and module dependence
154 <  f+=expCorrection(_bC,_meanBC[_be][_hl]);
155 <  f+=expCorrection(_bS,_meanBS[_be][_hl]);
156 <  f+=expCorrection(_bM,_meanBM[_be][_hl]);
157 <  
158 <  // R9 dependence
159 <  if(_hl==0) {
160 <    f+=_meanR9[_be][_hl][1]*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0])
161 <      +_meanR9[_be][_hl][2]*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0])*(_r9-_meanR9[_be][_hl][0]);
162 <  } else {
163 <    f+=_meanR9[_be][_hl][0]*_r9+_meanR9[_be][_hl][1]*_r9*_r9+_meanR9[_be][_hl][2]*_r9*_r9*_r9;
164 <  }
165 <  
166 <  return _e*f;
167 < }
168 <
169 < double PhotonFix::sigmaEnergy() const {
170 <  
171 <  // Overall resolution scale vs energy
172 <  double sigma;
173 <  if(_be==0) {
174 <    sigma =_sigmaScale[_be][_hl][0]*_sigmaScale[_be][_hl][0];
175 <    sigma+=_sigmaScale[_be][_hl][1]*_sigmaScale[_be][_hl][1]*_e;
176 <    sigma+=_sigmaScale[_be][_hl][2]*_sigmaScale[_be][_hl][2]*_e*_e;
177 <  } else {
178 <    sigma =_sigmaScale[_be][_hl][0]*_sigmaScale[_be][_hl][0]*cosh(_eta)*cosh(_eta);
179 <    sigma+=_sigmaScale[_be][_hl][1]*_sigmaScale[_be][_hl][1]*_e;
180 <    sigma+=_sigmaScale[_be][_hl][2]*_sigmaScale[_be][_hl][2]*_e*_e;
181 <  }
182 <  sigma=sqrt(sigma);
183 <  
184 <  double f(1.0);
185 <  
186 <  // General eta or zeta dependence
187 <  if(_be==0) {
188 <    f+=_sigmaAT[_be][_hl][0]*_eta*_eta;
189 <    f+=expCorrection(_eta,_sigmaBT[_be][_hl]);
190 <  } else {
191 <    f+=_sigmaAT[_be][_hl][0]*xZ()*xZ();
192 <    f+=_sigmaBT[_be][_hl][0]*yZ()*yZ();
193 <  }
194 <  
195 <  // Eta or x crystal, submodule and module dependence
196 <  f+=expCorrection(_aC,_sigmaAC[_be][_hl]);
197 <  f+=expCorrection(_aS,_sigmaAS[_be][_hl]);
198 <  f+=expCorrection(_aM,_sigmaAM[_be][_hl]);
199 <  
200 <  // Phi or y crystal, submodule and module dependence
201 <  f+=expCorrection(_bC,_sigmaBC[_be][_hl]);
202 <  f+=expCorrection(_bS,_sigmaBS[_be][_hl]);
203 <  f+=expCorrection(_bM,_sigmaBM[_be][_hl]);
204 <  
205 <  // R9 dependence
206 <  if(_hl==0) {
207 <    f+=_sigmaR9[_be][_hl][1]*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0])
208 <      +_sigmaR9[_be][_hl][2]*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0])*(_r9-_sigmaR9[_be][_hl][0]);
209 <  } else {
210 <    f+=_sigmaR9[_be][_hl][0]*_r9+_sigmaR9[_be][_hl][1]*_r9*_r9;
211 <  }
212 <  
213 <  return sigma*f;
214 < }
215 <
216 < double PhotonFix::rawEnergy() const {
217 <  return _e;
218 < }
219 <
220 < double PhotonFix::eta() const {
221 <  return _eta;
222 < }
223 <
224 < double PhotonFix::phi() const {
225 <  return _phi;
226 < }
227 <
228 < double PhotonFix::r9() const {
229 <  return _r9;
230 < }
231 <
232 < double PhotonFix::etaC() const {
233 <  assert(_be==0);
234 <  return _aC;
235 < }
236 <
237 < double PhotonFix::etaS() const {
238 <  assert(_be==0);
239 <  return _aS;
240 < }
241 <
242 < double PhotonFix::etaM() const {
243 <  assert(_be==0);
244 <  return _aM;
245 < }
246 <
247 < double PhotonFix::phiC() const {
248 <  assert(_be==0);
249 <  return _bC;
250 < }
251 <
252 < double PhotonFix::phiS() const {
253 <  assert(_be==0);
254 <  return _bS;
255 < }
256 <
257 < double PhotonFix::phiM() const {
258 <  assert(_be==0);
259 <  return _bM;
260 < }
261 <
262 < double PhotonFix::xZ() const {
263 <  assert(_be==1);
264 <  return asinh(cos(_phi)/sinh(_eta));
265 < }
266 <
267 < double PhotonFix::xC() const {
268 <  assert(_be==1);
269 <  return _aC;
270 < }
271 <
272 < double PhotonFix::xS() const {
273 <  assert(_be==1);
274 <  return _aS;
275 < }
276 <
277 < double PhotonFix::xM() const {
278 <  assert(_be==1);
279 <  return _aM;
280 < }
281 <
282 < double PhotonFix::yZ() const {
283 <  assert(_be==1);
284 <  return asinh(sin(_phi)/sinh(_eta));
285 < }
286 <
287 < double PhotonFix::yC() const {
288 <  assert(_be==1);
289 <  return _bC;
290 < }
291 <
292 < double PhotonFix::yS() const {
293 <  assert(_be==1);
294 <  return _bS;
295 < }
296 <
297 < double PhotonFix::yM() const {
298 <  assert(_be==1);
299 <  return _bM;
300 < }
301 <
302 < double PhotonFix::GetaPhi(double f0, double f1){
303 <  return aPhi(f0,f1);
304 < }
305 <
306 < void PhotonFix::barrelCGap(unsigned i, unsigned j, unsigned k, double c){
307 <  _barrelCGap[i][j][k] = c;
308 < }
309 < void PhotonFix::barrelSGap(unsigned i, unsigned j, unsigned k, double c){
310 <  _barrelSGap[i][j][k] = c;
311 < }
312 < void PhotonFix::barrelMGap(unsigned i, unsigned j, unsigned k, double c){
313 <  _barrelMGap[i][j][k] = c;
314 < }
315 < void PhotonFix::endcapCrystal(unsigned i, unsigned j, bool c){
316 <  _endcapCrystal[i][j] = c;
317 < }
318 < void PhotonFix::endcapCGap(unsigned i, unsigned j, unsigned k, double c){
319 <  _endcapCGap[i][j][k] = c;
320 < }
321 < void PhotonFix::endcapSGap(unsigned i, unsigned j, unsigned k, double c){
322 <  _endcapSGap[i][j][k] = c;
323 < }
324 < void PhotonFix::endcapMGap(unsigned i, unsigned j, unsigned k, double c){
325 <  _endcapMGap[i][j][k] = c;
326 < }
327 <
328 <
329 < void PhotonFix::print() const {
330 <  std::cout << "PhotonFix:  e,eta,phi,r9 = " << _e << ", " << _eta << ", " << _phi << ", " << _r9 << ", gaps "
331 <            << _aC << ", " << _aS << ", " << _aM << ", "
332 <            << _bC << ", " << _bS << ", " << _bM << std::endl;
333 < }
334 <
335 < void PhotonFix::setParameters(unsigned be, unsigned hl, const double *p) {
336 <  for(unsigned i(0);i<4;i++) {
337 <    _meanScale[be][hl][i] =p[i+ 0*4];
338 <    _meanAC[be][hl][i]    =p[i+ 1*4];
339 <    _meanAS[be][hl][i]    =p[i+ 2*4];
340 <    _meanAM[be][hl][i]    =p[i+ 3*4];
341 <    _meanBC[be][hl][i]    =p[i+ 4*4];
342 <    _meanBS[be][hl][i]    =p[i+ 5*4];
343 <    _meanBM[be][hl][i]    =p[i+ 6*4];
344 <    _meanR9[be][hl][i]    =p[i+ 7*4];
345 <    
346 <    _sigmaScale[be][hl][i]=p[i+ 8*4];
347 <    _sigmaAT[be][hl][i]   =p[i+ 9*4];
348 <    _sigmaAC[be][hl][i]   =p[i+10*4];
349 <    _sigmaAS[be][hl][i]   =p[i+11*4];
350 <    _sigmaAM[be][hl][i]   =p[i+12*4];
351 <    _sigmaBT[be][hl][i]   =p[i+13*4];
352 <    _sigmaBC[be][hl][i]   =p[i+14*4];
353 <    _sigmaBS[be][hl][i]   =p[i+15*4];
354 <    _sigmaBM[be][hl][i]   =p[i+16*4];
355 <    _sigmaR9[be][hl][i]   =p[i+17*4];
356 <  }
357 < }
358 <
359 < void PhotonFix::getParameters(unsigned be, unsigned hl, double *p) {
360 <  for(unsigned i(0);i<4;i++) {
361 <    p[i+ 0*4]=_meanScale[be][hl][i];
362 <    p[i+ 1*4]=_meanAC[be][hl][i];
363 <    p[i+ 2*4]=_meanAS[be][hl][i];
364 <    p[i+ 3*4]=_meanAM[be][hl][i];
365 <    p[i+ 4*4]=_meanBC[be][hl][i];
366 <    p[i+ 5*4]=_meanBS[be][hl][i];
367 <    p[i+ 6*4]=_meanBM[be][hl][i];
368 <    p[i+ 7*4]=_meanR9[be][hl][i];
369 <    
370 <    p[i+ 8*4]=_sigmaScale[be][hl][i];
371 <    p[i+ 9*4]=_sigmaAT[be][hl][i];
372 <    p[i+10*4]=_sigmaAC[be][hl][i];
373 <    p[i+11*4]=_sigmaAS[be][hl][i];
374 <    p[i+12*4]=_sigmaAM[be][hl][i];
375 <    p[i+13*4]=_sigmaBT[be][hl][i];
376 <    p[i+14*4]=_sigmaBC[be][hl][i];
377 <    p[i+15*4]=_sigmaBS[be][hl][i];
378 <    p[i+16*4]=_sigmaBM[be][hl][i];
379 <    p[i+17*4]=_sigmaR9[be][hl][i];
380 <  }
381 < }
382 <
383 < void PhotonFix::dumpParameters(std::ostream &o) {
384 <  for(unsigned be(0);be<2;be++) {
385 <    for(unsigned hl(0);hl<2;hl++) {
386 <      for(unsigned i(0);i<4;i++) {
387 <        o << " _meanScale[" << be << "][" << hl << "][" << i << "]=" << _meanScale[be][hl][i] << ";" << std::endl;
388 <      }
389 <      for(unsigned i(0);i<4;i++) {
390 <        o << " _meanAC[" << be << "][" << hl << "][" << i << "]=" << _meanAC[be][hl][i] << ";" << std::endl;
391 <      }
392 <      for(unsigned i(0);i<4;i++) {
393 <        o << " _meanAS[" << be << "][" << hl << "][" << i << "]=" << _meanAS[be][hl][i] << ";" << std::endl;
394 <      }
395 <      for(unsigned i(0);i<4;i++) {
396 <        o << " _meanAM[" << be << "][" << hl << "][" << i << "]=" << _meanAM[be][hl][i] << ";" << std::endl;
397 <      }
398 <      for(unsigned i(0);i<4;i++) {
399 <        o << " _meanBC[" << be << "][" << hl << "][" << i << "]=" << _meanBC[be][hl][i] << ";" << std::endl;
400 <      }
401 <      for(unsigned i(0);i<4;i++) {
402 <        o << " _meanBS[" << be << "][" << hl << "][" << i << "]=" << _meanBS[be][hl][i] << ";" << std::endl;
403 <      }
404 <      for(unsigned i(0);i<4;i++) {
405 <        o << " _meanBM[" << be << "][" << hl << "][" << i << "]=" << _meanBM[be][hl][i] << ";" << std::endl;
406 <      }
407 <      for(unsigned i(0);i<4;i++) {
408 <        o << " _meanR9[" << be << "][" << hl << "][" << i << "]=" << _meanR9[be][hl][i] << ";" << std::endl;
409 <      }
410 <      o << std::endl;
411 <      
412 <      for(unsigned i(0);i<4;i++) {
413 <        o << " _sigmaScale[" << be << "][" << hl << "][" << i << "]=" << _sigmaScale[be][hl][i] << ";" << std::endl;
414 <      }
415 <      for(unsigned i(0);i<4;i++) {
416 <        o << " _sigmaAT[" << be << "][" << hl << "][" << i << "]=" << _sigmaAT[be][hl][i] << ";" << std::endl;
417 <      }
418 <      for(unsigned i(0);i<4;i++) {
419 <        o << " _sigmaAC[" << be << "][" << hl << "][" << i << "]=" << _sigmaAC[be][hl][i] << ";" << std::endl;
420 <      }
421 <      for(unsigned i(0);i<4;i++) {
422 <        o << " _sigmaAS[" << be << "][" << hl << "][" << i << "]=" << _sigmaAS[be][hl][i] << ";" << std::endl;
423 <      }
424 <      for(unsigned i(0);i<4;i++) {
425 <        o << " _sigmaAM[" << be << "][" << hl << "][" << i << "]=" << _sigmaAM[be][hl][i] << ";" << std::endl;
426 <      }
427 <      for(unsigned i(0);i<4;i++) {
428 <        o << " _sigmaBT[" << be << "][" << hl << "][" << i << "]=" << _sigmaBT[be][hl][i] << ";" << std::endl;
429 <      }
430 <      for(unsigned i(0);i<4;i++) {
431 <        o << " _sigmaBC[" << be << "][" << hl << "][" << i << "]=" << _sigmaBC[be][hl][i] << ";" << std::endl;
432 <      }
433 <      for(unsigned i(0);i<4;i++) {
434 <        o << " _sigmaBS[" << be << "][" << hl << "][" << i << "]=" << _sigmaBS[be][hl][i] << ";" << std::endl;
435 <      }
436 <      for(unsigned i(0);i<4;i++) {
437 <        o << " _sigmaBM[" << be << "][" << hl << "][" << i << "]=" << _sigmaBM[be][hl][i] << ";" << std::endl;
438 <      }
439 <      for(unsigned i(0);i<4;i++) {
440 <        o << " _sigmaR9[" << be << "][" << hl << "][" << i << "]=" << _sigmaR9[be][hl][i] << ";" << std::endl;
441 <      }
442 <      o << std::endl;
443 <    }
444 <  }
445 < }
446 <
447 < void PhotonFix::printParameters(std::ostream &o) {
448 <  o << "PhotonFix::printParameters()" << std::endl;
449 <  
450 <  for(unsigned be(0);be<2;be++) {
451 <    for(unsigned hl(0);hl<2;hl++) {
452 <      o << " Parameters for " << (be==0?"barrel":"endcap")
453 <        << ", " << (hl==0?"high":"low") << " R9" << std::endl;
454 <      
455 <      o << "  Mean  scaling        ";
456 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanScale[be][hl][i];
457 <      o << std::endl;
458 <      o << "  Mean  " << (be==0?"Eta  ":"ZetaX") << " crystal  ";
459 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAC[be][hl][i];
460 <      o << std::endl;
461 <      o << "  Mean  " << (be==0?"Eta  ":"ZetaX") << " submodule";
462 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAS[be][hl][i];
463 <      o << std::endl;
464 <      o << "  Mean  " << (be==0?"Eta  ":"ZetaX") << " module   ";
465 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanAM[be][hl][i];
466 <      o << std::endl;
467 <      o << "  Mean  " << (be==0?"Phi  ":"ZetaY") << " crystal  ";
468 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBC[be][hl][i];
469 <      o << std::endl;
470 <      o << "  Mean  " << (be==0?"Phi  ":"ZetaY") << " submodule";
471 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBS[be][hl][i];
472 <      o << std::endl;
473 <      o << "  Mean  " << (be==0?"Phi  ":"ZetaY") << " module   ";
474 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanBM[be][hl][i];
475 <      o << std::endl;
476 <      o << "  Mean  R9             ";
477 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _meanR9[be][hl][i];
478 <      o << std::endl;
479 <      
480 <      o << "  Sigma scaling        ";
481 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaScale[be][hl][i];
482 <      o << std::endl;
483 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaX") << " total    ";
484 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAT[be][hl][i];
485 <      o << std::endl;
486 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaX") << " crystal  ";
487 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAC[be][hl][i];
488 <      o << std::endl;
489 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaX") << " submodule";
490 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAS[be][hl][i];
491 <      o << std::endl;
492 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaX") << " module   ";
493 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaAM[be][hl][i];
494 <      o << std::endl;
495 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaY") << " total    ";
496 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBT[be][hl][i];
497 <      o << std::endl;
498 <      o << "  Sigma " << (be==0?"Eta  ":"ZetaY") << " crystal  ";
499 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBC[be][hl][i];
500 <      o << std::endl;
501 <      o << "  Sigma " << (be==0?"Phi  ":"ZetaY") << " submodule";
502 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBS[be][hl][i];
503 <      o << std::endl;
504 <      o << "  Sigma " << (be==0?"Phi  ":"ZetaY") << " module   ";
505 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaBM[be][hl][i];
506 <      o << std::endl;
507 <      o << "  Sigma R9             ";
508 <      for(unsigned i(0);i<4;i++) o << std::setw(14) << _sigmaR9[be][hl][i];
509 <      o << std::endl;
510 <    }
511 <  }
512 < }
513 <
514 < double PhotonFix::asinh(double s) {
515 <  if(s>=0.0) return  log(sqrt(s*s+1.0)+s);
516 <  else       return -log(sqrt(s*s+1.0)-s);
517 < }
518 <
519 < void PhotonFix::dumpGaps(std::ostream &o) {
520 <  o << std::setprecision(15);
521 <  
522 <  for(unsigned i(0);i<169;i++) {
523 <    for(unsigned j(0);j<360;j++) {
524 <      for(unsigned k(0);k<2;k++) {
525 <        o << _barrelCGap[i][j][k] << std::endl;
526 <      }
527 <    }
528 <  }
529 <  
530 <  for(unsigned i(0);i<33;i++) {
531 <    for(unsigned j(0);j<180;j++) {
532 <      for(unsigned k(0);k<2;k++) {
533 <        o << _barrelSGap[i][j][k] << std::endl;
534 <      }
535 <    }
536 <  }
537 <  
538 <  for(unsigned i(0);i<7;i++) {
539 <    for(unsigned j(0);j<18;j++) {
540 <      for(unsigned k(0);k<2;k++) {
541 <        o << _barrelMGap[i][j][k] << std::endl;
542 <      }
543 <    }
544 <  }
545 <  
546 <  for(unsigned i(0);i<100;i++) {
547 <    for(unsigned j(0);j<100;j++) {
548 <      if(_endcapCrystal[i][j]) o << 0 << std::endl;
549 <      else                     o << 1 << std::endl;
550 <    }
551 <  }
552 <  
553 <  for(unsigned i(0);i<2;i++) {
554 <    for(unsigned j(0);j<7080;j++) {
555 <      for(unsigned k(0);k<2;k++) {
556 <        o << _endcapCGap[i][j][k] << std::endl;
557 <      }
558 <    }
559 <  }
560 <  
561 <  for(unsigned i(0);i<2;i++) {
562 <    for(unsigned j(0);j<264;j++) {
563 <      for(unsigned k(0);k<2;k++) {
564 <        o << _endcapSGap[i][j][k] << std::endl;
565 <      }
566 <    }
567 <  }
568 <  
569 <  for(unsigned i(0);i<2;i++) {
570 <    for(unsigned j(0);j<1;j++) {
571 <      for(unsigned k(0);k<2;k++) {
572 <        o << _endcapMGap[i][j][k] << std::endl;
573 <      }
574 <    }
575 <  }
576 < }
577 <
578 < double PhotonFix::dPhi(double f0, double f1) {
579 <  double df(f0-f1);
580 <  if(df> _onePi) df-=_twoPi;
581 <  if(df<-_onePi) df+=_twoPi;
582 <  return df;
583 < }
584 <
585 < double PhotonFix::aPhi(double f0, double f1) {
586 <  double af(0.5*(f0+f1));
587 <  if(fabs(dPhi(af,f0))>0.5*_onePi) {
588 <    if(af>=0.0) af-=_onePi;
589 <    else        af+=_onePi;
590 <  }
591 <  
592 <  assert(fabs(dPhi(af,f0))<0.5*_onePi);
593 <  assert(fabs(dPhi(af,f1))<0.5*_onePi);
594 <  
595 <  return af;
596 < }
597 <
598 < double PhotonFix::expCorrection(double a, const double *p) {
599 <  if(p[1]==0.0 || p[2]==0.0 || p[3]==0.0) return 0.0;
600 <  
601 <  double b(a-p[0]);
602 <  if(b>=0.0) return p[1]*exp(-fabs(p[2])*b);
603 <  else       return p[1]*exp( fabs(p[3])*b);
604 < }
605 <
606 < double PhotonFix::gausCorrection(double a, const double *p) {
607 <  if(p[1]==0.0 || p[2]==0.0 || p[3]==0.0) return 0.0;
608 <  
609 <  double b(a-p[0]);
610 <  if(b>=0.0) return p[1]*exp(-0.5*p[2]*p[2]*b*b);
611 <  else       return p[1]*exp(-0.5*p[3]*p[3]*b*b);
612 < }
613 < bool PhotonFix::initialised() {
614 <  return _initialised;
615 < }
616 < bool PhotonFix::initialise(const std::string &s, const std::string &infile) {
617 <  if(_initialised) return false;
618 <
619 <  
620 <  initialiseParameters(s);
621 <  initialiseGeometry(s,infile);
622 <  return true;
623 < }
624 <
625 < bool PhotonFix::initialiseParameters(const std::string &s) {
626 <  _initialised=false;
627 <  
628 <  if(s=="Nominal") {
629 <    for(unsigned be(0);be<2;be++) {
630 <      for(unsigned hl(0);hl<2;hl++) {
631 <        for(unsigned i(0);i<4;i++) {
632 <          _meanScale[be][hl][i]=0;
633 <          _meanAC[be][hl][i]=0;
634 <          _meanAS[be][hl][i]=0;
635 <          _meanAM[be][hl][i]=0;
636 <          _meanBC[be][hl][i]=0;
637 <          _meanBS[be][hl][i]=0;
638 <          _meanBM[be][hl][i]=0;
639 <          _meanR9[be][hl][i]=0;
640 <          
641 <          _sigmaScale[be][hl][i]=0;
642 <          _sigmaAT[be][hl][i]=0;
643 <          _sigmaAC[be][hl][i]=0;
644 <          _sigmaAS[be][hl][i]=0;
645 <          _sigmaAM[be][hl][i]=0;
646 <          _sigmaBT[be][hl][i]=0;
647 <          _sigmaBC[be][hl][i]=0;
648 <          _sigmaBS[be][hl][i]=0;
649 <          _sigmaBM[be][hl][i]=0;
650 <          _sigmaR9[be][hl][i]=0;
651 <        }
652 <        
653 <        _meanScale[be][hl][0]=1.0;
654 <        if(be==0) {
655 <          _sigmaScale[be][hl][0]=0.2;
656 <          _sigmaScale[be][hl][1]=0.03;
657 <          _sigmaScale[be][hl][2]=0.006;
658 <        } else {
659 <          _sigmaScale[be][hl][0]=0.25;
660 <          _sigmaScale[be][hl][1]=0.05;
661 <          _sigmaScale[be][hl][2]=0.010;
662 <        }
663 <      }
664 <    }
665 <    
666 <    _initialised=true;
667 <  }
668 <  
669 <  if(s=="3_8") {
670 <    _meanScale[0][0][0]=0.994724;
671 <    _meanScale[0][0][1]=1.98102e-06;
672 <    _meanScale[0][0][2]=1.43015e-05;
673 <    _meanScale[0][0][3]=-0.0908525;
674 <    _meanAC[0][0][0]=-0.00352041;
675 <    _meanAC[0][0][1]=0.00982015;
676 <    _meanAC[0][0][2]=434.32;
677 <    _meanAC[0][0][3]=529.508;
678 <    _meanAS[0][0][0]=-1.1;
679 <    _meanAS[0][0][1]=0.00135995;
680 <    _meanAS[0][0][2]=295.712;
681 <    _meanAS[0][0][3]=5.13202e+07;
682 <    _meanAM[0][0][0]=-0.00140562;
683 <    _meanAM[0][0][1]=0.156322;
684 <    _meanAM[0][0][2]=263.097;
685 <    _meanAM[0][0][3]=222.294;
686 <    _meanBC[0][0][0]=-0.00294295;
687 <    _meanBC[0][0][1]=0.011533;
688 <    _meanBC[0][0][2]=562.905;
689 <    _meanBC[0][0][3]=421.097;
690 <    _meanBS[0][0][0]=-0.00204373;
691 <    _meanBS[0][0][1]=0.00347592;
692 <    _meanBS[0][0][2]=36.5614;
693 <    _meanBS[0][0][3]=1265.25;
694 <    _meanBM[0][0][0]=-0.00275381;
695 <    _meanBM[0][0][1]=0.0812447;
696 <    _meanBM[0][0][2]=216.885;
697 <    _meanBM[0][0][3]=264.754;
698 <    _meanR9[0][0][0]=0.952584;
699 <    _meanR9[0][0][1]=22.7119;
700 <    _meanR9[0][0][2]=402.816;
701 <    _meanR9[0][0][3]=0;
702 <    
703 <    _sigmaScale[0][0][0]=0.167184;
704 <    _sigmaScale[0][0][1]=6.14323e-11;
705 <    _sigmaScale[0][0][2]=0.00769693;
706 <    _sigmaScale[0][0][3]=0;
707 <    _sigmaAT[0][0][0]=0.228255;
708 <    _sigmaAT[0][0][1]=0;
709 <    _sigmaAT[0][0][2]=0;
710 <    _sigmaAT[0][0][3]=0;
711 <    _sigmaAC[0][0][0]=-0.00411906;
712 <    _sigmaAC[0][0][1]=0.077799;
713 <    _sigmaAC[0][0][2]=23.1033;
714 <    _sigmaAC[0][0][3]=-3e+17;
715 <    _sigmaAS[0][0][0]=0;
716 <    _sigmaAS[0][0][1]=0;
717 <    _sigmaAS[0][0][2]=0;
718 <    _sigmaAS[0][0][3]=0;
719 <    _sigmaAM[0][0][0]=-0.000130695;
720 <    _sigmaAM[0][0][1]=11.2121;
721 <    _sigmaAM[0][0][2]=468.535;
722 <    _sigmaAM[0][0][3]=407.652;
723 <    _sigmaBT[0][0][0]=1.33384e-05;
724 <    _sigmaBT[0][0][1]=8.77098;
725 <    _sigmaBT[0][0][2]=324.048;
726 <    _sigmaBT[0][0][3]=239.868;
727 <    _sigmaBC[0][0][0]=-0.00281964;
728 <    _sigmaBC[0][0][1]=0.125811;
729 <    _sigmaBC[0][0][2]=538.949;
730 <    _sigmaBC[0][0][3]=1358.76;
731 <    _sigmaBS[0][0][0]=0;
732 <    _sigmaBS[0][0][1]=0;
733 <    _sigmaBS[0][0][2]=0;
734 <    _sigmaBS[0][0][3]=0;
735 <    _sigmaBM[0][0][0]=-0.00293676;
736 <    _sigmaBM[0][0][1]=8.88276;
737 <    _sigmaBM[0][0][2]=350.032;
738 <    _sigmaBM[0][0][3]=580.354;
739 <    _sigmaR9[0][0][0]=0.955876;
740 <    _sigmaR9[0][0][1]=2254.5;
741 <    _sigmaR9[0][0][2]=14627;
742 <    _sigmaR9[0][0][3]=0;
743 <    
744 <    _meanScale[0][1][0]=0.888348;
745 <    _meanScale[0][1][1]=1.20452e-05;
746 <    _meanScale[0][1][2]=-1.04458e-05;
747 <    _meanScale[0][1][3]=-0.542383;
748 <    _meanAC[0][1][0]=-0.00320856;
749 <    _meanAC[0][1][1]=0.0240109;
750 <    _meanAC[0][1][2]=115.145;
751 <    _meanAC[0][1][3]=205.859;
752 <    _meanAS[0][1][0]=0.0349736;
753 <    _meanAS[0][1][1]=-0.00232864;
754 <    _meanAS[0][1][2]=318.584;
755 <    _meanAS[0][1][3]=1.4e+09;
756 <    _meanAM[0][1][0]=-0.00104798;
757 <    _meanAM[0][1][1]=0.208249;
758 <    _meanAM[0][1][2]=297.049;
759 <    _meanAM[0][1][3]=220.609;
760 <    _meanBC[0][1][0]=-0.00420429;
761 <    _meanBC[0][1][1]=0.00203991;
762 <    _meanBC[0][1][2]=172.278;
763 <    _meanBC[0][1][3]=410.677;
764 <    _meanBS[0][1][0]=-0.0430854;
765 <    _meanBS[0][1][1]=0.0961883;
766 <    _meanBS[0][1][2]=0.196958;
767 <    _meanBS[0][1][3]=11442.2;
768 <    _meanBM[0][1][0]=-0.00389457;
769 <    _meanBM[0][1][1]=0.0449086;
770 <    _meanBM[0][1][2]=78.9252;
771 <    _meanBM[0][1][3]=103.237;
772 <    _meanR9[0][1][0]=0.0182102;
773 <    _meanR9[0][1][1]=-0.03752;
774 <    _meanR9[0][1][2]=0.0198881;
775 <    _meanR9[0][1][3]=0;
776 <    
777 <    _sigmaScale[0][1][0]=0.386681;
778 <    _sigmaScale[0][1][1]=0.0913412;
779 <    _sigmaScale[0][1][2]=0.00119232;
780 <    _sigmaScale[0][1][3]=0;
781 <    _sigmaAT[0][1][0]=1.36562;
782 <    _sigmaAT[0][1][1]=0;
783 <    _sigmaAT[0][1][2]=0;
784 <    _sigmaAT[0][1][3]=0;
785 <    _sigmaAC[0][1][0]=-0.00504613;
786 <    _sigmaAC[0][1][1]=-1.09115;
787 <    _sigmaAC[0][1][2]=8.57406;
788 <    _sigmaAC[0][1][3]=57.1351;
789 <    _sigmaAS[0][1][0]=0;
790 <    _sigmaAS[0][1][1]=0;
791 <    _sigmaAS[0][1][2]=0;
792 <    _sigmaAS[0][1][3]=0;
793 <    _sigmaAM[0][1][0]=-0.00014319;
794 <    _sigmaAM[0][1][1]=5.39527;
795 <    _sigmaAM[0][1][2]=432.566;
796 <    _sigmaAM[0][1][3]=265.165;
797 <    _sigmaBT[0][1][0]=-0.040161;
798 <    _sigmaBT[0][1][1]=2.65711;
799 <    _sigmaBT[0][1][2]=-0.398357;
800 <    _sigmaBT[0][1][3]=-0.440649;
801 <    _sigmaBC[0][1][0]=0.00580015;
802 <    _sigmaBC[0][1][1]=-0.631833;
803 <    _sigmaBC[0][1][2]=18594.3;
804 <    _sigmaBC[0][1][3]=4.00955e+08;
805 <    _sigmaBS[0][1][0]=0;
806 <    _sigmaBS[0][1][1]=0;
807 <    _sigmaBS[0][1][2]=0;
808 <    _sigmaBS[0][1][3]=0;
809 <    _sigmaBM[0][1][0]=-0.00376665;
810 <    _sigmaBM[0][1][1]=3.74316;
811 <    _sigmaBM[0][1][2]=102.72;
812 <    _sigmaBM[0][1][3]=157.396;
813 <    _sigmaR9[0][1][0]=-3.12696;
814 <    _sigmaR9[0][1][1]=1.75114;
815 <    _sigmaR9[0][1][2]=0;
816 <    _sigmaR9[0][1][3]=0;
817 <    
818 <    _meanScale[1][0][0]=0.999461;
819 <    _meanScale[1][0][1]=4.37414e-06;
820 <    _meanScale[1][0][2]=4.92078e-06;
821 <    _meanScale[1][0][3]=-0.121609;
822 <    _meanAC[1][0][0]=-0.000396058;
823 <    _meanAC[1][0][1]=0.0144837;
824 <    _meanAC[1][0][2]=1374.93;
825 <    _meanAC[1][0][3]=945.634;
826 <    _meanAS[1][0][0]=-0.000871036;
827 <    _meanAS[1][0][1]=0.0442747;
828 <    _meanAS[1][0][2]=645.709;
829 <    _meanAS[1][0][3]=962.845;
830 <    _meanAM[1][0][0]=0.000434298;
831 <    _meanAM[1][0][1]=0.0658628;
832 <    _meanAM[1][0][2]=1928.49;
833 <    _meanAM[1][0][3]=728.522;
834 <    _meanBC[1][0][0]=-0.000452212;
835 <    _meanBC[1][0][1]=0.0129968;
836 <    _meanBC[1][0][2]=1056.08;
837 <    _meanBC[1][0][3]=759.102;
838 <    _meanBS[1][0][0]=-0.000786157;
839 <    _meanBS[1][0][1]=0.0346555;
840 <    _meanBS[1][0][2]=592.239;
841 <    _meanBS[1][0][3]=854.285;
842 <    _meanBM[1][0][0]=-0.0665038;
843 <    _meanBM[1][0][1]=-0.00211713;
844 <    _meanBM[1][0][2]=4.84395;
845 <    _meanBM[1][0][3]=11.6644;
846 <    _meanR9[1][0][0]=0.971355;
847 <    _meanR9[1][0][1]=47.2751;
848 <    _meanR9[1][0][2]=536.907;
849 <    _meanR9[1][0][3]=0;
850 <    
851 <    _sigmaScale[1][0][0]=0.254641;
852 <    _sigmaScale[1][0][1]=0.00264818;
853 <    _sigmaScale[1][0][2]=0.0114953;
854 <    _sigmaScale[1][0][3]=0;
855 <    _sigmaAT[1][0][0]=0.935839;
856 <    _sigmaAT[1][0][1]=0;
857 <    _sigmaAT[1][0][2]=0;
858 <    _sigmaAT[1][0][3]=0;
859 <    _sigmaAC[1][0][0]=-0.00476475;
860 <    _sigmaAC[1][0][1]=2.14548;
861 <    _sigmaAC[1][0][2]=29937;
862 <    _sigmaAC[1][0][3]=2.6e+11;
863 <    _sigmaAS[1][0][0]=-8.17285e-05;
864 <    _sigmaAS[1][0][1]=1.5821;
865 <    _sigmaAS[1][0][2]=1928.83;
866 <    _sigmaAS[1][0][3]=902.519;
867 <    _sigmaAM[1][0][0]=0.0278577;
868 <    _sigmaAM[1][0][1]=0.58439;
869 <    _sigmaAM[1][0][2]=43.3575;
870 <    _sigmaAM[1][0][3]=19.7836;
871 <    _sigmaBT[1][0][0]=-0.456051;
872 <    _sigmaBT[1][0][1]=0;
873 <    _sigmaBT[1][0][2]=0;
874 <    _sigmaBT[1][0][3]=0;
875 <    _sigmaBC[1][0][0]=-0.00264527;
876 <    _sigmaBC[1][0][1]=0.696043;
877 <    _sigmaBC[1][0][2]=7.49509e+12;
878 <    _sigmaBC[1][0][3]=96843;
879 <    _sigmaBS[1][0][0]=0.000258933;
880 <    _sigmaBS[1][0][1]=1.28387;
881 <    _sigmaBS[1][0][2]=1668.71;
882 <    _sigmaBS[1][0][3]=730.716;
883 <    _sigmaBM[1][0][0]=0.00121506;
884 <    _sigmaBM[1][0][1]=0.938541;
885 <    _sigmaBM[1][0][2]=9003.57;
886 <    _sigmaBM[1][0][3]=288.897;
887 <    _sigmaR9[1][0][0]=1.01207;
888 <    _sigmaR9[1][0][1]=-816.244;
889 <    _sigmaR9[1][0][2]=-16283.8;
890 <    _sigmaR9[1][0][3]=0;
891 <    
892 < _meanScale[1][1][0]=0.324634;
893 < _meanScale[1][1][1]=9.48206e-05;
894 < _meanScale[1][1][2]=1.0e-12;
895 < _meanScale[1][1][3]=1.0e-12;
896 < _meanAC[1][1][0]=-0.00158311;
897 < _meanAC[1][1][1]=0.0106161;
898 < _meanAC[1][1][2]=338.964;
899 < _meanAC[1][1][3]=797.172;
900 < _meanAS[1][1][0]=-0.00960269;
901 < _meanAS[1][1][1]=-0.00496491;
902 < _meanAS[1][1][2]=934.472;
903 < _meanAS[1][1][3]=8.32667e-16;
904 < _meanAM[1][1][0]=-0.00219814;
905 < _meanAM[1][1][1]=0.653906;
906 < _meanAM[1][1][2]=0.0949848;
907 < _meanAM[1][1][3]=0.0977831;
908 < _meanBC[1][1][0]=-0.00423472;
909 < _meanBC[1][1][1]=0.0279695;
910 < _meanBC[1][1][2]=28073.7;
911 < _meanBC[1][1][3]=118612;
912 < _meanBS[1][1][0]=-0.0012476;
913 < _meanBS[1][1][1]=0.02744;
914 < _meanBS[1][1][2]=390.697;
915 < _meanBS[1][1][3]=727.861;
916 < _meanBM[1][1][0]=-1.36573e-05;
917 < _meanBM[1][1][1]=0.0667504;
918 < _meanBM[1][1][2]=-80154.4;
919 < _meanBM[1][1][3]=576.637;
920 < _meanR9[1][1][0]=0.113317;
921 < _meanR9[1][1][1]=0.0142669;
922 < _meanR9[1][1][2]=-0.125721;
923 < _meanR9[1][1][3]=0;
924 <
925 < _sigmaScale[1][1][0]=0.471767;
926 < _sigmaScale[1][1][1]=0.211196;
927 < _sigmaScale[1][1][2]=0.0240124;
928 < _sigmaScale[1][1][3]=0;
929 < _sigmaAT[1][1][0]=0.404395;
930 < _sigmaAT[1][1][1]=0;
931 < _sigmaAT[1][1][2]=0;
932 < _sigmaAT[1][1][3]=0;
933 < _sigmaAC[1][1][0]=0.00173151;
934 < _sigmaAC[1][1][1]=-0.479291;
935 < _sigmaAC[1][1][2]=11583.5;
936 < _sigmaAC[1][1][3]=-7e+09;
937 < _sigmaAS[1][1][0]=0.000450387;
938 < _sigmaAS[1][1][1]=0.662978;
939 < _sigmaAS[1][1][2]=924.051;
940 < _sigmaAS[1][1][3]=448.417;
941 < _sigmaAM[1][1][0]=0.00335603;
942 < _sigmaAM[1][1][1]=0.648407;
943 < _sigmaAM[1][1][2]=134.672;
944 < _sigmaAM[1][1][3]=27.4139;
945 < _sigmaBT[1][1][0]=0.602402;
946 < _sigmaBT[1][1][1]=0;
947 < _sigmaBT[1][1][2]=0;
948 < _sigmaBT[1][1][3]=0;
949 < _sigmaBC[1][1][0]=-0.00256192;
950 < _sigmaBC[1][1][1]=2.01276;
951 < _sigmaBC[1][1][2]=114558;
952 < _sigmaBC[1][1][3]=2.15421e+06;
953 < _sigmaBS[1][1][0]=0.00151576;
954 < _sigmaBS[1][1][1]=0.359084;
955 < _sigmaBS[1][1][2]=329.414;
956 < _sigmaBS[1][1][3]=154.509;
957 < _sigmaBM[1][1][0]=-0.0452587;
958 < _sigmaBM[1][1][1]=1.26253;
959 < _sigmaBM[1][1][2]=1.9e+09;
960 < _sigmaBM[1][1][3]=1058.76;
961 < _sigmaR9[1][1][0]=4.59667;
962 < _sigmaR9[1][1][1]=-5.14404;
963 < _sigmaR9[1][1][2]=0;
964 < _sigmaR9[1][1][3]=0;
965 <
966 <        _initialised=true;
967 <      }
968 <
969 <      if(s=="3_11") {
970 < _meanScale[0][0][0]=0.994363;
971 < _meanScale[0][0][1]=4.84904e-07;
972 < _meanScale[0][0][2]=1.54475e-05;
973 < _meanScale[0][0][3]=-0.103309;
974 < _meanAC[0][0][0]=-0.00360057;
975 < _meanAC[0][0][1]=0.00970858;
976 < _meanAC[0][0][2]=409.406;
977 < _meanAC[0][0][3]=527.952;
978 < _meanAS[0][0][0]=-1.1;
979 < _meanAS[0][0][1]=0.00135995;
980 < _meanAS[0][0][2]=295.712;
981 < _meanAS[0][0][3]=5.13202e+07;
982 < _meanAM[0][0][0]=-0.00129854;
983 < _meanAM[0][0][1]=0.151466;
984 < _meanAM[0][0][2]=261.828;
985 < _meanAM[0][0][3]=214.662;
986 < _meanBC[0][0][0]=-0.00286864;
987 < _meanBC[0][0][1]=0.0114118;
988 < _meanBC[0][0][2]=563.962;
989 < _meanBC[0][0][3]=412.922;
990 < _meanBS[0][0][0]=-0.00210996;
991 < _meanBS[0][0][1]=0.00327867;
992 < _meanBS[0][0][2]=23.617;
993 < _meanBS[0][0][3]=1018.45;
994 < _meanBM[0][0][0]=-0.002287;
995 < _meanBM[0][0][1]=0.0848984;
996 < _meanBM[0][0][2]=235.575;
997 < _meanBM[0][0][3]=260.773;
998 < _meanR9[0][0][0]=0.951724;
999 < _meanR9[0][0][1]=23.7181;
1000 < _meanR9[0][0][2]=177.34;
1001 < _meanR9[0][0][3]=0;
1002 <
1003 < _sigmaScale[0][0][0]=0.187578;
1004 < _sigmaScale[0][0][1]=-0.000901045;
1005 < _sigmaScale[0][0][2]=0.00673186;
1006 < _sigmaScale[0][0][3]=0;
1007 < _sigmaAT[0][0][0]=0.183777;
1008 < _sigmaAT[0][0][1]=0;
1009 < _sigmaAT[0][0][2]=0;
1010 < _sigmaAT[0][0][3]=0;
1011 < _sigmaAC[0][0][0]=-0.00430202;
1012 < _sigmaAC[0][0][1]=0.122501;
1013 < _sigmaAC[0][0][2]=51.9772;
1014 < _sigmaAC[0][0][3]=-3e+17;
1015 < _sigmaAS[0][0][0]=0;
1016 < _sigmaAS[0][0][1]=0;
1017 < _sigmaAS[0][0][2]=0;
1018 < _sigmaAS[0][0][3]=0;
1019 < _sigmaAM[0][0][0]=0.00101883;
1020 < _sigmaAM[0][0][1]=11.2009;
1021 < _sigmaAM[0][0][2]=593.111;
1022 < _sigmaAM[0][0][3]=345.433;
1023 < _sigmaBT[0][0][0]=-6.02356e-05;
1024 < _sigmaBT[0][0][1]=6.99896;
1025 < _sigmaBT[0][0][2]=235.996;
1026 < _sigmaBT[0][0][3]=196;
1027 < _sigmaBC[0][0][0]=-0.00282254;
1028 < _sigmaBC[0][0][1]=0.18764;
1029 < _sigmaBC[0][0][2]=509.825;
1030 < _sigmaBC[0][0][3]=1400.14;
1031 < _sigmaBS[0][0][0]=0;
1032 < _sigmaBS[0][0][1]=0;
1033 < _sigmaBS[0][0][2]=0;
1034 < _sigmaBS[0][0][3]=0;
1035 < _sigmaBM[0][0][0]=-0.00252199;
1036 < _sigmaBM[0][0][1]=39.1544;
1037 < _sigmaBM[0][0][2]=612.481;
1038 < _sigmaBM[0][0][3]=905.994;
1039 < _sigmaR9[0][0][0]=0.95608;
1040 < _sigmaR9[0][0][1]=2203.31;
1041 < _sigmaR9[0][0][2]=-22454.2;
1042 < _sigmaR9[0][0][3]=0;
1043 <
1044 < _meanScale[0][1][0]=0.889415;
1045 < _meanScale[0][1][1]=1.21788e-05;
1046 < _meanScale[0][1][2]=-4.3438e-06;
1047 < _meanScale[0][1][3]=-0.629968;
1048 < _meanAC[0][1][0]=-0.00313701;
1049 < _meanAC[0][1][1]=0.0227998;
1050 < _meanAC[0][1][2]=128.653;
1051 < _meanAC[0][1][3]=234.333;
1052 < _meanAS[0][1][0]=0.0346198;
1053 < _meanAS[0][1][1]=-0.00261336;
1054 < _meanAS[0][1][2]=177.983;
1055 < _meanAS[0][1][3]=1.19839e+14;
1056 < _meanAM[0][1][0]=-0.00100745;
1057 < _meanAM[0][1][1]=0.264247;
1058 < _meanAM[0][1][2]=337.255;
1059 < _meanAM[0][1][3]=251.454;
1060 < _meanBC[0][1][0]=-0.00397794;
1061 < _meanBC[0][1][1]=0.00219079;
1062 < _meanBC[0][1][2]=176.842;
1063 < _meanBC[0][1][3]=450.29;
1064 < _meanBS[0][1][0]=-2e+07;
1065 < _meanBS[0][1][1]=0.0957598;
1066 < _meanBS[0][1][2]=-8.88573e-27;
1067 < _meanBS[0][1][3]=11442.2;
1068 < _meanBM[0][1][0]=-0.00366315;
1069 < _meanBM[0][1][1]=0.0622186;
1070 < _meanBM[0][1][2]=94.5155;
1071 < _meanBM[0][1][3]=126.404;
1072 < _meanR9[0][1][0]=0.00636789;
1073 < _meanR9[0][1][1]=0.000336062;
1074 < _meanR9[0][1][2]=-0.0092699;
1075 < _meanR9[0][1][3]=0;
1076 <
1077 < _sigmaScale[0][1][0]=0.685096;
1078 < _sigmaScale[0][1][1]=0.129065;
1079 < _sigmaScale[0][1][2]=-0.00212486;
1080 < _sigmaScale[0][1][3]=0;
1081 < _sigmaAT[0][1][0]=0.898865;
1082 < _sigmaAT[0][1][1]=0;
1083 < _sigmaAT[0][1][2]=0;
1084 < _sigmaAT[0][1][3]=0;
1085 < _sigmaAC[0][1][0]=-0.00492979;
1086 < _sigmaAC[0][1][1]=-1.20123;
1087 < _sigmaAC[0][1][2]=2.89231;
1088 < _sigmaAC[0][1][3]=18.2059;
1089 < _sigmaAS[0][1][0]=0;
1090 < _sigmaAS[0][1][1]=0;
1091 < _sigmaAS[0][1][2]=0;
1092 < _sigmaAS[0][1][3]=0;
1093 < _sigmaAM[0][1][0]=-0.000727825;
1094 < _sigmaAM[0][1][1]=8.42395;
1095 < _sigmaAM[0][1][2]=512.032;
1096 < _sigmaAM[0][1][3]=415.962;
1097 < _sigmaBT[0][1][0]=-0.0336364;
1098 < _sigmaBT[0][1][1]=2.45182;
1099 < _sigmaBT[0][1][2]=-0.284353;
1100 < _sigmaBT[0][1][3]=-0.31679;
1101 < _sigmaBC[0][1][0]=0.00510553;
1102 < _sigmaBC[0][1][1]=-0.953869;
1103 < _sigmaBC[0][1][2]=113872;
1104 < _sigmaBC[0][1][3]=1.35966e+09;
1105 < _sigmaBS[0][1][0]=0;
1106 < _sigmaBS[0][1][1]=0;
1107 < _sigmaBS[0][1][2]=0;
1108 < _sigmaBS[0][1][3]=0;
1109 < _sigmaBM[0][1][0]=-0.0034071;
1110 < _sigmaBM[0][1][1]=4.19719;
1111 < _sigmaBM[0][1][2]=128.952;
1112 < _sigmaBM[0][1][3]=180.604;
1113 < _sigmaR9[0][1][0]=-3.38988;
1114 < _sigmaR9[0][1][1]=2.0714;
1115 < _sigmaR9[0][1][2]=0;
1116 < _sigmaR9[0][1][3]=0;
1117 <
1118 < _meanScale[1][0][0]=1.0009;
1119 < _meanScale[1][0][1]=-4.79805e-06;
1120 < _meanScale[1][0][2]=3.34625e-05;
1121 < _meanScale[1][0][3]=-0.194267;
1122 < _meanAC[1][0][0]=-0.000177563;
1123 < _meanAC[1][0][1]=0.0122839;
1124 < _meanAC[1][0][2]=1798.92;
1125 < _meanAC[1][0][3]=776.856;
1126 < _meanAS[1][0][0]=-0.000533039;
1127 < _meanAS[1][0][1]=0.0642604;
1128 < _meanAS[1][0][2]=969.596;
1129 < _meanAS[1][0][3]=1004.15;
1130 < _meanAM[1][0][0]=0.000163185;
1131 < _meanAM[1][0][1]=0.085936;
1132 < _meanAM[1][0][2]=1593.17;
1133 < _meanAM[1][0][3]=681.623;
1134 < _meanBC[1][0][0]=-0.000518186;
1135 < _meanBC[1][0][1]=0.0121868;
1136 < _meanBC[1][0][2]=1112.53;
1137 < _meanBC[1][0][3]=933.281;
1138 < _meanBS[1][0][0]=-0.000750734;
1139 < _meanBS[1][0][1]=0.03859;
1140 < _meanBS[1][0][2]=547.579;
1141 < _meanBS[1][0][3]=775.887;
1142 < _meanBM[1][0][0]=-0.190395;
1143 < _meanBM[1][0][1]=-0.00362647;
1144 < _meanBM[1][0][2]=5.25687;
1145 < _meanBM[1][0][3]=-2.8e+08;
1146 < _meanR9[1][0][0]=0.972346;
1147 < _meanR9[1][0][1]=53.9185;
1148 < _meanR9[1][0][2]=1354.5;
1149 < _meanR9[1][0][3]=0;
1150 <
1151 < _sigmaScale[1][0][0]=0.348019;
1152 < _sigmaScale[1][0][1]=-6.43731e-11;
1153 < _sigmaScale[1][0][2]=0.0158647;
1154 < _sigmaScale[1][0][3]=0;
1155 < _sigmaAT[1][0][0]=0.215239;
1156 < _sigmaAT[1][0][1]=0;
1157 < _sigmaAT[1][0][2]=0;
1158 < _sigmaAT[1][0][3]=0;
1159 < _sigmaAC[1][0][0]=-0.00492298;
1160 < _sigmaAC[1][0][1]=-3.40058;
1161 < _sigmaAC[1][0][2]=17263.9;
1162 < _sigmaAC[1][0][3]=2.6e+11;
1163 < _sigmaAS[1][0][0]=-0.000237998;
1164 < _sigmaAS[1][0][1]=3.0258;
1165 < _sigmaAS[1][0][2]=1811.25;
1166 < _sigmaAS[1][0][3]=1846.79;
1167 < _sigmaAM[1][0][0]=0.0210134;
1168 < _sigmaAM[1][0][1]=0.328359;
1169 < _sigmaAM[1][0][2]=22.49;
1170 < _sigmaAM[1][0][3]=14.5021;
1171 < _sigmaBT[1][0][0]=-0.495072;
1172 < _sigmaBT[1][0][1]=0;
1173 < _sigmaBT[1][0][2]=0;
1174 < _sigmaBT[1][0][3]=0;
1175 < _sigmaBC[1][0][0]=-0.00265007;
1176 < _sigmaBC[1][0][1]=0.970549;
1177 < _sigmaBC[1][0][2]=-6.89119e+07;
1178 < _sigmaBC[1][0][3]=180110;
1179 < _sigmaBS[1][0][0]=0.00045833;
1180 < _sigmaBS[1][0][1]=2.16342;
1181 < _sigmaBS[1][0][2]=3582.4;
1182 < _sigmaBS[1][0][3]=1100.36;
1183 < _sigmaBM[1][0][0]=0.00188871;
1184 < _sigmaBM[1][0][1]=1.66177;
1185 < _sigmaBM[1][0][2]=3.2e+08;
1186 < _sigmaBM[1][0][3]=2163.81;
1187 < _sigmaR9[1][0][0]=-220.415;
1188 < _sigmaR9[1][0][1]=5.19136e-08;
1189 < _sigmaR9[1][0][2]=3.04028e-10;
1190 < _sigmaR9[1][0][3]=0;
1191 <
1192 < _meanScale[1][1][0]=0.338011;
1193 < _meanScale[1][1][1]=9.47815e-05;
1194 < _meanScale[1][1][2]=-0.000238735;
1195 < _meanScale[1][1][3]=-0.846414;
1196 < _meanAC[1][1][0]=-0.00125367;
1197 < _meanAC[1][1][1]=0.013324;
1198 < _meanAC[1][1][2]=203.988;
1199 < _meanAC[1][1][3]=431.951;
1200 < _meanAS[1][1][0]=0.000282607;
1201 < _meanAS[1][1][1]=0.0307431;
1202 < _meanAS[1][1][2]=343.509;
1203 < _meanAS[1][1][3]=274.957;
1204 < _meanAM[1][1][0]=0.0020258;
1205 < _meanAM[1][1][1]=0.643913;
1206 < _meanAM[1][1][2]=0.0693877;
1207 < _meanAM[1][1][3]=0.0816029;
1208 < _meanBC[1][1][0]=-0.00513833;
1209 < _meanBC[1][1][1]=5.94424e+08;
1210 < _meanBC[1][1][2]=-62814.9;
1211 < _meanBC[1][1][3]=118612;
1212 < _meanBS[1][1][0]=-0.00152129;
1213 < _meanBS[1][1][1]=0.0234694;
1214 < _meanBS[1][1][2]=186.483;
1215 < _meanBS[1][1][3]=754.201;
1216 < _meanBM[1][1][0]=-0.000404987;
1217 < _meanBM[1][1][1]=0.156384;
1218 < _meanBM[1][1][2]=-1.7e+08;
1219 < _meanBM[1][1][3]=1793.83;
1220 < _meanR9[1][1][0]=0.0645278;
1221 < _meanR9[1][1][1]=0.161614;
1222 < _meanR9[1][1][2]=-0.215822;
1223 < _meanR9[1][1][3]=0;
1224 <
1225 < _sigmaScale[1][1][0]=1.07376;
1226 < _sigmaScale[1][1][1]=7.47238e-13;
1227 < _sigmaScale[1][1][2]=0.0289594;
1228 < _sigmaScale[1][1][3]=0;
1229 < _sigmaAT[1][1][0]=-0.520907;
1230 < _sigmaAT[1][1][1]=0;
1231 < _sigmaAT[1][1][2]=0;
1232 < _sigmaAT[1][1][3]=0;
1233 < _sigmaAC[1][1][0]=0.00165941;
1234 < _sigmaAC[1][1][1]=-0.351422;
1235 < _sigmaAC[1][1][2]=8968.94;
1236 < _sigmaAC[1][1][3]=-7e+09;
1237 < _sigmaAS[1][1][0]=0.000490279;
1238 < _sigmaAS[1][1][1]=0.554531;
1239 < _sigmaAS[1][1][2]=469.111;
1240 < _sigmaAS[1][1][3]=457.541;
1241 < _sigmaAM[1][1][0]=0.00102079;
1242 < _sigmaAM[1][1][1]=0.628055;
1243 < _sigmaAM[1][1][2]=53.9452;
1244 < _sigmaAM[1][1][3]=72.911;
1245 < _sigmaBT[1][1][0]=-0.461542;
1246 < _sigmaBT[1][1][1]=0;
1247 < _sigmaBT[1][1][2]=0;
1248 < _sigmaBT[1][1][3]=0;
1249 < _sigmaBC[1][1][0]=-0.00219303;
1250 < _sigmaBC[1][1][1]=0.874327;
1251 < _sigmaBC[1][1][2]=71353.2;
1252 < _sigmaBC[1][1][3]=2.09924e+08;
1253 < _sigmaBS[1][1][0]=0.00104021;
1254 < _sigmaBS[1][1][1]=0.236098;
1255 < _sigmaBS[1][1][2]=482.954;
1256 < _sigmaBS[1][1][3]=191.984;
1257 < _sigmaBM[1][1][0]=-0.000116086;
1258 < _sigmaBM[1][1][1]=2.4438;
1259 < _sigmaBM[1][1][2]=1.9e+09;
1260 < _sigmaBM[1][1][3]=-700.271;
1261 < _sigmaR9[1][1][0]=4.59374;
1262 < _sigmaR9[1][1][1]=-5.06202;
1263 < _sigmaR9[1][1][2]=0;
1264 < _sigmaR9[1][1][3]=0;
1265 <
1266 <        _initialised=true;
1267 <      }
1268 <
1269 <      if(s=="4_2") {
1270 < _meanScale[0][0][0]=0.996799;
1271 < _meanScale[0][0][1]=5.60811e-07;
1272 < _meanScale[0][0][2]=1.75671e-05;
1273 < _meanScale[0][0][3]=-0.0972943;
1274 < _meanAC[0][0][0]=-0.00348412;
1275 < _meanAC[0][0][1]=0.010197;
1276 < _meanAC[0][0][2]=463.582;
1277 < _meanAC[0][0][3]=520.443;
1278 < _meanAS[0][0][0]=-1.1;
1279 < _meanAS[0][0][1]=0.00135995;
1280 < _meanAS[0][0][2]=295.712;
1281 < _meanAS[0][0][3]=5.13202e+07;
1282 < _meanAM[0][0][0]=-0.00120395;
1283 < _meanAM[0][0][1]=0.1436;
1284 < _meanAM[0][0][2]=262.307;
1285 < _meanAM[0][0][3]=202.913;
1286 < _meanBC[0][0][0]=-0.00274879;
1287 < _meanBC[0][0][1]=0.0126012;
1288 < _meanBC[0][0][2]=612.055;
1289 < _meanBC[0][0][3]=397.039;
1290 < _meanBS[0][0][0]=-0.00203352;
1291 < _meanBS[0][0][1]=0.00374733;
1292 < _meanBS[0][0][2]=48.7328;
1293 < _meanBS[0][0][3]=1128;
1294 < _meanBM[0][0][0]=-0.00183083;
1295 < _meanBM[0][0][1]=0.0683669;
1296 < _meanBM[0][0][2]=218.027;
1297 < _meanBM[0][0][3]=210.899;
1298 < _meanR9[0][0][0]=0.946449;
1299 < _meanR9[0][0][1]=18.7205;
1300 < _meanR9[0][0][2]=215.858;
1301 < _meanR9[0][0][3]=0;
1302 <
1303 < _sigmaScale[0][0][0]=0.170521;
1304 < _sigmaScale[0][0][1]=0.0219663;
1305 < _sigmaScale[0][0][2]=0.00652237;
1306 < _sigmaScale[0][0][3]=0;
1307 < _sigmaAT[0][0][0]=0.169953;
1308 < _sigmaAT[0][0][1]=0;
1309 < _sigmaAT[0][0][2]=0;
1310 < _sigmaAT[0][0][3]=0;
1311 < _sigmaAC[0][0][0]=-0.00383749;
1312 < _sigmaAC[0][0][1]=0.0873992;
1313 < _sigmaAC[0][0][2]=48.3297;
1314 < _sigmaAC[0][0][3]=-3e+17;
1315 < _sigmaAS[0][0][0]=0;
1316 < _sigmaAS[0][0][1]=0;
1317 < _sigmaAS[0][0][2]=0;
1318 < _sigmaAS[0][0][3]=0;
1319 < _sigmaAM[0][0][0]=0.000929953;
1320 < _sigmaAM[0][0][1]=10.4322;
1321 < _sigmaAM[0][0][2]=599.042;
1322 < _sigmaAM[0][0][3]=302.713;
1323 < _sigmaBT[0][0][0]=-0.00237746;
1324 < _sigmaBT[0][0][1]=2.84349;
1325 < _sigmaBT[0][0][2]=125.522;
1326 < _sigmaBT[0][0][3]=144.262;
1327 < _sigmaBC[0][0][0]=-0.00170611;
1328 < _sigmaBC[0][0][1]=0.260614;
1329 < _sigmaBC[0][0][2]=985.412;
1330 < _sigmaBC[0][0][3]=806.274;
1331 < _sigmaBS[0][0][0]=0;
1332 < _sigmaBS[0][0][1]=0;
1333 < _sigmaBS[0][0][2]=0;
1334 < _sigmaBS[0][0][3]=0;
1335 < _sigmaBM[0][0][0]=-0.00252749;
1336 < _sigmaBM[0][0][1]=50.861;
1337 < _sigmaBM[0][0][2]=673.202;
1338 < _sigmaBM[0][0][3]=1011.63;
1339 < _sigmaR9[0][0][0]=0.953432;
1340 < _sigmaR9[0][0][1]=1814.6;
1341 < _sigmaR9[0][0][2]=25838.3;
1342 < _sigmaR9[0][0][3]=0;
1343 <
1344 < _meanScale[0][1][0]=0.888925;
1345 < _meanScale[0][1][1]=-1.74431e-05;
1346 < _meanScale[0][1][2]=2.96023e-05;
1347 < _meanScale[0][1][3]=-0.651503;
1348 < _meanAC[0][1][0]=-0.00322338;
1349 < _meanAC[0][1][1]=0.0220617;
1350 < _meanAC[0][1][2]=137.003;
1351 < _meanAC[0][1][3]=237.095;
1352 < _meanAS[0][1][0]=0.0331431;
1353 < _meanAS[0][1][1]=-0.00594756;
1354 < _meanAS[0][1][2]=2675.67;
1355 < _meanAS[0][1][3]=1.4e+09;
1356 < _meanAM[0][1][0]=-0.000636963;
1357 < _meanAM[0][1][1]=0.15048;
1358 < _meanAM[0][1][2]=395.704;
1359 < _meanAM[0][1][3]=306.8;
1360 < _meanBC[0][1][0]=-0.00357393;
1361 < _meanBC[0][1][1]=0.00449012;
1362 < _meanBC[0][1][2]=887.818;
1363 < _meanBC[0][1][3]=855.377;
1364 < _meanBS[0][1][0]=-297.287;
1365 < _meanBS[0][1][1]=0.0956803;
1366 < _meanBS[0][1][2]=-4.74338e-20;
1367 < _meanBS[0][1][3]=11442.2;
1368 < _meanBM[0][1][0]=-0.00320834;
1369 < _meanBM[0][1][1]=0.043721;
1370 < _meanBM[0][1][2]=132.981;
1371 < _meanBM[0][1][3]=171.418;
1372 < _meanR9[0][1][0]=0.0136009;
1373 < _meanR9[0][1][1]=-0.0214006;
1374 < _meanR9[0][1][2]=0.00866824;
1375 < _meanR9[0][1][3]=0;
1376 <
1377 < _sigmaScale[0][1][0]=0.445368;
1378 < _sigmaScale[0][1][1]=0.0898336;
1379 < _sigmaScale[0][1][2]=-0.00333875;
1380 < _sigmaScale[0][1][3]=0;
1381 < _sigmaAT[0][1][0]=1.25749;
1382 < _sigmaAT[0][1][1]=0;
1383 < _sigmaAT[0][1][2]=0;
1384 < _sigmaAT[0][1][3]=0;
1385 < _sigmaAC[0][1][0]=-0.00360692;
1386 < _sigmaAC[0][1][1]=-1.04963;
1387 < _sigmaAC[0][1][2]=10.3527;
1388 < _sigmaAC[0][1][3]=29.0662;
1389 < _sigmaAS[0][1][0]=0;
1390 < _sigmaAS[0][1][1]=0;
1391 < _sigmaAS[0][1][2]=0;
1392 < _sigmaAS[0][1][3]=0;
1393 < _sigmaAM[0][1][0]=-0.000973088;
1394 < _sigmaAM[0][1][1]=12.859;
1395 < _sigmaAM[0][1][2]=466.397;
1396 < _sigmaAM[0][1][3]=464.686;
1397 < _sigmaBT[0][1][0]=-0.0284288;
1398 < _sigmaBT[0][1][1]=2.6772;
1399 < _sigmaBT[0][1][2]=-0.414022;
1400 < _sigmaBT[0][1][3]=-0.424373;
1401 < _sigmaBC[0][1][0]=0.00567218;
1402 < _sigmaBC[0][1][1]=-0.829286;
1403 < _sigmaBC[0][1][2]=48132;
1404 < _sigmaBC[0][1][3]=3.1211e+08;
1405 < _sigmaBS[0][1][0]=0;
1406 < _sigmaBS[0][1][1]=0;
1407 < _sigmaBS[0][1][2]=0;
1408 < _sigmaBS[0][1][3]=0;
1409 < _sigmaBM[0][1][0]=-0.00270505;
1410 < _sigmaBM[0][1][1]=6.07197;
1411 < _sigmaBM[0][1][2]=149.784;
1412 < _sigmaBM[0][1][3]=203.478;
1413 < _sigmaR9[0][1][0]=-2.78021;
1414 < _sigmaR9[0][1][1]=1.33952;
1415 < _sigmaR9[0][1][2]=0;
1416 < _sigmaR9[0][1][3]=0;
1417 <
1418 < _meanScale[1][0][0]=0.99928;
1419 < _meanScale[1][0][1]=-3.23928e-05;
1420 < _meanScale[1][0][2]=0.000126742;
1421 < _meanScale[1][0][3]=-0.103714;
1422 < _meanAC[1][0][0]=-0.000283383;
1423 < _meanAC[1][0][1]=0.0150483;
1424 < _meanAC[1][0][2]=1379.81;
1425 < _meanAC[1][0][3]=750.912;
1426 < _meanAS[1][0][0]=-0.00053446;
1427 < _meanAS[1][0][1]=0.0702291;
1428 < _meanAS[1][0][2]=835.991;
1429 < _meanAS[1][0][3]=1023.41;
1430 < _meanAM[1][0][0]=2.63208e-05;
1431 < _meanAM[1][0][1]=0.258572;
1432 < _meanAM[1][0][2]=2428.89;
1433 < _meanAM[1][0][3]=2073.45;
1434 < _meanBC[1][0][0]=-0.000345234;
1435 < _meanBC[1][0][1]=0.0149896;
1436 < _meanBC[1][0][2]=1403.55;
1437 < _meanBC[1][0][3]=847.164;
1438 < _meanBS[1][0][0]=-0.000411942;
1439 < _meanBS[1][0][1]=0.0543678;
1440 < _meanBS[1][0][2]=889.136;
1441 < _meanBS[1][0][3]=937.071;
1442 < _meanBM[1][0][0]=-0.186801;
1443 < _meanBM[1][0][1]=-0.00221346;
1444 < _meanBM[1][0][2]=3.52258;
1445 < _meanBM[1][0][3]=3.17997e+06;
1446 < _meanR9[1][0][0]=0.964924;
1447 < _meanR9[1][0][1]=31.8205;
1448 < _meanR9[1][0][2]=459.004;
1449 < _meanR9[1][0][3]=0;
1450 <
1451 < _sigmaScale[1][0][0]=0.344806;
1452 < _sigmaScale[1][0][1]=6.93889e-18;
1453 < _sigmaScale[1][0][2]=0.0154355;
1454 < _sigmaScale[1][0][3]=0;
1455 < _sigmaAT[1][0][0]=0.954147;
1456 < _sigmaAT[1][0][1]=0;
1457 < _sigmaAT[1][0][2]=0;
1458 < _sigmaAT[1][0][3]=0;
1459 < _sigmaAC[1][0][0]=48.1275;
1460 < _sigmaAC[1][0][1]=1.50005e+08;
1461 < _sigmaAC[1][0][2]=21231.6;
1462 < _sigmaAC[1][0][3]=2.6e+11;
1463 < _sigmaAS[1][0][0]=-0.000195931;
1464 < _sigmaAS[1][0][1]=2.61977;
1465 < _sigmaAS[1][0][2]=1321.33;
1466 < _sigmaAS[1][0][3]=1267.31;
1467 < _sigmaAM[1][0][0]=0.0277744;
1468 < _sigmaAM[1][0][1]=0.316244;
1469 < _sigmaAM[1][0][2]=21.1765;
1470 < _sigmaAM[1][0][3]=13.0875;
1471 < _sigmaBT[1][0][0]=-0.633404;
1472 < _sigmaBT[1][0][1]=0;
1473 < _sigmaBT[1][0][2]=0;
1474 < _sigmaBT[1][0][3]=0;
1475 < _sigmaBC[1][0][0]=-0.00320087;
1476 < _sigmaBC[1][0][1]=8.94207;
1477 < _sigmaBC[1][0][2]=7.49509e+12;
1478 < _sigmaBC[1][0][3]=5.00279e+06;
1479 < _sigmaBS[1][0][0]=0.000299388;
1480 < _sigmaBS[1][0][1]=2.43008;
1481 < _sigmaBS[1][0][2]=2885.75;
1482 < _sigmaBS[1][0][3]=1072.72;
1483 < _sigmaBM[1][0][0]=0.00154631;
1484 < _sigmaBM[1][0][1]=23.6989;
1485 < _sigmaBM[1][0][2]=1.2565e+07;
1486 < _sigmaBM[1][0][3]=43957.4;
1487 < _sigmaR9[1][0][0]=98.4538;
1488 < _sigmaR9[1][0][1]=1.85379e-07;
1489 < _sigmaR9[1][0][2]=-5.66067e-10;
1490 < _sigmaR9[1][0][3]=0;
1491 <
1492 < _meanScale[1][1][0]=0.325367;
1493 < _meanScale[1][1][1]=8.5347e-05;
1494 < _meanScale[1][1][2]=-0.000187217;
1495 < _meanScale[1][1][3]=-0.991423;
1496 < _meanAC[1][1][0]=-0.00114884;
1497 < _meanAC[1][1][1]=0.00816447;
1498 < _meanAC[1][1][2]=314.939;
1499 < _meanAC[1][1][3]=614.316;
1500 < _meanAS[1][1][0]=-0.00877504;
1501 < _meanAS[1][1][1]=-0.00376867;
1502 < _meanAS[1][1][2]=1471.46;
1503 < _meanAS[1][1][3]=3.88578e-16;
1504 < _meanAM[1][1][0]=0.000631949;
1505 < _meanAM[1][1][1]=0.645715;
1506 < _meanAM[1][1][2]=0.0241907;
1507 < _meanAM[1][1][3]=0.0376477;
1508 < _meanBC[1][1][0]=-0.00501182;
1509 < _meanBC[1][1][1]=-5303.12;
1510 < _meanBC[1][1][2]=41522.7;
1511 < _meanBC[1][1][3]=118612;
1512 < _meanBS[1][1][0]=-0.00133119;
1513 < _meanBS[1][1][1]=0.0239645;
1514 < _meanBS[1][1][2]=308.148;
1515 < _meanBS[1][1][3]=752.554;
1516 < _meanBM[1][1][0]=-8.08678e-05;
1517 < _meanBM[1][1][1]=0.0502046;
1518 < _meanBM[1][1][2]=-7.5e+06;
1519 < _meanBM[1][1][3]=870.829;
1520 < _meanR9[1][1][0]=0.20763;
1521 < _meanR9[1][1][1]=-0.0992461;
1522 < _meanR9[1][1][2]=-0.114749;
1523 < _meanR9[1][1][3]=0;
1524 <
1525 < _sigmaScale[1][1][0]=1.05009;
1526 < _sigmaScale[1][1][1]=1.38778e-17;
1527 < _sigmaScale[1][1][2]=0.0256383;
1528 < _sigmaScale[1][1][3]=0;
1529 < _sigmaAT[1][1][0]=-0.668389;
1530 < _sigmaAT[1][1][1]=0;
1531 < _sigmaAT[1][1][2]=0;
1532 < _sigmaAT[1][1][3]=0;
1533 < _sigmaAC[1][1][0]=0.00168503;
1534 < _sigmaAC[1][1][1]=-0.540635;
1535 < _sigmaAC[1][1][2]=95975.1;
1536 < _sigmaAC[1][1][3]=-7e+09;
1537 < _sigmaAS[1][1][0]=8.02356e-05;
1538 < _sigmaAS[1][1][1]=0.854919;
1539 < _sigmaAS[1][1][2]=526.113;
1540 < _sigmaAS[1][1][3]=666.797;
1541 < _sigmaAM[1][1][0]=-0.00504173;
1542 < _sigmaAM[1][1][1]=0.910018;
1543 < _sigmaAM[1][1][2]=45.1636;
1544 < _sigmaAM[1][1][3]=754.491;
1545 < _sigmaBT[1][1][0]=-0.816975;
1546 < _sigmaBT[1][1][1]=0;
1547 < _sigmaBT[1][1][2]=0;
1548 < _sigmaBT[1][1][3]=0;
1549 < _sigmaBC[1][1][0]=-0.00208737;
1550 < _sigmaBC[1][1][1]=3.20678;
1551 < _sigmaBC[1][1][2]=214874;
1552 < _sigmaBC[1][1][3]=-5.1e+09;
1553 < _sigmaBS[1][1][0]=0.0017277;
1554 < _sigmaBS[1][1][1]=0.290957;
1555 < _sigmaBS[1][1][2]=535.114;
1556 < _sigmaBS[1][1][3]=317.952;
1557 < _sigmaBM[1][1][0]=-0.0454821;
1558 < _sigmaBM[1][1][1]=4.776;
1559 < _sigmaBM[1][1][2]=1.9e+09;
1560 < _sigmaBM[1][1][3]=14413;
1561 < _sigmaR9[1][1][0]=4.83148;
1562 < _sigmaR9[1][1][1]=-5.29859;
1563 < _sigmaR9[1][1][2]=0;
1564 < _sigmaR9[1][1][3]=0;
1565 <
1566 <        _initialised=true;
1567 <      }
1568 <
1569 <      assert(_initialised);
1570 <      return true;
1571 < }
1572 <
1573 < // Get the geometry of cracks and gaps from file
1574 < bool PhotonFix::initialiseGeometry(const std::string &s, const std::string &infile) {
1575 <
1576 < std::ifstream fin(infile.c_str());
1577 < assert(fin);
1578 <
1579 < std::cout << "Reading in here" << std::endl;
1580 < for(unsigned i(0);i<169;i++) {
1581 <   for(unsigned j(0);j<360;j++) {
1582 <     for(unsigned k(0);k<2;k++) {
1583 <       fin >> _barrelCGap[i][j][k];
1584 <     }
1585 <   }
1586 < }
1587 <
1588 < for(unsigned i(0);i<33;i++) {
1589 <   for(unsigned j(0);j<180;j++) {
1590 <     for(unsigned k(0);k<2;k++) {
1591 <       fin >> _barrelSGap[i][j][k];
1592 <     }
1593 <   }
1594 < }
1595 <
1596 < for(unsigned i(0);i<7;i++) {
1597 <   for(unsigned j(0);j<18;j++) {
1598 <     for(unsigned k(0);k<2;k++) {
1599 <       fin >> _barrelMGap[i][j][k];
1600 <     }
1601 <   }
1602 < }
1603 < for(unsigned i(0);i<100;i++) {
1604 <   for(unsigned j(0);j<100;j++) {
1605 <     unsigned k;
1606 <     fin >> k;
1607 <     _endcapCrystal[i][j]=(k==0);
1608 <   }
1609 < }
1610 <
1611 < for(unsigned i(0);i<2;i++) {
1612 <   for(unsigned j(0);j<7080;j++) {
1613 <     for(unsigned k(0);k<2;k++) {
1614 <       fin >> _endcapCGap[i][j][k];
1615 <     }
1616 <   }
1617 < }
1618 <
1619 < for(unsigned i(0);i<2;i++) {
1620 <   for(unsigned j(0);j<264;j++) {
1621 <     for(unsigned k(0);k<2;k++) {
1622 <       fin >> _endcapSGap[i][j][k];
1623 <     }
1624 <   }
1625 < }
1626 <
1627 < for(unsigned i(0);i<2;i++) {
1628 <   for(unsigned j(0);j<1;j++) {
1629 <     for(unsigned k(0);k<2;k++) {
1630 <       fin >> _endcapMGap[i][j][k];
1631 <     }
1632 <   }
1633 < }
1634 <
1635 < assert(fin);
1636 <
1637 < return true;
1638 < }
1639 <
1640 < const double PhotonFix::_onePi(acos(-1.0));
1641 < const double PhotonFix::_twoPi(2.0*acos(-1.0));
1642 <
1643 < bool   PhotonFix::_initialised=false;
1644 <
1645 < double PhotonFix::_meanScale[2][2][4];
1646 < double PhotonFix::_meanAC[2][2][4];
1647 < double PhotonFix::_meanAS[2][2][4];
1648 < double PhotonFix::_meanAM[2][2][4];
1649 < double PhotonFix::_meanBC[2][2][4];
1650 < double PhotonFix::_meanBS[2][2][4];
1651 < double PhotonFix::_meanBM[2][2][4];
1652 < double PhotonFix::_meanR9[2][2][4];
1653 <
1654 < double PhotonFix::_sigmaScale[2][2][4];
1655 < double PhotonFix::_sigmaAT[2][2][4];
1656 < double PhotonFix::_sigmaAC[2][2][4];
1657 < double PhotonFix::_sigmaAS[2][2][4];
1658 < double PhotonFix::_sigmaAM[2][2][4];
1659 < double PhotonFix::_sigmaBT[2][2][4];
1660 < double PhotonFix::_sigmaBC[2][2][4];
1661 < double PhotonFix::_sigmaBS[2][2][4];
1662 < double PhotonFix::_sigmaBM[2][2][4];
1663 < double PhotonFix::_sigmaR9[2][2][4];
1664 <
1665 < double PhotonFix::_barrelCGap[169][360][2];
1666 < double PhotonFix::_barrelSGap[33][180][2];
1667 < double PhotonFix::_barrelMGap[7][18][2];
1668 <
1669 < bool   PhotonFix::_endcapCrystal[100][100];
1670 < double PhotonFix::_endcapCGap[2][7080][2];
1671 < double PhotonFix::_endcapSGap[2][264][2];
1672 < double PhotonFix::_endcapMGap[2][1][2];
1 > #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];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines