CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
CSCXonStrip_MatchGatti Class Reference

#include <CSCXonStrip_MatchGatti.h>

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Static Private Attributes

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

Detailed Description

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

Author
Stoyan Stoynev - NU

Definition at line 24 of file CSCXonStrip_MatchGatti.h.

Constructor & Destructor Documentation

◆ CSCXonStrip_MatchGatti() [1/2]

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

Definition at line 35 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.

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

◆ ~CSCXonStrip_MatchGatti()

CSCXonStrip_MatchGatti::~CSCXonStrip_MatchGatti ( )

Definition at line 69 of file CSCXonStrip_MatchGatti.cc.

69 {}

◆ CSCXonStrip_MatchGatti() [2/2]

CSCXonStrip_MatchGatti::CSCXonStrip_MatchGatti ( const CSCXonStrip_MatchGatti )
private

Member Function Documentation

◆ calculateXonStripError()

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

Definition at line 622 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by findXOnStrip().

622  {
623  double min;
624  if (q_sumR > q_sumL) {
625  min = q_sumL;
626  } else {
627  min = q_sumR;
628  }
629 
630  double xf = (q_sumR - q_sumL) / (q_sumC - min) / 2;
631  double xf_ErrorNoise = xfError_Noise(noise_level);
632  double xf_ErrorXTasym = xfError_XTasym(xt_asymmetry);
633  // x_G = x_F + correction_functon(x_F)
634  // 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)]
635  double d_xf = std::sqrt(std::pow(xf_ErrorNoise, 2) + std::pow(xf_ErrorXTasym, 2));
636  double d_corr =
638  double x_shift = d_xf + d_corr;
639  // double x_shift = sqrt( pow( xf_ErrorNoise, 2) + pow( xf_ErrorXTasym, 2)) *
640  //(1 + (estimated2GattiCorrection(xf+0.001, stripWidth, ME1_1) -
641  // estimated2GattiCorrection(xf, stripWidth, ME1_1))*1000.);
642  double x_error = std::sqrt(std::pow(std::abs(x_shift) * stripWidth, 2) + std::pow(const_syst, 2));
643  return x_error;
644 }
double xfError_XTasym(double XTasym)
constexpr int pow(int x)
Definition: conifer.h:24
T sqrt(T t)
Definition: SSEVec.h:19
double xfError_Noise(double noise)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1)

◆ calculateXonStripPosition()

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

Definition at line 646 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by findXOnStrip().

646  {
647  double x_estimated = -99.;
648  double min;
649  if (q_sumR > q_sumL) {
650  min = q_sumL;
651  } else {
652  min = q_sumR;
653  }
654  //---- This is XF ( X Florida - after the first group that used it)
655  x_estimated = (q_sumR - q_sumL) / (q_sumC - min) / 2;
656  double x_gatti = estimated2Gatti(x_estimated, stripWidth, ME1_1);
657  return x_gatti;
658 }
double estimated2Gatti(double Xestimated, float StripWidth, bool ME1_1)

◆ estimated2Gatti()

double CSCXonStrip_MatchGatti::estimated2Gatti ( double  Xestimated,
float  StripWidth,
bool  ME1_1 
)
private

Definition at line 580 of file CSCXonStrip_MatchGatti.cc.

References estimated2GattiCorrection(), and stripWidth.

Referenced by calculateXonStripPosition().

580  {
581  double x_corr = estimated2GattiCorrection(x_estimated, stripWidth, ME1_1);
582  double x_gatti = x_estimated + x_corr;
583 
584  return x_gatti;
585 }
double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1)

◆ estimated2GattiCorrection()

double CSCXonStrip_MatchGatti::estimated2GattiCorrection ( double  Xestimated,
float  StripWidth,
bool  ME1_1 
)
private

Definition at line 502 of file CSCXonStrip_MatchGatti.cc.

References funct::abs(), createfilelist::int, n_SW_ME1_1, n_SW_noME1_1, n_val, stripWidth, x_correction_ME1_1, and x_correction_noME1_1.

Referenced by calculateXonStripError(), and estimated2Gatti().

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

◆ findXOnStrip()

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 74 of file CSCXonStrip_MatchGatti.cc.

References a11, a12, a13, a22, a23, a33, funct::abs(), gpuClustering::adc, calculateXonStripError(), calculateXonStripPosition(), CSCChamberSpecs::chamberTypeName(), CosmicGenFilterHelix_cfi::charges, 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, f, nano_mu_digi_cff::float, mps_fire::i, createfilelist::int, dqmiolumiharvest::j, dqmdumpme::k, nano_mu_digi_cff::layer, hgcal_clustering::max_index(), HLT_2023v12_cff::ME1a, 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(), me0TriggerPseudoDigis_cff::nStrips, CSCStripHit::numberOfConsecutiveStrips(), AlCaHLTBitMon_ParallelJobs::p, q_sumC, q_sumL, q_sumR, recoConditions_, alignCSCRings::s, CSCStripHit::s_adc(), setupMatrix(), specs_, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, DigiDM_cff::strips, CSCStripHit::strips(), stripWidth, submitPVValidationJobs::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().

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

◆ getCorrectionValues()

void CSCXonStrip_MatchGatti::getCorrectionValues ( std::string  Estimator)
private

◆ hardcodedCorrectionInitialization()

void CSCXonStrip_MatchGatti::hardcodedCorrectionInitialization ( )
private

Definition at line 11 of file HardCodedCorrectionInitialization.cc.

References mps_fire::i, dqmiolumiharvest::j, n_SW_ME1_1, n_SW_noME1_1, n_val, x_correction_ME1_1, and x_correction_noME1_1.

Referenced by getCorrectionValues().

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

◆ initChamberSpecs()

void CSCXonStrip_MatchGatti::initChamberSpecs ( )

Use specs to setup Gatti parameters.

Definition at line 474 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().

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

◆ operator=()

CSCXonStrip_MatchGatti& CSCXonStrip_MatchGatti::operator= ( const CSCXonStrip_MatchGatti )
private

◆ setConditions()

void CSCXonStrip_MatchGatti::setConditions ( const CSCRecoConditions reco)
inline

Cache pointer to conditions data.

Definition at line 51 of file CSCXonStrip_MatchGatti.h.

References dt_dqm_sourceclient_common_cff::reco, and recoConditions_.

Referenced by CSCMake2DRecHit::setConditions().

◆ setupMatrix()

void CSCXonStrip_MatchGatti::setupMatrix ( )

Set matrix for XT corrections and noise.

Definition at line 358 of file CSCXonStrip_MatchGatti.cc.

References ALCARECOTkAlJpsiMuMu_cff::charge, chargeSignal, submitPVResolutionJobs::err, q_sum, q_sumC, q_sumL, q_sumR, xt_l, xt_lr0, xt_lr1, xt_lr2, and xt_r.

Referenced by findXOnStrip().

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

◆ xfError_Noise()

double CSCXonStrip_MatchGatti::xfError_Noise ( double  noise)
private

Definition at line 587 of file CSCXonStrip_MatchGatti.cc.

References relativeConstraints::error, SiStripPI::max, SiStripPI::min, hgchebackDigitizer_cfi::noise, conifer::pow(), q_sumC, q_sumL, q_sumR, and mathSSE::sqrt().

Referenced by calculateXonStripError().

587  {
588  double min, max;
589  if (q_sumR > q_sumL) {
590  min = q_sumL;
591  max = q_sumR;
592  } else {
593  min = q_sumR;
594  max = q_sumL;
595  }
596  //---- Error propagation...
597  //---- Names here are fake! Due to technical features
598  double dr_L2 = pow(q_sumR - q_sumL, 2);
599  double dr_C2 = pow(q_sumC - min, 2);
600  double dr_R2 = pow(q_sumC - max, 2);
601  double error = std::sqrt(dr_L2 + dr_C2 + dr_R2) * noise / std::pow(q_sumC - min, 2) / 2;
602 
603  return error;
604 }
constexpr int pow(int x)
Definition: conifer.h:24
T sqrt(T t)
Definition: SSEVec.h:19

◆ xfError_XTasym()

double CSCXonStrip_MatchGatti::xfError_XTasym ( double  XTasym)
private

Definition at line 606 of file CSCXonStrip_MatchGatti.cc.

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

Referenced by calculateXonStripError().

606  {
607  double min;
608  if (q_sumR > q_sumL) {
609  min = q_sumL;
610  } else {
611  min = q_sumR;
612  }
613  //---- Error propagation
614  double dXTL = (std::pow(q_sumC, 2) + std::pow(q_sumR, 2) - q_sumL * q_sumR - q_sumR * q_sumC);
615  double dXTR = (std::pow(q_sumC, 2) + std::pow(q_sumL, 2) - q_sumL * q_sumR - q_sumL * q_sumC);
616  double dXT = std::sqrt(std::pow(dXTL, 2) + std::pow(dXTR, 2)) / std::pow((q_sumC - min), 2) / 2;
617  double error = dXT * xt_asym;
618 
619  return error;
620 }
constexpr int pow(int x)
Definition: conifer.h:24
T sqrt(T t)
Definition: SSEVec.h:19

Member Data Documentation

◆ a11

float CSCXonStrip_MatchGatti::a11[3]
private

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

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ a12

float CSCXonStrip_MatchGatti::a12[3]
private

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ a13

float CSCXonStrip_MatchGatti::a13[3]
private

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ a22

float CSCXonStrip_MatchGatti::a22[3]
private

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ a23

float CSCXonStrip_MatchGatti::a23[3]
private

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ a33

float CSCXonStrip_MatchGatti::a33[3]
private

Definition at line 75 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip().

◆ chargeSignal

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

Definition at line 65 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ const_syst

float CSCXonStrip_MatchGatti::const_syst
private

Definition at line 116 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

◆ const_syst_ME12

float CSCXonStrip_MatchGatti::const_syst_ME12
private

Definition at line 126 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME13

float CSCXonStrip_MatchGatti::const_syst_ME13
private

Definition at line 129 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME1a

float CSCXonStrip_MatchGatti::const_syst_ME1a
private

Definition at line 120 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME1b

float CSCXonStrip_MatchGatti::const_syst_ME1b
private

Definition at line 123 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME21

float CSCXonStrip_MatchGatti::const_syst_ME21
private

Definition at line 132 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME22

float CSCXonStrip_MatchGatti::const_syst_ME22
private

Definition at line 135 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME31

float CSCXonStrip_MatchGatti::const_syst_ME31
private

Definition at line 138 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME32

float CSCXonStrip_MatchGatti::const_syst_ME32
private

Definition at line 141 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ const_syst_ME41

float CSCXonStrip_MatchGatti::const_syst_ME41
private

Definition at line 144 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ h

double CSCXonStrip_MatchGatti::h
private

Definition at line 58 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ k_1

double CSCXonStrip_MatchGatti::k_1
private

Definition at line 62 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ k_2

double CSCXonStrip_MatchGatti::k_2
private

Definition at line 62 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ k_3

double CSCXonStrip_MatchGatti::k_3
private

Definition at line 62 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ n_SW_ME1_1

const int CSCXonStrip_MatchGatti::n_SW_ME1_1 = 6
staticprivate

◆ n_SW_noME1_1

const int CSCXonStrip_MatchGatti::n_SW_noME1_1 = 11
staticprivate

◆ n_val

const int CSCXonStrip_MatchGatti::n_val = 501
staticprivate

◆ noise_level

float CSCXonStrip_MatchGatti::noise_level
private

Definition at line 114 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

◆ noise_level_ME12

float CSCXonStrip_MatchGatti::noise_level_ME12
private

Definition at line 124 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME13

float CSCXonStrip_MatchGatti::noise_level_ME13
private

Definition at line 127 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME1a

float CSCXonStrip_MatchGatti::noise_level_ME1a
private

Definition at line 118 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME1b

float CSCXonStrip_MatchGatti::noise_level_ME1b
private

Definition at line 121 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME21

float CSCXonStrip_MatchGatti::noise_level_ME21
private

Definition at line 130 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME22

float CSCXonStrip_MatchGatti::noise_level_ME22
private

Definition at line 133 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME31

float CSCXonStrip_MatchGatti::noise_level_ME31
private

Definition at line 136 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME32

float CSCXonStrip_MatchGatti::noise_level_ME32
private

Definition at line 139 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ noise_level_ME41

float CSCXonStrip_MatchGatti::noise_level_ME41
private

Definition at line 142 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ norm

double CSCXonStrip_MatchGatti::norm
private

Definition at line 62 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ q_sum

double CSCXonStrip_MatchGatti::q_sum
private

Definition at line 82 of file CSCXonStrip_MatchGatti.h.

Referenced by setupMatrix().

◆ q_sumC

double CSCXonStrip_MatchGatti::q_sumC
private

◆ q_sumL

double CSCXonStrip_MatchGatti::q_sumL
private

◆ q_sumR

double CSCXonStrip_MatchGatti::q_sumR
private

◆ r

double CSCXonStrip_MatchGatti::r
private

Definition at line 60 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ recoConditions_

const CSCRecoConditions* CSCXonStrip_MatchGatti::recoConditions_
private

Definition at line 90 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setConditions().

◆ specs_

const CSCChamberSpecs* CSCXonStrip_MatchGatti::specs_
private

Definition at line 78 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and initChamberSpecs().

◆ sqrt_k_3

double CSCXonStrip_MatchGatti::sqrt_k_3
private

Definition at line 62 of file CSCXonStrip_MatchGatti.h.

Referenced by initChamberSpecs().

◆ stripWidth

float CSCXonStrip_MatchGatti::stripWidth
private

◆ use3TimeBins

bool CSCXonStrip_MatchGatti::use3TimeBins
private

Definition at line 86 of file CSCXonStrip_MatchGatti.h.

◆ useCalib

bool CSCXonStrip_MatchGatti::useCalib
private

Definition at line 85 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ v11

float CSCXonStrip_MatchGatti::v11[3]
private

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

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ v12

float CSCXonStrip_MatchGatti::v12[3]
private

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ v13

float CSCXonStrip_MatchGatti::v13[3]
private

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ v22

float CSCXonStrip_MatchGatti::v22[3]
private

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ v23

float CSCXonStrip_MatchGatti::v23[3]
private

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ v33

float CSCXonStrip_MatchGatti::v33[3]
private

Definition at line 72 of file CSCXonStrip_MatchGatti.h.

◆ x_centralVal

float CSCXonStrip_MatchGatti::x_centralVal[n_val]
private

Definition at line 112 of file CSCXonStrip_MatchGatti.h.

◆ x_correction_ME1_1

float CSCXonStrip_MatchGatti::x_correction_ME1_1[n_SW_ME1_1][n_val]
private

◆ x_correction_noME1_1

float CSCXonStrip_MatchGatti::x_correction_noME1_1[n_SW_noME1_1][n_val]
private

◆ xt_asymmetry

float CSCXonStrip_MatchGatti::xt_asymmetry
private

Definition at line 115 of file CSCXonStrip_MatchGatti.h.

Referenced by calculateXonStripError(), and findXOnStrip().

◆ xt_asymmetry_ME12

float CSCXonStrip_MatchGatti::xt_asymmetry_ME12
private

Definition at line 125 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME13

float CSCXonStrip_MatchGatti::xt_asymmetry_ME13
private

Definition at line 128 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME1a

float CSCXonStrip_MatchGatti::xt_asymmetry_ME1a
private

Definition at line 119 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME1b

float CSCXonStrip_MatchGatti::xt_asymmetry_ME1b
private

Definition at line 122 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME21

float CSCXonStrip_MatchGatti::xt_asymmetry_ME21
private

Definition at line 131 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME22

float CSCXonStrip_MatchGatti::xt_asymmetry_ME22
private

Definition at line 134 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME31

float CSCXonStrip_MatchGatti::xt_asymmetry_ME31
private

Definition at line 137 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME32

float CSCXonStrip_MatchGatti::xt_asymmetry_ME32
private

Definition at line 140 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_asymmetry_ME41

float CSCXonStrip_MatchGatti::xt_asymmetry_ME41
private

Definition at line 143 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().

◆ xt_l

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 68 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ xt_lr0

float CSCXonStrip_MatchGatti::xt_lr0[3]
private

Definition at line 69 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ xt_lr1

float CSCXonStrip_MatchGatti::xt_lr1[3]
private

Definition at line 69 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ xt_lr2

float CSCXonStrip_MatchGatti::xt_lr2[3]
private

Definition at line 69 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ xt_r

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

Definition at line 68 of file CSCXonStrip_MatchGatti.h.

Referenced by findXOnStrip(), and setupMatrix().

◆ xtalksOffset

float CSCXonStrip_MatchGatti::xtalksOffset
private

Definition at line 87 of file CSCXonStrip_MatchGatti.h.

Referenced by CSCXonStrip_MatchGatti(), and findXOnStrip().