CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

CSCXonStrip_MatchGatti Class Reference

#include <CSCXonStrip_MatchGatti.h>

List of all members.

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.
void initChamberSpecs ()
 Use specs to setup Gatti parameters.
void setConditions (const CSCRecoConditions *reco)
 Cache pointer to conditions data.
void setupMatrix ()
 Set matrix for XT corrections and noise.
 ~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.
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.
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
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.

                                                                        :
  recoConditions_( 0 )  {

  useCalib                   = ps.getParameter<bool>("CSCUseCalibrations");
  xtalksOffset               = ps.getParameter<double>("CSCStripxtalksOffset");
  noise_level_ME1a                 = ps.getParameter<double>("NoiseLevel_ME1a");
  xt_asymmetry_ME1a                = ps.getParameter<double>("XTasymmetry_ME1a");
  const_syst_ME1a                   = ps.getParameter<double>("ConstSyst_ME1a");
  noise_level_ME1b                 = ps.getParameter<double>("NoiseLevel_ME1b");
  xt_asymmetry_ME1b                = ps.getParameter<double>("XTasymmetry_ME1b");
  const_syst_ME1b                   = ps.getParameter<double>("ConstSyst_ME1b");
  noise_level_ME12                 = ps.getParameter<double>("NoiseLevel_ME12");
  xt_asymmetry_ME12                = ps.getParameter<double>("XTasymmetry_ME12");
  const_syst_ME12                   = ps.getParameter<double>("ConstSyst_ME12");
  noise_level_ME13                 = ps.getParameter<double>("NoiseLevel_ME13");
  xt_asymmetry_ME13                = ps.getParameter<double>("XTasymmetry_ME13");
  const_syst_ME13                   = ps.getParameter<double>("ConstSyst_ME13");
  noise_level_ME21                 = ps.getParameter<double>("NoiseLevel_ME21");
  xt_asymmetry_ME21                = ps.getParameter<double>("XTasymmetry_ME21");
  const_syst_ME21                   = ps.getParameter<double>("ConstSyst_ME21");
  noise_level_ME22                 = ps.getParameter<double>("NoiseLevel_ME22");
  xt_asymmetry_ME22                = ps.getParameter<double>("XTasymmetry_ME22");
  const_syst_ME22                   = ps.getParameter<double>("ConstSyst_ME22");
  noise_level_ME31                 = ps.getParameter<double>("NoiseLevel_ME31");
  xt_asymmetry_ME31                = ps.getParameter<double>("XTasymmetry_ME31");
  const_syst_ME31                   = ps.getParameter<double>("ConstSyst_ME31");
  noise_level_ME32                 = ps.getParameter<double>("NoiseLevel_ME32");
  xt_asymmetry_ME32                = ps.getParameter<double>("XTasymmetry_ME32");
  const_syst_ME32                   = ps.getParameter<double>("ConstSyst_ME32");
  noise_level_ME41                 = ps.getParameter<double>("NoiseLevel_ME41");
  xt_asymmetry_ME41                = ps.getParameter<double>("XTasymmetry_ME41");
  const_syst_ME41                   = ps.getParameter<double>("ConstSyst_ME41");
 
  getCorrectionValues("StringCurrentlyNotUsed");
}
CSCXonStrip_MatchGatti::~CSCXonStrip_MatchGatti ( )

Definition at line 75 of file CSCXonStrip_MatchGatti.cc.

                                               {
}
CSCXonStrip_MatchGatti::CSCXonStrip_MatchGatti ( const CSCXonStrip_MatchGatti ) [private]

Member Function Documentation

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

Definition at line 642 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by findXOnStrip().

                                                                                 {
  double min;
  if(q_sumR>q_sumL){
    min = q_sumL;
  }
  else{
    min = q_sumR;
  }
  
  double xf = (q_sumR - q_sumL)/(q_sumC - min)/2;
  double xf_ErrorNoise = xfError_Noise(noise_level);
  double xf_ErrorXTasym = xfError_XTasym(xt_asymmetry);
  // x_G = x_F + correction_functon(x_F)
  // 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)]
  double d_xf = sqrt( pow( xf_ErrorNoise, 2) + pow( xf_ErrorXTasym, 2));
        double d_corr = estimated2GattiCorrection(xf+d_xf, stripWidth, ME1_1) - estimated2GattiCorrection(xf, stripWidth, ME1_1);
  double x_shift = d_xf + d_corr;
  //  double x_shift = sqrt( pow( xf_ErrorNoise, 2) + pow( xf_ErrorXTasym, 2)) * 
  //(1 + (estimated2GattiCorrection(xf+0.001, stripWidth, ME1_1) -
  //  estimated2GattiCorrection(xf, stripWidth, ME1_1))*1000.);
  double x_error =   sqrt( pow( fabs(x_shift)*stripWidth, 2) + pow(const_syst, 2) );
  return  x_error; 
}
double CSCXonStrip_MatchGatti::calculateXonStripPosition ( float  stripWidth,
bool  ME1_1 
) [private]

Definition at line 666 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by findXOnStrip().

                                                                                    { 

  double  x_estimated = -99.;
  double min;
  if(q_sumR>q_sumL){
    min = q_sumL;
  }
  else{
    min = q_sumR;
  }
  //---- This is XF ( X Florida - after the first group that used it)  
  x_estimated = (q_sumR - q_sumL)/(q_sumC - min)/2;
  double x_gatti = estimated2Gatti(x_estimated, stripWidth, ME1_1);
  return x_gatti;
}
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().

                                                                                               {

 int sign;
 if(x_estimated>0.){
   sign = 1;
 }
 else{
   sign = - 1;
 }
 double x_corr = estimated2GattiCorrection(x_estimated, stripWidth, ME1_1);
 double x_gatti = x_estimated + x_corr;

 return x_gatti;
}
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().

                                                                                                         {
  //---- 11 "nominal" strip widths : 0.6 - 1.6 cm; for ME1_1 just 6 "nominal" strip widths : 0.3 - 0.8 cm; see HardCodedCorrectionInitialization() 
  //---- Calculate corrections at specific  Xestimated (linear interpolation between points)
  int n_SW;
  int min_SW;
  if(ME1_1){
    n_SW = n_SW_ME1_1;
    min_SW = 3; // min SW calculated is 0.3 cm
  }
  else{
    n_SW = n_SW_noME1_1;
    min_SW = 6;// min SW calculated is 0.6 cm
  }
  int stripDown = int(10.*stripWidth) - min_SW; // 0 is at min strip width calculated
  int stripUp = stripDown + 1;
  if(stripUp>n_SW-1){
    //---- to be checked...
    //if(stripUp>n_SW){
      //std::cout<<" Is strip width = "<<stripWidth<<" OK?" <<std::endl;
    //}
    stripUp = n_SW-1;
  }

  double half_strip_width = 0.5;
  //const int Nbins = 501;
  const int n_bins = n_val;
  double corr_2_xestim = 999.;
  if(stripDown<0){
    corr_2_xestim = 1;
  }
  else{
    //---- Parametrized x_gatti minus x_estimated differences

    int xestim_bin = -999;
    double delta_strip_width = 999.;
    double delta_strip_widthUpDown = 999.;
    double diff_2_strip_width = 999.;
    delta_strip_width = stripWidth - int(stripWidth*10)/10.;
    delta_strip_widthUpDown = 0.1;

    if(fabs(x_estimated)>0.5){
      if(fabs(x_estimated)>1.){
        corr_2_xestim = 1.;// for now; to be investigated
      }
      else{      
        //if(fabs(Xestimated)>0.55){
          //std::cout<<"X position from the estimated position above 0.55 (safty margin)?! "<<std::endl;
          //CorrToXc = 999.;
        //}
        xestim_bin = int((1.- fabs(x_estimated))/half_strip_width * n_bins);
        if(ME1_1){
          diff_2_strip_width = x_correction_ME1_1[stripUp][xestim_bin]-x_correction_ME1_1[stripDown][xestim_bin];
          corr_2_xestim =  x_correction_ME1_1[stripDown][xestim_bin] +
            (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
        }
        else{
          diff_2_strip_width = x_correction_noME1_1[stripUp][xestim_bin]-x_correction_noME1_1[stripDown][xestim_bin];
          corr_2_xestim =  x_correction_noME1_1[stripDown][xestim_bin] +
            (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
        }
        corr_2_xestim = -corr_2_xestim;
      }
    }
    else{
      xestim_bin = int((fabs(x_estimated)/half_strip_width) * n_bins);
      if(ME1_1){
        diff_2_strip_width = x_correction_ME1_1[stripUp][xestim_bin] - x_correction_ME1_1[stripDown][xestim_bin];
        corr_2_xestim =  x_correction_ME1_1[stripDown][xestim_bin] +
          (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
      }
      else{
        diff_2_strip_width = x_correction_noME1_1[stripUp][xestim_bin] - x_correction_noME1_1[stripDown][xestim_bin];
        corr_2_xestim =  x_correction_noME1_1[stripDown][xestim_bin] +
          (delta_strip_width/delta_strip_widthUpDown)*diff_2_strip_width ;
      }
    }
    if(x_estimated<0.){
      corr_2_xestim = -corr_2_xestim;
    }
  }
  
  return corr_2_xestim;
}
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(), CSCStripHit::strips(), RecoTauPiZeroBuilderPlugins_cfi::strips, stripWidth, matplotRender::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().

                                                                                                                       {
  quality_flag = 0; 
  // Initialize Gatti parameters using chamberSpecs
  // Cache specs_ info for ease of access
  specs_ = layer->chamber()->specs();
  stripWidth = sWidth;
  //initChamberSpecs();
  // Initialize output parameters  
  xWithinStrip = xWithinChamber;  

  CSCStripHit::ChannelContainer strips = stripHit.strips();
  int nStrips = strips.size();
  int centStrip = nStrips/2 + 1;   
  std::vector<float> adcs = stripHit.s_adc();
  int tmax = stripHit.tmax();

  //float t_peak = tpeak;
  //float t_zero = 0.;
  //float adc[4];
  //
  //if ( useCalib ) {
  //
  //  for ( int t = 0; t < 4; ++t ) {
  //    int k  = t + 4 * (centStrip-1);
  //    adc[t] = adcs[k];
  //  }
  //
  //  // t_peak from peak finder is now 'absolute' i.e. in ns from start of sca time bin 0
  //  t_peak = peakTimeFinder_->peakTime( tmax, adc, t_peak );
  //  // Just for completeness, the start time of the pulse is 133 ns earlier, according to Stan :)
  //  t_zero = t_peak - 133.;
  //  // and reset tpeak since that's the way it gets passed out of this function (Argh!)
  //  tpeak = t_peak;
  //  LogTrace("CSCRecHit|CSCXonStrip_MatchGatti") << "CSCXonStrip_MatchGatti: " << 
  //     id << " strip=" << centralStrip << ", t_zero=" << t_zero << ", t_peak=" << t_peak;
  //}
      
  //---- fill the charge matrix (3x3)
  float adc[4];
  int j = 0;
  for ( int i = 1; i <= nStrips; ++i ) {
    if ( i > (centStrip-2) && i < (centStrip+2) ) {
      std::vector<float> adcsFit;
      for ( int t = 0; t < 4; ++t ) {
        int k  = t + 4*(i-1);
        adc[t] = adcs[k];
        if ( t < 3) chargeSignal[j][t] = adc[t];
      }
      j++;
    }
  }


  // Load in x-talks:

  if ( useCalib ) {
    std::vector<float> xtalks;
    recoConditions_->crossTalk( id, centralStrip, xtalks );
    float dt = 50. * tmax - tpeak;
    // XTalks; l,r are for left, right XTalk; lr0,1,2 are for what charge "remains" in the strip 
    for ( int t = 0; t < 3; ++t ) {
      xt_l[0][t] = xtalks[0] * (50.* (t-1) + dt) + xtalks[1] + xtalksOffset;
      xt_r[0][t] = xtalks[2] * (50.* (t-1) + dt) + xtalks[3] + xtalksOffset;
      xt_l[1][t] = xtalks[4] * (50.* (t-1) + dt) + xtalks[5] + xtalksOffset;
      xt_r[1][t] = xtalks[6] * (50.* (t-1) + dt) + xtalks[7] + xtalksOffset;
      xt_l[2][t] = xtalks[8] * (50.* (t-1) + dt) + xtalks[9] + xtalksOffset;
      xt_r[2][t] = xtalks[10]* (50.* (t-1) + dt) + xtalks[11]+ xtalksOffset;

      xt_lr0[t] = (1. - xt_l[0][t] - xt_r[0][t]);
      xt_lr1[t] = (1. - xt_l[1][t] - xt_r[1][t]);
      xt_lr2[t] = (1. - xt_l[2][t] - xt_r[2][t]);
    }
  } else { 
    for ( int t = 0; t < 3; ++t ) {
      xt_l[0][t] = xtalksOffset;
      xt_r[0][t] = xtalksOffset;
      xt_l[1][t] = xtalksOffset; 
      xt_r[1][t] = xtalksOffset; 
      xt_l[2][t] = xtalksOffset; 
      xt_r[2][t] = xtalksOffset; 

      xt_lr0[t] = (1. - xt_l[0][t] - xt_r[0][t]);
      xt_lr1[t] = (1. - xt_l[1][t] - xt_r[1][t]);
      xt_lr2[t] = (1. - xt_l[2][t] - xt_r[2][t]);
    } 
  }
  

  // vector containing noise starts at tmax - 1, and tmax > 3, but....
  int tbin = tmax - 4;

  // .... originally, suppose to have tmax in tbin 4 or 5, but noticed in MTCC lots of 
  // hits with tmax == 3, so let's allow these, and shift down noise matrix by one element...
  // This is a patch because the calibration database doesn't have elements for tbin = 2, 
  // e.g. there is no element e[tmax-1,tmax+1] = e[2,4].

  if (tmax < 4) tbin = 0;    // patch

  // Load in auto-correlation noise matrices
  if ( useCalib ) {
    std::vector<float> nmatrix;
    recoConditions_->noiseMatrix( id, centralStrip, nmatrix );
    for ( int istrip =0; istrip < 3; ++istrip ) {
      a11[istrip] = nmatrix[0+tbin*3+istrip*15];
      a12[istrip] = nmatrix[1+tbin*3+istrip*15];
      a13[istrip] = nmatrix[2+tbin*3+istrip*15];
      a22[istrip] = nmatrix[3+tbin*3+istrip*15];
      a23[istrip] = nmatrix[4+tbin*3+istrip*15];
      a33[istrip] = nmatrix[6+tbin*3+istrip*15];
    }
  } else {
    // FIXME:  NO HARD WIRED VALUES !!!
    for ( int istrip =0; istrip < 3; ++istrip ) {
      a11[istrip] = 10.0;
      a12[istrip] = 0.0;
      a13[istrip] = 0.0;
      a22[istrip] = 10.0;
      a23[istrip] = 0.0;
      a33[istrip] = 10.0;
    }
  }
  
  //---- Set up noise, XTalk matrices 
  setupMatrix();
  //---- Calculate the coordinate within the strip and associate uncertainty
  bool ME1_1 = false;
  if("ME1/a" == specs_->chamberTypeName() || "ME1/b" == specs_->chamberTypeName()){
    ME1_1 = true;
  } 

  // due to cross talks and 3 time bin sum it is in principe possible that the center strip is not the maximum strip
  // in some cases the consequences could be quite extreme
  // take some measures against the extreme cases
  bool peakMismatch = false;
  std::vector <float> charges(3);
  charges[0] = q_sumL;
  charges[1] = q_sumC;
  charges[2] = q_sumR;
  int min_index = min_element(charges.begin(),charges.end()) - charges.begin();
  int max_index = max_element(charges.begin(),charges.end()) - charges.begin();
  if(1!=max_index && (1==min_index ||
                      // the condition below means that if the initial position estimate within strip (|xF|)
                      // is above  1.1/2 = 0.55 "strip widths" peakMismatch is set to true (so special case);
                      // in normal cases |xF|<=0.5 (0.5 is at the edge of the "central" strip)
                      (charges[max_index] - charges[min_index]) > 1.1*(q_sumC - charges[min_index]) )){
    peakMismatch = true;
    switch (max_index){
    case 0:
      xWithinStrip = -1;
      break;
    case 2:
      xWithinStrip = 1;
      break;
    default:
      // should be an error message here
      xWithinStrip = 0;// in case?
      break;
    }
  }
  // we don't have the needed information (it's similar to the "edge" strip case)  
  //else if(stripHit.isNearDeadStrip()){
  else if(stripHit.deadStrip()>0){
    xWithinStrip = 0;
  }
  else{
    //
    xWithinStrip = float(calculateXonStripPosition(stripWidth, ME1_1));
  }
  xWithinChamber = xWithinChamber + (xWithinStrip * stripWidth);
  if(peakMismatch){
    sigma = stripWidth/sqrt(12);
  }
  else{
    
    //---- error estimation
    int factorStripWidth = int( sqrt(stripWidth/0.38) );
    int maxConsecutiveStrips = 8;
    if(factorStripWidth){
      maxConsecutiveStrips /=  factorStripWidth ;
    }
    maxConsecutiveStrips++;
    
    std::map <std::string, int> chamberTypes;
    chamberTypes["ME1/a"] = 1;
    chamberTypes["ME1/b"] = 2;
    chamberTypes["ME1/2"] = 3;
    chamberTypes["ME1/3"] = 4;
    chamberTypes["ME2/1"] = 5;
    chamberTypes["ME2/2"] = 6;
    chamberTypes["ME3/1"] = 7;
    chamberTypes["ME3/2"] = 8;
    chamberTypes["ME4/1"] = 9;
    chamberTypes["ME4/2"] = 8;
    
    switch(chamberTypes[specs_->chamberTypeName()]){
    case 1:
      noise_level  = noise_level_ME1a;
      xt_asymmetry = xt_asymmetry_ME1a;
      const_syst = const_syst_ME1a;
      break;
      
    case 2:
      noise_level  = noise_level_ME1b;
      xt_asymmetry = xt_asymmetry_ME1b;
      const_syst = const_syst_ME1b;
      
    case 3:
      noise_level  = noise_level_ME12;
      xt_asymmetry = xt_asymmetry_ME12;
      const_syst = const_syst_ME12;
      break;
      
    case 4:
      noise_level  = noise_level_ME13;
      xt_asymmetry = xt_asymmetry_ME13;
      const_syst = const_syst_ME13;
      break;
      
    case 5:
      noise_level  = noise_level_ME21;
      xt_asymmetry = xt_asymmetry_ME21;
      const_syst = const_syst_ME21;
      break;
      
    case 6:
      noise_level  = noise_level_ME22;
      xt_asymmetry = xt_asymmetry_ME22;
      const_syst = const_syst_ME22;
      break;

    case 7:
      noise_level  = noise_level_ME31;
      xt_asymmetry = xt_asymmetry_ME31;
      const_syst = const_syst_ME31;
      break;

    case 8:
      noise_level  = noise_level_ME32;
      xt_asymmetry = xt_asymmetry_ME32;
      const_syst = const_syst_ME32;
      break;

    case 9:
      noise_level  = noise_level_ME41;
      xt_asymmetry = xt_asymmetry_ME41;
      const_syst = const_syst_ME41;
      break;

    default:
      noise_level  = noise_level_ME22;
      xt_asymmetry = xt_asymmetry_ME22;
      const_syst = const_syst_ME22;

    }
    if(0==stripHit.deadStrip() &&
       stripHit.numberOfConsecutiveStrips()<maxConsecutiveStrips &&
       fabs(stripHit.closestMaximum())>maxConsecutiveStrips/2 ){
      sigma =  float(calculateXonStripError(stripWidth, ME1_1));
    }
    else{ //---- near dead strip or too close maxima or too wide strip cluster
      sigma = stripWidth/sqrt(12);
    }
  }
  quality_flag = 1;
}
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().

                                                              {
  //---- Corrections depend on strip width (SW), position within the strip (XFlorida is used) and type of chamber

  //---- Corrections for non-ME1_1 chambers (all have practically equal Gatti parameters):

  //---- min SW ~ 6.6 cm (ME1/2), max SW ~ 1.6 cm (ME234/2) 
  //---- Corrections are calculated for N_SW_noME1_1 strip widths (0.6 - 1.6 cm) 
  //---- and for 501 values in   
  float corrections_noME1_1[n_SW_noME1_1][n_val] = {
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0}, 
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0}, 
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0}, 
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0.} 
  };

  //---- Corrections for ME1/1 chambers (very different parameters from the other chambers):

  //---- min SW ~ 3.15 cm, max SW ~ 7.6 cm 
  //---- Corrections are calculated for N_SW_ME1_1 strip widths (0.3 - 0.8 cm) 
  //---- and for 501 values in  
  float corrections_ME1_1[n_SW_ME1_1][n_val] = {
    {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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     -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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0},  
    
    {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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     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, 
     0}
  };
  
  for(int i = 0; i<n_SW_noME1_1; i++){
    for(int j = 0; j<n_val;j++){
     //---- maybe a vector later... 
      x_correction_noME1_1[i][j] = corrections_noME1_1[i][j];
      if(i<n_SW_ME1_1){
        x_correction_ME1_1[i][j] = corrections_ME1_1[i][j];
      }
    }
  }
  
}
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().

                                              {
  // Not used directly but these are parameters used for extracting the correction values
  // in coordinate and error estimators

  // Distance between anode and cathode
  h = specs_->anodeCathodeSpacing();
  r = h / stripWidth;

  // Wire spacing
  double wspace = specs_->wireSpacing();

  // Wire radius
  double wradius = specs_->wireRadius();

  // Accepted parameters in Gatti function
  const double parm[5] = {.1989337e-02, -.6901542e-04, .8665786, 154.6177, -.680163e-03 };

  k_3 = ( parm[0]*wspace/h + parm[1] )
      * ( parm[2]*wspace/wradius + parm[3] + parm[4]*(wspace/wradius)*(wspace/wradius) );

  sqrt_k_3 = sqrt( k_3 );
  norm     = r * (0.5 / atan( sqrt_k_3 )); // changed from norm to r * norm
  k_2      = M_PI_2 * ( 1. - sqrt_k_3 /2. );
  k_1      = 0.25 * k_2 * sqrt_k_3 / atan( sqrt_k_3 );
}
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().

                                         {
  //---- a??? and v??[] could be skipped for now...; not used yet

  /*
  double dd, a11t, a12t, a13t, a22t, a23t, a33t;
  double syserr = adcSystematics;
  double xtlk_err = xtalksSystematics;
  // Left strip
  a11t = a11[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][0] + xtlk_err*xtlk_err*ChargeSignal[1][0]*ChargeSignal[1][0];
  a12t = a12[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][1];
  a13t = a13[0] + syserr*syserr * ChargeSignal[0][0]*ChargeSignal[0][2];
  a22t = a22[0] + syserr*syserr * ChargeSignal[0][1]*ChargeSignal[0][1] + xtlk_err*xtlk_err*ChargeSignal[1][1]*ChargeSignal[1][1];
  a23t = a23[0] + syserr*syserr * ChargeSignal[0][1]*ChargeSignal[0][2];
  a33t = a33[0] + syserr*syserr * ChargeSignal[0][2]*ChargeSignal[0][2] + xtlk_err*xtlk_err*ChargeSignal[1][2]*ChargeSignal[1][2];

  dd     = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t 
                       + 2.* a12t*a13t*a23t - a13t*a13t*a22t );

  v11[0] = (a33t*a22t - a23t*a23t)/dd;
  v12[0] =-(a33t*a12t - a13t*a23t)/dd;
  v13[0] = (a12t*a23t - a13t*a22t)/dd;
  v22[0] = (a33t*a11t - a13t*a13t)/dd;
  v23[0] =-(a23t*a11t - a12t*a13t)/dd;
  v33[0] = (a22t*a11t - a12t*a12t)/dd;
     
  // Center strip
  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]);
  a12t = a12[1] + syserr*syserr * ChargeSignal[1][0]*ChargeSignal[1][1];
  a13t = a13[1] + syserr*syserr * ChargeSignal[1][0]*ChargeSignal[1][2];
  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]);
  a23t = a23[1] + syserr*syserr * ChargeSignal[1][1]*ChargeSignal[1][2];
  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]);

  dd     = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t
                       + 2.* a12t*a13t*a23t - a13t*a13t*a22t );

  v11[1] = (a33t*a22t - a23t*a23t)/dd;
  v12[1] =-(a33t*a12t - a13t*a23t)/dd;
  v13[1] = (a12t*a23t - a13t*a22t)/dd;
  v22[1] = (a33t*a11t - a13t*a13t)/dd;
  v23[1] =-(a23t*a11t - a12t*a13t)/dd;
  v33[1] = (a22t*a11t - a12t*a12t)/dd;

  // Right strip
  a11t = a11[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][0] + xtlk_err*xtlk_err*ChargeSignal[1][0]*ChargeSignal[1][0];
  a12t = a12[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][1];
  a13t = a13[2] + syserr*syserr * ChargeSignal[2][0]*ChargeSignal[2][2];
  a22t = a22[2] + syserr*syserr * ChargeSignal[2][1]*ChargeSignal[2][1] + xtlk_err*xtlk_err*ChargeSignal[1][1]*ChargeSignal[1][1];
  a23t = a23[2] + syserr*syserr * ChargeSignal[2][1]*ChargeSignal[2][2];
  a33t = a33[2] + syserr*syserr * ChargeSignal[2][2]*ChargeSignal[2][2] + xtlk_err*xtlk_err*ChargeSignal[1][2]*ChargeSignal[1][2];

  dd     = (a11t*a33t*a22t - a11t*a23t*a23t - a33t*a12t*a12t
                        +2.* a12t*a13t*a23t - a13t*a13t*a22t );

  v11[2] = (a33t*a22t - a23t*a23t)/dd;
  v12[2] =-(a33t*a12t - a13t*a23t)/dd;
  v13[2] = (a12t*a23t - a13t*a22t)/dd;
  v22[2] = (a33t*a11t - a13t*a13t)/dd;
  v23[2] =-(a23t*a11t - a12t*a13t)/dd;
  v33[2] = (a22t*a11t - a12t*a12t)/dd;
*/
  //---- Find the inverted XTalk matrix and apply it to the charge (3x3)
  //---- Thus the charge before the XTalk is obtained
  CLHEP::HepMatrix cross_talks(3,3);
  CLHEP::HepMatrix cross_talks_inv(3,3);
  int err = 0;
  //---- q_sum is 3 time bins summed; L, C, R - left, central, right strips
  q_sum = q_sumL = q_sumC = q_sumR = 0.;
  double charge = 0.;
  for(int iTime=0;iTime<3;iTime++){
    cross_talks_inv(1,1) = cross_talks(1,1) = xt_lr0[iTime];
    cross_talks_inv(1,2) = cross_talks(1,2) = xt_l[1][iTime];
    cross_talks_inv(1,3) = cross_talks(1,3) = 0.;
    cross_talks_inv(2,1) = cross_talks(2,1) =  xt_r[0][iTime];
    cross_talks_inv(2,2) = cross_talks(2,2) = xt_lr1[iTime];
    cross_talks_inv(2,3) = cross_talks(2,3) = xt_l[2][iTime];
    cross_talks_inv(3,1) = cross_talks(3,1) = 0.;
    cross_talks_inv(3,2) = cross_talks(3,2) = xt_r[1][iTime];
    cross_talks_inv(3,3) = cross_talks(3,3) = xt_lr2[iTime];
    cross_talks_inv.invert(err);
    if (err != 0) {
      edm::LogWarning("FailedXTalkiInversionNoCrosstalkCorrection") <<"Failed to invert XTalks matrix. No cross-talk correction for this rechit."; 
      //edm::LogError("CSCRecHit") << "Failed to invert XTalks matrix. No cross-talk correction for this rechit.";
      return;
    }
    //---- "charge" is XT-corrected charge
    charge = chargeSignal[0][iTime]*cross_talks_inv(1,1) + chargeSignal[1][iTime]*cross_talks_inv(1,2) + 
      chargeSignal[2][iTime]*cross_talks_inv(1,3);
    //---- Negative charge? According to studies (and logic) - better use 0 charge
    //----- Later studies suggest that this only do harm. I am still worried about 
    // charges of -50 ADC and below (0.5% of the cases) but let see 
    //if(charge<0.){
      //charge = 0.;
    //}
    q_sum+=charge;
    q_sumL+=charge;
    charge = chargeSignal[0][iTime]*cross_talks_inv(2,1) + chargeSignal[1][iTime]*cross_talks_inv(2,2) + 
      chargeSignal[2][iTime]* cross_talks_inv(2,3);
    //if(charge<0.){
      //charge = 0.;
    //}
    q_sum+=charge;
    q_sumC+=charge;
    charge = chargeSignal[0][iTime]*cross_talks_inv(3,1) + chargeSignal[1][iTime]*cross_talks_inv(3,2) + 
      chargeSignal[2][iTime]*cross_talks_inv(3,3);
    //if(charge<0.){
      //charge = 0.;
    //}
    q_sum+=charge;
    q_sumR+=charge;
  }
}
double CSCXonStrip_MatchGatti::xfError_Noise ( double  noise) [private]

Definition at line 602 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by calculateXonStripError().

                                                        {

  double min, max;
  if(q_sumR>q_sumL){
    min = q_sumL;
    max = q_sumR;
  }
  else{
    min = q_sumR;
    max = q_sumL;
  }
  //---- Error propagation...
  //---- Names here are fake! Due to technical features
  double dr_L2 = pow(q_sumR-q_sumL,2);
  double dr_C2 = pow(q_sumC-min,2);
  double dr_R2 = pow(q_sumC-max,2);
  double error = sqrt(dr_L2 + dr_C2 + dr_R2)*noise/pow(q_sumC-min,2)/2;

  return error;
}
double CSCXonStrip_MatchGatti::xfError_XTasym ( double  XTasym) [private]

Definition at line 623 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by calculateXonStripError().

                                                           {

  double min;
  if(q_sumR>q_sumL){
    min = q_sumL;
  }
  else{
    min = q_sumR;
  }
  //---- Error propagation
  double dXTL = (pow(q_sumC,2)+pow(q_sumR,2)-q_sumL*q_sumR-q_sumR*q_sumC);
  double dXTR = (pow(q_sumC,2)+pow(q_sumL,2)-q_sumL*q_sumR-q_sumL*q_sumC);
  double dXT = sqrt(pow(dXTL,2) + pow(dXTR,2))/pow((q_sumC-min),2)/2;
  double error = dXT * xt_asym;

  return error;
}

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().

Definition at line 116 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

Definition at line 126 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 129 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 120 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 123 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 132 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 135 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 138 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 141 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

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 [static, private]
const int CSCXonStrip_MatchGatti::n_SW_noME1_1 = 11 [static, private]
const int CSCXonStrip_MatchGatti::n_val = 501 [static, private]

Definition at line 114 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

Definition at line 124 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 127 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 118 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 121 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 130 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 133 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 136 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 139 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

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().

Definition at line 82 of file CSCXonStrip_MatchGatti.h.

Referenced by setupMatrix().

double CSCXonStrip_MatchGatti::r [private]

Definition at line 59 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

Definition at line 90 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setConditions().

Definition at line 78 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and initChamberSpecs().

Definition at line 61 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

Definition at line 58 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and initChamberSpecs().

Definition at line 86 of file CSCXonStrip_MatchGatti.h.

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.

Definition at line 112 of file CSCXonStrip_MatchGatti.h.

Definition at line 115 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

Definition at line 125 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 128 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 119 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 122 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 131 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 134 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 137 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

Definition at line 140 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

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().

Definition at line 87 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().