Esempio n. 1
0
OzoneBands::OzoneBands(int nw_in, const double *wl_in)
{
#include "ph_o3data.c"
  nw = nw_in; wl = wl_in;
  if (!(xso3 = new double[nw]) ||
      !(s226 = new double[nw]) ||
      !(s263 = new double[nw]) ||
      !(s298 = new double[nw])) {
    InputError(ERROR, "Unable to allocate memory in \"OzoneBands\".");
    exit (3);
  }
  Rebin(NXO3, xwl, xtpl, nw, wl, xso3);
  Rebin(NSO3, swl, s226tpl, nw, wl, s226);
  Rebin(NSO3, swl, s263tpl, nw, wl, s263);
  Rebin(NSO3, swl, s298tpl, nw, wl, s298);
  for (int i = nw; i--; ) {
    const double sfct = 1.e-20;
    s226[i] *= sfct;
    s263[i] *= sfct;
    s298[i] *= sfct;
  }
}
Esempio n. 2
0
NO2Bands::NO2Bands(int nw_in, const double *wl)
{
  const static float wno2[NNO2] = {
    263.8, 264.3, 264.8, 265.3, 265.8, 266.4, 266.9, 267.4, 
    267.9, 268.4, 268.9, 269.4, 270, 270.5, 271, 271.5, 
    272, 272.5, 273, 273.6, 274.1, 274.6, 275.1, 275.6, 
    276.1, 276.6, 277.2, 277.7, 278.2, 278.7, 279.2, 279.7, 
    280.2, 280.8, 281.3, 281.8, 282.3, 282.8, 283.3, 283.8, 
    284.4, 284.9, 285.4, 285.9, 286.4, 286.9, 287.4, 287.9, 
    288.5, 289, 289.5, 290, 290.5, 291, 291.5, 292.1, 
    292.6, 293.1, 293.6, 294.1, 294.6, 295.1, 295.7, 296.2, 
    296.7, 297.2, 297.7, 298.2, 298.7, 299.3, 299.8, 300.3, 
    300.8, 301.3, 301.8, 302.3, 302.9, 303.4, 303.9, 304.4, 
    304.9, 305.4, 305.9, 306.5, 307, 307.5, 308, 308.5, 
    309, 309.5, 310.1, 310.6, 311.1, 311.6, 312.1, 312.6, 
    313.1, 313.6, 314.2, 314.7, 315.2, 315.7, 316.2, 316.7, 
    317.2, 317.8, 318.3, 318.8, 319.3, 319.8, 320.3, 320.8, 
    321.4, 321.9, 322.4, 322.9, 323.4, 323.9, 324.4, 325, 
    325.5, 326, 326.5, 327, 327.5, 328, 328.6, 329.1, 
    329.6, 330.1, 330.6, 331.1, 331.6, 332.2, 332.7, 333.2, 
    333.7, 334.2, 334.7, 335.2, 335.7, 336.3, 336.8, 337.3, 
    337.8, 338.3, 338.8, 339.3, 339.9, 340.4, 340.9, 341.4, 
    341.9, 342.4, 342.9, 343.5, 344, 344.5, 345, 345.5, 
    346, 346.5, 347.1, 347.6, 348.1, 348.6, 349.1, 349.6, 
    350.1, 350.7, 351.2, 351.7, 352.2, 352.7, 353.2, 353.7, 
    354.3, 354.8, 355.3, 355.8, 356.3, 356.8, 357.3, 357.8, 
    358.4, 358.9, 359.4, 359.9, 360.4, 360.9, 361.4, 362, 
    362.5, 363, 363.5, 364, 364.5, 365, 365.6, 366.1, 
    366.6, 367.1, 367.6, 368.1, 368.6, 369.2, 369.7, 370.2, 
    370.7, 371.2, 371.7, 372.2, 372.8, 373.3, 373.8, 374.3, 
    374.8, 375.3, 375.8, 376.4, 376.9, 377.4, 377.9, 378.4, 
    378.9, 379.4, 379.9, 380.5, 381, 381.5, 382, 382.5, 
    383, 383.5, 384.1, 384.6, 385.1, 385.6, 386.1, 386.6, 
    387.1, 387.7, 388.2, 388.7, 389.2, 389.7, 390.2, 390.7, 
    391.3, 391.8, 392.3, 392.8, 393.3, 393.8, 394.3, 394.9, 
    395.4, 395.9, 396.4, 396.9, 397.4, 397.9, 398.5, 399, 
    399.5, 400, 400.5, 401, 401.5, 402.1, 402.6, 403.1, 
    403.6, 404.1, 404.6, 405.1, 405.6, 406.2, 406.7, 407.2, 
    407.7, 408.2, 408.7, 409.2, 409.8, 410.3, 410.8, 411.3, 
    411.8, 412.3, 412.8, 413.4, 413.9, 414.4, 414.9, 415.4, 
    415.9, 416.4, 417, 417.5, 418, 418.5, 419, 419.5, 
    420, 420.6, 421.1, 421.6, 422.1, 422.6, 423.1, 423.6, 
    424.2, 424.7, 425.2, 425.7, 426.2, 426.7, 427.2, 427.7, 
    428.3, 428.8, 429.3, 429.8, 430.3, 430.8, 431.3, 431.9, 
    432.4, 432.9, 433.4, 433.9, 434.4, 434.9, 435.5, 436, 
    436.5, 437, 437.5, 438, 438.5, 439.1, 439.6, 440.1, 
    440.6, 441.1, 441.6, 442.1, 442.7, 443.2, 443.7, 444.2, 
    444.7, 445.2, 445.7, 446.3, 446.8, 447.3, 447.8, 448.3, 
    448.8, 449.3, 449.8, 450.4, 450.9, 451.4, 451.9, 452.4, 
    452.9, 453.4, 454, 454.5, 455, 455.5, 456, 456.5, 
    457, 457.6, 458.1, 458.6, 459.1, 459.6, 460.1, 460.6, 
    461.2, 461.7, 462.2, 462.7, 463.2, 463.7, 464.2, 464.8, 
    465.3, 465.8, 466.3, 466.8, 467.3, 467.8, 468.4, 468.9, 
    469.4, 469.9, 470.4, 470.9, 471.4, 472, 472.5, 473, 
    473.5, 474, 474.5, 475, 475.5, 476.1, 476.6, 477.1, 
    477.6, 478.1, 478.6, 479.1, 479.7, 480.2, 480.7, 481.2, 
    481.7, 482.2, 482.7, 483.3, 483.8, 484.3, 484.8, 485.3, 
    485.8, 486.3, 486.9, 487.4, 487.9, 488.4, 488.9, 489.4, 
    489.9, 490.5, 491, 491.5, 492, 492.5, 493, 493.5, 
    494.1, 494.6, 495.1, 495.6, 496.1, 496.6, 497.1, 497.6, 
    498.2, 498.7, 499.2, 499.7, 500.2, 500.7, 501.2, 501.8, 
    502.3, 502.8, 503.3, 503.8, 504.3, 504.8, 505.4, 505.9, 
    506.4, 506.9, 507.4, 507.9, 508.4, 509, 509.5, 510, 
    510.5, 511, 511.5, 512, 512.6, 513.1, 513.6, 514.1, 
    514.6, 515.1, 515.6, 516.2, 516.7, 517.2, 517.7, 518.2, 
    518.7, 519.2, 519.7, 520.3, 520.8, 521.3, 521.8, 522.3, 
    522.8, 523.3, 523.9, 524.4, 524.9, 525.4, 525.9, 526.4, 
    526.9, 527.5, 528, 528.5, 529, 529.5, 530, 530.5, 
    531.1, 531.6, 532.1, 532.6, 533.1, 533.6, 534.1, 534.7, 
    535.2, 535.7, 536.2, 536.7, 537.2, 537.7, 538.3, 538.8, 
    539.3, 539.8, 540.3, 540.8, 541.3, 541.8, 542.4, 542.9, 
    543.4, 543.9, 544.4, 544.9, 545.4, 546, 546.5, 547, 
    547.5, 548, 548.5, 549, 549.6, 550.1, 550.6, 551.1, 
    551.6, 552.1, 552.6, 553.2, 553.7, 554.2, 554.7, 555.2, 
    555.7, 556.2, 556.8, 557.3, 557.8, 558.3, 558.8, 559.3, 
    559.8, 560.4, 560.9, 561.4, 561.9, 562.4, 562.9, 563.4, 
    564, 564.5, 565, 565.5, 566, 566.5, 567, 567.5, 
    568.1, 568.6, 569.1, 569.6, 570.1, 570.6, 571.1, 571.7, 
    572.2, 572.7, 573.2, 573.7, 574.2, 574.7, 575.3, 575.8, 
    576.3, 576.8, 577.3, 577.8, 578.3, 578.9, 579.4, 579.9, 
    580.4, 580.9, 581.4, 581.9, 582.5, 583, 583.5, 584, 
    584.5, 585, 585.5, 586.1, 586.6, 587.1, 587.6, 588.1, 
    588.6, 589.1, 589.6, 590.2, 590.7, 591.2, 591.7, 592.2, 
    592.7, 593.2, 593.8, 594.3, 594.8, 595.3, 595.8, 596.3, 
    596.8, 597.4, 597.9, 598.4, 598.9, 599.4, 599.9, 600.4, 
    601, 601.5, 602, 602.5, 603, 603.5, 604, 604.6, 
    605.1, 605.6, 606.1, 606.6, 607.1, 607.6, 608.2, 608.7, 
    609.2, 609.7, 610.2, 610.7, 611.2, 611.7, 612.3, 612.8, 
    613.3, 613.8, 614.3, 614.8, 615.3, 615.9, 616.4, 616.9, 
    617.4, 617.9, 618.4, 618.9, 619.5, 620, 620.5, 621, 
    621.5, 622, 622.5, 623.1, 623.6, 624.1, 624.6, 625.1, 
    625.6, 626.1, 626.7, 627.2, 627.7, 628.2, 628.7, 629.2, 
    629.7, 630.3, 630.8, 631.3, 631.8, 632.3, 632.8, 633.3, 
    633.8, 634.4, 634.9, 635.4, 635.9, 636.4, 636.9, 637.4, 
    638, 638.5, 639, 639.5, 640, 640.5, 641, 641.6, 
    642.1, 642.6, 643.1, 643.6, 644.1, 644.6, 645.2, 645.7, 
    646.2, 646.7, 647.2, 647.7, 648.2, 648.8 };
  const static float xno2tpl[NNO2] = {
    2.9879e-20, 3.6112e-20, 3.1282e-20, 3.4748e-20, 3.2334e-20, 3.6357e-20, 
    3.3573e-20, 3.6251e-20, 3.5308e-20, 3.9617e-20, 3.7035e-20, 3.9366e-20, 
    3.787e-20, 4.0417e-20, 3.7852e-20, 4.1372e-20, 4.0888e-20, 4.3955e-20, 
    4.2323e-20, 4.5895e-20, 4.4887e-20, 4.7282e-20, 4.5673e-20, 4.7806e-20, 
    4.7814e-20, 5.0539e-20, 4.884e-20, 5.1552e-20, 5.202e-20, 5.575e-20, 
    5.4938e-20, 5.7467e-20, 5.7495e-20, 6.0136e-20, 5.8692e-20, 6.0711e-20, 
    6.0549e-20, 6.4322e-20, 6.5284e-20, 6.801e-20, 6.905e-20, 7.337e-20, 
    7.3287e-20, 7.5047e-20, 7.4231e-20, 7.6678e-20, 7.6462e-20, 7.8971e-20, 
    8.037e-20, 8.4381e-20, 8.5226e-20, 8.8255e-20, 9.0267e-20, 9.4446e-20, 
    9.5266e-20, 9.7099e-20, 9.648e-20, 9.8676e-20, 9.8944e-20, 1.018e-19, 
    1.0281e-19, 1.0659e-19, 1.0935e-19, 1.1566e-19, 1.1941e-19, 1.2293e-19, 
    1.221e-19, 1.2273e-19, 1.2313e-19, 1.2565e-19, 1.2509e-19, 1.274e-19, 
    1.2981e-19, 1.3628e-19, 1.3993e-19, 1.4497e-19, 1.475e-19, 1.5076e-19, 
    1.5151e-19, 1.5408e-19, 1.5482e-19, 1.5793e-19, 1.5923e-19, 1.6308e-19, 
    1.6436e-19, 1.6781e-19, 1.7074e-19, 1.7671e-19, 1.7985e-19, 1.8308e-19, 
    1.8402e-19, 1.8872e-19, 1.9214e-19, 1.9746e-19, 1.979e-19, 1.9903e-19, 
    1.997e-19, 2.0505e-19, 2.0806e-19, 2.1272e-19, 2.1358e-19, 2.1685e-19, 
    2.2074e-19, 2.2782e-19, 2.3222e-19, 2.356e-19, 2.3487e-19, 2.3897e-19, 
    2.4242e-19, 2.4774e-19, 2.4776e-19, 2.4961e-19, 2.5349e-19, 2.6024e-19, 
    2.6141e-19, 2.6472e-19, 2.6544e-19, 2.7158e-19, 2.7594e-19, 2.8162e-19, 
    2.8374e-19, 2.877e-19, 2.8817e-19, 2.934e-19, 2.9318e-19, 2.9879e-19, 
    3.0148e-19, 3.069e-19, 3.0669e-19, 3.0989e-19, 3.1025e-19, 3.1765e-19, 
    3.2591e-19, 3.3772e-19, 3.3677e-19, 3.3397e-19, 3.3069e-19, 3.3716e-19, 
    3.3865e-19, 3.4401e-19, 3.4489e-19, 3.4836e-19, 3.4571e-19, 3.5421e-19, 
    3.6556e-19, 3.7737e-19, 3.7573e-19, 3.7872e-19, 3.8158e-19, 3.9123e-19, 
    3.8859e-19, 3.8315e-19, 3.7421e-19, 3.7724e-19, 3.7937e-19, 3.8715e-19, 
    3.9149e-19, 4.0012e-19, 4.0449e-19, 4.1544e-19, 4.1869e-19, 4.2528e-19, 
    4.2958e-19, 4.4349e-19, 4.3936e-19, 4.296e-19, 4.1876e-19, 4.2345e-19, 
    4.2755e-19, 4.3538e-19, 4.3145e-19, 4.3088e-19, 4.2674e-19, 4.3821e-19, 
    4.5492e-19, 4.7348e-19, 4.733e-19, 4.6828e-19, 4.6272e-19, 4.7504e-19, 
    4.8602e-19, 4.9384e-19, 4.8518e-19, 4.771e-19, 4.6583e-19, 4.6793e-19, 
    4.7002e-19, 4.8276e-19, 4.8831e-19, 4.9524e-19, 4.9125e-19, 4.9552e-19, 
    4.9247e-19, 4.9816e-19, 5.016e-19, 5.1782e-19, 5.2787e-19, 5.3095e-19, 
    5.1667e-19, 5.1495e-19, 5.155e-19, 5.2385e-19, 5.2001e-19, 5.2089e-19, 
    5.193e-19, 5.2238e-19, 5.1669e-19, 5.2244e-19, 5.314e-19, 5.4784e-19, 
    5.506e-19, 5.4868e-19, 5.3739e-19, 5.3612e-19, 5.3137e-19, 5.4123e-19, 
    5.5364e-19, 5.7267e-19, 5.6971e-19, 5.5907e-19, 5.4126e-19, 5.3901e-19, 
    5.384e-19, 5.5433e-19, 5.6832e-19, 5.8149e-19, 5.7572e-19, 5.7418e-19, 
    5.652e-19, 5.6203e-19, 5.5495e-19, 5.6006e-19, 5.662e-19, 5.7869e-19, 
    5.7929e-19, 5.8088e-19, 5.7311e-19, 5.7171e-19, 5.6959e-19, 5.7898e-19, 
    5.8123e-19, 5.8582e-19, 5.8644e-19, 5.9286e-19, 5.8974e-19, 5.9309e-19, 
    5.9088e-19, 6.0029e-19, 6.0085e-19, 5.9563e-19, 5.7944e-19, 5.7247e-19, 
    5.665e-19, 5.7376e-19, 5.83e-19, 5.9609e-19, 5.9279e-19, 5.8573e-19, 
    5.7864e-19, 5.9224e-19, 6.069e-19, 6.094e-19, 5.9954e-19, 6.0993e-19, 
    6.1986e-19, 6.2417e-19, 6.1352e-19, 6.0047e-19, 5.8004e-19, 5.7065e-19, 
    5.68e-19, 5.8032e-19, 5.889e-19, 6.0014e-19, 5.9514e-19, 5.8115e-19, 
    5.6088e-19, 5.5239e-19, 5.5815e-19, 5.8809e-19, 6.0913e-19, 6.1591e-19, 
    6.0887e-19, 6.1096e-19, 6.0828e-19, 5.9583e-19, 5.7492e-19, 5.7238e-19, 
    5.8632e-19, 6.1358e-19, 6.1719e-19, 5.9972e-19, 5.7863e-19, 5.6324e-19, 
    5.4225e-19, 5.3326e-19, 5.3336e-19, 5.4519e-19, 5.5347e-19, 5.6267e-19, 
    5.6443e-19, 5.7481e-19, 5.818e-19, 5.8717e-19, 5.853e-19, 5.8574e-19, 
    5.8579e-19, 5.878e-19, 5.8291e-19, 5.8722e-19, 5.8985e-19, 5.891e-19, 
    5.698e-19, 5.4286e-19, 5.1448e-19, 5.07e-19, 5.2014e-19, 5.4597e-19, 
    5.5329e-19, 5.4265e-19, 5.1674e-19, 5.0223e-19, 5.1025e-19, 5.3564e-19, 
    5.4621e-19, 5.3656e-19, 5.1228e-19, 5.0299e-19, 5.1272e-19, 5.3396e-19, 
    5.4753e-19, 5.6694e-19, 5.7559e-19, 5.6469e-19, 5.3672e-19, 5.0688e-19, 
    4.7509e-19, 4.6269e-19, 4.7747e-19, 5.1975e-19, 5.4462e-19, 5.355e-19, 
    4.9787e-19, 4.6326e-19, 4.3622e-19, 4.2487e-19, 4.2609e-19, 4.3807e-19, 
    4.5134e-19, 4.7597e-19, 5.04e-19, 5.1897e-19, 5.0455e-19, 4.8184e-19, 
    4.6081e-19, 4.6769e-19, 4.9908e-19, 5.2818e-19, 5.1533e-19, 4.824e-19, 
    4.5203e-19, 4.4264e-19, 4.4128e-19, 4.4056e-19, 4.3882e-19, 4.4479e-19, 
    4.4365e-19, 4.3741e-19, 4.2276e-19, 4.1726e-19, 4.2003e-19, 4.206e-19, 
    4.1319e-19, 4.041e-19, 3.9907e-19, 4.1593e-19, 4.3513e-19, 4.3997e-19, 
    4.2693e-19, 4.2006e-19, 4.2336e-19, 4.3223e-19, 4.2611e-19, 4.1246e-19, 
    4.0126e-19, 4.1313e-19, 4.3643e-19, 4.468e-19, 4.3066e-19, 4.0922e-19, 
    3.7955e-19, 3.5403e-19, 3.4473e-19, 3.62e-19, 3.7895e-19, 3.8383e-19, 
    3.7256e-19, 3.5698e-19, 3.4026e-19, 3.324e-19, 3.2902e-19, 3.3034e-19, 
    3.277e-19, 3.3272e-19, 3.3587e-19, 3.4421e-19, 3.6141e-19, 3.8979e-19, 
    4.038e-19, 4.0483e-19, 3.8933e-19, 3.6918e-19, 3.4838e-19, 3.3527e-19, 
    3.2572e-19, 3.2206e-19, 3.197e-19, 3.2706e-19, 3.3925e-19, 3.4571e-19, 
    3.3801e-19, 3.3104e-19, 3.2211e-19, 3.0747e-19, 2.873e-19, 2.706e-19, 
    2.5878e-19, 2.5857e-19, 2.6261e-19, 2.6883e-19, 2.7049e-19, 2.7067e-19, 
    2.6622e-19, 2.6647e-19, 2.7598e-19, 3.0043e-19, 3.2674e-19, 3.3594e-19, 
    3.2272e-19, 3.0157e-19, 2.7682e-19, 2.5904e-19, 2.5138e-19, 2.5161e-19, 
    2.5382e-19, 2.6353e-19, 2.7465e-19, 2.8592e-19, 2.8945e-19, 2.8825e-19, 
    2.8479e-19, 2.7975e-19, 2.6484e-19, 2.4476e-19, 2.2427e-19, 2.0875e-19, 
    1.9537e-19, 1.8605e-19, 1.8087e-19, 1.8211e-19, 1.8672e-19, 1.9459e-19, 
    2.0628e-19, 2.2154e-19, 2.2789e-19, 2.2682e-19, 2.3175e-19, 2.4547e-19, 
    2.486e-19, 2.3837e-19, 2.255e-19, 2.1602e-19, 2.0643e-19, 2.0183e-19, 
    2.0338e-19, 2.1168e-19, 2.205e-19, 2.2773e-19, 2.2749e-19, 2.2424e-19, 
    2.1897e-19, 2.1538e-19, 2.1184e-19, 2.0515e-19, 1.9223e-19, 1.8114e-19, 
    1.7185e-19, 1.6427e-19, 1.5753e-19, 1.536e-19, 1.4895e-19, 1.4504e-19, 
    1.4393e-19, 1.504e-19, 1.6004e-19, 1.6604e-19, 1.6728e-19, 1.6703e-19, 
    1.6255e-19, 1.5599e-19, 1.4933e-19, 1.4645e-19, 1.4564e-19, 1.4677e-19, 
    1.4691e-19, 1.517e-19, 1.631e-19, 1.7628e-19, 1.8218e-19, 1.8255e-19, 
    1.7695e-19, 1.6891e-19, 1.6294e-19, 1.5881e-19, 1.5219e-19, 1.4666e-19, 
    1.4258e-19, 1.4276e-19, 1.4181e-19, 1.4111e-19, 1.4033e-19, 1.4021e-19, 
    1.3715e-19, 1.314e-19, 1.2369e-19, 1.1675e-19, 1.0805e-19, 1.0019e-19, 
    9.5353e-20, 9.3997e-20, 9.2499e-20, 9.3639e-20, 9.8914e-20, 1.0618e-19, 
    1.0899e-19, 1.0722e-19, 1.0065e-19, 9.5742e-20, 9.6095e-20, 1.0346e-19, 
    1.1249e-19, 1.1972e-19, 1.23e-19, 1.2266e-19, 1.1951e-19, 1.1963e-19, 
    1.2151e-19, 1.194e-19, 1.1285e-19, 1.0887e-19, 1.0968e-19, 1.1332e-19, 
    1.1403e-19, 1.1394e-19, 1.1228e-19, 1.0805e-19, 1.0141e-19, 9.5917e-20, 
    9.0934e-20, 8.9281e-20, 9.0123e-20, 9.3094e-20, 9.3461e-20, 9.0636e-20, 
    8.5083e-20, 7.8718e-20, 7.2641e-20, 6.8512e-20, 6.581e-20, 6.5283e-20, 
    6.4483e-20, 6.4357e-20, 6.3044e-20, 6.0642e-20, 5.8477e-20, 5.8677e-20, 
    6.0073e-20, 6.2399e-20, 6.4377e-20, 6.7071e-20, 7.0448e-20, 7.6604e-20, 
    8.3433e-20, 8.8836e-20, 9.0505e-20, 8.7802e-20, 8.0408e-20, 7.1782e-20, 
    6.5497e-20, 6.4533e-20, 6.6641e-20, 6.9814e-20, 7.0062e-20, 6.9593e-20, 
    6.9982e-20, 7.3282e-20, 7.6942e-20, 7.9223e-20, 7.8507e-20, 7.5907e-20, 
    7.0184e-20, 6.4529e-20, 5.861e-20, 5.3989e-20, 4.9726e-20, 4.6367e-20, 
    4.2335e-20, 3.9595e-20, 3.7643e-20, 3.7783e-20, 3.9356e-20, 4.266e-20, 
    4.5673e-20, 4.7595e-20, 4.7217e-20, 4.5677e-20, 4.2522e-20, 3.999e-20, 
    3.7756e-20, 3.6907e-20, 3.6932e-20, 3.799e-20, 3.9907e-20, 4.3161e-20, 
    4.6133e-20, 4.8097e-20, 4.804e-20, 4.7277e-20, 4.5466e-20, 4.3652e-20, 
    4.1291e-20, 4.0842e-20, 4.186e-20, 4.4735e-20, 4.7082e-20, 4.9368e-20, 
    5.0422e-20, 5.3432e-20, 5.5581e-20, 5.6369e-20, 5.3601e-20, 4.8904e-20, 
    4.2997e-20, 3.8476e-20, 3.4208e-20, 3.2493e-20, 3.1362e-20, 3.1069e-20, 
    3.0886e-20, 3.1375e-20, 3.2114e-20, 3.3537e-20, 3.4715e-20, 3.63e-20, 
    3.6483e-20, 3.6527e-20, 3.5437e-20, 3.4087e-20, 3.1099e-20, 2.7774e-20, 
    2.4156e-20, 2.212e-20, 2.0316e-20, 2.0163e-20, 1.9894e-20, 2.009e-20, 
    1.9896e-20, 2.0287e-20, 2.0496e-20, 2.0914e-20, 2.1015e-20, 2.1385e-20, 
    2.1129e-20, 2.1854e-20, 2.3274e-20, 2.6873e-20, 3.0245e-20, 3.4328e-20, 
    3.5094e-20, 3.3292e-20, 3.0927e-20, 3.0061e-20, 2.8439e-20, 2.8819e-20, 
    2.981e-20, 3.1676e-20, 3.156e-20, 3.0372e-20, 2.7037e-20, 2.5347e-20, 
    2.4298e-20, 2.54e-20, 2.5589e-20, 2.5448e-20, 2.337e-20, 2.3189e-20, 
    2.1531e-20, 2.2401e-20, 2.0649e-20, 2.1229e-20, 1.8512e-20, 2.0828e-20, 
    1.8089e-20, 1.9482e-20, 1.7591e-20, 1.9512e-20, 1.7651e-20, 1.8531e-20, 
    1.5131e-20, 1.7391e-20, 1.5929e-20, 1.7851e-20, 1.5121e-20, 1.7053e-20, 
    1.4852e-20, 1.6548e-20, 1.3715e-20, 1.6155e-20, 1.3674e-20, 1.6038e-20, 
    1.2882e-20, 1.5959e-20, 1.2881e-20, 1.5588e-20, 1.1888e-20, 1.5273e-20, 
    1.276e-20, 1.5122e-20, 1.188e-20, 1.527e-20, 1.218e-20, 1.5019e-20, 
    1.1506e-20, 1.4827e-20, 1.1273e-20, 1.4742e-20, 1.1055e-20, 1.4627e-20, 
    1.1803e-20, 1.4655e-20, 1.1758e-20, 1.4535e-20, 1.0803e-20, 1.4187e-20, 
    1.0866e-20, 1.4698e-20, 1.1505e-20, 1.4046e-20, 1.1202e-20, 1.4457e-20, 
  };
  nw = nw_in;
  if (!(xsno2 = new double[nw])) {
    InputError(ERROR, "Unable to allocate memory in \"NO2Bands\"");
    exit (3);
  }
  Rebin(NNO2, wno2, xno2tpl, nw, wl, xsno2);
}
Esempio n. 3
0
SO2Bands::SO2Bands(int nw_in, const double *wl)
{
  const static float wso2[NSO2] = {
    280, 281, 281.9, 282.5, 283.1, 283.9, 284.9, 286.1, 
    287, 288.3, 289, 290.2, 290.5, 290.8, 291.5, 292.2, 
    293.2, 294, 295.4, 296.3, 297.8, 298.1, 299.2, 300, 
    300.03, 300.06, 300.09, 300.12, 300.15, 300.18, 300.21, 300.24, 
    300.27, 300.3, 300.33, 300.36, 300.39, 300.42, 300.45, 300.48, 
    300.51, 300.54, 300.57, 300.6, 300.63, 300.66, 300.69, 300.72, 
    300.75, 300.78, 300.81, 300.84, 300.87, 300.9, 300.93, 300.96, 
    300.99, 301.02, 301.05, 301.08, 301.11, 301.14, 301.17, 301.2, 
    301.23, 301.26, 301.29, 301.32, 301.35, 301.38, 301.41, 301.44, 
    301.47, 301.5, 301.53, 301.56, 301.59, 301.62, 301.65, 301.68, 
    301.71, 301.74, 301.77, 301.8, 301.83, 301.86, 301.89, 301.92, 
    301.95, 301.98, 302.01, 302.04, 302.07, 302.1, 302.13, 302.16, 
    302.19, 302.22, 302.25, 302.28, 302.31, 302.34, 302.37, 302.4, 
    302.43, 302.46, 302.49, 302.52, 302.55, 302.58, 302.61, 302.64, 
    302.67, 302.7, 302.73, 302.76, 302.79, 302.82, 302.85, 302.88, 
    302.91, 302.94, 302.97, 303, 303.03, 303.06, 303.09, 303.12, 
    303.15, 303.18, 303.21, 303.24, 303.27, 303.3, 303.33, 303.36, 
    303.39, 303.42, 303.45, 303.48, 303.51, 303.54, 303.57, 303.6, 
    303.63, 303.66, 303.69, 303.72, 303.75, 303.78, 303.81, 303.84, 
    303.87, 303.9, 303.93, 303.96, 303.99, 304.02, 304.05, 304.08, 
    304.11, 304.14, 304.17, 304.2, 304.23, 304.26, 304.29, 304.32, 
    304.35, 304.38, 304.41, 304.44, 304.47, 304.5, 304.53, 304.56, 
    304.59, 304.62, 304.65, 304.68, 304.71, 304.74, 304.77, 304.8, 
    304.83, 304.86, 304.89, 304.92, 304.95, 304.98, 305.01, 305.04, 
    305.07, 305.1, 305.13, 305.16, 305.19, 305.22, 305.25, 305.28, 
    305.31, 305.34, 305.37, 305.4, 305.43, 305.46, 305.49, 305.52, 
    305.55, 305.58, 305.61, 305.64, 305.67, 305.7, 305.73, 305.76, 
    305.79, 305.82, 305.85, 305.88, 305.91, 305.94, 305.97, 306, 
    306.03, 306.06, 306.09, 306.12, 306.15, 306.18, 306.21, 306.24, 
    306.27, 306.3, 306.33, 306.36, 306.39, 306.42, 306.45, 306.48, 
    306.51, 306.54, 306.57, 306.6, 306.63, 306.66, 306.69, 306.72, 
    306.75, 306.78, 306.81, 306.84, 306.87, 306.9, 306.93, 306.96, 
    306.99, 307.02, 307.05, 307.08, 307.11, 307.14, 307.17, 307.2, 
    307.23, 307.26, 307.29, 307.32, 307.35, 307.38, 307.41, 307.44, 
    307.47, 307.5, 307.53, 307.56, 307.59, 307.62, 307.65, 307.68, 
    307.71, 307.74, 307.77, 307.8, 307.83, 307.86, 307.89, 307.92, 
    307.95, 307.98, 308.01, 308.04, 308.07, 308.1, 308.13, 308.16, 
    308.19, 308.22, 308.25, 308.28, 308.31, 308.34, 308.37, 308.4, 
    308.43, 308.46, 308.49, 308.52, 308.55, 308.58, 308.61, 308.64, 
    308.67, 308.7, 308.73, 308.76, 308.79, 308.82, 308.85, 308.88, 
    308.91, 308.94, 308.97, 309, 309.03, 309.06, 309.09, 309.12, 
    309.15, 309.18, 309.21, 309.24, 309.27, 309.3, 309.33, 309.36, 
    309.39, 309.42, 309.45, 309.48, 309.51, 309.54, 309.57, 309.6, 
    309.63, 309.66, 309.69, 309.72, 309.75, 309.78, 309.81, 309.84, 
    309.87, 309.9, 309.93, 309.96, 309.99, 310.02, 310.05, 310.08, 
    310.11, 310.14, 310.17, 310.2, 310.23, 310.26, 310.29, 310.32, 
    310.35, 310.38, 310.41, 310.44, 310.47, 310.5, 310.53, 310.56, 
    310.59, 310.62, 310.65, 310.68, 310.71, 310.74, 310.77, 310.8, 
    310.83, 310.86, 310.89, 310.92, 310.95, 310.98, 311.01, 311.04, 
    311.07, 311.1, 311.13, 311.16, 311.19, 311.22, 311.25, 311.28, 
    311.31, 311.34, 311.37, 311.4, 311.43, 311.46, 311.49, 311.52, 
    311.55, 311.58, 311.61, 311.64, 311.67, 311.7, 311.73, 311.76, 
    311.79, 311.82, 311.85, 311.88, 311.91, 311.94, 311.97, 312, 
    312.03, 312.06, 312.09, 312.12, 312.15, 312.18, 312.21, 312.24, 
    312.27, 312.3, 312.33, 312.36, 312.39, 312.42, 312.45, 312.48, 
    312.51, 312.54, 312.57, 312.6, 312.63, 312.66, 312.69, 312.72, 
    312.75, 312.78, 312.81, 312.84, 312.87, 312.9, 312.93, 312.96, 
    312.99, 313.02, 313.05, 313.08, 313.11, 313.14, 313.17, 313.2, 
    313.23, 313.26, 313.29, 313.32, 313.35, 313.38, 313.41, 313.44, 
    313.47, 313.5, 313.53, 313.56, 313.59, 313.62, 313.65, 313.68, 
    313.71, 313.74, 313.77, 313.8, 313.83, 313.86, 313.89, 313.92, 
    313.95, 313.98, 314.01, 314.04, 314.07, 314.1, 314.13, 314.16, 
    314.19, 314.22, 314.25, 314.28, 314.31, 314.34, 314.37, 314.4, 
    314.43, 314.46, 314.49, 314.52, 314.55, 314.58, 314.61, 314.64, 
    314.67, 314.7, 314.73, 314.76, 314.79, 314.82, 314.85, 314.88, 
    314.91, 314.94, 314.97, 315, 315.03, 315.06, 315.09, 315.12, 
    315.15, 315.18, 315.21, 315.24, 315.27, 315.3, 315.33, 315.36, 
    315.39, 315.42, 315.45, 315.48, 315.51, 315.54, 315.57, 315.6, 
    315.63, 315.66, 315.69, 315.72, 315.75, 315.78, 315.81, 315.84, 
    315.87, 315.9, 315.93, 315.96, 315.99, 316.02, 316.05, 316.08, 
    316.11, 316.14, 316.17, 316.2, 316.23, 316.26, 316.29, 316.32, 
    316.35, 316.38, 316.41, 316.44, 316.47, 316.5, 316.53, 316.56, 
    316.59, 316.62, 316.65, 316.68, 316.71, 316.74, 316.77, 316.8, 
    316.83, 316.86, 316.89, 316.92, 316.95, 316.98, 317.01, 317.04, 
    317.07, 317.1, 317.13, 317.16, 317.19, 317.22, 317.25, 317.28, 
    317.31, 317.34, 317.37, 317.4, 317.43, 317.46, 317.49, 317.52, 
    317.55, 317.58, 317.61, 317.64, 317.67, 317.7, 317.73, 317.76, 
    317.79, 317.82, 317.85, 317.88, 317.91, 317.94, 317.97, 318, 
    318.03, 318.06, 318.09, 318.12, 318.15, 318.18, 318.21, 318.24, 
    318.27, 318.3, 318.33, 318.36, 318.39, 318.42, 318.45, 318.48, 
    318.51, 318.54, 318.57, 318.6, 318.63, 318.66, 318.69, 318.72, 
    318.75, 318.78, 318.81, 318.84, 318.87, 318.9, 318.93, 318.96, 
    318.99, 319.02, 319.05, 319.08, 319.11, 319.14, 319.17, 319.2, 
    319.23, 319.26, 319.29, 319.32, 319.35, 319.38, 319.41, 319.44, 
    319.47, 319.5, 319.53, 319.56, 319.59, 319.62, 319.65, 319.68, 
    319.71, 319.74, 319.77, 319.8, 319.83, 319.86, 319.89, 319.92, 
    319.95, 319.98, 320.01, 320.04, 320.07, 320.1, 320.13, 320.16, 
    320.19, 320.22, 320.25, 320.28, 320.31, 320.34, 320.37, 320.4
  };
  const static float xso2tpl[NSO2] = {
    9.744e-19, 7.714e-19, 1.137e-18, 6.496e-19, 1.015e-18, 7.308e-19, 1.137e-18, 6.902e-19, 
    1.096e-18, 6.496e-19, 1.137e-18, 9.338e-19, 8.932e-19, 1.096e-18, 6.09e-19, 1.056e-18, 
    5.684e-19, 1.056e-18, 4.872e-19, 1.096e-18, 3.938e-19, 1.116e-18, 3.248e-19, 1.458e-18, 
    1.449e-18, 1.352e-18, 1.293e-18, 1.274e-18, 1.095e-18, 1.061e-18, 1.042e-18, 9.794e-19, 
    9.533e-19, 9.039e-19, 8.546e-19, 8.444e-19, 7.709e-19, 7.653e-19, 7.301e-19, 6.703e-19, 
    6.352e-19, 6.045e-19, 5.789e-19, 5.55e-19, 5.114e-19, 4.705e-19, 4.562e-19, 4.603e-19, 
    4.473e-19, 3.968e-19, 3.548e-19, 3.526e-19, 3.446e-19, 3.489e-19, 3.374e-19, 3.338e-19, 
    2.977e-19, 2.881e-19, 2.868e-19, 3.043e-19, 2.594e-19, 2.52e-19, 2.287e-19, 2.235e-19, 
    2.106e-19, 2.362e-19, 2.385e-19, 2.075e-19, 1.778e-19, 1.708e-19, 1.978e-19, 1.899e-19, 
    1.931e-19, 1.842e-19, 1.898e-19, 1.69e-19, 1.885e-19, 2.037e-19, 2.711e-19, 2.854e-19, 
    3.126e-19, 2.943e-19, 3.641e-19, 4.414e-19, 5.524e-19, 6.181e-19, 7.1e-19, 7.583e-19, 
    8.579e-19, 9.4e-19, 1.033e-18, 1.014e-18, 1.038e-18, 1.09e-18, 1.123e-18, 1.078e-18, 
    1.032e-18, 1.019e-18, 9.648e-19, 9.248e-19, 9.11e-19, 9.316e-19, 8.568e-19, 8.183e-19, 
    7.679e-19, 7.3e-19, 6.639e-19, 6.722e-19, 5.949e-19, 5.323e-19, 5.066e-19, 4.52e-19, 
    4.728e-19, 4.386e-19, 4.305e-19, 3.98e-19, 3.732e-19, 3.609e-19, 3.485e-19, 3.288e-19, 
    3.047e-19, 2.854e-19, 2.789e-19, 2.632e-19, 2.373e-19, 2.374e-19, 2.334e-19, 2.199e-19, 
    2.104e-19, 1.813e-19, 1.793e-19, 1.798e-19, 1.681e-19, 1.778e-19, 1.578e-19, 1.606e-19, 
    1.594e-19, 1.701e-19, 1.668e-19, 1.909e-19, 1.811e-19, 1.787e-19, 1.789e-19, 1.787e-19, 
    2.002e-19, 2.004e-19, 1.984e-19, 2.056e-19, 2.196e-19, 2.215e-19, 2.461e-19, 2.352e-19, 
    2.64e-19, 3.089e-19, 3.675e-19, 4.289e-19, 5.174e-19, 5.418e-19, 6.201e-19, 7.43e-19, 
    9.542e-19, 1.12e-18, 1.096e-18, 1.007e-18, 9.071e-19, 8.7e-19, 8.569e-19, 8.047e-19, 
    7.922e-19, 7.688e-19, 6.876e-19, 6.362e-19, 6.718e-19, 6.355e-19, 5.775e-19, 5.716e-19, 
    5.42e-19, 4.814e-19, 4.234e-19, 4.29e-19, 3.784e-19, 3.329e-19, 3.244e-19, 3.423e-19, 
    3.283e-19, 2.904e-19, 2.772e-19, 2.757e-19, 2.826e-19, 2.675e-19, 2.384e-19, 2.102e-19, 
    2.058e-19, 2.083e-19, 2.029e-19, 1.932e-19, 1.713e-19, 1.633e-19, 1.585e-19, 1.525e-19, 
    1.555e-19, 1.492e-19, 1.33e-19, 1.192e-19, 1.299e-19, 1.292e-19, 1.311e-19, 1.481e-19, 
    1.453e-19, 1.398e-19, 1.47e-19, 1.567e-19, 1.515e-19, 1.545e-19, 1.617e-19, 1.576e-19, 
    1.713e-19, 1.908e-19, 2.079e-19, 2.318e-19, 2.526e-19, 2.783e-19, 3.572e-19, 3.672e-19, 
    3.88e-19, 3.938e-19, 4.158e-19, 4.691e-19, 5.29e-19, 5.42e-19, 5.497e-19, 5.327e-19, 
    6.065e-19, 6.702e-19, 6.761e-19, 6.91e-19, 7.491e-19, 7.652e-19, 7.794e-19, 7.809e-19, 
    7.682e-19, 7.191e-19, 6.557e-19, 6.069e-19, 5.96e-19, 5.482e-19, 5.198e-19, 4.61e-19, 
    4.286e-19, 4.287e-19, 4.067e-19, 3.578e-19, 3.414e-19, 3.291e-19, 3.126e-19, 3.028e-19, 
    3.022e-19, 2.865e-19, 2.688e-19, 2.658e-19, 2.743e-19, 2.555e-19, 2.591e-19, 2.346e-19, 
    2.308e-19, 2.028e-19, 1.932e-19, 1.81e-19, 1.77e-19, 1.842e-19, 1.664e-19, 1.72e-19, 
    1.652e-19, 1.655e-19, 1.686e-19, 1.696e-19, 1.941e-19, 1.729e-19, 1.885e-19, 1.912e-19, 
    1.754e-19, 1.822e-19, 1.793e-19, 2.015e-19, 1.846e-19, 1.818e-19, 1.647e-19, 1.654e-19, 
    1.746e-19, 1.852e-19, 1.913e-19, 1.911e-19, 1.985e-19, 2.187e-19, 2.432e-19, 2.793e-19, 
    2.843e-19, 2.669e-19, 2.661e-19, 2.456e-19, 2.744e-19, 2.75e-19, 3.477e-19, 4.052e-19, 
    4.23e-19, 4.685e-19, 5.388e-19, 5.477e-19, 6.264e-19, 6.552e-19, 6.611e-19, 6.292e-19, 
    5.853e-19, 5.26e-19, 5.168e-19, 4.613e-19, 4.562e-19, 4.397e-19, 4.352e-19, 3.723e-19, 
    3.511e-19, 3.293e-19, 3.018e-19, 2.908e-19, 2.772e-19, 2.518e-19, 2.369e-19, 2.291e-19, 
    2.308e-19, 2.107e-19, 2.041e-19, 1.905e-19, 1.878e-19, 1.852e-19, 1.779e-19, 1.685e-19, 
    1.612e-19, 1.359e-19, 1.326e-19, 1.404e-19, 1.379e-19, 1.487e-19, 1.486e-19, 1.423e-19, 
    1.537e-19, 1.56e-19, 1.581e-19, 1.594e-19, 1.62e-19, 1.502e-19, 1.517e-19, 1.504e-19, 
    1.549e-19, 1.375e-19, 1.444e-19, 1.538e-19, 1.492e-19, 1.476e-19, 1.758e-19, 1.754e-19, 
    1.876e-19, 1.745e-19, 1.755e-19, 1.796e-19, 1.792e-19, 1.849e-19, 1.857e-19, 1.846e-19, 
    1.84e-19, 1.906e-19, 1.964e-19, 2.434e-19, 2.803e-19, 3.22e-19, 3.313e-19, 3.651e-19, 
    3.88e-19, 4.281e-19, 4.248e-19, 4.158e-19, 3.897e-19, 3.472e-19, 3.378e-19, 3.261e-19, 
    2.987e-19, 2.757e-19, 2.644e-19, 2.553e-19, 2.713e-19, 2.82e-19, 2.575e-19, 2.511e-19, 
    2.584e-19, 2.367e-19, 2.161e-19, 2.15e-19, 2.15e-19, 2.155e-19, 2.063e-19, 1.884e-19, 
    1.746e-19, 1.626e-19, 1.611e-19, 1.561e-19, 1.317e-19, 1.244e-19, 1.222e-19, 1.22e-19, 
    1.102e-19, 9.686e-20, 9.89e-20, 1.048e-19, 1.025e-19, 9.563e-20, 9.875e-20, 9.61e-20, 
    9.905e-20, 1.066e-19, 1.106e-19, 1.206e-19, 1.275e-19, 1.279e-19, 1.393e-19, 1.331e-19, 
    1.337e-19, 1.42e-19, 1.398e-19, 1.25e-19, 1.214e-19, 1.216e-19, 1.211e-19, 1.152e-19, 
    1.193e-19, 1.238e-19, 1.22e-19, 1.233e-19, 1.211e-19, 1.317e-19, 1.376e-19, 1.431e-19, 
    1.435e-19, 1.47e-19, 1.526e-19, 1.498e-19, 1.432e-19, 1.39e-19, 1.332e-19, 1.363e-19, 
    1.508e-19, 1.647e-19, 1.868e-19, 1.982e-19, 2.044e-19, 2.296e-19, 2.532e-19, 2.811e-19, 
    2.942e-19, 3.056e-19, 3e-19, 2.854e-19, 2.703e-19, 2.559e-19, 2.502e-19, 2.338e-19, 
    2.266e-19, 2.187e-19, 2.086e-19, 1.958e-19, 1.807e-19, 1.652e-19, 1.548e-19, 1.426e-19, 
    1.339e-19, 1.27e-19, 1.201e-19, 1.165e-19, 1.103e-19, 1.064e-19, 1.056e-19, 1.011e-19, 
    9.842e-20, 1.222e-19, 1.386e-19, 1.241e-19, 1.191e-19, 1.107e-19, 1.057e-19, 9.674e-20, 
    9.306e-20, 8.353e-20, 8.314e-20, 7.906e-20, 7.599e-20, 8.161e-20, 7.207e-20, 6.425e-20, 
    6.574e-20, 7.085e-20, 6.545e-20, 6.826e-20, 7.997e-20, 8.297e-20, 7.719e-20, 7.352e-20, 
    8.277e-20, 1.023e-19, 1.07e-19, 1.057e-19, 1.093e-19, 1.08e-19, 1.054e-19, 1.058e-19, 
    1.044e-19, 1.14e-19, 1.202e-19, 1.162e-19, 1.194e-19, 1.191e-19, 1.018e-19, 9.313e-20, 
    9.804e-20, 9.138e-20, 9.043e-20, 9.508e-20, 9.708e-20, 9.832e-20, 1.045e-19, 1.158e-19, 
    1.41e-19, 1.558e-19, 1.53e-19, 1.536e-19, 1.518e-19, 1.426e-19, 1.413e-19, 1.316e-19, 
    1.283e-19, 1.263e-19, 1.114e-19, 1.06e-19, 1.135e-19, 1.321e-19, 1.208e-19, 1.195e-19, 
    1.211e-19, 1.457e-19, 1.516e-19, 1.533e-19, 1.518e-19, 1.399e-19, 1.304e-19, 1.126e-19, 
    1.028e-19, 1.083e-19, 9.96e-20, 9.418e-20, 8.286e-20, 8.049e-20, 8.219e-20, 7.231e-20, 
    6.265e-20, 6.607e-20, 6.718e-20, 6.381e-20, 6.012e-20, 6.105e-20, 5.813e-20, 5.854e-20, 
    6.199e-20, 5.408e-20, 5.615e-20, 6.364e-20, 5.939e-20, 6.273e-20, 6.861e-20, 7.715e-20, 
    8.488e-20, 9.438e-20, 9.284e-20, 8.905e-20, 8.386e-20, 8.536e-20, 9.176e-20, 9.322e-20, 
    8.907e-20, 8.161e-20, 8.337e-20, 9.234e-20, 8.779e-20, 8.792e-20, 8.532e-20, 8.274e-20, 
    8.855e-20, 9.435e-20, 9.637e-20, 1e-19, 1.087e-19, 1.066e-19, 1.04e-19, 9.61e-20, 
    9.075e-20, 8.583e-20, 7.762e-20, 7.748e-20, 7.17e-20, 7.259e-20, 6.86e-20, 6.743e-20, 
    6.486e-20, 6.145e-20, 6.533e-20, 7.024e-20, 7.039e-20, 7.014e-20, 6.979e-20, 6.606e-20, 
    6.728e-20, 6.761e-20, 7.415e-20, 7.468e-20, 7.456e-20, 7.851e-20, 8.124e-20, 9.392e-20, 
    1.115e-19, 1.171e-19, 1.118e-19, 1.048e-19, 9.506e-20, 9.72e-20, 8.582e-20, 7.631e-20, 
    8.253e-20, 7.262e-20, 7.373e-20, 7.645e-20, 7.342e-20, 6.153e-20, 6.094e-20, 6.18e-20, 
    5.933e-20, 5.025e-20, 4.567e-20, 4.381e-20, 4.209e-20, 3.942e-20, 3.871e-20, 3.328e-20, 
    3.158e-20, 2.936e-20, 3.242e-20, 2.941e-20, 2.903e-20, 2.743e-20, 2.84e-20, 3.129e-20, 
    3.039e-20, 3.098e-20, 2.791e-20, 3.234e-20, 3.246e-20, 3.368e-20, 3.365e-20, 3.243e-20, 
    3.23e-20, 3.195e-20, 3.437e-20, 3.723e-20, 4.169e-20, 4.617e-20, 4.482e-20, 5.742e-20, 
    5.677e-20, 5.761e-20, 6.062e-20, 6.868e-20, 6.984e-20, 6.796e-20, 6.442e-20, 5.72e-20, 
    5.497e-20, 5.883e-20, 6.61e-20, 6.322e-20, 7.501e-20, 6.537e-20, 5.746e-20, 5.044e-20, 
    4.889e-20, 4.719e-20, 4.62e-20, 4.637e-20, 4.503e-20, 3.86e-20, 4.036e-20, 3.601e-20, 
    3.343e-20, 3.329e-20, 2.985e-20, 2.973e-20, 2.787e-20, 2.718e-20, 2.767e-20, 2.498e-20
  };
  nw = nw_in;
  if (!(xsso2 = new double[nw])) {
    InputError(ERROR, "Unable to allocate memory in \"SO2Bands\".");
    exit (3);
  }
  Rebin(NSO2, wso2, xso2tpl, nw, wl, xsso2);
}
Esempio n. 4
0
void GetFRFromSingleEl(){
  
  TString pathmc= "/home/jalmond/Analysis/LQanalyzer/data/output/SSElectronSingleEl/HNDiElectron_mc_5_3_14.root";
  TString pathdata= "/home/jalmond/Analysis/LQanalyzer/data/output/SSElectronSingleEl/HNDiElectron_data_5_3_14.root";
  TString pathnp= "/home/jalmond/Analysis/LQanalyzer/data/output/SSElectronSingleEl/NP/HNDiElectron_SKnonprompt_5_3_14.root";

  TFile * fmc = new TFile(pathmc.Data());
  TFile * fdata = new TFile(pathdata.Data());
  TFile * fnp = new TFile(pathnp.Data());
  if(!fmc) return;
  /// Set Plotting style                                                                                                                              
  setTDRStyle();
  gStyle->SetPalette(1);


  TH1F* h_data_hist =  dynamic_cast<TH1F*>(fdata->Get("SingleEl_CR/h_leadingElectronPt_SingleEl_CR"));
  TH1F* h_mc = dynamic_cast<TH1F*>(fmc->Get("SingleEl_CR/h_leadingElectronPt_SingleEl_CR"));
  
  CheckHist(h_data_hist);
  CheckHist(h_mc);

  TCanvas* c1 = new TCanvas("GetFRFromSingleEl", "Plot", 800, 600);

  SetApp(h_data_hist, kRed, 1,3);
  SetApp(h_mc, kBlue, 1,3);

  Rebin(h_data_hist, h_mc, 1);

  SetHist(h_data_hist,  h_mc, "p_{T} [GeV]", "Events",  0., 100.);

  h_data_hist->Draw("hist");
  
  
  TH1* h_np =  dynamic_cast<TH1F*>(h_data_hist->Clone("clone"));
  
  for(int ibin=1; ibin < h_np->GetNbinsX()+1; ibin++){
    float npvalue = h_data_hist->GetBinContent(ibin) - h_mc->GetBinContent(ibin);
    h_np->SetBinContent(ibin, npvalue);
  }
  
  h_mc->Add(h_np,1.);
  h_mc->Draw("histsame");
  
  TLegend* legend= new TLegend(0.5,0.8,0.7,0.9);
  legend->SetFillColor(10);
  legend->SetBorderSize(0);
  legend->SetTextSize(0.04);
  
  legend->AddEntry(h_data_hist,"data", "l");
  legend->AddEntry(h_mc,"bkg","l");
  legend->Draw("same");
  
  TH1F* h_loose = dynamic_cast<TH1F*>(fnp->Get("SingleElLoose_CR/h_leadingElectronPt_SingleElLoose_CR"));
  TH1F* h_tight = dynamic_cast<TH1F*>(fnp->Get("SingleElTight_CR/h_leadingElectronPt_SingleElTight_CR"));
  
  vector<double> r;
  r.push_back(0.80);
  r.push_back(0.81);
  r.push_back(0.855);
  r.push_back(0.878);
  r.push_back(0.90);
  r.push_back(0.92);
  r.push_back(0.94);
  r.push_back(0.95);
  r.push_back(0.96);
  r.push_back(0.97);
  r.push_back(0.99);
  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);
r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);
 r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);  r.push_back(0.99);

  for(int ibin=1; ibin < h_np->GetNbinsX()+1; ibin++){
    cout << "Number of fakes = " << h_np->GetBinContent(ibin) << " while number of loose = " << h_loose->GetBinContent(ibin) << " number pf tight = " <<  h_tight->GetBinContent(ibin) << endl;
    if(h_np->GetBinContent(ibin) > 0) {
      double fratio = h_np->GetBinContent(ibin) / h_loose->GetBinContent(ibin); 
      double fr = fratio/ (1.+fratio);
      cout << "(lowest bound on) Fake rate = " << fr << endl;
      
      double alpha = 1./(r.at(ibin-1) - fr);
      double ftight = h_tight->GetBinContent(ibin) *  alpha * fr * (1- r.at(ibin-1));
      
      fratio = (h_np->GetBinContent(ibin) + ftight  ) / h_loose->GetBinContent(ibin);
      fr = fratio/ (1.+fratio); 

      cout << "(1st it bound on) Fake rate = " << fr << endl;
      
      ftight = h_tight->GetBinContent(ibin) *  alpha * fr * (1- r.at(ibin-1));

      fratio = (h_np->GetBinContent(ibin) + ftight  ) / h_loose->GetBinContent(ibin);
      fr = fratio/ (1.+fratio);

      cout << "(2st it bound on) Fake rate = " << fr << endl;

      ftight = h_tight->GetBinContent(ibin) *  alpha * fr * (1- r.at(ibin-1));

      fratio = (h_np->GetBinContent(ibin) + ftight  ) / h_loose->GetBinContent(ibin);
      fr = fratio/ (1.+fratio);

      cout << "(3rd it bound on) Fake rate = " << fr << endl;

      ftight = h_tight->GetBinContent(ibin) *  alpha * fr * (1- r.at(ibin-1));

      fratio = (h_np->GetBinContent(ibin) + ftight  ) / h_loose->GetBinContent(ibin);
      fr = fratio/ (1.+fratio);

      cout << "(4th it bound on) Fake rate = " << fr << endl;


    }
    
  }
  
  c1->SaveAs(("GetFRFromSingleEl_pt.pdf"));
}