CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
CSCXonStrip_MatchGatti Class Reference

#include <CSCXonStrip_MatchGatti.h>

Public Member Functions

 CSCXonStrip_MatchGatti (const edm::ParameterSet &ps)
 
void findXOnStrip (const CSCDetId &id, const CSCLayer *layer, const CSCStripHit &stripHit, int centralStrip, float &xWithinChamber, float &stripWidth, const float &tpeak, float &xWithinStrip, float &sigma, int &quality_flag)
 Returns fitted local x position and its estimated error. More...
 
void initChamberSpecs ()
 Use specs to setup Gatti parameters. More...
 
void setConditions (const CSCRecoConditions *reco)
 Cache pointer to conditions data. More...
 
void setupMatrix ()
 Set matrix for XT corrections and noise. More...
 
 ~CSCXonStrip_MatchGatti ()
 

Private Member Functions

double calculateXonStripError (float stripWidth, bool ME1_1)
 
double calculateXonStripPosition (float stripWidth, bool ME1_1)
 
 CSCXonStrip_MatchGatti (const CSCXonStrip_MatchGatti &)
 
double estimated2Gatti (double Xestimated, float StripWidth, bool ME1_1)
 
double estimated2GattiCorrection (double Xestimated, float StripWidth, bool ME1_1)
 
void getCorrectionValues (std::string Estimator)
 
void hardcodedCorrectionInitialization ()
 
CSCXonStrip_MatchGattioperator= (const CSCXonStrip_MatchGatti &)
 
double xfError_Noise (double noise)
 
double xfError_XTasym (double XTasym)
 

Private Attributes

float a11 [3]
 Store elements of auto-correlation matrices: 0 = left, 1 = middle, 2 = right. More...
 
float a12 [3]
 
float a13 [3]
 
float a22 [3]
 
float a23 [3]
 
float a33 [3]
 
float chargeSignal [3][3]
 
float const_syst
 
float const_syst_ME12
 
float const_syst_ME13
 
float const_syst_ME1a
 
float const_syst_ME1b
 
float const_syst_ME21
 
float const_syst_ME22
 
float const_syst_ME31
 
float const_syst_ME32
 
float const_syst_ME41
 
double h
 
double k_1
 
double k_2
 
double k_3
 
float noise_level
 
float noise_level_ME12
 
float noise_level_ME13
 
float noise_level_ME1a
 
float noise_level_ME1b
 
float noise_level_ME21
 
float noise_level_ME22
 
float noise_level_ME31
 
float noise_level_ME32
 
float noise_level_ME41
 
double norm
 
double q_sum
 
double q_sumC
 
double q_sumL
 
double q_sumR
 
double r
 
const CSCRecoConditionsrecoConditions_
 
const CSCChamberSpecsspecs_
 
double sqrt_k_3
 
float stripWidth
 
bool use3TimeBins
 
bool useCalib
 
float v11 [3]
 Store elements of matrices for chi^2 computation: 0 = left, 1 = middle, 2 = right. More...
 
float v12 [3]
 
float v13 [3]
 
float v22 [3]
 
float v23 [3]
 
float v33 [3]
 
float x_centralVal [n_val]
 
float x_correction_ME1_1 [n_SW_ME1_1][n_val]
 
float x_correction_noME1_1 [n_SW_noME1_1][n_val]
 
float xt_asymmetry
 
float xt_asymmetry_ME12
 
float xt_asymmetry_ME13
 
float xt_asymmetry_ME1a
 
float xt_asymmetry_ME1b
 
float xt_asymmetry_ME21
 
float xt_asymmetry_ME22
 
float xt_asymmetry_ME31
 
float xt_asymmetry_ME32
 
float xt_asymmetry_ME41
 
float xt_l [3][3]
 x-talks 0 = left, 1 = middle, 2 = right ; and then second [] is for time bin tmax-1, tmax, tmax+1 More...
 
float xt_lr0 [3]
 
float xt_lr1 [3]
 
float xt_lr2 [3]
 
float xt_r [3][3]
 
float xtalksOffset
 

Static Private Attributes

static const int n_SW_ME1_1 = 6
 
static const int n_SW_noME1_1 = 11
 
static const int n_val = 501
 

Detailed Description

When having both strip and wire hit in a layer, use Gatti "matching" to calculate position ond error of strip hit.

Author
Stoyan Stoynev - NU

Definition at line 24 of file CSCXonStrip_MatchGatti.h.

Constructor & Destructor Documentation

CSCXonStrip_MatchGatti::CSCXonStrip_MatchGatti ( const edm::ParameterSet ps)
explicit

Definition at line 38 of file CSCXonStrip_MatchGatti.cc.

References const_syst_ME12, const_syst_ME13, const_syst_ME1a, const_syst_ME1b, const_syst_ME21, const_syst_ME22, const_syst_ME31, const_syst_ME32, const_syst_ME41, getCorrectionValues(), edm::ParameterSet::getParameter(), noise_level_ME12, noise_level_ME13, noise_level_ME1a, noise_level_ME1b, noise_level_ME21, noise_level_ME22, noise_level_ME31, noise_level_ME32, noise_level_ME41, useCalib, xt_asymmetry_ME12, xt_asymmetry_ME13, xt_asymmetry_ME1a, xt_asymmetry_ME1b, xt_asymmetry_ME21, xt_asymmetry_ME22, xt_asymmetry_ME31, xt_asymmetry_ME32, xt_asymmetry_ME41, and xtalksOffset.

38  :
39  recoConditions_( 0 ) {
40 
41  useCalib = ps.getParameter<bool>("CSCUseCalibrations");
42  xtalksOffset = ps.getParameter<double>("CSCStripxtalksOffset");
43  noise_level_ME1a = ps.getParameter<double>("NoiseLevel_ME1a");
44  xt_asymmetry_ME1a = ps.getParameter<double>("XTasymmetry_ME1a");
45  const_syst_ME1a = ps.getParameter<double>("ConstSyst_ME1a");
46  noise_level_ME1b = ps.getParameter<double>("NoiseLevel_ME1b");
47  xt_asymmetry_ME1b = ps.getParameter<double>("XTasymmetry_ME1b");
48  const_syst_ME1b = ps.getParameter<double>("ConstSyst_ME1b");
49  noise_level_ME12 = ps.getParameter<double>("NoiseLevel_ME12");
50  xt_asymmetry_ME12 = ps.getParameter<double>("XTasymmetry_ME12");
51  const_syst_ME12 = ps.getParameter<double>("ConstSyst_ME12");
52  noise_level_ME13 = ps.getParameter<double>("NoiseLevel_ME13");
53  xt_asymmetry_ME13 = ps.getParameter<double>("XTasymmetry_ME13");
54  const_syst_ME13 = ps.getParameter<double>("ConstSyst_ME13");
55  noise_level_ME21 = ps.getParameter<double>("NoiseLevel_ME21");
56  xt_asymmetry_ME21 = ps.getParameter<double>("XTasymmetry_ME21");
57  const_syst_ME21 = ps.getParameter<double>("ConstSyst_ME21");
58  noise_level_ME22 = ps.getParameter<double>("NoiseLevel_ME22");
59  xt_asymmetry_ME22 = ps.getParameter<double>("XTasymmetry_ME22");
60  const_syst_ME22 = ps.getParameter<double>("ConstSyst_ME22");
61  noise_level_ME31 = ps.getParameter<double>("NoiseLevel_ME31");
62  xt_asymmetry_ME31 = ps.getParameter<double>("XTasymmetry_ME31");
63  const_syst_ME31 = ps.getParameter<double>("ConstSyst_ME31");
64  noise_level_ME32 = ps.getParameter<double>("NoiseLevel_ME32");
65  xt_asymmetry_ME32 = ps.getParameter<double>("XTasymmetry_ME32");
66  const_syst_ME32 = ps.getParameter<double>("ConstSyst_ME32");
67  noise_level_ME41 = ps.getParameter<double>("NoiseLevel_ME41");
68  xt_asymmetry_ME41 = ps.getParameter<double>("XTasymmetry_ME41");
69  const_syst_ME41 = ps.getParameter<double>("ConstSyst_ME41");
70 
71  getCorrectionValues("StringCurrentlyNotUsed");
72 }
T getParameter(std::string const &) const
void getCorrectionValues(std::string Estimator)
const CSCRecoConditions * recoConditions_
CSCXonStrip_MatchGatti::~CSCXonStrip_MatchGatti ( )

Definition at line 75 of file CSCXonStrip_MatchGatti.cc.

75  {
76 }
CSCXonStrip_MatchGatti::CSCXonStrip_MatchGatti ( const CSCXonStrip_MatchGatti )
private

Member Function Documentation

double CSCXonStrip_MatchGatti::calculateXonStripError ( float  stripWidth,
bool  ME1_1 
)
private

Definition at line 635 of file CSCXonStrip_MatchGatti.cc.

References const_syst, estimated2GattiCorrection(), bookConverter::min, noise_level, funct::pow(), q_sumC, q_sumL, q_sumR, mathSSE::sqrt(), xfError_Noise(), xfError_XTasym(), and xt_asymmetry.

Referenced by findXOnStrip().

635  {
636  double min;
637  if(q_sumR>q_sumL){
638  min = q_sumL;
639  }
640  else{
641  min = q_sumR;
642  }
643 
644  double xf = (q_sumR - q_sumL)/(q_sumC - min)/2;
645  double xf_ErrorNoise = xfError_Noise(noise_level);
646  double xf_ErrorXTasym = xfError_XTasym(xt_asymmetry);
647  // x_G = x_F + correction_functon(x_F)
648  // as these are correlated the error should be simply d(x_G) = |d(x_F)| + [correction_functon(x_F+|d(x_F)|) - correction_functon(x_F)]
649  double d_xf = sqrt( pow( xf_ErrorNoise, 2) + pow( xf_ErrorXTasym, 2));
650  double d_corr = estimated2GattiCorrection(xf+d_xf, stripWidth, ME1_1) - estimated2GattiCorrection(xf, stripWidth, ME1_1);
651  double x_shift = d_xf + d_corr;
652  // double x_shift = sqrt( pow( xf_ErrorNoise, 2) + pow( xf_ErrorXTasym, 2)) *
653  //(1 + (estimated2GattiCorrection(xf+0.001, stripWidth, ME1_1) -
654  // estimated2GattiCorrection(xf, stripWidth, ME1_1))*1000.);
655  double x_error = sqrt( pow( fabs(x_shift)*stripWidth, 2) + pow(const_syst, 2) );
656  return x_error;
657 }
double xfError_XTasym(double XTasym)
T sqrt(T t)
Definition: SSEVec.h:48
double xfError_Noise(double noise)
double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double CSCXonStrip_MatchGatti::calculateXonStripPosition ( float  stripWidth,
bool  ME1_1 
)
private

Definition at line 659 of file CSCXonStrip_MatchGatti.cc.

References estimated2Gatti(), bookConverter::min, q_sumC, q_sumL, and q_sumR.

Referenced by findXOnStrip().

659  {
660 
661  double x_estimated = -99.;
662  double min;
663  if(q_sumR>q_sumL){
664  min = q_sumL;
665  }
666  else{
667  min = q_sumR;
668  }
669  //---- This is XF ( X Florida - after the first group that used it)
670  x_estimated = (q_sumR - q_sumL)/(q_sumC - min)/2;
671  double x_gatti = estimated2Gatti(x_estimated, stripWidth, ME1_1);
672  return x_gatti;
673 }
double estimated2Gatti(double Xestimated, float StripWidth, bool ME1_1)
double CSCXonStrip_MatchGatti::estimated2Gatti ( double  Xestimated,
float  StripWidth,
bool  ME1_1 
)
private

Definition at line 587 of file CSCXonStrip_MatchGatti.cc.

References estimated2GattiCorrection().

Referenced by calculateXonStripPosition().

587  {
588 
589  double x_corr = estimated2GattiCorrection(x_estimated, stripWidth, ME1_1);
590  double x_gatti = x_estimated + x_corr;
591 
592  return x_gatti;
593 }
double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1)
double CSCXonStrip_MatchGatti::estimated2GattiCorrection ( double  Xestimated,
float  StripWidth,
bool  ME1_1 
)
private

Definition at line 502 of file CSCXonStrip_MatchGatti.cc.

References n_SW_ME1_1, n_SW_noME1_1, n_val, x_correction_ME1_1, and x_correction_noME1_1.

Referenced by calculateXonStripError(), and estimated2Gatti().

502  {
503  //---- 11 "nominal" strip widths : 0.6 - 1.6 cm; for ME1_1 just 6 "nominal" strip widths : 0.3 - 0.8 cm; see HardCodedCorrectionInitialization()
504  //---- Calculate corrections at specific Xestimated (linear interpolation between points)
505  int n_SW;
506  int min_SW;
507  if(ME1_1){
508  n_SW = n_SW_ME1_1;
509  min_SW = 3; // min SW calculated is 0.3 cm
510  }
511  else{
512  n_SW = n_SW_noME1_1;
513  min_SW = 6;// min SW calculated is 0.6 cm
514  }
515  int stripDown = int(10.*stripWidth) - min_SW; // 0 is at min strip width calculated
516  int stripUp = stripDown + 1;
517  if(stripUp>n_SW-1){
518  //---- to be checked...
519  //if(stripUp>n_SW){
520  //std::cout<<" Is strip width = "<<stripWidth<<" OK?" <<std::endl;
521  //}
522  stripUp = n_SW-1;
523  }
524 
525  double half_strip_width = 0.5;
526  //const int Nbins = 501;
527  const int n_bins = n_val;
528  double corr_2_xestim = 999.;
529  if(stripDown<0){
530  corr_2_xestim = 1;
531  }
532  else{
533  //---- Parametrized x_gatti minus x_estimated differences
534 
535  int xestim_bin = -999;
536  double delta_strip_width = 999.;
537  double delta_strip_widthUpDown = 999.;
538  double diff_2_strip_width = 999.;
539  delta_strip_width = stripWidth - int(stripWidth*10)/10.;
540  delta_strip_widthUpDown = 0.1;
541 
542  if(fabs(x_estimated)>0.5){
543  if(fabs(x_estimated)>1.){
544  corr_2_xestim = 1.;// for now; to be investigated
545  }
546  else{
547  //if(fabs(Xestimated)>0.55){
548  //std::cout<<"X position from the estimated position above 0.55 (safty margin)?! "<<std::endl;
549  //CorrToXc = 999.;
550  //}
551  xestim_bin = int((1.- fabs(x_estimated))/half_strip_width * n_bins);
552  if(ME1_1){
553  diff_2_strip_width = x_correction_ME1_1[stripUp][xestim_bin]-x_correction_ME1_1[stripDown][xestim_bin];
554  corr_2_xestim = x_correction_ME1_1[stripDown][xestim_bin] +
555  (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
556  }
557  else{
558  diff_2_strip_width = x_correction_noME1_1[stripUp][xestim_bin]-x_correction_noME1_1[stripDown][xestim_bin];
559  corr_2_xestim = x_correction_noME1_1[stripDown][xestim_bin] +
560  (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
561  }
562  corr_2_xestim = -corr_2_xestim;
563  }
564  }
565  else{
566  xestim_bin = int((fabs(x_estimated)/half_strip_width) * n_bins);
567  if(ME1_1){
568  diff_2_strip_width = x_correction_ME1_1[stripUp][xestim_bin] - x_correction_ME1_1[stripDown][xestim_bin];
569  corr_2_xestim = x_correction_ME1_1[stripDown][xestim_bin] +
570  (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
571  }
572  else{
573  diff_2_strip_width = x_correction_noME1_1[stripUp][xestim_bin] - x_correction_noME1_1[stripDown][xestim_bin];
574  corr_2_xestim = x_correction_noME1_1[stripDown][xestim_bin] +
575  (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
576  }
577  }
578  if(x_estimated<0.){
579  corr_2_xestim = -corr_2_xestim;
580  }
581  }
582 
583  return corr_2_xestim;
584 }
float x_correction_noME1_1[n_SW_noME1_1][n_val]
float x_correction_ME1_1[n_SW_ME1_1][n_val]
void CSCXonStrip_MatchGatti::findXOnStrip ( const CSCDetId id,
const CSCLayer layer,
const CSCStripHit stripHit,
int  centralStrip,
float &  xWithinChamber,
float &  stripWidth,
const float &  tpeak,
float &  xWithinStrip,
float &  sigma,
int &  quality_flag 
)

Returns fitted local x position and its estimated error.

Definition at line 82 of file CSCXonStrip_MatchGatti.cc.

References a11, a12, a13, a22, a23, a33, ecalMGPA::adc(), calculateXonStripError(), calculateXonStripPosition(), CSCLayer::chamber(), CSCChamberSpecs::chamberTypeName(), chargeSignal, CSCStripHit::closestMaximum(), const_syst, const_syst_ME12, const_syst_ME13, const_syst_ME1a, const_syst_ME1b, const_syst_ME21, const_syst_ME22, const_syst_ME31, const_syst_ME32, const_syst_ME41, CSCRecoConditions::crossTalk(), CSCStripHit::deadStrip(), dt, i, j, gen::k, noise_level, noise_level_ME12, noise_level_ME13, noise_level_ME1a, noise_level_ME1b, noise_level_ME21, noise_level_ME22, noise_level_ME31, noise_level_ME32, noise_level_ME41, CSCRecoConditions::noiseMatrix(), CSCStripHit::numberOfConsecutiveStrips(), q_sumC, q_sumL, q_sumR, recoConditions_, CSCStripHit::s_adc(), setupMatrix(), CSCChamber::specs(), specs_, mathSSE::sqrt(), RecoTauPiZeroBuilderPlugins_cfi::strips, CSCStripHit::strips(), stripWidth, lumiQTWidget::t, tmax, CSCStripHit::tmax(), useCalib, xt_asymmetry, xt_asymmetry_ME12, xt_asymmetry_ME13, xt_asymmetry_ME1a, xt_asymmetry_ME1b, xt_asymmetry_ME21, xt_asymmetry_ME22, xt_asymmetry_ME31, xt_asymmetry_ME32, xt_asymmetry_ME41, xt_l, xt_lr0, xt_lr1, xt_lr2, xt_r, and xtalksOffset.

Referenced by CSCMake2DRecHit::hitFromStripAndWire().

84  {
85  quality_flag = 0;
86  // Initialize Gatti parameters using chamberSpecs
87  // Cache specs_ info for ease of access
88  specs_ = layer->chamber()->specs();
89  stripWidth = sWidth;
90  //initChamberSpecs();
91  // Initialize output parameters
92  xWithinStrip = xWithinChamber;
93 
95  int nStrips = strips.size();
96  int centStrip = nStrips/2 + 1;
97  std::vector<float> adcs = stripHit.s_adc();
98  int tmax = stripHit.tmax();
99 
101  //float t_peak = tpeak;
102  //float t_zero = 0.;
103  //float adc[4];
104  //
105  //if ( useCalib ) {
106  //
107  // for ( int t = 0; t < 4; ++t ) {
108  // int k = t + 4 * (centStrip-1);
109  // adc[t] = adcs[k];
110  // }
111  //
112  // // t_peak from peak finder is now 'absolute' i.e. in ns from start of sca time bin 0
113  // t_peak = peakTimeFinder_->peakTime( tmax, adc, t_peak );
114  // // Just for completeness, the start time of the pulse is 133 ns earlier, according to Stan :)
115  // t_zero = t_peak - 133.;
116  // // and reset tpeak since that's the way it gets passed out of this function (Argh!)
117  // tpeak = t_peak;
118  // LogTrace("CSCRecHit|CSCXonStrip_MatchGatti") << "CSCXonStrip_MatchGatti: " <<
119  // id << " strip=" << centralStrip << ", t_zero=" << t_zero << ", t_peak=" << t_peak;
120  //}
121 
122  //---- fill the charge matrix (3x3)
123  float adc[4];
124  int j = 0;
125  for ( int i = 1; i <= nStrips; ++i ) {
126  if ( i > (centStrip-2) && i < (centStrip+2) ) {
127  std::vector<float> adcsFit;
128  for ( int t = 0; t < 4; ++t ) {
129  int k = t + 4*(i-1);
130  adc[t] = adcs[k];
131  if ( t < 3) chargeSignal[j][t] = adc[t];
132  }
133  j++;
134  }
135  }
136 
137 
138  // Load in x-talks:
139 
140  if ( useCalib ) {
141  std::vector<float> xtalks;
142  recoConditions_->crossTalk( id, centralStrip, xtalks );
143  float dt = 50. * tmax - tpeak;
144  // XTalks; l,r are for left, right XTalk; lr0,1,2 are for what charge "remains" in the strip
145  for ( int t = 0; t < 3; ++t ) {
146  xt_l[0][t] = xtalks[0] * (50.* (t-1) + dt) + xtalks[1] + xtalksOffset;
147  xt_r[0][t] = xtalks[2] * (50.* (t-1) + dt) + xtalks[3] + xtalksOffset;
148  xt_l[1][t] = xtalks[4] * (50.* (t-1) + dt) + xtalks[5] + xtalksOffset;
149  xt_r[1][t] = xtalks[6] * (50.* (t-1) + dt) + xtalks[7] + xtalksOffset;
150  xt_l[2][t] = xtalks[8] * (50.* (t-1) + dt) + xtalks[9] + xtalksOffset;
151  xt_r[2][t] = xtalks[10]* (50.* (t-1) + dt) + xtalks[11]+ xtalksOffset;
152 
153  xt_lr0[t] = (1. - xt_l[0][t] - xt_r[0][t]);
154  xt_lr1[t] = (1. - xt_l[1][t] - xt_r[1][t]);
155  xt_lr2[t] = (1. - xt_l[2][t] - xt_r[2][t]);
156  }
157  } else {
158  for ( int t = 0; t < 3; ++t ) {
159  xt_l[0][t] = xtalksOffset;
160  xt_r[0][t] = xtalksOffset;
161  xt_l[1][t] = xtalksOffset;
162  xt_r[1][t] = xtalksOffset;
163  xt_l[2][t] = xtalksOffset;
164  xt_r[2][t] = xtalksOffset;
165 
166  xt_lr0[t] = (1. - xt_l[0][t] - xt_r[0][t]);
167  xt_lr1[t] = (1. - xt_l[1][t] - xt_r[1][t]);
168  xt_lr2[t] = (1. - xt_l[2][t] - xt_r[2][t]);
169  }
170  }
171 
172 
173  // vector containing noise starts at tmax - 1, and tmax > 3, but....
174  int tbin = tmax - 4;
175 
176  // .... originally, suppose to have tmax in tbin 4 or 5, but noticed in MTCC lots of
177  // hits with tmax == 3, so let's allow these, and shift down noise matrix by one element...
178  // This is a patch because the calibration database doesn't have elements for tbin = 2,
179  // e.g. there is no element e[tmax-1,tmax+1] = e[2,4].
180 
181  if (tmax < 4) tbin = 0; // patch
182 
183  // Load in auto-correlation noise matrices
184  if ( useCalib ) {
185  std::vector<float> nmatrix;
186  recoConditions_->noiseMatrix( id, centralStrip, nmatrix );
187  for ( int istrip =0; istrip < 3; ++istrip ) {
188  a11[istrip] = nmatrix[0+tbin*3+istrip*15];
189  a12[istrip] = nmatrix[1+tbin*3+istrip*15];
190  a13[istrip] = nmatrix[2+tbin*3+istrip*15];
191  a22[istrip] = nmatrix[3+tbin*3+istrip*15];
192  a23[istrip] = nmatrix[4+tbin*3+istrip*15];
193  a33[istrip] = nmatrix[6+tbin*3+istrip*15];
194  }
195  } else {
196  // FIXME: NO HARD WIRED VALUES !!!
197  for ( int istrip =0; istrip < 3; ++istrip ) {
198  a11[istrip] = 10.0;
199  a12[istrip] = 0.0;
200  a13[istrip] = 0.0;
201  a22[istrip] = 10.0;
202  a23[istrip] = 0.0;
203  a33[istrip] = 10.0;
204  }
205  }
206 
207  //---- Set up noise, XTalk matrices
208  setupMatrix();
209  //---- Calculate the coordinate within the strip and associate uncertainty
210  bool ME1_1 = false;
211  if("ME1/a" == specs_->chamberTypeName() || "ME1/b" == specs_->chamberTypeName()){
212  ME1_1 = true;
213  }
214 
215  // due to cross talks and 3 time bin sum it is in principe possible that the center strip is not the maximum strip
216  // in some cases the consequences could be quite extreme
217  // take some measures against the extreme cases
218  bool peakMismatch = false;
219  std::vector <float> charges(3);
220  charges[0] = q_sumL;
221  charges[1] = q_sumC;
222  charges[2] = q_sumR;
223  int min_index = min_element(charges.begin(),charges.end()) - charges.begin();
224  int max_index = max_element(charges.begin(),charges.end()) - charges.begin();
225  if(1!=max_index && (1==min_index ||
226  // the condition below means that if the initial position estimate within strip (|xF|)
227  // is above 1.1/2 = 0.55 "strip widths" peakMismatch is set to true (so special case);
228  // in normal cases |xF|<=0.5 (0.5 is at the edge of the "central" strip)
229  (charges[max_index] - charges[min_index]) > 1.1*(q_sumC - charges[min_index]) )){
230  peakMismatch = true;
231  switch (max_index){
232  case 0:
233  xWithinStrip = -1;
234  break;
235  case 2:
236  xWithinStrip = 1;
237  break;
238  default:
239  // should be an error message here
240  xWithinStrip = 0;// in case?
241  break;
242  }
243  }
244  // we don't have the needed information (it's similar to the "edge" strip case)
245  //else if(stripHit.isNearDeadStrip()){
246  else if(stripHit.deadStrip()>0){
247  xWithinStrip = 0;
248  }
249  else{
250  //
251  xWithinStrip = float(calculateXonStripPosition(stripWidth, ME1_1));
252  }
253  xWithinChamber = xWithinChamber + (xWithinStrip * stripWidth);
254  if(peakMismatch){
255  sigma = stripWidth/sqrt(12);
256  }
257  else{
258 
259  //---- error estimation
260  int factorStripWidth = int( sqrt(stripWidth/0.38) );
261  int maxConsecutiveStrips = 8;
262  if(factorStripWidth){
263  maxConsecutiveStrips /= factorStripWidth ;
264  }
265  maxConsecutiveStrips++;
266 
267  std::map <std::string, int> chamberTypes;
268  chamberTypes["ME1/a"] = 1;
269  chamberTypes["ME1/b"] = 2;
270  chamberTypes["ME1/2"] = 3;
271  chamberTypes["ME1/3"] = 4;
272  chamberTypes["ME2/1"] = 5;
273  chamberTypes["ME2/2"] = 6;
274  chamberTypes["ME3/1"] = 7;
275  chamberTypes["ME3/2"] = 8;
276  chamberTypes["ME4/1"] = 9;
277  chamberTypes["ME4/2"] = 8;
278 
279  switch(chamberTypes[specs_->chamberTypeName()]){
280  case 1:
284  break;
285 
286  case 2:
290 
291  case 3:
295  break;
296 
297  case 4:
301  break;
302 
303  case 5:
307  break;
308 
309  case 6:
313  break;
314 
315  case 7:
319  break;
320 
321  case 8:
325  break;
326 
327  case 9:
331  break;
332 
333  default:
337 
338  }
339  if(0==stripHit.deadStrip() &&
340  stripHit.numberOfConsecutiveStrips()<maxConsecutiveStrips &&
341  fabs(stripHit.closestMaximum())>maxConsecutiveStrips/2 ){
342  sigma = float(calculateXonStripError(stripWidth, ME1_1));
343  }
344  else{ //---- near dead strip or too close maxima or too wide strip cluster
345  sigma = stripWidth/sqrt(12);
346  }
347  }
348  quality_flag = 1;
349 }
int adc(sample_type sample)
get the ADC sample (12 bits)
float dt
Definition: AMPTWrapper.h:126
int i
Definition: DBlmapReader.cc:9
float a11[3]
Store elements of auto-correlation matrices: 0 = left, 1 = middle, 2 = right.
float xt_l[3][3]
x-talks 0 = left, 1 = middle, 2 = right ; and then second [] is for time bin tmax-1, tmax, tmax+1
int numberOfConsecutiveStrips() const
Number of consecutive strips with charge.
Definition: CSCStripHit.h:65
const StripHitADCContainer & s_adc() const
L1A.
Definition: CSCStripHit.h:59
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) const
const CSCRecoConditions * recoConditions_
short int deadStrip() const
is a neighbouring string a dead strip?
Definition: CSCStripHit.h:71
std::string chamberTypeName() const
const CSCChamberSpecs * specs() const
Definition: CSCChamber.h:42
T sqrt(T t)
Definition: SSEVec.h:48
int j
Definition: DBlmapReader.cc:9
double calculateXonStripError(float stripWidth, bool ME1_1)
const CSCChamberSpecs * specs_
int k[5][pyjets_maxn]
double calculateXonStripPosition(float stripWidth, bool ME1_1)
static const double tmax[3]
void setupMatrix()
Set matrix for XT corrections and noise.
int tmax() const
Strip hit maximum time bin.
Definition: CSCStripHit.h:47
std::vector< int > ChannelContainer
Definition: CSCStripHit.h:22
void crossTalk(const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const
int closestMaximum() const
Number of strips to the closest other maximum.
Definition: CSCStripHit.h:68
const ChannelContainer & strips() const
L1A.
Definition: CSCStripHit.h:53
const CSCChamber * chamber() const
Definition: CSCLayer.h:52
void CSCXonStrip_MatchGatti::getCorrectionValues ( std::string  Estimator)
private
void CSCXonStrip_MatchGatti::hardcodedCorrectionInitialization ( )
private

Definition at line 11 of file HardCodedCorrectionInitialization.cc.

References i, j, n_SW_ME1_1, n_SW_noME1_1, n_val, x_correction_ME1_1, and x_correction_noME1_1.

Referenced by getCorrectionValues().

11  {
12  //---- Corrections depend on strip width (SW), position within the strip (XFlorida is used) and type of chamber
13 
14  //---- Corrections for non-ME1_1 chambers (all have practically equal Gatti parameters):
15 
16  //---- min SW ~ 6.6 cm (ME1/2), max SW ~ 1.6 cm (ME234/2)
17  //---- Corrections are calculated for N_SW_noME1_1 strip widths (0.6 - 1.6 cm)
18  //---- and for 501 values in
19  float corrections_noME1_1[n_SW_noME1_1][n_val] = {
20  {0, 0.00019078, 0.000383855, 0.000579201, 0.000776796, 0.000976616, 0.00117891, 0.00138342, 0.00159008, 0.00179887, 0.00200977, 0.00222304, 0.00243835, 0.00265569, 0.00287502, 0.00309646, 0.00332001, 0.00354547, 0.00377282, 0.00400203,
21  0.00423336, 0.0044665, 0.00470141, 0.00493807, 0.00517666, 0.005417, 0.00565901, 0.00590266, 0.00614806, 0.00639514, 0.00664377, 0.00689391, 0.00714568, 0.00739901, 0.00765376, 0.0079099, 0.00816756, 0.00842663, 0.00868701, 0.00894865,
22  0.00921171, 0.00947602, 0.0097415, 0.0100081, 0.0102761, 0.0105451, 0.0108152, 0.0110863, 0.0113586, 0.0116318, 0.011906, 0.0121811, 0.0124572, 0.0127341, 0.0130118, 0.0132904, 0.0135697, 0.0138497, 0.0141305, 0.014412,
23  0.014694, 0.0149767, 0.01526, 0.0155438, 0.015828, 0.0161128, 0.016398, 0.0166836, 0.0169696, 0.0172559, 0.0175426, 0.0178295, 0.0181166, 0.018404, 0.0186915, 0.0189791, 0.0192669, 0.0195548, 0.0198427, 0.0201306,
24  0.0204185, 0.0207063, 0.0209941, 0.0212817, 0.0215692, 0.0218565, 0.0221436, 0.0224305, 0.0227171, 0.0230034, 0.0232894, 0.023575, 0.0238602, 0.024145, 0.0244293, 0.0247132, 0.0249966, 0.0252793, 0.0255616, 0.0258432,
25  0.0261243, 0.0264046, 0.0266843, 0.0269633, 0.0272415, 0.027519, 0.0277957, 0.0280716, 0.0283466, 0.0286207, 0.028894, 0.0291663, 0.0294377, 0.0297081, 0.0299776, 0.030246, 0.0305133, 0.0307796, 0.0310449, 0.0313089,
26  0.0315718, 0.0318336, 0.0320942, 0.0323536, 0.0326117, 0.0328687, 0.0331243, 0.0333786, 0.0336316, 0.0338833, 0.0341336, 0.0343825, 0.0346301, 0.0348763, 0.035121, 0.0353642, 0.035606, 0.0358463, 0.0360851, 0.0363223,
27  0.036558, 0.0367921, 0.0370248, 0.0372557, 0.037485, 0.0377128, 0.0379389, 0.0381633, 0.038386, 0.0386071, 0.0388265, 0.0390442, 0.0392601, 0.0394742, 0.0396866, 0.0398974, 0.0401062, 0.0403132, 0.0405184, 0.0407219,
28  0.0409236, 0.0411233, 0.0413211, 0.0415171, 0.0417113, 0.0419036, 0.042094, 0.0422824, 0.0424689, 0.0426535, 0.0428362, 0.043017, 0.0431956, 0.0433724, 0.0435472, 0.04372, 0.043891, 0.0440598, 0.0442266, 0.0443913,
29  0.0445541, 0.0447149, 0.0448738, 0.0450305, 0.0451851, 0.0453376, 0.0454882, 0.0456367, 0.0457831, 0.0459275, 0.0460698, 0.0462099, 0.0463479, 0.0464839, 0.0466178, 0.0467496, 0.0468794, 0.0470071, 0.0471324, 0.0472557,
30  0.0473769, 0.047496, 0.047613, 0.0477279, 0.0478407, 0.0479514, 0.0480598, 0.0481661, 0.0482702, 0.0483723, 0.0484722, 0.0485699, 0.0486656, 0.0487591, 0.0488505, 0.0489397, 0.0490268, 0.0491116, 0.0491943, 0.0492749,
31  0.0493533, 0.0494296, 0.0495037, 0.0495757, 0.0496456, 0.0497133, 0.0497789, 0.0498423, 0.0499037, 0.0499628, 0.0500198, 0.0500746, 0.0501273, 0.0501778, 0.0502262, 0.0502724, 0.0503165, 0.0503585, 0.0503984, 0.0504361,
32  0.0504717, 0.0505052, 0.0505366, 0.0505658, 0.050593, 0.050618, 0.0506409, 0.0506617, 0.0506803, 0.0506969, 0.0507114, 0.0507237, 0.050734, 0.0507422, 0.0507482, 0.0507522, 0.0507541, 0.0507539, 0.0507517, 0.0507473,
33  0.0507409, 0.0507324, 0.0507219, 0.0507093, 0.0506946, 0.0506779, 0.0506591, 0.0506382, 0.0506154, 0.0505905, 0.0505635, 0.0505345, 0.0505035, 0.0504705, 0.0504355, 0.0503984, 0.0503594, 0.0503183, 0.0502753, 0.0502302,
34  0.0501832, 0.0501342, 0.0500832, 0.0500302, 0.0499752, 0.0499182, 0.0498592, 0.0497983, 0.0497354, 0.0496705, 0.0496037, 0.049535, 0.0494644, 0.0493918, 0.0493173, 0.0492409, 0.0491626, 0.0490824, 0.0490003, 0.0489162,
35  0.0488301, 0.0487422, 0.0486524, 0.0485607, 0.0484671, 0.0483717, 0.0482745, 0.0481754, 0.0480744, 0.0479716, 0.0478668, 0.0477601, 0.0476517, 0.0475414, 0.0474293, 0.0473154, 0.0471997, 0.0470823, 0.046963, 0.0468417,
36  0.0467186, 0.0465938, 0.0464672, 0.0463389, 0.0462088, 0.046077, 0.0459434, 0.0458078, 0.0456705, 0.0455315, 0.0453908, 0.0452484, 0.0451043, 0.0449585, 0.0448107, 0.0446612, 0.04451, 0.0443572, 0.0442028, 0.0440467,
37  0.0438887, 0.0437289, 0.0435675, 0.0434045, 0.0432399, 0.0430737, 0.0429056, 0.0427358, 0.0425643, 0.0423913, 0.0422167, 0.0420406, 0.0418625, 0.0416828, 0.0415016, 0.0413188, 0.0411344, 0.0409484, 0.0407606, 0.0405712,
38  0.0403803, 0.040188, 0.0399941, 0.0397982, 0.0396009, 0.0394021, 0.0392018, 0.039, 0.0387963, 0.0385912, 0.0383846, 0.0381765, 0.037967, 0.0377555, 0.0375427, 0.0373284, 0.0371128, 0.0368954, 0.0366764, 0.0364561,
39  0.0362343, 0.0360112, 0.0357861, 0.0355597, 0.0353319, 0.0351028, 0.034872, 0.0346396, 0.0344059, 0.0341709, 0.0339343, 0.0336961, 0.0334565, 0.0332157, 0.0329735, 0.0327294, 0.0324841, 0.0322375, 0.0319897, 0.0317399,
40  0.031489, 0.0312367, 0.0309832, 0.0307279, 0.0304713, 0.0302135, 0.0299544, 0.0296935, 0.0294315, 0.0291682, 0.0289035, 0.0286372, 0.0283698, 0.0281011, 0.0278309, 0.0275592, 0.0272864, 0.0270125, 0.0267367, 0.0264598,
41  0.0261818, 0.0259024, 0.0256214, 0.0253393, 0.0250561, 0.0247713, 0.0244852, 0.024198, 0.0239095, 0.0236194, 0.0233283, 0.0230361, 0.0227422, 0.0224472, 0.0221511, 0.0218536, 0.0215547, 0.0212548, 0.0209538, 0.0206511,
42  0.0203474, 0.0200426, 0.0197363, 0.0194288, 0.0191203, 0.0188104, 0.0184992, 0.0181871, 0.0178736, 0.0175588, 0.017243, 0.016926, 0.0166075, 0.0162881, 0.0159677, 0.0156456, 0.0153226, 0.0149987, 0.014673, 0.0143465,
43  0.0140191, 0.01369, 0.01336, 0.0130291, 0.0126966, 0.0123631, 0.0120288, 0.0116929, 0.011356, 0.0110183, 0.0106789, 0.0103387, 0.00999765, 0.00965491, 0.00931136, 0.00896692, 0.00862087, 0.00827404, 0.00792623, 0.00757693,
44  0.00722686, 0.00687569, 0.00652318, 0.0061699, 0.0058154, 0.00545971, 0.00510328, 0.00474545, 0.00438662, 0.00402707, 0.00366593, 0.00330401, 0.00294123, 0.00257695, 0.00221198, 0.00184591, 0.0014786, 0.00111061, 0.000741268, 0.000370968,
45  0},
46 
47  {0, 0.00041187, 0.000826272, 0.00124349, 0.00166337, 0.00208575, 0.00251089, 0.00293832, 0.00336842, 0.00380078, 0.00423553, 0.00467258, 0.00511179, 0.0055533, 0.00599674, 0.00644249, 0.00689004, 0.00733967, 0.0077911, 0.00824439,
48  0.00869946, 0.00915618, 0.00961462, 0.0100746, 0.0105361, 0.010999, 0.0114635, 0.0119291, 0.0123962, 0.0128644, 0.0133338, 0.0138042, 0.0142757, 0.0147481, 0.0152215, 0.0156957, 0.0161706, 0.0166463, 0.0171227, 0.0175996,
49  0.018077, 0.018555, 0.0190333, 0.019512, 0.0199909, 0.02047, 0.0209493, 0.0214287, 0.0219081, 0.0223875, 0.0228668, 0.023346, 0.0238249, 0.0243035, 0.0247819, 0.0252598, 0.0257373, 0.0262142, 0.0266906, 0.0271664,
50  0.0276415, 0.0281158, 0.0285894, 0.0290621, 0.0295338, 0.0300047, 0.0304745, 0.0309433, 0.0314108, 0.0318773, 0.0323424, 0.0328064, 0.033269, 0.0337302, 0.03419, 0.0346482, 0.035105, 0.0355602, 0.0360138, 0.0364656,
51  0.0369159, 0.0373642, 0.0378108, 0.0382556, 0.0386984, 0.0391394, 0.0395783, 0.0400153, 0.0404501, 0.0408829, 0.0413135, 0.041742, 0.0421683, 0.0425922, 0.043014, 0.0434333, 0.0438504, 0.044265, 0.0446772, 0.0450871,
52  0.0454943, 0.0458991, 0.0463013, 0.0467009, 0.047098, 0.0474923, 0.0478841, 0.0482731, 0.0486594, 0.0490431, 0.0494237, 0.0498018, 0.050177, 0.0505493, 0.050919, 0.0512855, 0.0516492, 0.0520102, 0.0523678, 0.0527228,
53  0.0530748, 0.0534235, 0.0537695, 0.0541124, 0.0544521, 0.0547889, 0.0551226, 0.0554531, 0.0557806, 0.056105, 0.0564261, 0.0567442, 0.0570593, 0.0573708, 0.0576794, 0.057985, 0.058287, 0.0585859, 0.0588818, 0.0591743,
54  0.0594634, 0.0597496, 0.0600325, 0.0603119, 0.0605881, 0.0608613, 0.0611311, 0.0613974, 0.0616606, 0.0619207, 0.0621773, 0.0624305, 0.0626806, 0.0629275, 0.0631709, 0.063411, 0.0636478, 0.0638816, 0.0641118, 0.0643387,
55  0.0645623, 0.0647828, 0.065, 0.0652136, 0.065424, 0.0656312, 0.0658352, 0.0660359, 0.0662331, 0.066427, 0.0666178, 0.0668053, 0.0669897, 0.0671705, 0.067348, 0.0675224, 0.0676935, 0.0678615, 0.0680262, 0.0681875,
56  0.0683455, 0.0685004, 0.0686521, 0.0688006, 0.068946, 0.0690879, 0.0692266, 0.0693622, 0.0694946, 0.0696238, 0.06975, 0.0698729, 0.0699928, 0.0701093, 0.0702226, 0.0703328, 0.0704399, 0.0705439, 0.0706449, 0.0707427,
57  0.0708375, 0.0709291, 0.0710177, 0.0711031, 0.0711853, 0.0712646, 0.0713408, 0.071414, 0.0714842, 0.0715514, 0.0716155, 0.0716767, 0.0717349, 0.0717901, 0.0718423, 0.0718916, 0.0719379, 0.0719812, 0.0720216, 0.072059,
58  0.0720935, 0.0721251, 0.0721537, 0.0721795, 0.0722025, 0.0722225, 0.0722397, 0.0722541, 0.0722656, 0.0722743, 0.0722801, 0.0722832, 0.0722835, 0.0722809, 0.0722756, 0.0722675, 0.0722567, 0.0722431, 0.0722268, 0.0722078,
59  0.072186, 0.0721615, 0.0721344, 0.0721045, 0.072072, 0.0720369, 0.071999, 0.0719584, 0.0719152, 0.0718694, 0.0718209, 0.0717699, 0.0717162, 0.07166, 0.0716012, 0.0715399, 0.071476, 0.0714096, 0.0713406, 0.0712692,
60  0.0711952, 0.0711188, 0.0710399, 0.0709584, 0.0708743, 0.0707878, 0.0706988, 0.0706074, 0.0705137, 0.0704175, 0.0703189, 0.070218, 0.0701147, 0.070009, 0.0699007, 0.0697901, 0.0696771, 0.0695618, 0.0694443, 0.0693244,
61  0.0692023, 0.0690779, 0.0689511, 0.0688218, 0.0686903, 0.0685566, 0.0684207, 0.0682826, 0.0681423, 0.0679999, 0.0678548, 0.0677076, 0.0675583, 0.0674068, 0.0672532, 0.0670976, 0.0669396, 0.0667793, 0.0666169, 0.0664524,
62  0.0662859, 0.0661173, 0.0659466, 0.0657735, 0.0655984, 0.0654213, 0.0652422, 0.0650612, 0.0648778, 0.0646923, 0.0645048, 0.0643155, 0.0641242, 0.0639308, 0.0637351, 0.0635376, 0.0633381, 0.0631368, 0.0629335, 0.0627279,
63  0.0625205, 0.0623112, 0.0621002, 0.061887, 0.0616717, 0.0614547, 0.0612359, 0.0610153, 0.0607924, 0.0605677, 0.0603412, 0.0601131, 0.0598829, 0.0596506, 0.0594167, 0.0591811, 0.0589437, 0.0587041, 0.0584628, 0.0582199,
64  0.0579754, 0.0577285, 0.05748, 0.05723, 0.0569783, 0.0567244, 0.0564688, 0.0562118, 0.0559531, 0.0556921, 0.0554297, 0.0551658, 0.0549, 0.0546323, 0.0543631, 0.0540924, 0.0538197, 0.0535453, 0.0532695, 0.0529922,
65  0.0527126, 0.0524317, 0.0521493, 0.0518652, 0.0515792, 0.0512918, 0.0510031, 0.0507122, 0.0504199, 0.0501263, 0.0498308, 0.0495336, 0.0492352, 0.0489352, 0.0486333, 0.04833, 0.0480255, 0.0477189, 0.047411, 0.0471018,
66  0.0467907, 0.0464781, 0.0461643, 0.0458489, 0.0455317, 0.0452134, 0.0448936, 0.0445719, 0.0442491, 0.0439249, 0.0435988, 0.0432715, 0.042943, 0.0426125, 0.042281, 0.0419481, 0.0416133, 0.0412775, 0.0409404, 0.0406013,
67  0.0402613, 0.0399199, 0.0395767, 0.0392324, 0.0388869, 0.0385395, 0.0381912, 0.0378414, 0.03749, 0.0371377, 0.0367837, 0.0364283, 0.036072, 0.0357139, 0.0353546, 0.0349943, 0.0346321, 0.0342689, 0.0339046, 0.0335385,
68  0.0331715, 0.0328031, 0.0324332, 0.0320626, 0.03169, 0.0313165, 0.0309419, 0.0305656, 0.0301884, 0.0298098, 0.0294298, 0.029049, 0.0286664, 0.0282829, 0.0278983, 0.027512, 0.027125, 0.0267364, 0.0263467, 0.0259561,
69  0.0255637, 0.0251706, 0.0247761, 0.0243804, 0.0239839, 0.0235855, 0.0231864, 0.0227861, 0.0223844, 0.0219821, 0.0215779, 0.021173, 0.0207668, 0.0203594, 0.0199513, 0.0195414, 0.0191309, 0.0187189, 0.018306, 0.0178921,
70  0.0174766, 0.0170606, 0.0166429, 0.0162245, 0.0158049, 0.0153841, 0.0149626, 0.0145394, 0.0141157, 0.0136904, 0.0132644, 0.0128373, 0.0124088, 0.0119799, 0.0115491, 0.0111179, 0.0106852, 0.0102517, 0.00981723, 0.00938147,
71  0.00894511, 0.0085071, 0.00806868, 0.00762866, 0.00718802, 0.00674618, 0.00630334, 0.00585968, 0.00541467, 0.00496919, 0.00452202, 0.00407449, 0.00362542, 0.00317576, 0.00272489, 0.00227312, 0.00182046, 0.0013666, 0.000912158, 0.000456222,
72  0},
73 
74  {0, 0.000672915, 0.00134894, 0.00202799, 0.00271026, 0.00339538, 0.00408321, 0.00477386, 0.00546709, 0.00616272, 0.00686075, 0.00756109, 0.00826349, 0.00896789, 0.0096743, 0.0103824, 0.0110922, 0.0118036, 0.0125164, 0.0132306,
75  0.0139459, 0.0146623, 0.0153797, 0.0160979, 0.0168169, 0.0175365, 0.0182565, 0.0189769, 0.0196976, 0.0204185, 0.0211393, 0.0218601, 0.0225807, 0.0233009, 0.0240207, 0.0247399, 0.0254585, 0.0261763, 0.0268933, 0.0276092,
76  0.028324, 0.0290376, 0.0297499, 0.0304607, 0.03117, 0.0318777, 0.0325836, 0.0332877, 0.03399, 0.03469, 0.035388, 0.0360838, 0.0367772, 0.0374682, 0.0381568, 0.0388427, 0.0395259, 0.0402065, 0.0408841, 0.0415587,
77  0.0422304, 0.0428991, 0.0435644, 0.0442266, 0.0448855, 0.0455409, 0.0461929, 0.0468414, 0.0474861, 0.0481274, 0.0487648, 0.0493984, 0.0500284, 0.0506541, 0.0512761, 0.0518941, 0.0525078, 0.0531176, 0.053723, 0.0543243,
78  0.0549214, 0.055514, 0.0561024, 0.0566863, 0.0572658, 0.0578408, 0.0584112, 0.0589773, 0.0595384, 0.0600953, 0.0606472, 0.0611946, 0.0617372, 0.0622751, 0.0628083, 0.0633366, 0.0638602, 0.0643788, 0.0648927, 0.0654015,
79  0.0659058, 0.0664047, 0.0668991, 0.0673882, 0.0678727, 0.0683519, 0.0688264, 0.0692957, 0.0697602, 0.0702196, 0.0706739, 0.0711234, 0.0715676, 0.0720072, 0.0724412, 0.0728706, 0.0732947, 0.0737139, 0.0741282, 0.0745371,
80  0.0749414, 0.0753403, 0.0757344, 0.0761235, 0.0765073, 0.0768865, 0.0772604, 0.0776293, 0.0779936, 0.0783523, 0.0787064, 0.0790556, 0.0793995, 0.0797387, 0.0800731, 0.0804022, 0.0807267, 0.0810464, 0.0813607, 0.0816704,
81  0.0819756, 0.0822754, 0.0825705, 0.082861, 0.0831465, 0.0834271, 0.0837032, 0.0839746, 0.0842409, 0.0845025, 0.0847597, 0.0850123, 0.0852596, 0.0855026, 0.085741, 0.085975, 0.0862039, 0.0864283, 0.0866483, 0.0868638,
82  0.0870748, 0.0872809, 0.0874827, 0.0876801, 0.0878732, 0.0880617, 0.0882456, 0.0884251, 0.0886004, 0.0887714, 0.0889381, 0.0891003, 0.089258, 0.0894116, 0.089561, 0.0897062, 0.0898472, 0.0899841, 0.0901165, 0.0902447,
83  0.0903688, 0.0904889, 0.0906049, 0.0907168, 0.0908248, 0.0909287, 0.0910286, 0.0911242, 0.0912159, 0.0913036, 0.0913875, 0.0914674, 0.0915435, 0.0916157, 0.0916841, 0.0917486, 0.0918093, 0.0918662, 0.0919194, 0.0919688,
84  0.0920144, 0.0920562, 0.0920943, 0.0921287, 0.0921595, 0.0921866, 0.0922101, 0.09223, 0.0922464, 0.0922592, 0.0922684, 0.0922741, 0.0922763, 0.092275, 0.0922703, 0.092262, 0.0922504, 0.0922354, 0.0922169, 0.0921951,
85  0.09217, 0.0921415, 0.0921096, 0.0920745, 0.0920361, 0.0919945, 0.0919494, 0.0919012, 0.0918497, 0.091795, 0.0917372, 0.0916762, 0.091612, 0.0915448, 0.0914745, 0.091401, 0.0913246, 0.0912451, 0.0911625, 0.091077,
86  0.0909885, 0.0908967, 0.090802, 0.0907043, 0.0906037, 0.0905003, 0.0903939, 0.0902848, 0.0901727, 0.0900579, 0.0899401, 0.0898192, 0.0896956, 0.0895692, 0.0894402, 0.0893084, 0.0891739, 0.0890367, 0.0888966, 0.0887536,
87  0.088608, 0.0884598, 0.0883091, 0.0881558, 0.0879999, 0.0878409, 0.0876794, 0.0875154, 0.0873489, 0.0871799, 0.0870085, 0.0868341, 0.0866572, 0.086478, 0.0862963, 0.0861123, 0.0859257, 0.0857363, 0.0855446, 0.0853506,
88  0.0851544, 0.0849557, 0.0847542, 0.0845504, 0.0843445, 0.0841363, 0.0839258, 0.0837125, 0.0834971, 0.0832795, 0.0830598, 0.0828375, 0.0826128, 0.0823861, 0.0821573, 0.0819262, 0.0816925, 0.0814567, 0.081219, 0.0809793,
89  0.0807367, 0.0804922, 0.0802458, 0.0799975, 0.0797463, 0.0794933, 0.0792384, 0.0789816, 0.078722, 0.0784606, 0.0781974, 0.0779322, 0.0776644, 0.0773949, 0.0771236, 0.0768501, 0.0765743, 0.0762968, 0.0760177, 0.0757359,
90  0.0754523, 0.0751671, 0.0748799, 0.0745903, 0.0742992, 0.0740065, 0.0737111, 0.0734141, 0.0731156, 0.0728148, 0.0725121, 0.0722079, 0.0719018, 0.0715934, 0.0712836, 0.0709722, 0.0706583, 0.0703429, 0.0700262, 0.0697069,
91  0.0693862, 0.069064, 0.0687396, 0.0684135, 0.0680861, 0.0677565, 0.0674252, 0.0670926, 0.0667578, 0.0664214, 0.0660838, 0.0657439, 0.0654025, 0.0650598, 0.0647149, 0.0643685, 0.064021, 0.063671, 0.0633198, 0.0629673,
92  0.0626125, 0.0622565, 0.0618991, 0.0615395, 0.0611789, 0.0608165, 0.0604524, 0.0600872, 0.0597199, 0.0593512, 0.0589815, 0.0586094, 0.0582363, 0.0578617, 0.0574852, 0.0571078, 0.0567284, 0.0563476, 0.0559658, 0.0555817,
93  0.0551968, 0.0548102, 0.054422, 0.0540329, 0.0536416, 0.0532493, 0.0528556, 0.0524601, 0.0520639, 0.0516655, 0.0512661, 0.0508654, 0.050463, 0.0500597, 0.0496544, 0.0492481, 0.0488405, 0.0484312, 0.0480212, 0.047609,
94  0.047196, 0.0467816, 0.0463657, 0.0459489, 0.0455301, 0.0451107, 0.0446894, 0.0442671, 0.0438436, 0.0434185, 0.0429927, 0.0425648, 0.0421363, 0.0417061, 0.0412748, 0.0408424, 0.0404084, 0.0399738, 0.0395371, 0.0390999,
95  0.0386609, 0.0382211, 0.0377799, 0.0373374, 0.0368941, 0.036449, 0.0360035, 0.0355558, 0.0351078, 0.034658, 0.0342073, 0.0337554, 0.0333023, 0.0328482, 0.0323926, 0.0319364, 0.0314784, 0.03102, 0.0305596, 0.0300988,
96  0.0296363, 0.0291731, 0.0287085, 0.028243, 0.0277763, 0.0273084, 0.0268397, 0.0263695, 0.0258987, 0.0254262, 0.0249533, 0.0244786, 0.0240036, 0.0235267, 0.0230495, 0.0225705, 0.0220912, 0.0216101, 0.0211286, 0.0206456,
97  0.0201619, 0.0196768, 0.019191, 0.018704, 0.0182161, 0.017727, 0.017237, 0.016746, 0.016254, 0.0157609, 0.0152669, 0.0147719, 0.0142758, 0.0137788, 0.0132808, 0.0127819, 0.0122819, 0.011781, 0.011279, 0.0107762,
98  0.0102724, 0.00976763, 0.00926186, 0.0087552, 0.00824756, 0.00773898, 0.0072295, 0.006719, 0.00620769, 0.00569529, 0.00518218, 0.00466788, 0.00415298, 0.0036368, 0.00312014, 0.00260207, 0.00208368, 0.00156373, 0.00104362, 0.00052181,
99  0},
100 
101  {0, 0.000982554, 0.00196886, 0.00295871, 0.00395189, 0.00494819, 0.00594739, 0.00694928, 0.00795364, 0.00896026, 0.0099689, 0.0109794, 0.0119914, 0.0130048, 0.0140193, 0.0150348, 0.016051, 0.0170676, 0.0180845, 0.0191014,
102  0.0201181, 0.0211344, 0.0221501, 0.023165, 0.0241788, 0.0251913, 0.0262023, 0.0272117, 0.0282192, 0.0292245, 0.0302276, 0.0312282, 0.0322261, 0.0332211, 0.034213, 0.0352017, 0.036187, 0.0371686, 0.0381465, 0.0391204,
103  0.0400901, 0.0410556, 0.0420167, 0.0429731, 0.0439248, 0.0448715, 0.0458132, 0.0467497, 0.0476809, 0.0486067, 0.0495269, 0.0504414, 0.0513501, 0.0522529, 0.0531496, 0.0540403, 0.0549246, 0.0558025, 0.056674, 0.057539,
104  0.0583974, 0.0592492, 0.0600943, 0.0609324, 0.0617635, 0.0625877, 0.0634048, 0.064215, 0.0650181, 0.0658137, 0.066602, 0.0673832, 0.0681571, 0.0689236, 0.0696824, 0.0704339, 0.0711781, 0.0719148, 0.0726436, 0.0733651,
105  0.0740791, 0.0747853, 0.0754839, 0.0761751, 0.0768586, 0.0775342, 0.0782025, 0.0788631, 0.0795158, 0.0801612, 0.0807988, 0.0814287, 0.0820513, 0.0826658, 0.0832729, 0.0838726, 0.0844644, 0.0850491, 0.0856256, 0.0861951,
106  0.0867569, 0.0873111, 0.0878581, 0.0883973, 0.0889296, 0.0894539, 0.0899715, 0.090481, 0.0909839, 0.0914788, 0.0919672, 0.0924476, 0.0929215, 0.0933876, 0.0938471, 0.0942991, 0.0947443, 0.0951824, 0.0956134, 0.0960378,
107  0.0964547, 0.0968652, 0.0972685, 0.0976651, 0.0980553, 0.0984381, 0.0988146, 0.0991844, 0.0995473, 0.0999041, 0.100254, 0.100597, 0.100935, 0.101265, 0.101589, 0.101907, 0.102218, 0.102523, 0.102823, 0.103115,
108  0.103402, 0.103682, 0.103957, 0.104225, 0.104487, 0.104744, 0.104995, 0.105239, 0.105477, 0.10571, 0.105938, 0.106159, 0.106375, 0.106585, 0.106789, 0.106988, 0.107182, 0.107369, 0.107552, 0.107729,
109  0.1079, 0.108067, 0.108227, 0.108383, 0.108533, 0.108679, 0.108819, 0.108954, 0.109084, 0.109208, 0.109328, 0.109443, 0.109552, 0.109657, 0.109758, 0.109853, 0.109943, 0.110029, 0.11011, 0.110186,
110  0.110257, 0.110324, 0.110386, 0.110443, 0.110497, 0.110545, 0.110589, 0.110629, 0.110664, 0.110695, 0.110721, 0.110743, 0.110761, 0.110775, 0.110784, 0.110789, 0.11079, 0.110787, 0.11078, 0.110768,
111  0.110753, 0.110733, 0.11071, 0.110682, 0.110651, 0.110615, 0.110576, 0.110533, 0.110486, 0.110435, 0.110381, 0.110322, 0.11026, 0.110195, 0.110125, 0.110052, 0.109976, 0.109895, 0.109811, 0.109724,
112  0.109633, 0.109538, 0.10944, 0.109339, 0.109234, 0.109126, 0.109014, 0.108899, 0.10878, 0.108659, 0.108533, 0.108405, 0.108274, 0.108139, 0.108001, 0.10786, 0.107715, 0.107568, 0.107417, 0.107263,
113  0.107107, 0.106947, 0.106784, 0.106618, 0.106449, 0.106277, 0.106102, 0.105924, 0.105743, 0.105559, 0.105373, 0.105184, 0.104992, 0.104796, 0.104598, 0.104397, 0.104194, 0.103988, 0.103778, 0.103566,
114  0.103352, 0.103135, 0.102915, 0.102692, 0.102467, 0.10224, 0.10201, 0.101776, 0.10154, 0.101302, 0.101062, 0.100819, 0.100573, 0.100325, 0.100074, 0.099821, 0.0995652, 0.0993072, 0.0990471, 0.098784,
115  0.0985186, 0.0982511, 0.0979815, 0.0977087, 0.097434, 0.0971573, 0.096878, 0.0965961, 0.0963123, 0.0960266, 0.0957379, 0.0954472, 0.0951546, 0.0948595, 0.094562, 0.0942627, 0.0939615, 0.0936573, 0.0933514, 0.0930437,
116  0.0927332, 0.0924209, 0.0921068, 0.0917902, 0.0914715, 0.0911512, 0.0908285, 0.0905036, 0.0901772, 0.0898485, 0.0895175, 0.089185, 0.0888504, 0.0885135, 0.0881751, 0.0878346, 0.0874919, 0.0871477, 0.0868013, 0.0864529,
117  0.0861032, 0.0857509, 0.085397, 0.0850417, 0.0846837, 0.0843243, 0.0839635, 0.0835999, 0.0832352, 0.0828687, 0.0824999, 0.08213, 0.0817578, 0.0813839, 0.0810089, 0.0806311, 0.0802522, 0.0798717, 0.079489, 0.0791052,
118  0.0787191, 0.0783315, 0.0779427, 0.0775514, 0.0771591, 0.0767649, 0.0763689, 0.0759719, 0.0755724, 0.0751719, 0.0747696, 0.0743655, 0.0739605, 0.0735529, 0.0731446, 0.0727342, 0.0723224, 0.0719094, 0.0714941, 0.0710781,
119  0.0706599, 0.0702405, 0.0698197, 0.069397, 0.0689735, 0.0685476, 0.068121, 0.0676924, 0.0672626, 0.0668314, 0.0663984, 0.0659646, 0.0655285, 0.0650918, 0.064653, 0.0642132, 0.0637719, 0.0633291, 0.0628852, 0.0624394,
120  0.0619931, 0.0615443, 0.061095, 0.0606437, 0.0601915, 0.0597378, 0.0592827, 0.0588265, 0.0583686, 0.05791, 0.0574493, 0.0569882, 0.0565247, 0.0560609, 0.055595, 0.0551285, 0.0546601, 0.054191, 0.0537202, 0.0532484,
121  0.0527753, 0.0523008, 0.0518254, 0.0513483, 0.0508705, 0.0503909, 0.0499108, 0.0494287, 0.0489461, 0.0484616, 0.0479767, 0.0474897, 0.0470025, 0.0465131, 0.0460235, 0.0455317, 0.0450398, 0.0445458, 0.0440515, 0.0435552,
122  0.0430586, 0.04256, 0.0420612, 0.0415603, 0.0410592, 0.0405562, 0.0400528, 0.0395475, 0.039042, 0.0385345, 0.0380268, 0.0375171, 0.0370073, 0.0364953, 0.0359834, 0.0354693, 0.0349552, 0.034439, 0.0339227, 0.0334045,
123  0.032886, 0.0323659, 0.0318452, 0.031323, 0.0308002, 0.0302761, 0.0297512, 0.0292252, 0.028698, 0.0281702, 0.0276409, 0.0271112, 0.0265798, 0.0260483, 0.0255148, 0.0249813, 0.0244459, 0.0239103, 0.0233731, 0.0228354,
124  0.0222964, 0.0217567, 0.021216, 0.0206742, 0.0201318, 0.019588, 0.0190439, 0.018498, 0.0179521, 0.0174044, 0.0168564, 0.0163071, 0.0157571, 0.0152062, 0.0146542, 0.0141018, 0.0135478, 0.0129937, 0.0124378, 0.0118817,
125  0.0113243, 0.0107663, 0.0102073, 0.00964732, 0.00908693, 0.00852496, 0.007963, 0.00739923, 0.00683529, 0.00627013, 0.00570424, 0.00513772, 0.00456988, 0.00400203, 0.00343225, 0.00286246, 0.00229137, 0.00171965, 0.00114727, 0.000573636,
126  0},
127 
128  {0, 0.00135166, 0.00270752, 0.00406723, 0.00543052, 0.0067968, 0.00816576, 0.00953697, 0.01091, 0.0122844, 0.0136597, 0.0150357, 0.0164118, 0.0177876, 0.0191627, 0.0205367, 0.0219092, 0.0232797, 0.024648, 0.0260136,
129  0.027376, 0.028735, 0.0300902, 0.0314411, 0.0327875, 0.0341289, 0.0354649, 0.0367955, 0.0381201, 0.0394383, 0.04075, 0.042055, 0.0433525, 0.0446427, 0.0459254, 0.0471998, 0.048466, 0.0497239, 0.0509732, 0.0522132,
130  0.0534442, 0.0546659, 0.0558782, 0.0570807, 0.0582731, 0.0594556, 0.0606279, 0.06179, 0.0629416, 0.0640825, 0.0652126, 0.0663318, 0.0674402, 0.0685376, 0.0696239, 0.0706991, 0.071763, 0.0728156, 0.0738568, 0.0748866,
131  0.075905, 0.0769119, 0.0779072, 0.078891, 0.0798632, 0.0808239, 0.081773, 0.0827105, 0.0836365, 0.0845509, 0.0854539, 0.0863453, 0.0872253, 0.0880939, 0.0889509, 0.0897963, 0.0906304, 0.0914533, 0.092265, 0.0930655,
132  0.0938546, 0.0946324, 0.0953993, 0.0961553, 0.0969003, 0.097634, 0.0983571, 0.0990697, 0.099771, 0.100462, 0.101142, 0.101812, 0.102471, 0.10312, 0.103759, 0.104387, 0.105005, 0.105613, 0.106211, 0.106799,
133  0.107377, 0.107945, 0.108504, 0.109053, 0.109592, 0.110122, 0.110642, 0.111153, 0.111654, 0.112147, 0.11263, 0.113105, 0.11357, 0.114027, 0.114474, 0.114913, 0.115343, 0.115765, 0.116178, 0.116582,
134  0.116979, 0.117366, 0.117746, 0.118118, 0.118481, 0.118836, 0.119184, 0.119523, 0.119855, 0.120179, 0.120495, 0.120804, 0.121106, 0.121399, 0.121686, 0.121965, 0.122237, 0.122501, 0.122759, 0.12301,
135  0.123253, 0.123489, 0.123719, 0.123942, 0.124158, 0.124367, 0.12457, 0.124766, 0.124956, 0.125139, 0.125316, 0.125486, 0.125651, 0.125809, 0.125961, 0.126107, 0.126246, 0.12638, 0.126507, 0.126629,
136  0.126745, 0.126856, 0.126961, 0.127059, 0.127152, 0.12724, 0.127322, 0.127398, 0.127469, 0.127535, 0.127595, 0.12765, 0.1277, 0.127745, 0.127784, 0.127819, 0.127848, 0.127872, 0.127892, 0.127906,
137  0.127915, 0.12792, 0.12792, 0.127915, 0.127905, 0.12789, 0.127871, 0.127847, 0.127819, 0.127786, 0.127749, 0.127707, 0.127661, 0.12761, 0.127555, 0.127496, 0.127432, 0.127364, 0.127292, 0.127216,
138  0.127136, 0.127052, 0.126963, 0.12687, 0.126774, 0.126673, 0.126569, 0.12646, 0.126348, 0.126232, 0.126112, 0.125989, 0.125861, 0.12573, 0.125594, 0.125456, 0.125314, 0.125168, 0.125019, 0.124866,
139  0.124709, 0.124549, 0.124385, 0.124219, 0.124049, 0.123875, 0.123697, 0.123517, 0.123333, 0.123146, 0.122956, 0.122762, 0.122565, 0.122365, 0.122162, 0.121956, 0.121746, 0.121534, 0.121318, 0.1211,
140  0.120878, 0.120653, 0.120425, 0.120195, 0.119962, 0.119725, 0.119485, 0.119243, 0.118998, 0.11875, 0.118499, 0.118245, 0.117989, 0.11773, 0.117468, 0.117203, 0.116936, 0.116666, 0.116393, 0.116118,
141  0.11584, 0.115559, 0.115276, 0.114991, 0.114702, 0.114411, 0.114118, 0.113822, 0.113523, 0.113222, 0.112919, 0.112613, 0.112305, 0.111995, 0.111682, 0.111366, 0.111049, 0.110729, 0.110406, 0.110082,
142  0.109755, 0.109425, 0.109094, 0.10876, 0.108424, 0.108086, 0.107746, 0.107403, 0.107059, 0.106711, 0.106362, 0.106012, 0.105658, 0.105302, 0.104945, 0.104585, 0.104223, 0.10386, 0.103494, 0.103126,
143  0.102756, 0.102384, 0.102011, 0.101634, 0.101257, 0.100877, 0.100495, 0.100112, 0.0997257, 0.0993382, 0.0989492, 0.0985574, 0.0981646, 0.0977694, 0.0973724, 0.0969742, 0.0965731, 0.096171, 0.0957667, 0.0953606,
144  0.0949533, 0.0945433, 0.0941323, 0.093719, 0.0933042, 0.0928879, 0.0924693, 0.0920498, 0.0916276, 0.0912044, 0.0907793, 0.0903524, 0.0899244, 0.0894938, 0.0890626, 0.0886288, 0.088194, 0.0877573, 0.087319, 0.0868794,
145  0.0864376, 0.0859952, 0.08555, 0.0851043, 0.0846562, 0.0842071, 0.0837563, 0.0833039, 0.0828502, 0.0823946, 0.0819382, 0.0814793, 0.08102, 0.0805581, 0.0800957, 0.079631, 0.0791655, 0.0786981, 0.0782296, 0.0777595,
146  0.0772879, 0.0768152, 0.0763406, 0.0758652, 0.0753877, 0.0749096, 0.0744293, 0.0739485, 0.0734653, 0.0729819, 0.0724959, 0.0720098, 0.0715212, 0.0710323, 0.0705411, 0.0700496, 0.0695557, 0.0690615, 0.0685651, 0.0680684,
147  0.0675694, 0.06707, 0.0665685, 0.0660666, 0.0655625, 0.0650582, 0.0645516, 0.0640448, 0.0635357, 0.0630264, 0.0625148, 0.0620032, 0.0614891, 0.0609751, 0.0604586, 0.0599421, 0.0594234, 0.0589044, 0.0583834, 0.0578619,
148  0.0573387, 0.0568148, 0.0562895, 0.0557632, 0.0552357, 0.0547069, 0.0541773, 0.0536462, 0.0531145, 0.052581, 0.0520472, 0.0515114, 0.0509755, 0.0504374, 0.0498992, 0.0493591, 0.0488185, 0.0482765, 0.0477336, 0.0471897,
149  0.0466445, 0.0460987, 0.0455512, 0.0450036, 0.0444538, 0.0439039, 0.0433523, 0.0428001, 0.0422467, 0.0416923, 0.0411372, 0.0405805, 0.0400237, 0.0394648, 0.0389059, 0.0383452, 0.037784, 0.0372217, 0.0366583, 0.0360944,
150  0.0355288, 0.0349632, 0.0343955, 0.0338277, 0.0332586, 0.0326885, 0.0321179, 0.0315457, 0.0309735, 0.0303993, 0.0298249, 0.0292493, 0.0286727, 0.0280957, 0.027517, 0.0269383, 0.0263578, 0.025777, 0.0251952, 0.0246122,
151  0.0240291, 0.023444, 0.022859, 0.0222725, 0.0216853, 0.0210977, 0.0205084, 0.0199191, 0.0193282, 0.0187368, 0.0181447, 0.0175513, 0.0169579, 0.0163626, 0.0157671, 0.0151708, 0.0145732, 0.0139757, 0.0133763, 0.0127767,
152  0.0121762, 0.0115746, 0.010973, 0.0103695, 0.00976587, 0.00916142, 0.00855578, 0.00795015, 0.00734277, 0.00673513, 0.00612685, 0.00551723, 0.00490761, 0.00429648, 0.00368488, 0.00307291, 0.00245935, 0.00184578, 0.00123104, 0.000615521,
153  0},
154 
155  {0, 0.00179287, 0.00359052, 0.00539216, 0.00719704, 0.00900437, 0.0108134, 0.0126233, 0.0144332, 0.0162425, 0.0180503, 0.0198558, 0.0216583, 0.023457, 0.0252512, 0.0270402, 0.0288232, 0.0305995, 0.0323685, 0.0341296,
156  0.035882, 0.037625, 0.0393583, 0.0410813, 0.0427931, 0.0444934, 0.0461819, 0.0478578, 0.0495207, 0.0511703, 0.0528061, 0.0544276, 0.0560349, 0.0576269, 0.059204, 0.0607656, 0.0623113, 0.0638413, 0.0653548, 0.0668521,
157  0.0683326, 0.0697965, 0.0712434, 0.0726733, 0.0740862, 0.0754815, 0.0768599, 0.0782206, 0.0795639, 0.0808901, 0.0821985, 0.0834894, 0.084763, 0.0860194, 0.0872577, 0.0884789, 0.0896829, 0.0908698, 0.0920394, 0.0931915,
158  0.0943266, 0.0954448, 0.0965462, 0.0976309, 0.0986989, 0.0997503, 0.100785, 0.101804, 0.102806, 0.103793, 0.104763, 0.105717, 0.106656, 0.10758, 0.108488, 0.10938, 0.110258, 0.111121, 0.111968, 0.112801,
159  0.113619, 0.114424, 0.115214, 0.11599, 0.116751, 0.117499, 0.118233, 0.118954, 0.119661, 0.120355, 0.121037, 0.121705, 0.12236, 0.123003, 0.123633, 0.124251, 0.124856, 0.12545, 0.126032, 0.126601,
160  0.127159, 0.127705, 0.12824, 0.128764, 0.129277, 0.129778, 0.130269, 0.130749, 0.131218, 0.131677, 0.132125, 0.132563, 0.132991, 0.133408, 0.133816, 0.134214, 0.134602, 0.134982, 0.13535, 0.13571,
161  0.136061, 0.136402, 0.136734, 0.137058, 0.137372, 0.137678, 0.137975, 0.138263, 0.138543, 0.138815, 0.139078, 0.139333, 0.13958, 0.139819, 0.140051, 0.140274, 0.140489, 0.140697, 0.140898, 0.141091,
162  0.141276, 0.141454, 0.141625, 0.141789, 0.141946, 0.142095, 0.142238, 0.142373, 0.142502, 0.142625, 0.14274, 0.14285, 0.142952, 0.143049, 0.143138, 0.143222, 0.143299, 0.14337, 0.143435, 0.143493,
163  0.143546, 0.143593, 0.143635, 0.14367, 0.1437, 0.143723, 0.143742, 0.143754, 0.143762, 0.143763, 0.14376, 0.143751, 0.143736, 0.143717, 0.143692, 0.143662, 0.143627, 0.143587, 0.143542, 0.143492,
164  0.143437, 0.143377, 0.143313, 0.143243, 0.143169, 0.143091, 0.143008, 0.142919, 0.142827, 0.14273, 0.142628, 0.142522, 0.142412, 0.142297, 0.142179, 0.142056, 0.141928, 0.141797, 0.141661, 0.141521,
165  0.141377, 0.141229, 0.141078, 0.140922, 0.140762, 0.140598, 0.14043, 0.140259, 0.140084, 0.139905, 0.139722, 0.139536, 0.139346, 0.139153, 0.138956, 0.138754, 0.13855, 0.138342, 0.138131, 0.137916,
166  0.137698, 0.137476, 0.137251, 0.137023, 0.136791, 0.136556, 0.136318, 0.136077, 0.135832, 0.135584, 0.135333, 0.13508, 0.134822, 0.134562, 0.134299, 0.134033, 0.133763, 0.133491, 0.133216, 0.132938,
167  0.132656, 0.132372, 0.132086, 0.131796, 0.131503, 0.131208, 0.13091, 0.130609, 0.130305, 0.129999, 0.12969, 0.129378, 0.129064, 0.128747, 0.128427, 0.128105, 0.12778, 0.127453, 0.127123, 0.126791,
168  0.126456, 0.126119, 0.125779, 0.125436, 0.125092, 0.124744, 0.124395, 0.124043, 0.123689, 0.123332, 0.122974, 0.122612, 0.122248, 0.121883, 0.121514, 0.121144, 0.120771, 0.120396, 0.12002, 0.11964,
169  0.119259, 0.118876, 0.11849, 0.118102, 0.117712, 0.11732, 0.116926, 0.11653, 0.116132, 0.115731, 0.115329, 0.114925, 0.114518, 0.114111, 0.1137, 0.113288, 0.112874, 0.112457, 0.11204, 0.111619,
170  0.111198, 0.110774, 0.110348, 0.109921, 0.109491, 0.109061, 0.108627, 0.108193, 0.107756, 0.107317, 0.106877, 0.106435, 0.105992, 0.105546, 0.105099, 0.10465, 0.104199, 0.103747, 0.103293, 0.102837,
171  0.102379, 0.101921, 0.10146, 0.100998, 0.100533, 0.100068, 0.0996003, 0.0991318, 0.098661, 0.0981892, 0.0977154, 0.0972402, 0.0967635, 0.0962851, 0.0958054, 0.0953239, 0.0948412, 0.0943565, 0.0938709, 0.0933832,
172  0.0928947, 0.0924039, 0.0919125, 0.0914187, 0.0909245, 0.0904278, 0.0899306, 0.089431, 0.0889311, 0.0884286, 0.0879258, 0.0874206, 0.086915, 0.0864071, 0.0858986, 0.085388, 0.0848768, 0.0843635, 0.0838496, 0.0833337,
173  0.082817, 0.0822986, 0.0817791, 0.0812582, 0.080736, 0.0802126, 0.0796877, 0.0791619, 0.0786344, 0.0781062, 0.0775759, 0.0770454, 0.0765125, 0.0759796, 0.0754442, 0.0749087, 0.074371, 0.0738328, 0.073293, 0.0727522,
174  0.0722102, 0.0716668, 0.0711227, 0.0705768, 0.0700306, 0.0694821, 0.0689335, 0.0683828, 0.0678317, 0.067279, 0.0667254, 0.0661708, 0.0656147, 0.0650582, 0.0644995, 0.0639408, 0.06338, 0.0628188, 0.0622562, 0.0616926,
175  0.0611282, 0.0605621, 0.059996, 0.0594274, 0.0588589, 0.0582886, 0.0577176, 0.0571458, 0.0565724, 0.0559989, 0.0554231, 0.0548473, 0.0542699, 0.0536916, 0.0531128, 0.0525321, 0.0519515, 0.0513688, 0.0507858, 0.0502017,
176  0.0496163, 0.0490308, 0.0484431, 0.0478554, 0.0472662, 0.0466762, 0.0460857, 0.0454933, 0.044901, 0.0443069, 0.0437123, 0.043117, 0.0425201, 0.0419231, 0.0413244, 0.0407252, 0.0401253, 0.0395238, 0.0389223, 0.0383191,
177  0.0377153, 0.037111, 0.036505, 0.0358991, 0.0352915, 0.0346833, 0.0340747, 0.0334643, 0.032854, 0.0322422, 0.0316296, 0.0310169, 0.0304022, 0.0297874, 0.0291717, 0.0285547, 0.0279378, 0.0273191, 0.0267, 0.0260804,
178  0.0254592, 0.0248379, 0.0242154, 0.0235921, 0.0229687, 0.0223434, 0.0217179, 0.0210918, 0.0204642, 0.0198366, 0.0192078, 0.0185781, 0.0179484, 0.0173169, 0.0166851, 0.016053, 0.0154192, 0.0147853, 0.0141506, 0.0135147,
179  0.0128787, 0.0122414, 0.0116035, 0.0109655, 0.0103257, 0.00968566, 0.00904539, 0.00840336, 0.00776132, 0.00711861, 0.00647456, 0.00583051, 0.00518541, 0.00453936, 0.00389331, 0.00324586, 0.00259782, 0.00194978, 0.00130004, 0.00065002,
180  0},
181 
182  {0, 0.00232214, 0.00464938, 0.00698026, 0.00931337, 0.0116471, 0.0139801, 0.0163108, 0.0186377, 0.0209595, 0.0232746, 0.0255817, 0.0278796, 0.0301668, 0.0324419, 0.034704, 0.036952, 0.0391842, 0.0414, 0.0435984,
183  0.0457784, 0.0479391, 0.0500795, 0.0521989, 0.0542966, 0.056372, 0.0584245, 0.0604535, 0.0624585, 0.0644391, 0.0663949, 0.0683255, 0.0702308, 0.0721103, 0.0739639, 0.0757912, 0.0775922, 0.0793672, 0.0811159, 0.082838,
184  0.0845335, 0.0862031, 0.0878462, 0.0894628, 0.091054, 0.0926184, 0.0941575, 0.0956705, 0.0971585, 0.0986207, 0.100058, 0.10147, 0.102858, 0.104222, 0.105561, 0.106876, 0.108168, 0.109436, 0.110681, 0.111903,
185  0.113103, 0.11428, 0.115435, 0.116568, 0.11768, 0.118771, 0.119841, 0.120891, 0.12192, 0.122929, 0.123918, 0.124887, 0.125838, 0.126769, 0.127682, 0.128576, 0.129452, 0.13031, 0.131151, 0.131975,
186  0.13278, 0.133569, 0.134342, 0.135099, 0.135839, 0.136562, 0.137271, 0.137964, 0.138642, 0.139304, 0.139953, 0.140586, 0.141205, 0.14181, 0.142401, 0.142978, 0.143541, 0.144092, 0.144629, 0.145153,
187  0.145665, 0.146164, 0.14665, 0.147124, 0.147586, 0.148037, 0.148474, 0.148902, 0.149317, 0.149721, 0.150114, 0.150496, 0.150868, 0.151228, 0.151578, 0.151919, 0.152248, 0.152568, 0.152878, 0.153177,
188  0.153467, 0.153748, 0.15402, 0.154281, 0.154534, 0.154777, 0.155013, 0.155238, 0.155455, 0.155664, 0.155864, 0.156056, 0.156239, 0.156414, 0.156581, 0.156741, 0.156893, 0.157036, 0.157172, 0.1573,
189  0.157421, 0.157534, 0.157641, 0.15774, 0.157832, 0.157917, 0.157995, 0.158066, 0.15813, 0.158187, 0.158238, 0.158282, 0.15832, 0.158351, 0.158376, 0.158395, 0.158407, 0.158414, 0.158414, 0.158409,
190  0.158397, 0.15838, 0.158357, 0.158328, 0.158293, 0.158253, 0.158208, 0.158157, 0.1581, 0.158038, 0.157971, 0.157899, 0.157821, 0.157738, 0.15765, 0.157557, 0.157459, 0.157356, 0.157249, 0.157136,
191  0.15702, 0.156897, 0.15677, 0.156639, 0.156503, 0.156363, 0.156218, 0.156069, 0.155915, 0.155757, 0.155594, 0.155427, 0.155257, 0.155082, 0.154903, 0.154719, 0.154531, 0.15434, 0.154145, 0.153945,
192  0.153742, 0.153534, 0.153323, 0.153109, 0.15289, 0.152667, 0.152441, 0.152212, 0.151979, 0.151741, 0.1515, 0.151256, 0.151009, 0.150758, 0.150503, 0.150245, 0.149984, 0.149719, 0.149451, 0.14918,
193  0.148906, 0.148627, 0.148346, 0.148063, 0.147775, 0.147484, 0.147191, 0.146894, 0.146594, 0.146291, 0.145986, 0.145677, 0.145365, 0.145051, 0.144733, 0.144413, 0.14409, 0.143764, 0.143434, 0.143103,
194  0.142769, 0.142431, 0.142092, 0.141749, 0.141404, 0.141056, 0.140705, 0.140352, 0.139997, 0.139638, 0.139277, 0.138914, 0.138548, 0.13818, 0.137809, 0.137435, 0.13706, 0.136682, 0.136301, 0.135919,
195  0.135533, 0.135146, 0.134756, 0.134363, 0.133969, 0.133572, 0.133173, 0.132772, 0.132368, 0.131963, 0.131554, 0.131144, 0.130732, 0.130317, 0.129901, 0.129482, 0.129062, 0.128638, 0.128214, 0.127787,
196  0.127358, 0.126927, 0.126493, 0.126059, 0.125621, 0.125183, 0.124742, 0.124299, 0.123854, 0.123407, 0.122959, 0.122508, 0.122056, 0.121601, 0.121145, 0.120687, 0.120227, 0.119766, 0.119302, 0.118837,
197  0.11837, 0.117902, 0.117431, 0.116959, 0.116484, 0.116009, 0.115531, 0.115053, 0.114571, 0.114089, 0.113605, 0.113119, 0.112632, 0.112143, 0.111652, 0.11116, 0.110666, 0.11017, 0.109673, 0.109174,
198  0.108674, 0.108172, 0.107669, 0.107164, 0.106658, 0.10615, 0.10564, 0.10513, 0.104617, 0.104103, 0.103588, 0.103071, 0.102552, 0.102033, 0.101512, 0.10099, 0.100465, 0.0999401, 0.0994127, 0.098885,
199  0.098355, 0.0978242, 0.0972917, 0.0967581, 0.096223, 0.0956865, 0.095149, 0.0946096, 0.0940698, 0.0935275, 0.0929852, 0.0924401, 0.091895, 0.0913477, 0.0907997, 0.0902502, 0.0896994, 0.0891477, 0.0885942, 0.0880403,
200  0.087484, 0.0869276, 0.086369, 0.0858099, 0.0852492, 0.0846874, 0.0841247, 0.0835601, 0.0829956, 0.0824283, 0.081861, 0.0812919, 0.0807219, 0.080151, 0.0795784, 0.0790057, 0.0784304, 0.0778551, 0.077278, 0.0767001,
201  0.0761214, 0.0755408, 0.0749603, 0.0743773, 0.0737942, 0.0732097, 0.0726239, 0.0720379, 0.0714496, 0.0708612, 0.0702712, 0.0696803, 0.0690889, 0.0684954, 0.067902, 0.0673066, 0.0667107, 0.066114, 0.0655155, 0.064917,
202  0.0643166, 0.0637156, 0.063114, 0.0625105, 0.0619071, 0.0613017, 0.0606958, 0.0600894, 0.059481, 0.0588727, 0.0582627, 0.0576519, 0.0570409, 0.0564277, 0.0558145, 0.0552, 0.0545844, 0.0539688, 0.0533511, 0.0527331,
203  0.0521144, 0.051494, 0.0508737, 0.0502518, 0.0496291, 0.0490063, 0.0483813, 0.0477562, 0.0471304, 0.046503, 0.0458757, 0.0452468, 0.0446171, 0.0439874, 0.0433555, 0.0427235, 0.042091, 0.0414568, 0.0408225, 0.0401871,
204  0.0395506, 0.0389141, 0.0382758, 0.0376371, 0.0369983, 0.0363573, 0.0357163, 0.0350748, 0.0344316, 0.0337884, 0.0331443, 0.0324988, 0.0318534, 0.0312067, 0.0305591, 0.0299114, 0.0292622, 0.0286124, 0.0279626, 0.0273108,
205  0.0266588, 0.0260068, 0.0253527, 0.0246986, 0.0240442, 0.0233879, 0.0227317, 0.0220749, 0.0214165, 0.0207582, 0.0200992, 0.0194387, 0.0187782, 0.0181169, 0.0174543, 0.0167917, 0.0161284, 0.0154637, 0.014799, 0.0141335,
206  0.0134667, 0.0128, 0.0121324, 0.0114636, 0.0107948, 0.0101252, 0.00945437, 0.00878352, 0.00811197, 0.00743909, 0.00676621, 0.00609275, 0.00541785, 0.00474295, 0.00406763, 0.00339073, 0.00271382, 0.00203669, 0.00135779, 0.000678897,
207  0},
208 
209  {0, 0.00295868, 0.00592246, 0.00888848, 0.0118539, 0.014816, 0.0177719, 0.020719, 0.0236545, 0.0265758, 0.0294806, 0.0323664, 0.035231, 0.0380722, 0.0408879, 0.0436763, 0.0464357, 0.0491646, 0.0518614, 0.0545245,
210  0.0571534, 0.0597465, 0.062303, 0.0648223, 0.0673034, 0.069746, 0.0721497, 0.0745137, 0.0768385, 0.0791233, 0.081368, 0.083573, 0.0857383, 0.0878639, 0.08995, 0.0919967, 0.0940044, 0.0959733, 0.0979038, 0.0997963,
211  0.101651, 0.103469, 0.105251, 0.106997, 0.108706, 0.11038, 0.112021, 0.113626, 0.115199, 0.116738, 0.118245, 0.11972, 0.121164, 0.122576, 0.12396, 0.125312, 0.126635, 0.127931, 0.129197, 0.130436,
212  0.131647, 0.132833, 0.133992, 0.135125, 0.136233, 0.137316, 0.138375, 0.13941, 0.140421, 0.14141, 0.142376, 0.14332, 0.144242, 0.145143, 0.146023, 0.146883, 0.147721, 0.148541, 0.149341, 0.150122,
213  0.150884, 0.151627, 0.152353, 0.153061, 0.153751, 0.154424, 0.155081, 0.155721, 0.156344, 0.156952, 0.157543, 0.15812, 0.158681, 0.159228, 0.159759, 0.160277, 0.16078, 0.161269, 0.161745, 0.162207,
214  0.162655, 0.163091, 0.163514, 0.163925, 0.164322, 0.164708, 0.165082, 0.165443, 0.165793, 0.166132, 0.166459, 0.166775, 0.167081, 0.167375, 0.167659, 0.167933, 0.168195, 0.168448, 0.168691, 0.168925,
215  0.169148, 0.169361, 0.169566, 0.169761, 0.169947, 0.170124, 0.170292, 0.170451, 0.170601, 0.170744, 0.170877, 0.171003, 0.17112, 0.171229, 0.17133, 0.171423, 0.171508, 0.171586, 0.171656, 0.171719,
216  0.171775, 0.171823, 0.171864, 0.171898, 0.171926, 0.171946, 0.171959, 0.171966, 0.171966, 0.171959, 0.171946, 0.171926, 0.171901, 0.171868, 0.17183, 0.171786, 0.171736, 0.171679, 0.171617, 0.171549,
217  0.171476, 0.171396, 0.171312, 0.171221, 0.171126, 0.171025, 0.170918, 0.170806, 0.170689, 0.170566, 0.170439, 0.170307, 0.170169, 0.170027, 0.16988, 0.169728, 0.169571, 0.169409, 0.169243, 0.169073,
218  0.168897, 0.168717, 0.168532, 0.168343, 0.16815, 0.167953, 0.167751, 0.167544, 0.167334, 0.16712, 0.166901, 0.166678, 0.166451, 0.166221, 0.165986, 0.165747, 0.165505, 0.165258, 0.165009, 0.164754,
219  0.164496, 0.164235, 0.163971, 0.163702, 0.163429, 0.163154, 0.162875, 0.162591, 0.162305, 0.162016, 0.161723, 0.161426, 0.161127, 0.160824, 0.160517, 0.160208, 0.159895, 0.159579, 0.15926, 0.158938,
220  0.158612, 0.158284, 0.157953, 0.157618, 0.157281, 0.156941, 0.156597, 0.156251, 0.155903, 0.15555, 0.155196, 0.154838, 0.154478, 0.154115, 0.153749, 0.15338, 0.15301, 0.152635, 0.152259, 0.15188,
221  0.151498, 0.151114, 0.150727, 0.150337, 0.149946, 0.149551, 0.149154, 0.148754, 0.148352, 0.147949, 0.147541, 0.147133, 0.146721, 0.146307, 0.145892, 0.145473, 0.145053, 0.144629, 0.144204, 0.143777,
222  0.143347, 0.142916, 0.142481, 0.142046, 0.141607, 0.141166, 0.140724, 0.140279, 0.139832, 0.139383, 0.138933, 0.138479, 0.138025, 0.137567, 0.137109, 0.136647, 0.136185, 0.13572, 0.135253, 0.134784,
223  0.134313, 0.133841, 0.133366, 0.13289, 0.132412, 0.131932, 0.13145, 0.130967, 0.130481, 0.129994, 0.129504, 0.129014, 0.128521, 0.128027, 0.12753, 0.127033, 0.126533, 0.126033, 0.125529, 0.125025,
224  0.124518, 0.124011, 0.123501, 0.12299, 0.122477, 0.121963, 0.121447, 0.12093, 0.12041, 0.11989, 0.119367, 0.118843, 0.118318, 0.117791, 0.117263, 0.116733, 0.116201, 0.115668, 0.115134, 0.114598,
225  0.114061, 0.113522, 0.112982, 0.11244, 0.111898, 0.111353, 0.110807, 0.11026, 0.109711, 0.109161, 0.108609, 0.108057, 0.107502, 0.106947, 0.10639, 0.105832, 0.105272, 0.104712, 0.10415, 0.103586,
226  0.103022, 0.102455, 0.101889, 0.10132, 0.10075, 0.100179, 0.0996065, 0.0990336, 0.0984582, 0.0978827, 0.0973051, 0.0967267, 0.0961473, 0.0955661, 0.0949849, 0.0944009, 0.0938169, 0.0932312, 0.0926444, 0.0920571,
227  0.0914674, 0.0908778, 0.0902861, 0.0896937, 0.0891006, 0.0885054, 0.0879102, 0.0873128, 0.0867149, 0.0861161, 0.0855155, 0.0849148, 0.084312, 0.0837086, 0.0831046, 0.0824985, 0.0818925, 0.0812845, 0.0806758, 0.0800666,
228  0.0794552, 0.0788439, 0.0782309, 0.077617, 0.077003, 0.0763864, 0.0757698, 0.0751521, 0.0745329, 0.0739137, 0.0732926, 0.0726708, 0.0720487, 0.0714244, 0.0708001, 0.0701746, 0.0695477, 0.0689209, 0.068292, 0.0676627,
229  0.0670331, 0.0664012, 0.0657693, 0.0651365, 0.0645021, 0.0638678, 0.0632318, 0.062595, 0.0619582, 0.0613192, 0.0606799, 0.0600403, 0.0593986, 0.0587569, 0.0581144, 0.0574703, 0.0568261, 0.0561808, 0.0555342, 0.0548877,
230  0.0542395, 0.0535906, 0.0529417, 0.0522908, 0.0516395, 0.0509882, 0.0503347, 0.049681, 0.0490272, 0.0483713, 0.0477153, 0.0470589, 0.0464006, 0.0457423, 0.0450835, 0.0444229, 0.0437623, 0.043101, 0.0424382, 0.0417753,
231  0.0411116, 0.0404465, 0.0397813, 0.0391154, 0.038448, 0.0377806, 0.0371125, 0.0364428, 0.0357732, 0.0351028, 0.034431, 0.0337591, 0.0330867, 0.0324126, 0.0317385, 0.031064, 0.0303878, 0.0297115, 0.029035, 0.0283566,
232  0.0276781, 0.0269997, 0.0263191, 0.0256385, 0.0249579, 0.0242754, 0.0235927, 0.0229099, 0.0222257, 0.0215408, 0.0208559, 0.0201699, 0.0194829, 0.0187959, 0.0181082, 0.0174191, 0.01673, 0.0160406, 0.0153494, 0.0146583,
233  0.0139671, 0.013274, 0.0125808, 0.0118875, 0.011193, 0.0104977, 0.00980235, 0.00910632, 0.00840896, 0.0077116, 0.00701415, 0.00631477, 0.00561538, 0.00491599, 0.00421515, 0.00351375, 0.00281235, 0.00211021, 0.0014068, 0.000703402,
234  0},
235 
236  {0, 0.00372622, 0.00745647, 0.0111854, 0.0149078, 0.0186181, 0.0223116, 0.0259832, 0.029628, 0.0332419, 0.0368207, 0.0403603, 0.0438576, 0.0473091, 0.0507121, 0.0540643, 0.0573628, 0.0606066, 0.0637939, 0.0669235,
237  0.0699942, 0.0730053, 0.0759564, 0.078847, 0.0816773, 0.0844474, 0.0871578, 0.0898082, 0.0923994, 0.0949326, 0.0974072, 0.0998253, 0.102187, 0.104493, 0.106745, 0.108944, 0.11109, 0.113184, 0.115229, 0.117224,
238  0.11917, 0.12107, 0.122923, 0.12473, 0.126494, 0.128214, 0.129893, 0.131529, 0.133126, 0.134684, 0.136203, 0.137684, 0.139129, 0.140538, 0.141912, 0.143252, 0.144558, 0.145833, 0.147075, 0.148286,
239  0.149467, 0.150618, 0.15174, 0.152834, 0.153901, 0.15494, 0.155953, 0.15694, 0.157902, 0.158839, 0.159751, 0.16064, 0.161506, 0.16235, 0.163172, 0.163972, 0.16475, 0.165507, 0.166245, 0.166963,
240  0.16766, 0.168339, 0.169, 0.169641, 0.170265, 0.170871, 0.171459, 0.172032, 0.172587, 0.173126, 0.173649, 0.174157, 0.174648, 0.175126, 0.175587, 0.176035, 0.176468, 0.176888, 0.177293, 0.177685,
241  0.178064, 0.178429, 0.178782, 0.179123, 0.17945, 0.179766, 0.18007, 0.180362, 0.180643, 0.180912, 0.18117, 0.181417, 0.181653, 0.181879, 0.182094, 0.182298, 0.182493, 0.182678, 0.182853, 0.183019,
242  0.183174, 0.18332, 0.183457, 0.183585, 0.183705, 0.183815, 0.183917, 0.18401, 0.184095, 0.184171, 0.184239, 0.184299, 0.184351, 0.184396, 0.184432, 0.184461, 0.184483, 0.184497, 0.184504, 0.184504,
243  0.184496, 0.184482, 0.18446, 0.184432, 0.184397, 0.184356, 0.184308, 0.184253, 0.184192, 0.184125, 0.184052, 0.183973, 0.183887, 0.183795, 0.183697, 0.183594, 0.183484, 0.18337, 0.183249, 0.183124,
244  0.182993, 0.182855, 0.182713, 0.182565, 0.182412, 0.182255, 0.182092, 0.181924, 0.18175, 0.181572, 0.181389, 0.181202, 0.18101, 0.180813, 0.18061, 0.180404, 0.180193, 0.179979, 0.179758, 0.179534,
245  0.179305, 0.179073, 0.178835, 0.178594, 0.178348, 0.178099, 0.177845, 0.177587, 0.177325, 0.17706, 0.17679, 0.176516, 0.176239, 0.175958, 0.175673, 0.175384, 0.175092, 0.174796, 0.174496, 0.174194,
246  0.173887, 0.173577, 0.173263, 0.172947, 0.172626, 0.172302, 0.171976, 0.171645, 0.171311, 0.170975, 0.170634, 0.170291, 0.169945, 0.169595, 0.169243, 0.168888, 0.168528, 0.168167, 0.167802, 0.167435,
247  0.167065, 0.166691, 0.166315, 0.165936, 0.165554, 0.165169, 0.164782, 0.164391, 0.163999, 0.163603, 0.163205, 0.162804, 0.1624, 0.161995, 0.161585, 0.161175, 0.160761, 0.160344, 0.159926, 0.159504,
248  0.159081, 0.158654, 0.158226, 0.157795, 0.157362, 0.156927, 0.156488, 0.156048, 0.155605, 0.155161, 0.154713, 0.154264, 0.153813, 0.153359, 0.152903, 0.152445, 0.151985, 0.151522, 0.151058, 0.150591,
249  0.150123, 0.149652, 0.149179, 0.148704, 0.148227, 0.147748, 0.147268, 0.146785, 0.1463, 0.145813, 0.145324, 0.144834, 0.144341, 0.143847, 0.143351, 0.142853, 0.142353, 0.141851, 0.141348, 0.140843,
250  0.140335, 0.139826, 0.139315, 0.138803, 0.138289, 0.137773, 0.137255, 0.136736, 0.136215, 0.135692, 0.135168, 0.134641, 0.134114, 0.133584, 0.133054, 0.132521, 0.131987, 0.131451, 0.130914, 0.130375,
251  0.129834, 0.129292, 0.128749, 0.128204, 0.127657, 0.127109, 0.126559, 0.126009, 0.125455, 0.124902, 0.124346, 0.123789, 0.123231, 0.122671, 0.12211, 0.121547, 0.120984, 0.120417, 0.119851, 0.119283,
252  0.118713, 0.118142, 0.11757, 0.116997, 0.116421, 0.115845, 0.115267, 0.114688, 0.114109, 0.113527, 0.112945, 0.11236, 0.111775, 0.111188, 0.1106, 0.110012, 0.109421, 0.10883, 0.108237, 0.107643,
253  0.107048, 0.106451, 0.105854, 0.105255, 0.104655, 0.104055, 0.103452, 0.102849, 0.102244, 0.101638, 0.101032, 0.100423, 0.0998144, 0.0992041, 0.0985925, 0.0979809, 0.0973666, 0.0967521, 0.0961367, 0.0955194,
254  0.0949021, 0.0942828, 0.0936627, 0.0930423, 0.0924194, 0.0917966, 0.0911725, 0.0905469, 0.0899213, 0.0892935, 0.0886652, 0.0880366, 0.0874055, 0.0867744, 0.0861423, 0.0855086, 0.0848748, 0.0842393, 0.0836029, 0.0829665,
255  0.0823277, 0.0816886, 0.0810491, 0.0804074, 0.0797657, 0.0791231, 0.0784788, 0.0778345, 0.0771887, 0.0765418, 0.0758949, 0.0752462, 0.0745967, 0.0739472, 0.0732955, 0.0726435, 0.0719914, 0.0713369, 0.0706823, 0.0700275,
256  0.0693704, 0.0687133, 0.0680558, 0.0673962, 0.0667366, 0.0660764, 0.0654143, 0.0647522, 0.0640895, 0.0634249, 0.0627604, 0.0620951, 0.0614281, 0.0607611, 0.0600935, 0.059424, 0.0587546, 0.0580846, 0.0574128, 0.0567409,
257  0.0560686, 0.0553944, 0.0547202, 0.0540456, 0.0533691, 0.0526925, 0.0520158, 0.0513369, 0.0506579, 0.049979, 0.0492979, 0.0486166, 0.0479353, 0.0472522, 0.0465686, 0.045885, 0.0452, 0.0445141, 0.0438282, 0.0431413,
258  0.0424531, 0.0417649, 0.0410762, 0.0403858, 0.0396953, 0.0390049, 0.0383122, 0.0376195, 0.0369268, 0.0362324, 0.0355375, 0.0348426, 0.0341466, 0.0334495, 0.0327523, 0.0320548, 0.0313555, 0.0306561, 0.0299568, 0.0292556,
259  0.0285541, 0.0278526, 0.02715, 0.0264463, 0.0257426, 0.0250387, 0.0243328, 0.023627, 0.0229212, 0.0222138, 0.0215059, 0.0207979, 0.0200893, 0.0193792, 0.0186691, 0.0179591, 0.0172472, 0.016535, 0.0158228, 0.0151099,
260  0.0143956, 0.0136813, 0.0129671, 0.012251, 0.0115347, 0.0108183, 0.0101013, 0.00938289, 0.00866451, 0.00794613, 0.0072261, 0.00650568, 0.00578526, 0.00506437, 0.00434193, 0.00361949, 0.00289705, 0.00217335, 0.0014489, 0.000724449,
261  0},
262 
263  {0, 0.00465353, 0.00930808, 0.0139535, 0.0185797, 0.0231771, 0.0277365, 0.0322493, 0.0367076, 0.0411044, 0.045433, 0.0496882, 0.0538654, 0.0579605, 0.0619702, 0.065892, 0.0697243, 0.073466, 0.0771168, 0.0806756,
264  0.0841437, 0.0875206, 0.0908083, 0.0940077, 0.0971194, 0.100146, 0.103088, 0.105949, 0.108729, 0.111431, 0.114057, 0.116608, 0.119088, 0.121497, 0.123838, 0.126113, 0.128323, 0.13047, 0.132557, 0.134585,
265  0.136556, 0.138471, 0.140333, 0.142142, 0.143901, 0.14561, 0.147272, 0.148887, 0.150457, 0.151985, 0.153468, 0.154911, 0.156314, 0.157678, 0.159005, 0.160293, 0.161547, 0.162766, 0.163951, 0.165103,
266  0.166222, 0.167311, 0.168369, 0.169398, 0.170398, 0.17137, 0.172314, 0.173232, 0.174124, 0.17499, 0.175831, 0.176648, 0.177442, 0.178213, 0.178961, 0.179687, 0.180391, 0.181076, 0.181738, 0.182381,
267  0.183006, 0.183609, 0.184195, 0.184762, 0.185311, 0.185843, 0.186358, 0.186856, 0.187337, 0.187802, 0.188251, 0.188685, 0.189104, 0.189507, 0.189897, 0.190271, 0.190632, 0.190979, 0.191312, 0.191632,
268  0.19194, 0.192234, 0.192516, 0.192786, 0.193044, 0.193289, 0.193523, 0.193746, 0.193958, 0.194158, 0.194347, 0.194526, 0.194694, 0.194853, 0.195001, 0.195139, 0.195267, 0.195385, 0.195494, 0.195594,
269  0.195684, 0.195766, 0.195839, 0.195903, 0.195958, 0.196005, 0.196044, 0.196074, 0.196096, 0.19611, 0.196116, 0.196115, 0.196106, 0.196089, 0.196066, 0.196034, 0.195996, 0.19595, 0.195898, 0.195838,
270  0.195772, 0.195699, 0.195619, 0.195533, 0.195441, 0.195342, 0.195237, 0.195126, 0.195009, 0.194885, 0.194756, 0.194621, 0.19448, 0.194333, 0.194181, 0.194024, 0.19386, 0.193691, 0.193517, 0.193338,
271  0.193154, 0.192965, 0.192769, 0.192569, 0.192365, 0.192156, 0.191941, 0.191722, 0.191497, 0.191269, 0.191036, 0.190798, 0.190555, 0.190309, 0.190058, 0.189802, 0.189542, 0.189278, 0.18901, 0.188737,
272  0.18846, 0.18818, 0.187895, 0.187606, 0.187313, 0.187017, 0.186716, 0.186411, 0.186104, 0.185792, 0.185476, 0.185157, 0.184835, 0.184508, 0.184178, 0.183845, 0.183508, 0.183168, 0.182824, 0.182476,
273  0.182127, 0.181773, 0.181415, 0.181056, 0.180692, 0.180325, 0.179956, 0.179583, 0.179207, 0.178828, 0.178446, 0.178061, 0.177673, 0.177282, 0.176889, 0.176491, 0.176092, 0.175689, 0.175284, 0.174877,
274  0.174466, 0.174053, 0.173636, 0.173218, 0.172796, 0.172372, 0.171946, 0.171516, 0.171085, 0.17065, 0.170213, 0.169774, 0.169332, 0.168888, 0.168441, 0.167993, 0.16754, 0.167087, 0.16663, 0.166172,
275  0.165711, 0.165248, 0.164783, 0.164315, 0.163846, 0.163373, 0.162899, 0.162422, 0.161945, 0.161463, 0.160981, 0.160495, 0.160009, 0.159519, 0.159029, 0.158535, 0.158041, 0.157543, 0.157044, 0.156542,
276  0.15604, 0.155534, 0.155028, 0.154518, 0.154009, 0.153495, 0.152981, 0.152464, 0.151947, 0.151426, 0.150904, 0.15038, 0.149855, 0.149328, 0.148799, 0.148268, 0.147736, 0.147201, 0.146665, 0.146128,
277  0.145588, 0.145048, 0.144505, 0.143961, 0.143415, 0.142868, 0.142318, 0.141768, 0.141215, 0.140661, 0.140106, 0.139549, 0.138991, 0.13843, 0.137869, 0.137306, 0.136741, 0.136175, 0.135607, 0.135039,
278  0.134468, 0.133896, 0.133322, 0.132748, 0.132172, 0.131593, 0.131015, 0.130434, 0.129853, 0.129269, 0.128684, 0.128099, 0.127511, 0.126923, 0.126332, 0.125741, 0.125149, 0.124554, 0.12396, 0.123363,
279  0.122765, 0.122166, 0.121566, 0.120965, 0.120361, 0.119757, 0.119152, 0.118545, 0.117938, 0.117329, 0.116719, 0.116108, 0.115495, 0.114881, 0.114266, 0.11365, 0.113033, 0.112414, 0.111795, 0.111175,
280  0.110552, 0.10993, 0.109306, 0.10868, 0.108055, 0.107427, 0.106799, 0.106169, 0.105538, 0.104907, 0.104274, 0.10364, 0.103006, 0.102369, 0.101732, 0.101095, 0.100455, 0.0998157, 0.0991747, 0.0985322,
281  0.0978897, 0.0972453, 0.0966001, 0.0959548, 0.0953071, 0.0946591, 0.0940109, 0.0933601, 0.0927093, 0.0920581, 0.0914045, 0.090751, 0.0900967, 0.0894404, 0.0887842, 0.0881269, 0.087468, 0.086809, 0.0861489, 0.0854873,
282  0.0848256, 0.0841627, 0.0834985, 0.0828342, 0.0821686, 0.0815017, 0.0808348, 0.0801666, 0.0794971, 0.0788275, 0.0781568, 0.0774847, 0.0768126, 0.0761394, 0.0754648, 0.0747901, 0.0741145, 0.0734373, 0.0727601, 0.0720823,
283  0.0714025, 0.0707228, 0.0700427, 0.0693605, 0.0686783, 0.067996, 0.0673113, 0.0666266, 0.0659419, 0.0652552, 0.064568, 0.0638808, 0.0631921, 0.0625025, 0.0618129, 0.0611223, 0.0604302, 0.0597382, 0.0590457, 0.0583513,
284  0.0576568, 0.0569624, 0.0562658, 0.055569, 0.0548721, 0.0541739, 0.0534747, 0.0527755, 0.0520757, 0.0513742, 0.0506726, 0.049971, 0.0492674, 0.0485635, 0.0478596, 0.0471545, 0.0464483, 0.0457421, 0.0450357, 0.0443272,
285  0.0436187, 0.0429102, 0.0422002, 0.0414894, 0.0407786, 0.0400674, 0.0393543, 0.0386413, 0.0379283, 0.0372136, 0.0364984, 0.0357831, 0.0350674, 0.0343499, 0.0336324, 0.032915, 0.032196, 0.0314763, 0.0307567, 0.0300367,
286  0.0293149, 0.028593, 0.0278712, 0.0271482, 0.0264242, 0.0257002, 0.0249762, 0.0242502, 0.023524, 0.0227979, 0.0220712, 0.0213429, 0.0206146, 0.0198863, 0.0191568, 0.0184264, 0.017696, 0.0169656, 0.0162334, 0.0155009,
287  0.0147684, 0.0140356, 0.0133011, 0.0125665, 0.0118319, 0.0110966, 0.01036, 0.00962335, 0.00888672, 0.00814893, 0.00741025, 0.00667158, 0.00593291, 0.00519273, 0.00445202, 0.00371132, 0.00297062, 0.00222814, 0.00148543, 0.000742713,
288  0},
289 
290  {0, 0.00577596, 0.0115458, 0.0172904, 0.0229911, 0.0286301, 0.034192, 0.0396622, 0.045029, 0.0502812, 0.0554111, 0.0604123, 0.06528, 0.0700113, 0.0746034, 0.0790576, 0.0833726, 0.087551, 0.0915947, 0.0955061,
291  0.0992885, 0.102945, 0.106479, 0.109895, 0.113196, 0.116386, 0.11947, 0.12245, 0.125331, 0.128116, 0.130809, 0.133412, 0.135931, 0.138367, 0.140724, 0.143005, 0.145212, 0.147348, 0.149416, 0.151419,
292  0.153359, 0.155238, 0.157058, 0.158821, 0.160529, 0.162185, 0.163789, 0.165344, 0.166852, 0.168314, 0.169731, 0.171105, 0.172436, 0.173728, 0.174982, 0.176196, 0.177373, 0.178515, 0.179623, 0.180697,
293  0.181738, 0.182748, 0.183727, 0.184676, 0.185596, 0.186487, 0.187352, 0.188189, 0.189001, 0.189787, 0.190548, 0.191285, 0.192, 0.19269, 0.193359, 0.194007, 0.194631, 0.195237, 0.195822, 0.196386,
294  0.196933, 0.197459, 0.197969, 0.198459, 0.198933, 0.199388, 0.199827, 0.20025, 0.200656, 0.201048, 0.201423, 0.201784, 0.20213, 0.20246, 0.202778, 0.203081, 0.20337, 0.203646, 0.20391, 0.20416,
295  0.204398, 0.204623, 0.204837, 0.205039, 0.205229, 0.205407, 0.205574, 0.205731, 0.205876, 0.206012, 0.206136, 0.206249, 0.206353, 0.206447, 0.206532, 0.206607, 0.206673, 0.206729, 0.206776, 0.206815,
296  0.206844, 0.206865, 0.206877, 0.206881, 0.206877, 0.206865, 0.206844, 0.206816, 0.20678, 0.206736, 0.206685, 0.206627, 0.206561, 0.206488, 0.206408, 0.206321, 0.206228, 0.206127, 0.206021, 0.205907,
297  0.205786, 0.205659, 0.205526, 0.205387, 0.205243, 0.205092, 0.204935, 0.204771, 0.204602, 0.204428, 0.204248, 0.204063, 0.203871, 0.203674, 0.203472, 0.203265, 0.203053, 0.202836, 0.202613, 0.202385,
298  0.202153, 0.201916, 0.201673, 0.201425, 0.201174, 0.200918, 0.200656, 0.200391, 0.200121, 0.199847, 0.199568, 0.199285, 0.198998, 0.198705, 0.198409, 0.19811, 0.197806, 0.197497, 0.197186, 0.19687,
299  0.196549, 0.196226, 0.195899, 0.195567, 0.195232, 0.194894, 0.19455, 0.194205, 0.193855, 0.193502, 0.193146, 0.192785, 0.192422, 0.192056, 0.191685, 0.191311, 0.190935, 0.190554, 0.190171, 0.189785,
300  0.189395, 0.189003, 0.188606, 0.188208, 0.187806, 0.1874, 0.186994, 0.186582, 0.186169, 0.185752, 0.185332, 0.18491, 0.184485, 0.184058, 0.183626, 0.183193, 0.182757, 0.182319, 0.181878, 0.181433,
301  0.180988, 0.180538, 0.180087, 0.179632, 0.179176, 0.178716, 0.178255, 0.177791, 0.177324, 0.176856, 0.176384, 0.175912, 0.175435, 0.174958, 0.174476, 0.173995, 0.173509, 0.173023, 0.172532, 0.172042,
302  0.171547, 0.171052, 0.170553, 0.170054, 0.169551, 0.169047, 0.16854, 0.168032, 0.167521, 0.16701, 0.166494, 0.165979, 0.165459, 0.16494, 0.164417, 0.163893, 0.163366, 0.162839, 0.162308, 0.161777,
303  0.161243, 0.160708, 0.160171, 0.159631, 0.159091, 0.158548, 0.158005, 0.157458, 0.15691, 0.15636, 0.155809, 0.155256, 0.154702, 0.154146, 0.153587, 0.153029, 0.152466, 0.151904, 0.151339, 0.150773,
304  0.150206, 0.149636, 0.149066, 0.148493, 0.14792, 0.147344, 0.146767, 0.146189, 0.145609, 0.145029, 0.144445, 0.143861, 0.143275, 0.142688, 0.1421, 0.141509, 0.140918, 0.140325, 0.13973, 0.139135,
305  0.138538, 0.13794, 0.13734, 0.136739, 0.136137, 0.135532, 0.134928, 0.134321, 0.133713, 0.133105, 0.132494, 0.131883, 0.13127, 0.130656, 0.130041, 0.129424, 0.128806, 0.128187, 0.127567, 0.126946,
306  0.126323, 0.125699, 0.125074, 0.124447, 0.12382, 0.123192, 0.122562, 0.121932, 0.121299, 0.120666, 0.120032, 0.119396, 0.11876, 0.118122, 0.117483, 0.116844, 0.116203, 0.11556, 0.114918, 0.114273,
307  0.113628, 0.112983, 0.112334, 0.111686, 0.111037, 0.110386, 0.109735, 0.109083, 0.108429, 0.107775, 0.107119, 0.106462, 0.105805, 0.105147, 0.104487, 0.103827, 0.103166, 0.102503, 0.10184, 0.101176,
308  0.10051, 0.0998443, 0.0991772, 0.0985088, 0.0978403, 0.0971705, 0.0964992, 0.095828, 0.0951555, 0.0944816, 0.0938076, 0.0931325, 0.0924558, 0.0917791, 0.0911016, 0.0904222, 0.0897428, 0.0890629, 0.0883808, 0.0876987,
309  0.0870165, 0.0863318, 0.085647, 0.0849623, 0.0842752, 0.0835879, 0.0829005, 0.0822114, 0.0815214, 0.0808314, 0.0801402, 0.0794477, 0.0787551, 0.078062, 0.0773669, 0.0766717, 0.0759766, 0.0752791, 0.0745814, 0.0738837,
310  0.0731845, 0.0724843, 0.0717841, 0.0710831, 0.0703804, 0.0696777, 0.068975, 0.06827, 0.0675648, 0.0668596, 0.0661532, 0.0654455, 0.0647379, 0.06403, 0.0633199, 0.0626098, 0.0618997, 0.061188, 0.0604755, 0.059763,
311  0.0590501, 0.0583352, 0.0576203, 0.0569054, 0.0561889, 0.0554716, 0.0547543, 0.0540368, 0.0533171, 0.0525975, 0.0518779, 0.0511569, 0.0504349, 0.049713, 0.048991, 0.0482668, 0.0475425, 0.0468182, 0.0460932, 0.0453666,
312  0.04464, 0.0439134, 0.0431853, 0.0424565, 0.0417276, 0.0409988, 0.0402677, 0.0395366, 0.0388055, 0.0380737, 0.0373404, 0.036607, 0.0358737, 0.0351392, 0.0344036, 0.0336681, 0.0329325, 0.0321953, 0.0314576, 0.0307198,
313  0.0299821, 0.0292423, 0.0285024, 0.0277624, 0.0270223, 0.0262802, 0.0255381, 0.024796, 0.0240535, 0.0233093, 0.022565, 0.0218208, 0.0210759, 0.0203296, 0.0195832, 0.0188369, 0.0180898, 0.0173413, 0.0165928, 0.0158444,
314  0.0150951, 0.0143446, 0.013594, 0.0128435, 0.0120922, 0.0113396, 0.010587, 0.00983434, 0.00908105, 0.00832639, 0.00757173, 0.00681707, 0.00606189, 0.0053052, 0.00454851, 0.00379181, 0.00303483, 0.00227612, 0.00151741, 0.000758707,
315  0.}
316  };
317 
318  //---- Corrections for ME1/1 chambers (very different parameters from the other chambers):
319 
320  //---- min SW ~ 3.15 cm, max SW ~ 7.6 cm
321  //---- Corrections are calculated for N_SW_ME1_1 strip widths (0.3 - 0.8 cm)
322  //---- and for 501 values in
323  float corrections_ME1_1[n_SW_ME1_1][n_val] = {
324  {0, -0.000153178, -0.000304723, -0.000454635, -0.000602913, -0.000749555, -0.000894561, -0.00103785, -0.00117926, -0.00131904, -0.0014572, -0.00159372, -0.00172861, -0.00186188, -0.00199351, -0.00212325, -0.00225135, -0.00237783, -0.00250269, -0.00262593,
325  -0.00274755, -0.00286755, -0.00298594, -0.00310249, -0.00321741, -0.00333073, -0.00344243, -0.00355254, -0.00366104, -0.00376795, -0.00387325, -0.00397696, -0.00407892, -0.00417925, -0.004278, -0.00437517, -0.00447075, -0.00456477, -0.00465721, -0.00474808,
326  -0.00483738, -0.00492512, -0.00501128, -0.00509574, -0.00517866, -0.00526003, -0.00533986, -0.00541815, -0.0054949, -0.00557013, -0.00564383, -0.005716, -0.00578666, -0.0058558, -0.00592344, -0.00598956, -0.0060541, -0.00611712, -0.00617865, -0.00623871,
327  -0.00629728, -0.00635438, -0.00641001, -0.00646418, -0.00651689, -0.00656815, -0.00661796, -0.00666633, -0.00671326, -0.00675877, -0.00680284, -0.0068455, -0.00688674, -0.00692658, -0.00696502, -0.00700205, -0.00703765, -0.00707187, -0.00710472, -0.0071362,
328  -0.00716631, -0.00719508, -0.00722249, -0.00724857, -0.00727331, -0.00729672, -0.00731881, -0.00733959, -0.00735907, -0.00737724, -0.00739412, -0.00740972, -0.00742404, -0.00743709, -0.00744888, -0.00745941, -0.0074687, -0.00747675, -0.00748356, -0.00748915,
329  -0.00749352, -0.00749668, -0.00749865, -0.00749942, -0.00749901, -0.00749742, -0.00749466, -0.00749074, -0.00748567, -0.00747946, -0.00747211, -0.00746363, -0.00745404, -0.00744334, -0.00743153, -0.00741864, -0.00740466, -0.00738961, -0.00737348, -0.00735631,
330  -0.00733808, -0.00731881, -0.00729852, -0.0072772, -0.00725487, -0.00723153, -0.0072072, -0.00718189, -0.0071556, -0.00712834, -0.00710012, -0.00707096, -0.00704085, -0.00700982, -0.00697785, -0.00694495, -0.00691116, -0.00687647, -0.0068409, -0.00680445,
331  -0.00676714, -0.00672898, -0.00668997, -0.00665013, -0.00660946, -0.00656797, -0.00652568, -0.00648259, -0.00643872, -0.00639407, -0.00634865, -0.00630247, -0.00625554, -0.00620788, -0.00615949, -0.00611038, -0.00606056, -0.00601004, -0.0059588, -0.00590688,
332  -0.0058543, -0.00580105, -0.00574716, -0.00569262, -0.00563746, -0.00558167, -0.00552528, -0.00546828, -0.0054107, -0.00535254, -0.0052938, -0.00523451, -0.00517467, -0.00511428, -0.00505337, -0.00499193, -0.00492995, -0.00486748, -0.00480451, -0.00474107,
333  -0.00467715, -0.00461278, -0.00454795, -0.00448268, -0.00441698, -0.00435086, -0.00428433, -0.0042174, -0.00415007, -0.00408237, -0.00401429, -0.00394583, -0.00387701, -0.00380785, -0.00373836, -0.00366854, -0.00359842, -0.00352799, -0.00345726, -0.00338625,
334  -0.00331496, -0.00324341, -0.00317161, -0.00309955, -0.00302726, -0.00295474, -0.00288199, -0.00280904, -0.00273588, -0.00266254, -0.00258902, -0.00251532, -0.00244147, -0.00236747, -0.00229332, -0.00221904, -0.00214463, -0.00207011, -0.00199549, -0.00192076,
335  -0.00184594, -0.00177105, -0.00169609, -0.00162107, -0.001546, -0.00147088, -0.00139573, -0.00132056, -0.00124538, -0.00117018, -0.00109499, -0.00101981, -0.000944646, -0.000869513, -0.000794418, -0.000719369, -0.000644374, -0.000569442, -0.000494581, -0.000419799,
336  -0.000345105, -0.000270507, -0.000196013, -0.000121632, -4.73709e-05, 2.67578e-05, 0.000100743, 0.000174583, 0.000248269, 0.000321794, 0.000395148, 0.000468326, 0.000541318, 0.000614116, 0.000686715, 0.000759104, 0.000831278, 0.000903227, 0.000974946, 0.00104642,
337  0.00111763, 0.0011886, 0.0012593, 0.00132973, 0.00139988, 0.00146975, 0.00153933, 0.00160862, 0.00167759, 0.00174626, 0.0018146, 0.00188262, 0.00195031, 0.00201765, 0.00208463, 0.00215125, 0.00221752, 0.00228341, 0.00234893, 0.00241407,
338  0.00247883, 0.00254319, 0.00260715, 0.0026707, 0.00273384, 0.00279656, 0.00285885, 0.00292071, 0.00298214, 0.0030431, 0.0031036, 0.00316365, 0.00322324, 0.00328236, 0.003341, 0.00339916, 0.00345684, 0.00351402, 0.00357071, 0.0036269,
339  0.00368257, 0.00373773, 0.00379238, 0.0038465, 0.00390008, 0.00395313, 0.00400564, 0.00405758, 0.00410897, 0.0041598, 0.00421006, 0.00425977, 0.00430889, 0.00435745, 0.00440542, 0.0044528, 0.00449959, 0.00454579, 0.00459138, 0.00463637,
340  0.00468075, 0.00472452, 0.00476766, 0.00481018, 0.00485207, 0.00489333, 0.00493396, 0.00497394, 0.00501327, 0.00505193, 0.00508994, 0.00512729, 0.00516398, 0.0052, 0.00523535, 0.00527003, 0.00530403, 0.00533735, 0.00536998, 0.00540192,
341  0.00543317, 0.00546373, 0.00549358, 0.00552273, 0.00555118, 0.00557891, 0.00560592, 0.00563222, 0.0056578, 0.00568266, 0.00570678, 0.00573018, 0.00575284, 0.00577476, 0.00579595, 0.00581639, 0.00583608, 0.00585503, 0.00587322, 0.00589066,
342  0.00590734, 0.00592325, 0.00593841, 0.0059528, 0.00596642, 0.00597926, 0.00599133, 0.00600263, 0.00601314, 0.00602286, 0.00603181, 0.00603996, 0.00604733, 0.00605391, 0.00605969, 0.00606468, 0.00606887, 0.00607226, 0.00607484, 0.00607663,
343  0.0060776, 0.00607777, 0.00607713, 0.00607568, 0.00607341, 0.00607033, 0.00606642, 0.0060617, 0.00605616, 0.00604979, 0.0060426, 0.00603458, 0.00602574, 0.00601606, 0.00600555, 0.00599421, 0.00598202, 0.005969, 0.00595514, 0.00594044,
344  0.0059249, 0.00590852, 0.00589129, 0.00587322, 0.0058543, 0.00583454, 0.00581392, 0.00579246, 0.00577014, 0.00574698, 0.00572296, 0.00569809, 0.00567236, 0.00564578, 0.00561834, 0.00559004, 0.00556088, 0.00553087, 0.00549999, 0.00546825,
345  0.00543566, 0.00540219, 0.00536787, 0.00533268, 0.00529663, 0.00525971, 0.00522193, 0.00518328, 0.00514376, 0.00510338, 0.00506213, 0.00502001, 0.004977, 0.0049331, 0.00488833, 0.00484269, 0.00479618, 0.0047488, 0.00470054, 0.00465142,
346  0.00460142, 0.00455055, 0.00449881, 0.00444619, 0.0043927, 0.00433834, 0.00428311, 0.004227, 0.00417002, 0.00411217, 0.00405344, 0.00399384, 0.00393331, 0.0038719, 0.00380962, 0.00374647, 0.00368244, 0.00361755, 0.00355177, 0.00348513,
347  0.00341761, 0.00334922, 0.00327996, 0.00320982, 0.00313882, 0.00306694, 0.00299419, 0.00292049, 0.00284593, 0.00277049, 0.00269419, 0.00261701, 0.00253897, 0.00246005, 0.00238027, 0.00229962, 0.0022181, 0.00213572, 0.00205247, 0.00196832,
348  0.00188325, 0.00179732, 0.00171052, 0.00162285, 0.00153432, 0.00144493, 0.00135468, 0.00126357, 0.00117159, 0.00107876, 0.000985051, 0.000890399, 0.000794889, 0.000698521, 0.000601296, 0.000503215, 0.000404279, 0.000304488, 0.000203844, 0.000102348,
349  0},
350 
351  {0, 6.5726e-05, 0.000133561, 0.000203493, 0.000275507, 0.000349591, 0.000425731, 0.000503913, 0.000584123, 0.000666346, 0.00075057, 0.000836778, 0.000924956, 0.00101512, 0.00110734, 0.00120149, 0.00129755, 0.0013955, 0.00149533, 0.00159703,
352  0.00170057, 0.00180594, 0.00191312, 0.00202214, 0.00213306, 0.00224575, 0.00236018, 0.00247634, 0.00259421, 0.00271377, 0.00283502, 0.00295792, 0.00308257, 0.00320889, 0.00333682, 0.00346633, 0.00359741, 0.00373004, 0.0038642, 0.00399987,
353  0.00413719, 0.00427598, 0.00441622, 0.00455789, 0.00470098, 0.00484546, 0.00499132, 0.00513867, 0.00528737, 0.00543738, 0.00558868, 0.00574126, 0.00589509, 0.0060502, 0.00620661, 0.00636422, 0.006523, 0.00668292, 0.00684398, 0.00700614,
354  0.00716953, 0.00733397, 0.00749946, 0.00766597, 0.00783349, 0.00800198, 0.00817156, 0.00834207, 0.00851349, 0.00868581, 0.008859, 0.00903307, 0.00920805, 0.00938383, 0.0095604, 0.00973774, 0.00991582, 0.0100947, 0.0102743, 0.0104545,
355  0.0106355, 0.010817, 0.0109992, 0.011182, 0.0113654, 0.0115494, 0.0117339, 0.0119188, 0.0121043, 0.0122903, 0.0124768, 0.0126636, 0.0128508, 0.0130384, 0.0132265, 0.0134148, 0.0136034, 0.0137924, 0.0139816, 0.014171,
356  0.0143607, 0.0145506, 0.0147407, 0.014931, 0.0151214, 0.0153119, 0.0155025, 0.0156932, 0.0158839, 0.0160747, 0.0162655, 0.0164563, 0.0166471, 0.0168378, 0.0170284, 0.017219, 0.0174094, 0.0175997, 0.0177899, 0.0179799,
357  0.0181697, 0.0183593, 0.0185486, 0.0187377, 0.0189266, 0.0191151, 0.0193033, 0.0194912, 0.0196788, 0.019866, 0.0200528, 0.0202392, 0.0204251, 0.0206106, 0.0207957, 0.0209803, 0.0211643, 0.0213479, 0.0215309, 0.0217134,
358  0.0218953, 0.0220766, 0.0222573, 0.0224374, 0.0226168, 0.0227956, 0.0229738, 0.0231512, 0.0233279, 0.0235038, 0.0236791, 0.0238536, 0.0240274, 0.0242003, 0.0243724, 0.0245437, 0.0247142, 0.0248839, 0.0250527, 0.0252206,
359  0.0253875, 0.0255536, 0.0257188, 0.0258831, 0.0260464, 0.0262087, 0.02637, 0.0265304, 0.0266898, 0.0268482, 0.0270055, 0.0271617, 0.0273169, 0.0274711, 0.0276241, 0.0277761, 0.0279271, 0.0280768, 0.0282254, 0.0283729,
360  0.0285192, 0.0286644, 0.0288084, 0.0289513, 0.0290929, 0.0292333, 0.0293725, 0.0295104, 0.0296472, 0.0297827, 0.029917, 0.03005, 0.0301816, 0.030312, 0.0304411, 0.030569, 0.0306955, 0.0308207, 0.0309446, 0.0310671,
361  0.0311883, 0.0313081, 0.0314265, 0.0315436, 0.0316593, 0.0317737, 0.0318867, 0.0319983, 0.0321083, 0.032217, 0.0323243, 0.0324301, 0.0325346, 0.0326376, 0.0327392, 0.0328393, 0.032938, 0.0330352, 0.0331308, 0.033225,
362  0.0333178, 0.033409, 0.0334988, 0.033587, 0.0336738, 0.0337591, 0.0338429, 0.0339252, 0.0340059, 0.0340851, 0.0341627, 0.0342388, 0.0343134, 0.0343864, 0.0344579, 0.0345278, 0.0345962, 0.0346631, 0.0347284, 0.0347921,
363  0.0348543, 0.0349149, 0.034974, 0.0350314, 0.0350872, 0.0351414, 0.0351941, 0.0352452, 0.0352947, 0.0353426, 0.0353889, 0.0354337, 0.0354768, 0.0355183, 0.0355583, 0.0355966, 0.0356334, 0.0356685, 0.0357021, 0.035734,
364  0.0357643, 0.035793, 0.0358201, 0.0358456, 0.0358695, 0.0358917, 0.0359124, 0.0359314, 0.0359488, 0.0359646, 0.0359788, 0.0359913, 0.0360023, 0.0360116, 0.0360193, 0.0360253, 0.0360298, 0.0360326, 0.0360338, 0.0360334,
365  0.0360314, 0.0360278, 0.0360225, 0.0360156, 0.0360071, 0.035997, 0.0359853, 0.0359719, 0.035957, 0.0359404, 0.0359222, 0.0359024, 0.035881, 0.0358579, 0.0358333, 0.035807, 0.0357792, 0.0357497, 0.0357186, 0.035686,
366  0.0356517, 0.0356158, 0.0355783, 0.0355393, 0.0354986, 0.0354563, 0.0354125, 0.0353671, 0.03532, 0.0352714, 0.0352212, 0.0351695, 0.0351161, 0.0350612, 0.0350047, 0.0349465, 0.0348868, 0.0348255, 0.0347626, 0.0346982,
367  0.0346322, 0.0345646, 0.0344955, 0.0344248, 0.0343526, 0.0342788, 0.0342035, 0.0341267, 0.0340483, 0.0339683, 0.0338867, 0.0338036, 0.0337189, 0.0336327, 0.033545, 0.0334558, 0.033365, 0.0332727, 0.033179, 0.0330837,
368  0.0329869, 0.0328884, 0.0327885, 0.032687, 0.0325841, 0.0324796, 0.0323737, 0.0322663, 0.0321574, 0.0320471, 0.0319352, 0.0318217, 0.0317067, 0.0315903, 0.0314724, 0.0313531, 0.0312323, 0.0311101, 0.0309864, 0.0308611,
369  0.0307343, 0.0306061, 0.0304764, 0.0303454, 0.0302129, 0.030079, 0.0299436, 0.0298066, 0.0296683, 0.0295285, 0.0293873, 0.0292448, 0.0291008, 0.0289554, 0.0288084, 0.02866, 0.0285102, 0.0283591, 0.0282066, 0.0280528,
370  0.0278974, 0.0277405, 0.0275823, 0.0274228, 0.0272619, 0.0270996, 0.026936, 0.0267707, 0.0266042, 0.0264363, 0.0262672, 0.0260967, 0.0259247, 0.0257513, 0.0255766, 0.0254005, 0.0252232, 0.0250446, 0.0248644, 0.0246829,
371  0.0245001, 0.024316, 0.0241307, 0.023944, 0.0237558, 0.0235663, 0.0233755, 0.0231836, 0.0229903, 0.0227955, 0.0225994, 0.0224021, 0.0222036, 0.0220039, 0.0218025, 0.0215999, 0.0213962, 0.0211912, 0.020985, 0.0207772,
372  0.0205682, 0.0203581, 0.0201468, 0.0199341, 0.01972, 0.0195047, 0.0192883, 0.0190707, 0.0188516, 0.0186313, 0.0184098, 0.0181872, 0.0179633, 0.017738, 0.0175115, 0.0172839, 0.0170552, 0.016825, 0.0165935, 0.016361,
373  0.0161274, 0.0158925, 0.0156562, 0.0154188, 0.0151803, 0.0149406, 0.0146995, 0.0144573, 0.0142141, 0.0139697, 0.0137239, 0.0134769, 0.0132289, 0.0129799, 0.0127293, 0.0124777, 0.0122251, 0.0119713, 0.0117161, 0.0114599,
374  0.0112026, 0.0109442, 0.0106844, 0.0104236, 0.0101618, 0.00989884, 0.00963451, 0.0093692, 0.00910291, 0.0088353, 0.00856651, 0.00829675, 0.00802603, 0.00775384, 0.00748065, 0.0072065, 0.00693127, 0.00665466, 0.00637711, 0.00609864,
375  0.00581885, 0.00553794, 0.00525611, 0.00497331, 0.00468906, 0.0044039, 0.00411784, 0.00383053, 0.00354207, 0.00325273, 0.00296242, 0.0026707, 0.0023781, 0.00208463, 0.00178985, 0.00149403, 0.00119734, 0.000899595, 0.000600576, 0.000300709,
376  0},
377 
378  {0, 0.000336602, 0.000675667, 0.00101718, 0.00136154, 0.00170824, 0.00205733, 0.00240907, 0.00276303, 0.00311932, 0.00347805, 0.00383888, 0.004202, 0.00456732, 0.00493462, 0.00530417, 0.00567568, 0.00604907, 0.0064246, 0.00680187,
379  0.00718103, 0.00756203, 0.00794465, 0.00832913, 0.00871518, 0.0091028, 0.00949208, 0.00988274, 0.010275, 0.0106685, 0.0110634, 0.0114597, 0.0118572, 0.0122559, 0.0126558, 0.0130567, 0.0134588, 0.0138618, 0.0142658, 0.0146707,
380  0.0150763, 0.0154829, 0.0158901, 0.0162981, 0.0167067, 0.0171159, 0.0175257, 0.0179359, 0.0183466, 0.0187577, 0.0191691, 0.0195808, 0.0199927, 0.0204048, 0.0208171, 0.0212294, 0.0216418, 0.0220541, 0.0224664, 0.0228786,
381  0.0232907, 0.0237025, 0.024114, 0.0245253, 0.0249362, 0.0253467, 0.0257567, 0.0261662, 0.0265752, 0.0269837, 0.0273914, 0.0277985, 0.0282049, 0.0286104, 0.0290152, 0.0294191, 0.0298221, 0.0302242, 0.0306252, 0.0310253,
382  0.0314242, 0.031822, 0.0322187, 0.0326141, 0.0330084, 0.0334013, 0.0337929, 0.0341832, 0.0345721, 0.0349596, 0.0353455, 0.0357299, 0.0361129, 0.0364942, 0.0368739, 0.037252, 0.0376283, 0.0380031, 0.0383759, 0.038747,
383  0.0391164, 0.0394838, 0.0398494, 0.0402131, 0.0405747, 0.0409346, 0.0412923, 0.041648, 0.0420018, 0.0423533, 0.0427028, 0.0430502, 0.0433953, 0.0437383, 0.0440792, 0.0444176, 0.044754, 0.0450881, 0.0454197, 0.0457491,
384  0.0460762, 0.0464007, 0.046723, 0.047043, 0.0473603, 0.0476753, 0.047988, 0.0482978, 0.0486053, 0.0489105, 0.0492129, 0.0495127, 0.0498101, 0.0501049, 0.050397, 0.0506865, 0.0509736, 0.0512577, 0.0515393, 0.0518183,
385  0.0520946, 0.0523681, 0.052639, 0.0529072, 0.0531726, 0.0534352, 0.0536952, 0.0539526, 0.0542069, 0.0544585, 0.0547074, 0.0549536, 0.0551968, 0.0554373, 0.055675, 0.05591, 0.056142, 0.0563711, 0.0565975, 0.0568211,
386  0.057042, 0.0572597, 0.0574746, 0.0576868, 0.0578962, 0.0581027, 0.0583061, 0.0585068, 0.0587047, 0.0588998, 0.0590919, 0.059281, 0.0594673, 0.0596508, 0.0598315, 0.0600093, 0.060184, 0.0603559, 0.0605249, 0.0606912,
387  0.0608546, 0.0610152, 0.0611726, 0.0613272, 0.061479, 0.061628, 0.0617742, 0.0619175, 0.0620579, 0.0621953, 0.0623299, 0.0624616, 0.0625906, 0.0627167, 0.06284, 0.0629605, 0.063078, 0.0631927, 0.0633045, 0.0634136,
388  0.0635198, 0.0636232, 0.0637239, 0.0638218, 0.0639169, 0.0640092, 0.0640985, 0.064185, 0.0642688, 0.0643499, 0.0644281, 0.0645037, 0.0645765, 0.0646465, 0.0647138, 0.0647784, 0.0648402, 0.0648993, 0.0649557, 0.0650094,
389  0.0650602, 0.0651084, 0.0651539, 0.0651967, 0.0652368, 0.0652742, 0.065309, 0.0653411, 0.0653706, 0.0653974, 0.0654216, 0.0654431, 0.065462, 0.0654783, 0.065492, 0.0655031, 0.0655116, 0.0655175, 0.0655209, 0.0655216,
390  0.0655198, 0.0655154, 0.0655085, 0.065499, 0.065487, 0.0654725, 0.0654555, 0.0654359, 0.0654138, 0.0653893, 0.0653623, 0.0653327, 0.0653008, 0.0652663, 0.0652294, 0.0651901, 0.0651483, 0.0651042, 0.0650576, 0.0650086,
391  0.064957, 0.0649031, 0.0648468, 0.0647881, 0.064727, 0.0646636, 0.0645979, 0.0645298, 0.0644593, 0.0643866, 0.0643115, 0.0642342, 0.0641545, 0.0640726, 0.0639884, 0.0639017, 0.0638128, 0.0637216, 0.0636281, 0.0635325,
392  0.0634346, 0.0633345, 0.0632322, 0.0631278, 0.0630211, 0.0629121, 0.0628008, 0.0626874, 0.0625718, 0.0624541, 0.0623343, 0.0622124, 0.0620883, 0.0619621, 0.0618335, 0.0617029, 0.0615702, 0.0614354, 0.0612986, 0.0611598,
393  0.0610189, 0.0608757, 0.0607304, 0.0605831, 0.0604338, 0.0602826, 0.0601293, 0.0599741, 0.0598165, 0.059657, 0.0594955, 0.0593321, 0.0591669, 0.0589997, 0.0588301, 0.0586587, 0.0584854, 0.0583102, 0.0581332, 0.0579542,
394  0.0577729, 0.0575899, 0.057405, 0.0572183, 0.0570299, 0.0568392, 0.0566466, 0.0564522, 0.0562561, 0.0560583, 0.0558583, 0.0556563, 0.0554527, 0.0552474, 0.0550403, 0.0548311, 0.0546201, 0.0544074, 0.054193, 0.0539769,
395  0.0537586, 0.0535387, 0.0533171, 0.0530939, 0.0528688, 0.0526417, 0.0524131, 0.0521829, 0.0519509, 0.0517169, 0.0514813, 0.0512441, 0.0510055, 0.0507646, 0.0505221, 0.0502782, 0.0500328, 0.0497852, 0.0495361, 0.0492855,
396  0.0490334, 0.0487792, 0.0485235, 0.0482664, 0.0480078, 0.047747, 0.0474849, 0.0472213, 0.0469562, 0.046689, 0.0464205, 0.0461506, 0.045879, 0.0456056, 0.0453309, 0.0450548, 0.0447767, 0.0444972, 0.0442164, 0.043934,
397  0.0436498, 0.0433642, 0.0430774, 0.0427887, 0.0424985, 0.042207, 0.0419141, 0.0416193, 0.0413233, 0.0410261, 0.0407269, 0.0404264, 0.0401247, 0.0398213, 0.0395163, 0.0392102, 0.0389026, 0.0385933, 0.0382828, 0.0379711,
398  0.0376574, 0.0373427, 0.0370268, 0.0367089, 0.0363899, 0.0360698, 0.0357479, 0.0354247, 0.0351004, 0.0347744, 0.0344471, 0.0341187, 0.0337887, 0.0334573, 0.0331248, 0.0327908, 0.0324554, 0.032119, 0.0317809, 0.0314415,
399  0.0311012, 0.0307592, 0.0304159, 0.0300717, 0.0297257, 0.0293786, 0.0290306, 0.0286807, 0.0283298, 0.0279779, 0.0276242, 0.0272695, 0.0269138, 0.0265563, 0.026198, 0.0258384, 0.0254773, 0.0251153, 0.0247518, 0.0243872,
400  0.0240217, 0.0236543, 0.0232861, 0.0229169, 0.022546, 0.0221743, 0.0218012, 0.0214268, 0.0210517, 0.0206749, 0.0202971, 0.0199184, 0.019538, 0.019157, 0.0187745, 0.0183908, 0.0180064, 0.0176202, 0.0172333, 0.0168452,
401  0.0164558, 0.0160656, 0.0156739, 0.0152812, 0.0148876, 0.0144925, 0.0140967, 0.0136994, 0.0133012, 0.0129021, 0.0125015, 0.0121002, 0.0116975, 0.0112938, 0.0108893, 0.0104832, 0.0100766, 0.00966846, 0.00925949, 0.00884953,
402  0.00843822, 0.00802638, 0.00761284, 0.00719869, 0.00678337, 0.00636692, 0.00594983, 0.00553111, 0.0051119, 0.00469127, 0.00426981, 0.00384742, 0.00342373, 0.00299959, 0.00257369, 0.00214735, 0.00171971, 0.00129118, 0.000861804, 0.000431112,
403  0},
404 
405  {0, 0.00067284, 0.00134879, 0.00202776, 0.00270996, 0.00339501, 0.00408276, 0.00477335, 0.00546651, 0.00616208, 0.00686005, 0.00756033, 0.00826268, 0.00896702, 0.00967339, 0.0103815, 0.0110912, 0.0118026, 0.0125154, 0.0132295,
406  0.0139448, 0.0146612, 0.0153786, 0.0160968, 0.0168158, 0.0175354, 0.0182555, 0.0189759, 0.0196967, 0.0204176, 0.0211385, 0.0218593, 0.02258, 0.0233003, 0.0240202, 0.0247395, 0.0254582, 0.0261762, 0.0268932, 0.0276093,
407  0.0283243, 0.0290381, 0.0297505, 0.0304615, 0.0311711, 0.031879, 0.0325851, 0.0332894, 0.0339919, 0.0346922, 0.0353905, 0.0360866, 0.0367803, 0.0374715, 0.0381604, 0.0388467, 0.0395302, 0.0402111, 0.0408891, 0.0415641,
408  0.0422361, 0.0429052, 0.0435709, 0.0442335, 0.0448928, 0.0455486, 0.046201, 0.0468499, 0.0474952, 0.0481369, 0.0487748, 0.0494089, 0.0500393, 0.0506655, 0.051288, 0.0519065, 0.0525207, 0.053131, 0.053737, 0.0543388,
409  0.0549365, 0.0555296, 0.0561186, 0.056703, 0.057283, 0.0578587, 0.0584296, 0.0589963, 0.059558, 0.0601155, 0.060668, 0.061216, 0.0617592, 0.0622977, 0.0628315, 0.0633604, 0.0638846, 0.0644038, 0.0649184, 0.0654278,
410  0.0659327, 0.0664323, 0.0669273, 0.067417, 0.0679021, 0.0683819, 0.0688571, 0.069327, 0.0697921, 0.0702521, 0.070707, 0.0711571, 0.0716019, 0.0720421, 0.0724768, 0.0729068, 0.0733315, 0.0737513, 0.0741662, 0.0745758,
411  0.0749807, 0.0753801, 0.0757748, 0.0761645, 0.0765489, 0.0769287, 0.0773031, 0.0776727, 0.0780375, 0.0783968, 0.0787515, 0.0791012, 0.0794457, 0.0797855, 0.0801204, 0.08045, 0.080775, 0.0810952, 0.0814101, 0.0817204,
412  0.082026, 0.0823263, 0.0826219, 0.082913, 0.0831989, 0.08348, 0.0837566, 0.0840285, 0.0842952, 0.0845573, 0.084815, 0.0850679, 0.0853158, 0.0855591, 0.0857981, 0.0860324, 0.0862617, 0.0864865, 0.0867069, 0.0869229,
413  0.0871341, 0.0873407, 0.0875429, 0.0877407, 0.0879342, 0.0881229, 0.0883071, 0.088487, 0.0886627, 0.088834, 0.0890011, 0.0891634, 0.0893215, 0.0894754, 0.0896251, 0.0897706, 0.089912, 0.090049, 0.0901816, 0.0903101,
414  0.0904345, 0.0905549, 0.0906711, 0.0907833, 0.0908915, 0.0909957, 0.0910955, 0.0911914, 0.0912833, 0.0913713, 0.0914553, 0.0915355, 0.0916117, 0.0916841, 0.0917526, 0.0918173, 0.0918782, 0.0919353, 0.0919886, 0.092038,
415  0.0920836, 0.0921255, 0.0921637, 0.0921982, 0.0922291, 0.0922563, 0.0922799, 0.0922999, 0.0923163, 0.0923292, 0.0923385, 0.0923442, 0.0923465, 0.0923452, 0.0923405, 0.0923323, 0.0923207, 0.0923056, 0.0922872, 0.0922654,
416  0.0922402, 0.0922117, 0.0921799, 0.0921447, 0.0921063, 0.0920646, 0.0920197, 0.0919714, 0.0919199, 0.0918652, 0.0918073, 0.0917462, 0.091682, 0.0916146, 0.0915442, 0.0914707, 0.0913941, 0.0913145, 0.0912319, 0.0911462,
417  0.0910576, 0.0909659, 0.0908711, 0.0907733, 0.0906725, 0.0905689, 0.0904624, 0.0903531, 0.0902409, 0.0901259, 0.0900081, 0.0898871, 0.0897633, 0.0896368, 0.0895075, 0.0893755, 0.0892408, 0.0891035, 0.0889633, 0.0888202,
418  0.0886744, 0.088526, 0.088375, 0.0882214, 0.0880653, 0.0879063, 0.0877446, 0.0875803, 0.0874136, 0.0872444, 0.0870727, 0.0868983, 0.0867211, 0.0865416, 0.0863597, 0.0861754, 0.0859887, 0.0857991, 0.0856071, 0.0854128,
419  0.0852163, 0.0850175, 0.0848158, 0.0846117, 0.0844055, 0.084197, 0.0839864, 0.0837728, 0.0835571, 0.0833392, 0.0831192, 0.0828968, 0.0826718, 0.0824447, 0.0822156, 0.0819844, 0.0817504, 0.0815143, 0.0812763, 0.0810363,
420  0.0807935, 0.0805487, 0.0803019, 0.0800533, 0.079802, 0.0795486, 0.0792933, 0.0790362, 0.0787765, 0.0785147, 0.0782512, 0.0779858, 0.0777177, 0.0774478, 0.0771762, 0.0769024, 0.0766263, 0.0763485, 0.076069, 0.075787,
421  0.0755031, 0.0752175, 0.0749301, 0.0746402, 0.0743487, 0.0740556, 0.07376, 0.0734626, 0.0731637, 0.0728628, 0.0725597, 0.0722551, 0.0719488, 0.0716401, 0.0713298, 0.0710182, 0.070704, 0.0703882, 0.0700711, 0.0697516,
422  0.0694305, 0.069108, 0.0687833, 0.0684569, 0.0681291, 0.0677993, 0.0674676, 0.0671347, 0.0667997, 0.0664629, 0.0661248, 0.0657847, 0.0654429, 0.0650999, 0.0647547, 0.064408, 0.0640601, 0.0637099, 0.0633583, 0.0630055,
423  0.0626503, 0.062294, 0.0619363, 0.0615764, 0.0612154, 0.0608528, 0.0604883, 0.0601227, 0.0597552, 0.0593861, 0.0590161, 0.0586437, 0.0582702, 0.0578954, 0.0575185, 0.0571407, 0.056761, 0.0563799, 0.0559978, 0.0556134,
424  0.0552281, 0.0548412, 0.0544526, 0.0540632, 0.0536716, 0.053279, 0.0528851, 0.0524892, 0.0520926, 0.051694, 0.0512943, 0.0508933, 0.0504905, 0.0500869, 0.0496813, 0.0492747, 0.0488668, 0.0484572, 0.0480468, 0.0476344,
425  0.047221, 0.0468063, 0.0463901, 0.0459731, 0.0455539, 0.0451341, 0.0447126, 0.04429, 0.0438662, 0.0434407, 0.0430147, 0.0425864, 0.0421576, 0.0417272, 0.0412956, 0.0408629, 0.0404286, 0.0399937, 0.0395567, 0.0391192,
426  0.03868, 0.0382398, 0.0377984, 0.0373556, 0.036912, 0.0364666, 0.0360208, 0.0355729, 0.0351245, 0.0346744, 0.0342235, 0.0337713, 0.0333179, 0.0328636, 0.0324077, 0.0319513, 0.0314929, 0.0310342, 0.0305736, 0.0301125,
427  0.0296498, 0.0291863, 0.0287215, 0.0282556, 0.0277887, 0.0273206, 0.0268516, 0.0263811, 0.0259101, 0.0254373, 0.0249642, 0.0244892, 0.024014, 0.0235368, 0.0230593, 0.0225801, 0.0221005, 0.0216193, 0.0211375, 0.0206542,
428  0.0201703, 0.019685, 0.0191989, 0.0187117, 0.0182235, 0.0177342, 0.017244, 0.0167527, 0.0162605, 0.0157672, 0.0152729, 0.0147777, 0.0142814, 0.0137843, 0.013286, 0.0127868, 0.0122866, 0.0117855, 0.0112834, 0.0107803,
429  0.0102763, 0.00977131, 0.00926534, 0.00875847, 0.00825062, 0.00774184, 0.00723215, 0.00672146, 0.00620995, 0.00569735, 0.00518404, 0.00466955, 0.00415446, 0.00363809, 0.00312124, 0.00260299, 0.0020844, 0.00156428, 0.00104398, 0.00052199,
430  0},
431 
432  {0, 0.00109345, 0.00219081, 0.00329183, 0.00439625, 0.00550381, 0.00661425, 0.0077273, 0.00884269, 0.00996015, 0.0110795, 0.0122003, 0.0133224, 0.0144455, 0.0155693, 0.0166936, 0.017818, 0.0189424, 0.0200664, 0.0211898,
433  0.0223123, 0.0234336, 0.0245535, 0.0256718, 0.0267882, 0.0279024, 0.0290142, 0.0301233, 0.0312294, 0.0323325, 0.0334321, 0.0345282, 0.0356204, 0.0367086, 0.0377926, 0.0388721, 0.0399469, 0.0410168, 0.0420815, 0.0431411,
434  0.0441951, 0.0452436, 0.0462862, 0.0473229, 0.0483534, 0.0493777, 0.0503955, 0.0514067, 0.0524112, 0.0534088, 0.0543994, 0.0553829, 0.0563592, 0.057328, 0.0582895, 0.0592434, 0.0601896, 0.061128, 0.0620586, 0.0629813,
435  0.0638959, 0.0648023, 0.0657006, 0.0665907, 0.0674726, 0.0683461, 0.0692114, 0.0700682, 0.0709164, 0.071756, 0.072587, 0.0734096, 0.0742236, 0.0750291, 0.0758256, 0.0766134, 0.0773927, 0.0781634, 0.0789253, 0.0796782,
436  0.0804226, 0.0811584, 0.0818854, 0.0826035, 0.083313, 0.0840142, 0.084706, 0.0853895, 0.0860646, 0.0867305, 0.087388, 0.0880373, 0.0886774, 0.0893093, 0.0899329, 0.0905475, 0.091154, 0.0917519, 0.0923414, 0.0929229,
437  0.0934955, 0.0940604, 0.0946164, 0.0951647, 0.0957045, 0.0962364, 0.0967601, 0.0972757, 0.0977834, 0.098283, 0.0987748, 0.0992587, 0.0997347, 0.100203, 0.100663, 0.101116, 0.101561, 0.101999, 0.102429, 0.102852,
438  0.103266, 0.103674, 0.104074, 0.104467, 0.104853, 0.105231, 0.105602, 0.105967, 0.106324, 0.106674, 0.107017, 0.107353, 0.107682, 0.108005, 0.10832, 0.108629, 0.108931, 0.109226, 0.109515, 0.109798,
439  0.110074, 0.110343, 0.110606, 0.110863, 0.111113, 0.111357, 0.111595, 0.111827, 0.112053, 0.112272, 0.112486, 0.112693, 0.112895, 0.113091, 0.11328, 0.113464, 0.113643, 0.113815, 0.113982, 0.114143,
440  0.114299, 0.114449, 0.114594, 0.114733, 0.114867, 0.114995, 0.115118, 0.115236, 0.115348, 0.115455, 0.115558, 0.115655, 0.115746, 0.115833, 0.115915, 0.115992, 0.116064, 0.116131, 0.116193, 0.11625,
441  0.116302, 0.11635, 0.116393, 0.116431, 0.116465, 0.116494, 0.116519, 0.116539, 0.116554, 0.116565, 0.116571, 0.116574, 0.116571, 0.116565, 0.116554, 0.116539, 0.116519, 0.116495, 0.116468, 0.116436,
442  0.1164, 0.116359, 0.116315, 0.116267, 0.116215, 0.116159, 0.116099, 0.116035, 0.115967, 0.115895, 0.115819, 0.115739, 0.115656, 0.115569, 0.115478, 0.115384, 0.115286, 0.115185, 0.11508, 0.114971,
443  0.114858, 0.114742, 0.114623, 0.1145, 0.114373, 0.114244, 0.114111, 0.113974, 0.113834, 0.113691, 0.113544, 0.113394, 0.113241, 0.113085, 0.112926, 0.112763, 0.112596, 0.112427, 0.112255, 0.11208,
444  0.111902, 0.11172, 0.111535, 0.111348, 0.111157, 0.110964, 0.110767, 0.110568, 0.110365, 0.11016, 0.109952, 0.109741, 0.109527, 0.10931, 0.109091, 0.108869, 0.108644, 0.108416, 0.108185, 0.107953,
445  0.107716, 0.107477, 0.107236, 0.106993, 0.106746, 0.106497, 0.106245, 0.105991, 0.105734, 0.105474, 0.105213, 0.104948, 0.104681, 0.104412, 0.10414, 0.103866, 0.103589, 0.103309, 0.103028, 0.102744,
446  0.102458, 0.102169, 0.101878, 0.101584, 0.101289, 0.100991, 0.100691, 0.100388, 0.100084, 0.0997766, 0.0994672, 0.099156, 0.0988424, 0.0985263, 0.0982085, 0.0978886, 0.0975659, 0.0972416, 0.0969154, 0.0965863,
447  0.0962557, 0.0959232, 0.0955879, 0.095251, 0.0949123, 0.0945709, 0.094228, 0.0938831, 0.0935357, 0.0931869, 0.0928359, 0.0924827, 0.0921281, 0.0917711, 0.0914122, 0.0910519, 0.0906889, 0.0903244, 0.0899584, 0.0895897,
448  0.0892197, 0.0888478, 0.0884737, 0.0880985, 0.0877207, 0.0873414, 0.0869608, 0.0865774, 0.086193, 0.0858066, 0.0854182, 0.0850288, 0.0846366, 0.0842434, 0.0838484, 0.0834513, 0.0830532, 0.0826526, 0.0822508, 0.0818473,
449  0.0814418, 0.0810354, 0.0806264, 0.0802164, 0.0798046, 0.079391, 0.0789765, 0.0785593, 0.0781414, 0.0777214, 0.0773, 0.0768773, 0.0764524, 0.0760269, 0.0755987, 0.0751698, 0.074739, 0.0743068, 0.0738733, 0.0734378,
450  0.0730016, 0.0725629, 0.0721235, 0.0716821, 0.0712396, 0.0707956, 0.0703499, 0.0699033, 0.0694545, 0.0690053, 0.0685534, 0.0681012, 0.0676468, 0.0671915, 0.0667346, 0.0662763, 0.0658168, 0.0653557, 0.0648936, 0.0644296,
451  0.063965, 0.0634981, 0.0630309, 0.0625614, 0.0620914, 0.0616193, 0.0611466, 0.060672, 0.0601966, 0.0597196, 0.0592414, 0.058762, 0.0582812, 0.0577993, 0.0573159, 0.0568316, 0.0563456, 0.0558588, 0.0553703, 0.0548812,
452  0.0543902, 0.0538986, 0.0534051, 0.0529112, 0.0524153, 0.0519189, 0.0514206, 0.0509219, 0.0504213, 0.0499202, 0.0494172, 0.0489138, 0.0484085, 0.0479028, 0.0473952, 0.0468872, 0.0463774, 0.045867, 0.045355, 0.0448423,
453  0.0443281, 0.0438132, 0.0432969, 0.0427797, 0.0422612, 0.0417417, 0.0412212, 0.0406995, 0.0401769, 0.0396529, 0.0391284, 0.0386021, 0.0380756, 0.0375471, 0.0370186, 0.036488, 0.0359573, 0.0354247, 0.0348918, 0.0343573,
454  0.0338222, 0.0332859, 0.0327486, 0.0322104, 0.031671, 0.031131, 0.0305895, 0.0300477, 0.029504, 0.0289603, 0.0284146, 0.0278688, 0.0273214, 0.0267734, 0.0262244, 0.0256743, 0.0251236, 0.0245714, 0.0240191, 0.0234648,
455  0.0229105, 0.0223545, 0.0217981, 0.0212406, 0.0206822, 0.0201231, 0.0195626, 0.019002, 0.0184394, 0.0178768, 0.0173127, 0.0167481, 0.0161826, 0.0156159, 0.015049, 0.0144803, 0.0139115, 0.0133412, 0.0127705, 0.0121988,
456  0.0116261, 0.0110531, 0.0104783, 0.00990358, 0.00932729, 0.00875055, 0.008173, 0.00759428, 0.00701549, 0.0064348, 0.00585411, 0.00527215, 0.00468949, 0.00410634, 0.00352174, 0.00293714, 0.00235088, 0.00176434, 0.00117696, 0.00058848,
457  0},
458 
459  {0, 0.00162336, 0.00325125, 0.00488316, 0.00651853, 0.00815664, 0.00979694, 0.0114388, 0.0130815, 0.0147246, 0.0163673, 0.0180091, 0.0196493, 0.0212874, 0.0229227, 0.0245546, 0.0261826, 0.0278061, 0.0294245, 0.0310375,
460  0.032644, 0.034244, 0.0358369, 0.0374219, 0.038999, 0.0405672, 0.0421266, 0.0436763, 0.0452161, 0.0467457, 0.0482645, 0.0497723, 0.0512687, 0.0527534, 0.0542261, 0.0556864, 0.0571342, 0.0585689, 0.059991, 0.0613992,
461  0.0627942, 0.0641754, 0.0655425, 0.0668959, 0.0682348, 0.0695593, 0.0708697, 0.0721652, 0.0734459, 0.0747121, 0.0759637, 0.0772, 0.0784213, 0.0796279, 0.0808195, 0.0819963, 0.0831575, 0.0843039, 0.0854353, 0.0865517,
462  0.0876532, 0.0887399, 0.0898116, 0.0908685, 0.0919105, 0.0929378, 0.0939504, 0.0949484, 0.0959318, 0.0969007, 0.0978552, 0.0987953, 0.0997213, 0.100633, 0.101531, 0.102415, 0.103285, 0.104142, 0.104985, 0.105814,
463  0.106629, 0.107432, 0.108221, 0.108998, 0.109761, 0.110511, 0.111249, 0.111974, 0.112686, 0.113386, 0.114074, 0.114749, 0.115413, 0.116065, 0.116704, 0.117332, 0.117949, 0.118553, 0.119147, 0.119729,
464  0.1203, 0.120861, 0.121409, 0.121948, 0.122475, 0.122993, 0.123499, 0.123996, 0.124481, 0.124958, 0.125423, 0.125879, 0.126325, 0.126761, 0.127188, 0.127604, 0.128012, 0.12841, 0.128799, 0.129179,
465  0.12955, 0.129912, 0.130265, 0.130609, 0.130945, 0.131272, 0.13159, 0.1319, 0.132202, 0.132495, 0.132781, 0.133059, 0.133328, 0.133589, 0.133843, 0.134089, 0.134327, 0.134558, 0.134781, 0.134998,
466  0.135206, 0.135407, 0.135601, 0.135788, 0.135969, 0.136141, 0.136307, 0.136466, 0.136619, 0.136765, 0.136904, 0.137037, 0.137163, 0.137283, 0.137396, 0.137503, 0.137604, 0.137699, 0.137788, 0.137871,
467  0.137947, 0.138018, 0.138083, 0.138142, 0.138195, 0.138242, 0.138284, 0.138321, 0.138351, 0.138377, 0.138397, 0.138411, 0.13842, 0.138424, 0.138423, 0.138416, 0.138405, 0.138388, 0.138366, 0.13834,
468  0.138308, 0.138272, 0.13823, 0.138184, 0.138133, 0.138078, 0.138018, 0.137953, 0.137883, 0.137809, 0.13773, 0.137647, 0.137559, 0.137467, 0.137371, 0.137271, 0.137166, 0.137057, 0.136944, 0.136826,
469  0.136705, 0.136579, 0.136449, 0.136316, 0.136178, 0.136037, 0.135891, 0.135742, 0.135588, 0.135431, 0.135271, 0.135106, 0.134938, 0.134766, 0.13459, 0.134411, 0.134228, 0.134042, 0.133852, 0.133658,
470  0.133461, 0.133261, 0.133057, 0.13285, 0.132639, 0.132425, 0.132208, 0.131988, 0.131764, 0.131537, 0.131307, 0.131073, 0.130837, 0.130597, 0.130354, 0.130108, 0.129859, 0.129607, 0.129352, 0.129094,
471  0.128833, 0.128569, 0.128302, 0.128033, 0.12776, 0.127484, 0.127206, 0.126926, 0.126641, 0.126354, 0.126066, 0.125773, 0.125478, 0.125181, 0.124881, 0.124577, 0.124272, 0.123964, 0.123653, 0.12334,
472  0.123024, 0.122705, 0.122384, 0.122061, 0.121735, 0.121407, 0.121076, 0.120743, 0.120407, 0.120069, 0.119729, 0.119386, 0.119041, 0.118693, 0.118343, 0.117992, 0.117637, 0.11728, 0.116922, 0.11656,
473  0.116197, 0.115831, 0.115463, 0.115094, 0.114721, 0.114347, 0.113971, 0.113592, 0.113212, 0.112829, 0.112444, 0.112058, 0.111668, 0.111278, 0.110885, 0.11049, 0.110093, 0.109694, 0.109293, 0.10889,
474  0.108485, 0.108079, 0.10767, 0.107259, 0.106847, 0.106432, 0.106017, 0.105598, 0.105178, 0.104756, 0.104333, 0.103908, 0.10348, 0.103052, 0.10262, 0.102188, 0.101753, 0.101317, 0.10088, 0.10044,
475  0.0999993, 0.0995557, 0.0991114, 0.0986647, 0.0982168, 0.0977671, 0.0973157, 0.0968629, 0.096408, 0.0959523, 0.0954938, 0.0950349, 0.0945733, 0.094111, 0.0936464, 0.0931808, 0.0927133, 0.0922444, 0.0917739, 0.0913018,
476  0.0908285, 0.0903532, 0.089877, 0.0893986, 0.0889195, 0.088438, 0.087956, 0.0874715, 0.0869867, 0.0864992, 0.0860115, 0.0855211, 0.0850305, 0.0845373, 0.0840439, 0.0835479, 0.0830517, 0.0825529, 0.0820539, 0.0815524,
477  0.0810507, 0.0805465, 0.080042, 0.0795351, 0.0790281, 0.0785184, 0.0780088, 0.0774965, 0.0769842, 0.0764693, 0.0759543, 0.075437, 0.0749194, 0.0743995, 0.0738793, 0.073357, 0.0728342, 0.0723096, 0.0717841, 0.0712572,
478  0.0707291, 0.0701999, 0.0696692, 0.0691378, 0.0686045, 0.0680709, 0.0675351, 0.0669993, 0.066461, 0.0659226, 0.0653822, 0.0648413, 0.0642988, 0.0637555, 0.0632109, 0.062665, 0.0621185, 0.0615702, 0.0610217, 0.0604709,
479  0.0599201, 0.0593672, 0.0588139, 0.0582592, 0.0577035, 0.057147, 0.0565888, 0.0560305, 0.05547, 0.0549094, 0.0543469, 0.053784, 0.0532198, 0.0526544, 0.0520886, 0.0515209, 0.0509531, 0.0503833, 0.0498132, 0.0492418,
480  0.0486693, 0.0480964, 0.0475216, 0.0469468, 0.04637, 0.0457929, 0.0452147, 0.0446352, 0.0440555, 0.0434738, 0.0428921, 0.0423087, 0.0417248, 0.04114, 0.0405538, 0.0399675, 0.0393792, 0.0387906, 0.038201, 0.0376103,
481  0.0370194, 0.0364264, 0.0358334, 0.0352391, 0.0346439, 0.0340484, 0.033451, 0.0328536, 0.0322548, 0.0316552, 0.0310553, 0.0304535, 0.0298517, 0.0292485, 0.0286446, 0.0280404, 0.0274343, 0.0268281, 0.0262208, 0.0256125,
482  0.0250043, 0.0243939, 0.0237835, 0.0231721, 0.0225596, 0.0219471, 0.0213327, 0.0207181, 0.0201029, 0.0194862, 0.0188694, 0.0182513, 0.0176325, 0.0170136, 0.0163927, 0.0157718, 0.0151501, 0.0145272, 0.0139042, 0.0132797,
483  0.0126547, 0.0120296, 0.0114025, 0.0107755, 0.0101476, 0.00951858, 0.00888951, 0.00825902, 0.00762794, 0.00699685, 0.00636378, 0.00573069, 0.00509707, 0.00446199, 0.00382691, 0.00319078, 0.00255372, 0.00191665, 0.00127807, 0.000639035,
484  0}
485  };
486 
487  for(int i = 0; i<n_SW_noME1_1; i++){
488  for(int j = 0; j<n_val;j++){
489  //---- maybe a vector later...
490  x_correction_noME1_1[i][j] = corrections_noME1_1[i][j];
491  if(i<n_SW_ME1_1){
492  x_correction_ME1_1[i][j] = corrections_ME1_1[i][j];
493  }
494  }
495  }
496 
497 }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
float x_correction_noME1_1[n_SW_noME1_1][n_val]
float x_correction_ME1_1[n_SW_ME1_1][n_val]
void CSCXonStrip_MatchGatti::initChamberSpecs ( )

Use specs to setup Gatti parameters.

Definition at line 471 of file CSCXonStrip_MatchGatti.cc.

References CSCChamberSpecs::anodeCathodeSpacing(), h, k_1, k_2, k_3, M_PI_2, norm, r, specs_, mathSSE::sqrt(), sqrt_k_3, stripWidth, CSCChamberSpecs::wireRadius(), and CSCChamberSpecs::wireSpacing().

471  {
472  // Not used directly but these are parameters used for extracting the correction values
473  // in coordinate and error estimators
474 
475  // Distance between anode and cathode
477  r = h / stripWidth;
478 
479  // Wire spacing
480  double wspace = specs_->wireSpacing();
481 
482  // Wire radius
483  double wradius = specs_->wireRadius();
484 
485  // Accepted parameters in Gatti function
486  const double parm[5] = {.1989337e-02, -.6901542e-04, .8665786, 154.6177, -.680163e-03 };
487 
488  k_3 = ( parm[0]*wspace/h + parm[1] )
489  * ( parm[2]*wspace/wradius + parm[3] + parm[4]*(wspace/wradius)*(wspace/wradius) );
490 
491  sqrt_k_3 = sqrt( k_3 );
492  norm = r * (0.5 / atan( sqrt_k_3 )); // changed from norm to r * norm
493  k_2 = M_PI_2 * ( 1. - sqrt_k_3 /2. );
494  k_1 = 0.25 * k_2 * sqrt_k_3 / atan( sqrt_k_3 );
495 }
#define M_PI_2
float wireRadius() const
T sqrt(T t)
Definition: SSEVec.h:48
float wireSpacing() const
const CSCChamberSpecs * specs_
float anodeCathodeSpacing() const
CSCXonStrip_MatchGatti& CSCXonStrip_MatchGatti::operator= ( const CSCXonStrip_MatchGatti )
private
void CSCXonStrip_MatchGatti::setConditions ( const CSCRecoConditions reco)
inline

Cache pointer to conditions data.

Definition at line 47 of file CSCXonStrip_MatchGatti.h.

References dt_dqm_sourceclient_common_cff::reco, and recoConditions_.

Referenced by CSCMake2DRecHit::setConditions().

void CSCXonStrip_MatchGatti::setupMatrix ( )

Set matrix for XT corrections and noise.

Definition at line 354 of file CSCXonStrip_MatchGatti.cc.

References DeDxDiscriminatorTools::charge(), chargeSignal, q_sum, q_sumC, q_sumL, q_sumR, xt_l, xt_lr0, xt_lr1, xt_lr2, and xt_r.

Referenced by findXOnStrip().

354  {
355  //---- a??? and v??[] could be skipped for now...; not used yet
356 
357  /*
358  double dd, a11t, a12t, a13t, a22t, a23t, a33t;
359  double syserr = adcSystematics;
360  double xtlk_err = xtalksSystematics;
361  // Left strip
362  a11t = a11[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][0] + xtlk_err*xtlk_err*ChargeSignal[1][0]*ChargeSignal[1][0];
363  a12t = a12[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][1];
364  a13t = a13[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][2];
365  a22t = a22[0] + syserr*syserr * ChargeSignal[0][1]*ChargeSignal[0][1] + xtlk_err*xtlk_err*ChargeSignal[1][1]*ChargeSignal[1][1];
366  a23t = a23[0] + syserr*syserr * ChargeSignal[0][1]*ChargeSignal[0][2];
367  a33t = a33[0] + syserr*syserr * ChargeSignal[0][2]*ChargeSignal[0][2] + xtlk_err*xtlk_err*ChargeSignal[1][2]*ChargeSignal[1][2];
368 
369  dd = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t
370  + 2.* a12t*a13t*a23t - a13t*a13t*a22t );
371 
372  v11[0] = (a33t*a22t - a23t*a23t)/dd;
373  v12[0] =-(a33t*a12t - a13t*a23t)/dd;
374  v13[0] = (a12t*a23t - a13t*a22t)/dd;
375  v22[0] = (a33t*a11t - a13t*a13t)/dd;
376  v23[0] =-(a23t*a11t - a12t*a13t)/dd;
377  v33[0] = (a22t*a11t - a12t*a12t)/dd;
378 
379  // Center strip
380  a11t = a11[1] + syserr*syserr * ChargeSignal[1][0]*ChargeSignal[1][0] + xtlk_err*xtlk_err*(ChargeSignal[0][0]*ChargeSignal[0][0]+ChargeSignal[2][0]*ChargeSignal[2][0]);
381  a12t = a12[1] + syserr*syserr * ChargeSignal[1][0]*ChargeSignal[1][1];
382  a13t = a13[1] + syserr*syserr * ChargeSignal[1][0]*ChargeSignal[1][2];
383  a22t = a22[1] + syserr*syserr * ChargeSignal[1][1]*ChargeSignal[1][1] + xtlk_err*xtlk_err*(ChargeSignal[0][1]*ChargeSignal[0][1]+ChargeSignal[2][1]*ChargeSignal[2][1]);
384  a23t = a23[1] + syserr*syserr * ChargeSignal[1][1]*ChargeSignal[1][2];
385  a33t = a33[1] + syserr*syserr * ChargeSignal[1][2]*ChargeSignal[1][2] + xtlk_err*xtlk_err*(ChargeSignal[0][2]*ChargeSignal[0][2]+ChargeSignal[2][2]*ChargeSignal[2][2]);
386 
387  dd = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t
388  + 2.* a12t*a13t*a23t - a13t*a13t*a22t );
389 
390  v11[1] = (a33t*a22t - a23t*a23t)/dd;
391  v12[1] =-(a33t*a12t - a13t*a23t)/dd;
392  v13[1] = (a12t*a23t - a13t*a22t)/dd;
393  v22[1] = (a33t*a11t - a13t*a13t)/dd;
394  v23[1] =-(a23t*a11t - a12t*a13t)/dd;
395  v33[1] = (a22t*a11t - a12t*a12t)/dd;
396 
397  // Right strip
398  a11t = a11[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][0] + xtlk_err*xtlk_err*ChargeSignal[1][0]*ChargeSignal[1][0];
399  a12t = a12[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][1];
400  a13t = a13[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][2];
401  a22t = a22[2] + syserr*syserr * ChargeSignal[2][1]*ChargeSignal[2][1] + xtlk_err*xtlk_err*ChargeSignal[1][1]*ChargeSignal[1][1];
402  a23t = a23[2] + syserr*syserr * ChargeSignal[2][1]*ChargeSignal[2][2];
403  a33t = a33[2] + syserr*syserr * ChargeSignal[2][2]*ChargeSignal[2][2] + xtlk_err*xtlk_err*ChargeSignal[1][2]*ChargeSignal[1][2];
404 
405  dd = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t
406  +2.* a12t*a13t*a23t - a13t*a13t*a22t );
407 
408  v11[2] = (a33t*a22t - a23t*a23t)/dd;
409  v12[2] =-(a33t*a12t - a13t*a23t)/dd;
410  v13[2] = (a12t*a23t - a13t*a22t)/dd;
411  v22[2] = (a33t*a11t - a13t*a13t)/dd;
412  v23[2] =-(a23t*a11t - a12t*a13t)/dd;
413  v33[2] = (a22t*a11t - a12t*a12t)/dd;
414 */
415  //---- Find the inverted XTalk matrix and apply it to the charge (3x3)
416  //---- Thus the charge before the XTalk is obtained
417  CLHEP::HepMatrix cross_talks(3,3);
418  CLHEP::HepMatrix cross_talks_inv(3,3);
419  int err = 0;
420  //---- q_sum is 3 time bins summed; L, C, R - left, central, right strips
421  q_sum = q_sumL = q_sumC = q_sumR = 0.;
422  double charge = 0.;
423  for(int iTime=0;iTime<3;iTime++){
424  cross_talks_inv(1,1) = cross_talks(1,1) = xt_lr0[iTime];
425  cross_talks_inv(1,2) = cross_talks(1,2) = xt_l[1][iTime];
426  cross_talks_inv(1,3) = cross_talks(1,3) = 0.;
427  cross_talks_inv(2,1) = cross_talks(2,1) = xt_r[0][iTime];
428  cross_talks_inv(2,2) = cross_talks(2,2) = xt_lr1[iTime];
429  cross_talks_inv(2,3) = cross_talks(2,3) = xt_l[2][iTime];
430  cross_talks_inv(3,1) = cross_talks(3,1) = 0.;
431  cross_talks_inv(3,2) = cross_talks(3,2) = xt_r[1][iTime];
432  cross_talks_inv(3,3) = cross_talks(3,3) = xt_lr2[iTime];
433  cross_talks_inv.invert(err);
434  if (err != 0) {
435  edm::LogWarning("FailedXTalkiInversionNoCrosstalkCorrection") <<"Failed to invert XTalks matrix. No cross-talk correction for this rechit.";
436  //edm::LogError("CSCRecHit") << "Failed to invert XTalks matrix. No cross-talk correction for this rechit.";
437  return;
438  }
439  //---- "charge" is XT-corrected charge
440  charge = chargeSignal[0][iTime]*cross_talks_inv(1,1) + chargeSignal[1][iTime]*cross_talks_inv(1,2) +
441  chargeSignal[2][iTime]*cross_talks_inv(1,3);
442  //---- Negative charge? According to studies (and logic) - better use 0 charge
443  //----- Later studies suggest that this only do harm. I am still worried about
444  // charges of -50 ADC and below (0.5% of the cases) but let see
445  //if(charge<0.){
446  //charge = 0.;
447  //}
448  q_sum+=charge;
449  q_sumL+=charge;
450  charge = chargeSignal[0][iTime]*cross_talks_inv(2,1) + chargeSignal[1][iTime]*cross_talks_inv(2,2) +
451  chargeSignal[2][iTime]* cross_talks_inv(2,3);
452  //if(charge<0.){
453  //charge = 0.;
454  //}
455  q_sum+=charge;
456  q_sumC+=charge;
457  charge = chargeSignal[0][iTime]*cross_talks_inv(3,1) + chargeSignal[1][iTime]*cross_talks_inv(3,2) +
458  chargeSignal[2][iTime]*cross_talks_inv(3,3);
459  //if(charge<0.){
460  //charge = 0.;
461  //}
462  q_sum+=charge;
463  q_sumR+=charge;
464  }
465 }
float xt_l[3][3]
x-talks 0 = left, 1 = middle, 2 = right ; and then second [] is for time bin tmax-1, tmax, tmax+1
double charge(const std::vector< uint8_t > &Ampls)
double CSCXonStrip_MatchGatti::xfError_Noise ( double  noise)
private

Definition at line 595 of file CSCXonStrip_MatchGatti.cc.

References relativeConstraints::error, max(), bookConverter::min, funct::pow(), q_sumC, q_sumL, q_sumR, and mathSSE::sqrt().

Referenced by calculateXonStripError().

595  {
596 
597  double min, max;
598  if(q_sumR>q_sumL){
599  min = q_sumL;
600  max = q_sumR;
601  }
602  else{
603  min = q_sumR;
604  max = q_sumL;
605  }
606  //---- Error propagation...
607  //---- Names here are fake! Due to technical features
608  double dr_L2 = pow(q_sumR-q_sumL,2);
609  double dr_C2 = pow(q_sumC-min,2);
610  double dr_R2 = pow(q_sumC-max,2);
611  double error = sqrt(dr_L2 + dr_C2 + dr_R2)*noise/pow(q_sumC-min,2)/2;
612 
613  return error;
614 }
const T & max(const T &a, const T &b)
T sqrt(T t)
Definition: SSEVec.h:48
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double CSCXonStrip_MatchGatti::xfError_XTasym ( double  XTasym)
private

Definition at line 616 of file CSCXonStrip_MatchGatti.cc.

References relativeConstraints::error, bookConverter::min, funct::pow(), q_sumC, q_sumL, q_sumR, and mathSSE::sqrt().

Referenced by calculateXonStripError().

616  {
617 
618  double min;
619  if(q_sumR>q_sumL){
620  min = q_sumL;
621  }
622  else{
623  min = q_sumR;
624  }
625  //---- Error propagation
626  double dXTL = (pow(q_sumC,2)+pow(q_sumR,2)-q_sumL*q_sumR-q_sumR*q_sumC);
627  double dXTR = (pow(q_sumC,2)+pow(q_sumL,2)-q_sumL*q_sumR-q_sumL*q_sumC);
628  double dXT = sqrt(pow(dXTL,2) + pow(dXTR,2))/pow((q_sumC-min),2)/2;
629  double error = dXT * xt_asym;
630 
631  return error;
632 }
T sqrt(T t)
Definition: SSEVec.h:48
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40

Member Data Documentation

float CSCXonStrip_MatchGatti::a11[3]
private

Store elements of auto-correlation matrices: 0 = left, 1 = middle, 2 = right.

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::a12[3]
private

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::a13[3]
private

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::a22[3]
private

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::a23[3]
private

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::a33[3]
private

Definition at line 74 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

float CSCXonStrip_MatchGatti::chargeSignal[3][3]
private

Definition at line 64 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::const_syst
private

Definition at line 116 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME12
private

Definition at line 126 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME13
private

Definition at line 129 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME1a
private

Definition at line 120 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME1b
private

Definition at line 123 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME21
private

Definition at line 132 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME22
private

Definition at line 135 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME31
private

Definition at line 138 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME32
private

Definition at line 141 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::const_syst_ME41
private

Definition at line 144 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

double CSCXonStrip_MatchGatti::h
private

Definition at line 57 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

double CSCXonStrip_MatchGatti::k_1
private

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

double CSCXonStrip_MatchGatti::k_2
private

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

double CSCXonStrip_MatchGatti::k_3
private

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

const int CSCXonStrip_MatchGatti::n_SW_ME1_1 = 6
staticprivate
const int CSCXonStrip_MatchGatti::n_SW_noME1_1 = 11
staticprivate
const int CSCXonStrip_MatchGatti::n_val = 501
staticprivate
float CSCXonStrip_MatchGatti::noise_level
private

Definition at line 114 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME12
private

Definition at line 124 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME13
private

Definition at line 127 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME1a
private

Definition at line 118 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME1b
private

Definition at line 121 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME21
private

Definition at line 130 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME22
private

Definition at line 133 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME31
private

Definition at line 136 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME32
private

Definition at line 139 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::noise_level_ME41
private

Definition at line 142 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

double CSCXonStrip_MatchGatti::norm
private

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

double CSCXonStrip_MatchGatti::q_sum
private

Definition at line 82 of file CSCXonStrip_MatchGatti.h.

Referenced by setupMatrix().

double CSCXonStrip_MatchGatti::q_sumC
private
double CSCXonStrip_MatchGatti::q_sumL
private
double CSCXonStrip_MatchGatti::q_sumR
private
double CSCXonStrip_MatchGatti::r
private

Definition at line 59 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

const CSCRecoConditions* CSCXonStrip_MatchGatti::recoConditions_
private

Definition at line 90 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setConditions().

const CSCChamberSpecs* CSCXonStrip_MatchGatti::specs_
private

Definition at line 78 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and initChamberSpecs().

double CSCXonStrip_MatchGatti::sqrt_k_3
private

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

float CSCXonStrip_MatchGatti::stripWidth
private

Definition at line 58 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and initChamberSpecs().

bool CSCXonStrip_MatchGatti::use3TimeBins
private

Definition at line 86 of file CSCXonStrip_MatchGatti.h.

bool CSCXonStrip_MatchGatti::useCalib
private

Definition at line 85 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::v11[3]
private

Store elements of matrices for chi^2 computation: 0 = left, 1 = middle, 2 = right.

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::v12[3]
private

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::v13[3]
private

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::v22[3]
private

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::v23[3]
private

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::v33[3]
private

Definition at line 71 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::x_centralVal[n_val]
private

Definition at line 112 of file CSCXonStrip_MatchGatti.h.

float CSCXonStrip_MatchGatti::x_correction_ME1_1[n_SW_ME1_1][n_val]
private
float CSCXonStrip_MatchGatti::x_correction_noME1_1[n_SW_noME1_1][n_val]
private
float CSCXonStrip_MatchGatti::xt_asymmetry
private

Definition at line 115 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME12
private

Definition at line 125 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME13
private

Definition at line 128 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME1a
private

Definition at line 119 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME1b
private

Definition at line 122 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME21
private

Definition at line 131 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME22
private

Definition at line 134 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME31
private

Definition at line 137 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME32
private

Definition at line 140 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_asymmetry_ME41
private

Definition at line 143 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

float CSCXonStrip_MatchGatti::xt_l[3][3]
private

x-talks 0 = left, 1 = middle, 2 = right ; and then second [] is for time bin tmax-1, tmax, tmax+1

Definition at line 67 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::xt_lr0[3]
private

Definition at line 68 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::xt_lr1[3]
private

Definition at line 68 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::xt_lr2[3]
private

Definition at line 68 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::xt_r[3][3]
private

Definition at line 67 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

float CSCXonStrip_MatchGatti::xtalksOffset
private

Definition at line 87 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().