Commit cd346c12 authored by Nicolas Nunez Barreto's avatar Nicolas Nunez Barreto
parents d0b09909 f2229730
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="288pt" height="216pt" viewBox="0 0 288 216" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2022-11-24T14:45:44.685983</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.5.1, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 216
L 288 216
L 288 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 36 189
L 259.2 189
L 259.2 25.92
L 36 25.92
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m806f10fa6d" d="M 0 0
L 0 6
" style="stroke: #262626; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m806f10fa6d" x="68.805027" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{10^{-4}}$ -->
<g style="fill: #262626" transform="translate(60.255027 204.646719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-31" d="M 2522 0
L 755 0
L 755 96
Q 1107 115 1235 227
Q 1363 339 1363 608
L 1363 3482
Q 1363 3795 1171 3795
Q 1082 3795 883 3718
L 710 3654
L 710 3744
L 1856 4326
L 1914 4307
L 1914 486
Q 1914 275 2042 185
Q 2170 96 2522 96
L 2522 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-30" d="M 3046 2112
Q 3046 1683 2963 1302
Q 2880 922 2717 602
Q 2554 282 2266 96
Q 1978 -90 1600 -90
Q 1210 -90 915 108
Q 621 307 461 640
Q 301 973 227 1350
Q 154 1728 154 2150
Q 154 2746 301 3222
Q 448 3699 790 4012
Q 1133 4326 1626 4326
Q 2253 4326 2649 3712
Q 3046 3098 3046 2112
z
M 2432 2080
Q 2432 3091 2217 3625
Q 2003 4160 1587 4160
Q 1190 4160 979 3622
Q 768 3085 768 2106
Q 768 1120 979 598
Q 1190 77 1600 77
Q 2003 77 2217 598
Q 2432 1120 2432 2080
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2212" d="M 3974 1408
L 410 1408
L 410 1830
L 3974 1830
L 3974 1408
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-34" d="M 3027 1069
L 2368 1069
L 2368 0
L 1869 0
L 1869 1069
L 77 1069
L 77 1478
L 2086 4326
L 2368 4326
L 2368 1478
L 3027 1478
L 3027 1069
z
M 1869 1478
L 1869 3674
L 333 1478
L 1869 1478
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-34" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m806f10fa6d" x="168.850203" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{10^{-3}}$ -->
<g style="fill: #262626" transform="translate(160.300203 204.646719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-33" d="M 390 3264
L 288 3290
Q 435 3770 748 4048
Q 1062 4326 1542 4326
Q 1990 4326 2265 4083
Q 2541 3840 2541 3450
Q 2541 2925 1946 2566
Q 2298 2413 2477 2227
Q 2758 1914 2758 1402
Q 2758 890 2464 506
Q 2246 211 1840 60
Q 1434 -90 979 -90
Q 262 -90 262 275
Q 262 378 339 442
Q 416 506 525 506
Q 685 506 915 339
Q 1197 141 1466 141
Q 1818 141 2058 425
Q 2298 710 2298 1120
Q 2298 1856 1632 2048
Q 1434 2112 979 2112
L 979 2202
Q 1338 2323 1517 2432
Q 2035 2726 2035 3290
Q 2035 3610 1852 3776
Q 1670 3942 1344 3942
Q 768 3942 390 3264
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-33" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_3">
<path d="M 38.688429 189
L 38.688429 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_4">
<defs>
<path id="m645fac8855" d="M 0 0
L 0 3
" style="stroke: #262626; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#m645fac8855" x="38.688429" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_5">
<path d="M 46.61013 189
L 46.61013 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_6">
<g>
<use xlink:href="#m645fac8855" x="46.61013" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_7">
<path d="M 53.307834 189
L 53.307834 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_8">
<g>
<use xlink:href="#m645fac8855" x="53.307834" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_9">
<path d="M 59.109648 189
L 59.109648 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_10">
<g>
<use xlink:href="#m645fac8855" x="59.109648" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_7">
<g id="line2d_11">
<path d="M 64.227211 189
L 64.227211 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_12">
<g>
<use xlink:href="#m645fac8855" x="64.227211" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_8">
<g id="line2d_13">
<path d="M 98.921626 189
L 98.921626 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_14">
<g>
<use xlink:href="#m645fac8855" x="98.921626" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_9">
<g id="line2d_15">
<path d="M 116.538707 189
L 116.538707 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_16">
<g>
<use xlink:href="#m645fac8855" x="116.538707" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_10">
<g id="line2d_17">
<path d="M 129.038225 189
L 129.038225 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_18">
<g>
<use xlink:href="#m645fac8855" x="129.038225" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_11">
<g id="line2d_19">
<path d="M 138.733605 189
L 138.733605 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_20">
<g>
<use xlink:href="#m645fac8855" x="138.733605" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_12">
<g id="line2d_21">
<path d="M 146.655306 189
L 146.655306 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_22">
<g>
<use xlink:href="#m645fac8855" x="146.655306" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_13">
<g id="line2d_23">
<path d="M 153.35301 189
L 153.35301 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_24">
<g>
<use xlink:href="#m645fac8855" x="153.35301" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_14">
<g id="line2d_25">
<path d="M 159.154824 189
L 159.154824 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_26">
<g>
<use xlink:href="#m645fac8855" x="159.154824" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_15">
<g id="line2d_27">
<path d="M 164.272387 189
L 164.272387 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_28">
<g>
<use xlink:href="#m645fac8855" x="164.272387" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_16">
<g id="line2d_29">
<path d="M 198.966802 189
L 198.966802 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_30">
<g>
<use xlink:href="#m645fac8855" x="198.966802" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_17">
<g id="line2d_31">
<path d="M 216.583883 189
L 216.583883 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_32">
<g>
<use xlink:href="#m645fac8855" x="216.583883" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_18">
<g id="line2d_33">
<path d="M 229.083401 189
L 229.083401 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_34">
<g>
<use xlink:href="#m645fac8855" x="229.083401" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_19">
<g id="line2d_35">
<path d="M 238.77878 189
L 238.77878 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_36">
<g>
<use xlink:href="#m645fac8855" x="238.77878" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_20">
<g id="line2d_37">
<path d="M 246.700482 189
L 246.700482 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_38">
<g>
<use xlink:href="#m645fac8855" x="246.700482" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_21">
<g id="line2d_39">
<path d="M 253.398185 189
L 253.398185 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_40">
<g>
<use xlink:href="#m645fac8855" x="253.398185" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_22">
<g id="line2d_41">
<path d="M 259.2 189
L 259.2 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_42">
<g>
<use xlink:href="#m645fac8855" x="259.2" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_3">
<!-- UV intensity ($\mu$W/$\mu$m$^2$) -->
<g style="fill: #262626" transform="translate(80.96 222.22)scale(0.14 -0.14)">
<defs>
<path id="STIXGeneral-Regular-55" d="M 4512 4237
L 4512 4115
Q 4122 4077 4016 3926
Q 3910 3776 3910 3302
L 3910 1670
Q 3910 1178 3840 896
Q 3770 614 3565 378
Q 3155 -90 2272 -90
Q 1574 -90 1184 205
Q 666 589 666 1594
L 666 3578
Q 666 3898 566 3994
Q 467 4090 90 4115
L 90 4237
L 1901 4237
L 1901 4115
Q 1517 4083 1417 3977
Q 1318 3872 1318 3514
L 1318 1517
Q 1318 1101 1369 877
Q 1421 653 1600 480
Q 1901 192 2419 192
Q 3066 192 3392 570
Q 3539 749 3584 963
Q 3629 1178 3629 1600
L 3629 3283
Q 3629 3782 3520 3936
Q 3411 4090 3027 4115
L 3027 4237
L 4512 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-56" d="M 4461 4237
L 4461 4115
Q 4262 4109 4134 3990
Q 4006 3872 3872 3533
L 2451 -70
L 2355 -70
L 794 3411
Q 589 3866 467 3987
Q 346 4109 102 4115
L 102 4237
L 1798 4237
L 1798 4115
L 1619 4102
Q 1331 4083 1331 3904
Q 1331 3776 1581 3219
L 2554 1030
L 3494 3392
Q 3616 3699 3616 3853
Q 3616 3898 3606 3933
Q 3597 3968 3584 3993
Q 3571 4019 3536 4038
Q 3501 4058 3481 4067
Q 3462 4077 3411 4086
Q 3360 4096 3337 4099
Q 3315 4102 3248 4108
Q 3181 4115 3155 4115
L 3155 4237
L 4461 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-20" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-69" d="M 1152 4045
Q 1152 3904 1056 3811
Q 960 3718 819 3718
Q 685 3718 592 3811
Q 499 3904 499 4045
Q 499 4179 595 4275
Q 691 4371 826 4371
Q 966 4371 1059 4275
Q 1152 4179 1152 4045
z
M 1619 0
L 102 0
L 102 96
Q 435 115 521 211
Q 608 307 608 666
L 608 2118
Q 608 2342 563 2432
Q 518 2522 397 2522
Q 243 2522 128 2490
L 128 2592
L 1120 2944
L 1146 2918
L 1146 672
Q 1146 314 1226 218
Q 1306 122 1619 96
L 1619 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6e" d="M 3104 0
L 1773 0
L 1779 96
Q 2016 115 2096 233
Q 2176 352 2176 672
L 2176 1946
Q 2176 2592 1709 2592
Q 1549 2592 1408 2515
Q 1267 2438 1050 2227
L 1050 461
Q 1050 269 1136 192
Q 1222 115 1466 96
L 1466 0
L 115 0
L 115 96
Q 358 115 435 214
Q 512 314 512 602
L 512 2157
Q 512 2394 467 2483
Q 422 2573 288 2573
Q 160 2573 102 2547
L 102 2656
Q 550 2784 979 2944
L 1030 2925
L 1030 2426
L 1037 2426
Q 1491 2944 1958 2944
Q 2323 2944 2518 2688
Q 2714 2432 2714 1958
L 2714 544
Q 2714 288 2790 205
Q 2867 122 3104 96
L 3104 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-74" d="M 1702 493
L 1786 422
Q 1478 -64 1011 -64
Q 448 -64 448 749
L 448 2675
L 109 2675
Q 83 2694 83 2720
Q 83 2771 192 2842
Q 435 2982 813 3526
Q 826 3546 874 3606
Q 922 3667 941 3706
Q 986 3706 986 3622
L 986 2880
L 1632 2880
L 1632 2675
L 986 2675
L 986 845
Q 986 538 1062 403
Q 1139 269 1318 269
Q 1510 269 1702 493
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-65" d="M 2611 1050
L 2714 1005
Q 2330 -64 1376 -64
Q 813 -64 486 329
Q 160 723 160 1389
Q 160 2074 525 2509
Q 890 2944 1485 2944
Q 2061 2944 2374 2502
Q 2560 2246 2592 1773
L 621 1773
Q 646 1370 700 1158
Q 755 947 915 730
Q 1184 378 1626 378
Q 1939 378 2153 531
Q 2368 685 2611 1050
z
M 634 1978
L 1939 1978
Q 1882 2381 1750 2547
Q 1619 2714 1312 2714
Q 1043 2714 864 2525
Q 685 2336 634 1978
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-73" d="M 998 1926
L 1664 1523
Q 1984 1331 2105 1164
Q 2227 998 2227 736
Q 2227 416 1961 176
Q 1696 -64 1331 -64
Q 1030 -64 864 -6
Q 691 51 570 51
Q 461 51 416 -26
L 333 -26
L 333 979
L 435 979
Q 538 512 730 294
Q 922 77 1248 77
Q 1485 77 1632 211
Q 1779 346 1779 550
Q 1779 845 1440 1030
L 1094 1222
Q 326 1651 326 2150
Q 326 2522 566 2730
Q 806 2938 1210 2938
Q 1491 2938 1638 2867
Q 1754 2816 1818 2816
Q 1862 2816 1920 2880
L 1990 2880
L 2022 2010
L 1926 2010
Q 1818 2445 1654 2621
Q 1491 2797 1203 2797
Q 986 2797 854 2688
Q 723 2579 723 2362
Q 723 2253 796 2128
Q 870 2003 998 1926
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-79" d="M 3040 2880
L 3040 2784
Q 2925 2771 2854 2700
Q 2784 2630 2720 2458
L 1760 -160
Q 1510 -838 1257 -1116
Q 1005 -1395 640 -1395
Q 435 -1395 313 -1289
Q 192 -1184 192 -1024
Q 192 -902 272 -816
Q 352 -730 467 -730
Q 653 -730 800 -813
Q 883 -858 966 -858
Q 1101 -858 1286 -576
Q 1376 -448 1459 -211
Q 1542 26 1542 115
Q 1542 198 1274 762
L 429 2566
Q 346 2752 90 2790
L 90 2880
L 1402 2880
L 1402 2784
Q 1197 2778 1117 2739
Q 1037 2701 1037 2611
Q 1037 2541 1120 2349
L 1837 749
L 2458 2515
Q 2483 2573 2483 2630
Q 2483 2784 2189 2784
L 2189 2880
L 3040 2880
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-28" d="M 1946 -1030
L 1869 -1133
Q 1126 -710 716 32
Q 307 774 307 1613
Q 307 3386 1888 4326
L 1946 4224
Q 1293 3667 1075 3126
Q 858 2586 858 1632
Q 858 685 1082 96
Q 1306 -493 1946 -1030
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Italic-3bc" d="M 3002 749
L 3091 691
Q 2797 237 2614 83
Q 2432 -70 2214 -70
Q 2080 -70 1990 6
Q 1901 83 1901 218
Q 1901 416 1997 704
L 2208 1370
L 2202 1370
Q 1766 595 1475 268
Q 1184 -58 902 -58
Q 723 -58 672 122
Q 614 -109 547 -374
Q 480 -640 451 -758
Q 422 -877 384 -1005
Q 346 -1133 314 -1197
Q 282 -1261 243 -1312
L -211 -1312
Q -58 -1088 70 -595
L 909 2739
L 1389 2739
L 909 832
Q 883 717 883 659
Q 883 352 1139 352
Q 1395 352 1811 969
Q 2227 1587 2323 1958
L 2534 2739
L 3027 2739
L 2522 819
Q 2400 333 2400 326
Q 2400 230 2470 230
Q 2547 230 2652 329
Q 2758 429 3002 749
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-57" d="M 5965 4237
L 5965 4115
Q 5709 4064 5616 3990
Q 5523 3917 5434 3667
Q 4704 1709 4128 -70
L 4032 -70
Q 3642 1011 3008 2637
L 2022 -70
L 1926 -70
Q 1709 576 1277 1753
Q 845 2931 698 3347
Q 538 3808 406 3958
Q 275 4109 32 4115
L 32 4237
L 1594 4237
L 1594 4115
Q 1357 4109 1270 4064
Q 1184 4019 1184 3917
Q 1184 3808 1254 3616
L 2176 1210
L 2842 3021
L 2662 3501
Q 2509 3917 2400 4013
Q 2291 4109 2010 4115
L 2010 4237
L 3706 4237
L 3706 4115
Q 3213 4102 3213 3891
Q 3213 3808 3322 3520
L 4237 1190
L 5043 3360
Q 5152 3667 5152 3853
Q 5152 4109 4704 4115
L 4704 4237
L 5965 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2f" d="M 1837 4326
L 378 -90
L -58 -90
L 1408 4326
L 1837 4326
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6d" d="M 4960 0
L 3565 0
L 3565 96
Q 3834 122 3907 208
Q 3981 294 3981 576
L 3981 1894
Q 3981 2278 3869 2444
Q 3757 2611 3488 2611
Q 3264 2611 3107 2521
Q 2950 2432 2803 2221
L 2803 608
Q 2803 301 2896 201
Q 2989 102 3264 96
L 3264 0
L 1830 0
L 1830 96
Q 2112 115 2189 188
Q 2266 262 2266 550
L 2266 1901
Q 2266 2611 1850 2611
Q 1670 2611 1468 2531
Q 1267 2451 1171 2336
Q 1088 2240 1088 2227
L 1088 448
Q 1088 243 1177 176
Q 1267 109 1523 96
L 1523 0
L 102 0
L 102 96
Q 371 102 460 195
Q 550 288 550 563
L 550 2150
Q 550 2387 499 2480
Q 448 2573 326 2573
Q 230 2573 122 2547
L 122 2656
Q 557 2778 1011 2944
L 1062 2925
L 1062 2451
L 1075 2451
Q 1363 2752 1584 2848
Q 1805 2944 2054 2944
Q 2560 2944 2733 2406
Q 3232 2944 3776 2944
Q 4518 2944 4518 1792
L 4518 493
Q 4518 282 4582 202
Q 4646 122 4794 109
L 4960 96
L 4960 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-32" d="M 3034 877
L 2688 0
L 186 0
L 186 77
L 1325 1286
Q 1773 1754 1965 2144
Q 2157 2534 2157 2950
Q 2157 3379 1920 3616
Q 1683 3853 1267 3853
Q 922 3853 720 3673
Q 518 3494 326 3021
L 192 3053
Q 301 3648 630 3987
Q 960 4326 1523 4326
Q 2054 4326 2380 4006
Q 2707 3686 2707 3200
Q 2707 2477 1888 1613
L 832 486
L 2330 486
Q 2541 486 2665 569
Q 2790 653 2944 915
L 3034 877
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-29" d="M 186 4224
L 262 4326
Q 992 3891 1408 3148
Q 1824 2406 1824 1581
Q 1824 -166 243 -1133
L 186 -1030
Q 845 -486 1059 54
Q 1274 595 1274 1562
Q 1274 2534 1059 3120
Q 845 3706 186 4224
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-55" transform="translate(0 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-56" transform="translate(72.199982 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(144.399963 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(169.399948 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(197.199936 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(247.199921 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(274.999908 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(319.399902 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(369.399887 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(408.299881 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(436.099869 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-79" transform="translate(463.899857 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(513.899841 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(538.899826 0.409375)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(572.199814 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-57" transform="translate(624.799805 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-2f" transform="translate(719.199799 0.409375)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(746.999786 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(799.599777 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-32" transform="translate(878.943046 35.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(918.352411 0.409375)"/>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_43">
<defs>
<path id="m54a72aa3ed" d="M 0 0
L -6 0
" style="stroke: #262626; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m54a72aa3ed" x="36" y="139.462172" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{10^{0}}$ -->
<g style="fill: #262626" transform="translate(13.72 142.535531)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_44">
<g>
<use xlink:href="#m54a72aa3ed" x="36" y="68.589563" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{10^{1}}$ -->
<g style="fill: #262626" transform="translate(13.72 71.662922)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_45">
<path d="M 36 189
L 259.2 189
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_46">
<defs>
<path id="m9d527112ab" d="M 0 0
L -3 0
" style="stroke: #262626; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#m9d527112ab" x="36" y="189" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_47">
<path d="M 36 176.519953
L 259.2 176.519953
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_48">
<g>
<use xlink:href="#m9d527112ab" x="36" y="176.519953" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_49">
<path d="M 36 167.665219
L 259.2 167.665219
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_50">
<g>
<use xlink:href="#m9d527112ab" x="36" y="167.665219" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_6">
<g id="line2d_51">
<path d="M 36 160.796953
L 259.2 160.796953
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_52">
<g>
<use xlink:href="#m9d527112ab" x="36" y="160.796953" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_7">
<g id="line2d_53">
<path d="M 36 155.185172
L 259.2 155.185172
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_54">
<g>
<use xlink:href="#m9d527112ab" x="36" y="155.185172" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_8">
<g id="line2d_55">
<path d="M 36 150.440478
L 259.2 150.440478
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_56">
<g>
<use xlink:href="#m9d527112ab" x="36" y="150.440478" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_9">
<g id="line2d_57">
<path d="M 36 146.330437
L 259.2 146.330437
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_58">
<g>
<use xlink:href="#m9d527112ab" x="36" y="146.330437" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_10">
<g id="line2d_59">
<path d="M 36 142.705125
L 259.2 142.705125
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_60">
<g>
<use xlink:href="#m9d527112ab" x="36" y="142.705125" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_11">
<g id="line2d_61">
<path d="M 36 118.127391
L 259.2 118.127391
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_62">
<g>
<use xlink:href="#m9d527112ab" x="36" y="118.127391" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_12">
<g id="line2d_63">
<path d="M 36 105.647344
L 259.2 105.647344
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_64">
<g>
<use xlink:href="#m9d527112ab" x="36" y="105.647344" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_13">
<g id="line2d_65">
<path d="M 36 96.792609
L 259.2 96.792609
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_66">
<g>
<use xlink:href="#m9d527112ab" x="36" y="96.792609" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_14">
<g id="line2d_67">
<path d="M 36 89.924344
L 259.2 89.924344
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_68">
<g>
<use xlink:href="#m9d527112ab" x="36" y="89.924344" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_15">
<g id="line2d_69">
<path d="M 36 84.312562
L 259.2 84.312562
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_70">
<g>
<use xlink:href="#m9d527112ab" x="36" y="84.312562" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_16">
<g id="line2d_71">
<path d="M 36 79.567869
L 259.2 79.567869
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_72">
<g>
<use xlink:href="#m9d527112ab" x="36" y="79.567869" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_17">
<g id="line2d_73">
<path d="M 36 75.457828
L 259.2 75.457828
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_74">
<g>
<use xlink:href="#m9d527112ab" x="36" y="75.457828" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_18">
<g id="line2d_75">
<path d="M 36 71.832515
L 259.2 71.832515
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_76">
<g>
<use xlink:href="#m9d527112ab" x="36" y="71.832515" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_19">
<g id="line2d_77">
<path d="M 36 47.254781
L 259.2 47.254781
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_78">
<g>
<use xlink:href="#m9d527112ab" x="36" y="47.254781" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_20">
<g id="line2d_79">
<path d="M 36 34.774734
L 259.2 34.774734
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_80">
<g>
<use xlink:href="#m9d527112ab" x="36" y="34.774734" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_21">
<g id="line2d_81">
<path d="M 36 25.92
L 259.2 25.92
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g>
<g id="line2d_82">
<g>
<use xlink:href="#m9d527112ab" x="36" y="25.92" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_6">
<!-- Characteristic time ($\mu$s) -->
<g style="fill: #262626" transform="translate(6.681562 173.4)rotate(-90)scale(0.14 -0.14)">
<defs>
<path id="STIXGeneral-Regular-43" d="M 3930 838
L 4051 723
Q 3482 -90 2304 -90
Q 1376 -90 794 480
Q 179 1082 179 2080
Q 179 3014 755 3661
Q 1357 4326 2310 4326
Q 2720 4326 3072 4230
Q 3475 4115 3514 4115
Q 3725 4115 3782 4326
L 3910 4326
L 3968 2874
L 3821 2874
Q 3718 3334 3488 3584
Q 3034 4070 2458 4070
Q 1747 4070 1334 3548
Q 922 3027 922 2182
Q 922 1152 1382 653
Q 1811 192 2522 192
Q 2944 192 3251 339
Q 3558 486 3930 838
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-68" d="M 3117 0
L 1760 0
L 1760 96
Q 2042 128 2118 224
Q 2195 320 2195 653
L 2195 1920
Q 2195 2598 1722 2598
Q 1530 2598 1370 2508
Q 1210 2419 1005 2195
L 1005 653
Q 1005 320 1081 224
Q 1158 128 1440 96
L 1440 0
L 58 0
L 58 96
Q 333 134 400 224
Q 467 314 467 653
L 467 3667
Q 467 3872 406 3933
Q 346 3994 141 3994
Q 83 3994 64 3987
L 64 4090
L 237 4141
Q 730 4288 973 4371
L 1005 4352
L 1005 2406
Q 1229 2694 1446 2819
Q 1664 2944 1946 2944
Q 2733 2944 2733 1926
L 2733 653
Q 2733 320 2793 233
Q 2854 147 3117 96
L 3117 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-61" d="M 2829 422
L 2829 243
Q 2586 -64 2253 -64
Q 1888 -64 1843 403
L 1837 403
Q 1427 -64 909 -64
Q 608 -64 422 112
Q 237 288 237 602
Q 237 1050 685 1350
Q 992 1555 1837 1869
L 1837 2214
Q 1837 2502 1699 2646
Q 1562 2790 1338 2790
Q 1146 2790 1018 2697
Q 890 2605 890 2477
Q 890 2419 909 2348
Q 928 2278 928 2208
Q 928 2112 841 2029
Q 755 1946 634 1946
Q 525 1946 441 2029
Q 358 2112 358 2240
Q 358 2547 685 2752
Q 986 2944 1421 2944
Q 1939 2944 2176 2656
Q 2291 2522 2323 2384
Q 2355 2246 2355 1946
L 2355 723
Q 2355 301 2554 301
Q 2682 301 2829 422
z
M 1837 813
L 1837 1715
Q 1248 1510 1018 1293
Q 800 1094 800 800
Q 800 557 921 432
Q 1043 307 1242 307
Q 1453 307 1613 410
Q 1747 506 1792 589
Q 1837 672 1837 813
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-72" d="M 1024 2931
L 1024 2342
Q 1267 2688 1430 2816
Q 1594 2944 1792 2944
Q 1958 2944 2051 2854
Q 2144 2765 2144 2605
Q 2144 2470 2077 2393
Q 2010 2317 1894 2317
Q 1773 2317 1638 2445
Q 1536 2541 1472 2541
Q 1338 2541 1181 2355
Q 1024 2170 1024 2016
L 1024 576
Q 1024 301 1133 205
Q 1242 109 1568 96
L 1568 0
L 32 0
L 32 96
Q 339 154 412 224
Q 486 294 486 538
L 486 2138
Q 486 2349 438 2435
Q 390 2522 269 2522
Q 166 2522 45 2496
L 45 2598
Q 448 2726 992 2944
L 1024 2931
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-63" d="M 2547 998
L 2637 941
Q 2362 403 2112 205
Q 1786 -64 1376 -64
Q 845 -64 502 336
Q 160 736 160 1357
Q 160 2170 698 2618
Q 1094 2944 1562 2944
Q 1965 2944 2256 2749
Q 2547 2554 2547 2285
Q 2547 2176 2457 2096
Q 2368 2016 2246 2016
Q 2022 2016 1939 2310
L 1901 2451
Q 1850 2630 1773 2694
Q 1696 2758 1523 2758
Q 1133 2758 893 2451
Q 653 2144 653 1645
Q 653 1094 928 745
Q 1203 397 1645 397
Q 1920 397 2118 528
Q 2317 659 2547 998
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-43" transform="translate(0 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-68" transform="translate(66.699997 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(116.699982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(161.099976 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(194.399963 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(238.799957 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(283.199951 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(310.999939 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(355.399933 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(388.699921 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(416.499908 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(455.399902 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(483.19989 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(510.999878 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(555.399872 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(580.399857 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(608.199844 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(635.999832 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(713.79982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(758.199814 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(783.199799 0.703125)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(816.499786 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(869.099777 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(907.999771 0.703125)"/>
</g>
</g>
</g>
<g id="line2d_83">
<path d="M 32.437395 102.4831
L 47.0568 112.00739
L 62.553994 121.775394
L 73.953477 128.683486
L 85.609297 135.446127
L 94.79048 140.521344
L 104.070076 145.39348
L 113.091812 149.854737
L 121.687157 153.830229
L 129.794142 157.318117
L 132.482571 158.416643
L 140.404273 161.481331
L 147.101976 163.86963
L 158.021354 167.364983
L 166.740308 169.808939
L 173.998653 171.618209
L 183.020389 173.598038
L 192.715769 175.418651
L 202.411148 176.95299
L 211.757537 178.192873
L 221.732332 179.291384
L 232.527747 180.257942
L 244.590587 181.112088
L 258.546635 181.863492
L 274.376773 182.481899
L 279.970797 182.653897
L 279.970797 182.653897
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_84">
<path d="M 32.437395 92.480012
L 52.858615 106.01781
L 66.695132 114.91793
L 80.171075 123.301404
L 92.670593 130.761202
L 102.365972 136.294624
L 111.712361 141.38628
L 120.558546 145.959276
L 128.859718 150.011424
L 132.482571 151.702679
L 140.404273 155.229178
L 147.101976 158.020566
L 158.021354 162.185206
L 166.740308 165.161918
L 173.998653 167.405074
L 183.020389 169.902958
L 190.487123 171.736537
L 198.788295 173.540499
L 207.335174 175.157891
L 215.771072 176.536155
L 224.952255 177.815173
L 235.059477 178.989099
L 245.887671 180.013687
L 257.58106 180.894673
L 270.926623 181.669599
L 279.970797 182.082473
L 279.970797 182.082473
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_85">
<path d="M 32.437395 79.932333
L 52.858615 93.770011
L 70.475696 105.431418
L 85.609297 115.158989
L 98.743119 123.312661
L 110.287674 130.201617
L 120.558546 136.068102
L 129.794142 141.099339
L 132.482571 142.516288
L 140.404273 146.557047
L 147.101976 149.807721
L 158.021354 154.758038
L 166.740308 158.382391
L 173.998653 161.168737
L 183.020389 164.335057
L 190.487123 166.707159
L 198.788295 169.085173
L 207.335174 171.258461
L 215.771072 173.144231
L 223.905239 174.735098
L 232.527747 176.19765
L 241.874136 177.548407
L 251.848931 178.752619
L 262.644346 179.818444
L 274.376773 180.742614
L 279.970797 181.110563
L 279.970797 181.110563
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_86">
<path d="M 32.437395 67.951891
L 57.976178 85.471633
L 77.173399 98.371003
L 92.670593 108.53026
L 107.289998 117.828308
L 119.399835 125.259172
L 130.708893 131.924621
L 140.404273 137.389986
L 152.903791 144.042243
L 162.59917 148.857443
L 170.520872 152.546355
L 180.216251 156.740841
L 188.137953 159.894871
L 196.856907 163.075205
L 204.115252 165.488766
L 211.757537 167.802602
L 219.445011 169.900592
L 227.949931 171.964378
L 235.871632 173.657064
L 244.590587 175.28269
L 253.488713 176.707663
L 263.076678 178.006706
L 273.029407 179.128088
L 279.970797 179.79073
L 279.970797 179.79073
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_87">
<path d="M 32.437395 57.241921
L 62.553994 78.069567
L 82.975214 91.938722
L 100.592295 103.640478
L 115.725896 113.416044
L 128.859718 121.624009
L 140.404273 128.572169
L 152.903791 135.752748
L 162.59917 141.03514
L 170.520872 145.140331
L 180.216251 149.880884
L 188.137953 153.50477
L 196.856907 157.218573
L 204.115252 160.082417
L 211.757537 162.869383
L 219.445011 165.435381
L 226.973506 167.719775
L 235.059477 169.92773
L 243.253587 171.916221
L 251.28829 173.636248
L 259.955917 175.254903
L 268.716872 176.662873
L 278.184967 177.953695
L 279.970797 178.17265
L 279.970797 178.17265
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_88">
<path d="M 32.437395 47.78551
L 66.695132 71.605028
L 90.441947 87.839305
L 108.814683 100.135547
L 123.860063 109.953182
L 132.482571 115.446178
L 147.101976 124.479243
L 158.021354 130.947295
L 166.740308 135.907989
L 177.218575 141.594665
L 185.654473 145.929247
L 194.835656 150.374987
L 202.411148 153.814519
L 210.33285 157.178118
L 218.254551 160.294994
L 225.974633 163.090468
L 233.388153 165.549124
L 241.167631 167.893871
L 248.970457 170.009817
L 257.090105 171.971181
L 265.176076 173.694241
L 273.708313 175.281142
L 279.970797 176.306562
L 279.970797 176.306562
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_89">
<path d="M 32.437395 39.408864
L 70.475696 65.955708
L 96.811731 84.050502
L 116.985377 97.626865
L 132.482571 107.801275
L 147.101976 117.118622
L 158.021354 123.849883
L 170.520872 131.259094
L 180.216251 136.748462
L 190.487123 142.279261
L 198.788295 146.510477
L 207.335174 150.622773
L 215.771072 154.421715
L 223.905239 157.827385
L 231.649958 160.827187
L 239.719195 163.696499
L 247.147152 166.106503
L 255.068854 168.435967
L 263.076678 170.545674
L 270.926623 172.38528
L 279.087056 174.072007
L 279.970797 174.241555
L 279.970797 174.241555
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_90">
<path d="M 32.437395 31.931449
L 73.953477 60.982867
L 100.592295 79.367582
L 121.687157 93.660712
L 132.482571 100.840069
L 147.101976 110.363787
L 162.59917 120.135147
L 173.998653 127.050684
L 185.654473 133.82811
L 194.835656 138.92221
L 204.115252 143.821912
L 213.136988 148.319891
L 221.732332 152.340806
L 229.839318 155.881624
L 237.451773 158.974347
L 245.243969 161.901165
L 252.948967 164.555099
L 260.870668 167.035955
L 268.716872 169.250606
L 276.638574 171.250336
L 279.970797 172.023339
L 279.970797 172.023339
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="line2d_91">
<path d="M 32.437395 25.199749
L 77.173399 56.566259
L 105.709858 76.31879
L 127.904755 91.412653
L 140.404273 99.753144
L 158.021354 111.230719
L 170.520872 119.11573
L 183.020389 126.724787
L 194.835656 133.607466
L 204.115252 138.764343
L 213.136988 143.539098
L 221.732332 147.84612
L 229.839318 151.673887
L 238.220803 155.376432
L 245.887671 158.526029
L 253.488713 161.418329
L 261.320922 164.155707
L 269.093057 166.629
L 276.952287 168.888132
L 279.970797 169.692723
L 279.970797 169.692723
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g>
<g id="LineCollection_1">
<path d="M 57.476508 110.120762
L 57.476508 108.882171
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 75.093589 125.020243
L 75.093589 123.034869
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 105.210188 138.669649
L 105.210188 135.629529
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 120.343789 147.750448
L 120.343789 143.732634
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 138.804567 156.24676
L 138.804567 151.05425
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 152.943867 162.611057
L 152.943867 156.340122
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.443385 166.49562
L 165.443385 159.470833
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 185.977606 172.570627
L 185.977606 164.205022
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.257688 177.661639
L 202.257688 168.005903
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.239442 180.83293
L 215.239442 170.290623
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.221615 182.116714
L 225.221615 171.196547
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 232.760503 183.925322
L 232.760503 172.453749
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.006046 184.308032
L 238.006046 172.716876
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 241.914213 185.079655
L 241.914213 173.244275
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_92">
<defs>
<path id="mc9e9d6ce2d" d="M 2 0
L -2 -0
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mc9e9d6ce2d" x="57.476508" y="110.120762" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="75.093589" y="125.020243" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="105.210188" y="138.669649" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="120.343789" y="147.750448" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="138.804567" y="156.24676" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="152.943867" y="162.611057" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="165.443385" y="166.49562" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="185.977606" y="172.570627" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="202.257688" y="177.661639" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="215.239442" y="180.83293" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="225.221615" y="182.116714" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="232.760503" y="183.925322" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="238.006046" y="184.308032" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="241.914213" y="185.079655" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_93">
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mc9e9d6ce2d" x="57.476508" y="108.882171" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="75.093589" y="123.034869" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="105.210188" y="135.629529" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="120.343789" y="143.732634" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="138.804567" y="151.05425" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="152.943867" y="156.340122" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="165.443385" y="159.470833" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="185.977606" y="164.205022" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="202.257688" y="168.005903" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="215.239442" y="170.290623" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="225.221615" y="171.196547" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="232.760503" y="172.453749" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="238.006046" y="172.716876" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="241.914213" y="173.244275" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="LineCollection_2">
<path d="M 138.804567 124.759345
L 138.804567 122.790204
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 152.943867 135.91478
L 152.943867 133.123501
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.443385 140.729254
L 165.443385 137.48945
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 185.977606 154.102987
L 185.977606 149.233636
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.257688 161.654364
L 202.257688 155.557548
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.239442 166.40967
L 215.239442 159.402403
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.221615 170.500573
L 225.221615 162.615138
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 232.760503 172.523003
L 232.760503 164.168725
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.006046 173.429587
L 238.006046 164.857378
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 241.914213 174.342634
L 241.914213 165.545973
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_94">
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mc9e9d6ce2d" x="138.804567" y="124.759345" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="152.943867" y="135.91478" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="165.443385" y="140.729254" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="185.977606" y="154.102987" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="202.257688" y="161.654364" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="215.239442" y="166.40967" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="225.221615" y="170.500573" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="232.760503" y="172.523003" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="238.006046" y="173.429587" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="241.914213" y="174.342634" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_95">
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mc9e9d6ce2d" x="138.804567" y="122.790204" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="152.943867" y="133.123501" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="165.443385" y="137.48945" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="185.977606" y="149.233636" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="202.257688" y="155.557548" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="215.239442" y="159.402403" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="225.221615" y="162.615138" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="232.760503" y="164.168725" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="238.006046" y="164.857378" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc9e9d6ce2d" x="241.914213" y="165.545973" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_96">
<path d="M 57.476508 109.495237
L 75.093589 124.011551
L 105.210188 137.11207
L 120.343789 145.676029
L 138.804567 153.541138
L 152.943867 159.316162
L 165.443385 162.783252
L 185.977606 168.104483
L 202.257688 172.456681
L 215.239442 175.112611
L 225.221615 176.174859
L 232.760503 177.658168
L 238.006046 177.970015
L 241.914213 178.596567
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<defs>
<path id="mf35d4f7885" d="M 0 1.5
C 0.397805 1.5 0.77937 1.341951 1.06066 1.06066
C 1.341951 0.77937 1.5 0.397805 1.5 0
C 1.5 -0.397805 1.341951 -0.77937 1.06066 -1.06066
C 0.77937 -1.341951 0.397805 -1.5 0 -1.5
C -0.397805 -1.5 -0.77937 -1.341951 -1.06066 -1.06066
C -1.341951 -0.77937 -1.5 -0.397805 -1.5 0
C -1.5 0.397805 -1.341951 0.77937 -1.06066 1.06066
C -0.77937 1.341951 -0.397805 1.5 0 1.5
z
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mf35d4f7885" x="57.476508" y="109.495237" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="75.093589" y="124.011551" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="105.210188" y="137.11207" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="120.343789" y="145.676029" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="138.804567" y="153.541138" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="152.943867" y="159.316162" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="165.443385" y="162.783252" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="185.977606" y="168.104483" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="202.257688" y="172.456681" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="215.239442" y="175.112611" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="225.221615" y="176.174859" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="232.760503" y="177.658168" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="238.006046" y="177.970015" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="241.914213" y="178.596567" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_97">
<path d="M 138.804567 123.75903
L 152.943867 134.48751
L 165.443385 139.066745
L 185.977606 151.57212
L 202.257688 158.455245
L 215.239442 162.707057
L 225.221615 166.306022
L 232.760503 168.063287
L 238.006046 168.846019
L 241.914213 169.631111
" clip-path="url(#pfd00c4ac11)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<g clip-path="url(#pfd00c4ac11)">
<use xlink:href="#mf35d4f7885" x="138.804567" y="123.75903" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="152.943867" y="134.48751" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="165.443385" y="139.066745" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="185.977606" y="151.57212" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="202.257688" y="158.455245" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="215.239442" y="162.707057" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="225.221615" y="166.306022" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="232.760503" y="168.063287" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="238.006046" y="168.846019" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mf35d4f7885" x="241.914213" y="169.631111" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="patch_3">
<path d="M 36 189
L 36 25.92
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 259.2 189
L 259.2 25.92
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 36 189
L 259.2 189
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 36 25.92
L 259.2 25.92
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
</g>
</g>
<defs>
<clipPath id="pfd00c4ac11">
<rect x="36" y="25.92" width="223.2" height="163.08"/>
</clipPath>
</defs>
</svg>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="288pt" height="216pt" viewBox="0 0 288 216" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2022-11-25T15:55:21.144086</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.5.1, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 216
L 288 216
L 288 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 36 189
L 259.2 189
L 259.2 25.92
L 36 25.92
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m688ec78698" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m688ec78698" x="68.805027" y="189" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{10^{-4}}$ -->
<g transform="translate(60.255027 202.146719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-31" d="M 2522 0
L 755 0
L 755 96
Q 1107 115 1235 227
Q 1363 339 1363 608
L 1363 3482
Q 1363 3795 1171 3795
Q 1082 3795 883 3718
L 710 3654
L 710 3744
L 1856 4326
L 1914 4307
L 1914 486
Q 1914 275 2042 185
Q 2170 96 2522 96
L 2522 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-30" d="M 3046 2112
Q 3046 1683 2963 1302
Q 2880 922 2717 602
Q 2554 282 2266 96
Q 1978 -90 1600 -90
Q 1210 -90 915 108
Q 621 307 461 640
Q 301 973 227 1350
Q 154 1728 154 2150
Q 154 2746 301 3222
Q 448 3699 790 4012
Q 1133 4326 1626 4326
Q 2253 4326 2649 3712
Q 3046 3098 3046 2112
z
M 2432 2080
Q 2432 3091 2217 3625
Q 2003 4160 1587 4160
Q 1190 4160 979 3622
Q 768 3085 768 2106
Q 768 1120 979 598
Q 1190 77 1600 77
Q 2003 77 2217 598
Q 2432 1120 2432 2080
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2212" d="M 3974 1408
L 410 1408
L 410 1830
L 3974 1830
L 3974 1408
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-34" d="M 3027 1069
L 2368 1069
L 2368 0
L 1869 0
L 1869 1069
L 77 1069
L 77 1478
L 2086 4326
L 2368 4326
L 2368 1478
L 3027 1478
L 3027 1069
z
M 1869 1478
L 1869 3674
L 333 1478
L 1869 1478
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-34" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m688ec78698" x="168.850203" y="189" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{10^{-3}}$ -->
<g transform="translate(160.300203 202.146719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-33" d="M 390 3264
L 288 3290
Q 435 3770 748 4048
Q 1062 4326 1542 4326
Q 1990 4326 2265 4083
Q 2541 3840 2541 3450
Q 2541 2925 1946 2566
Q 2298 2413 2477 2227
Q 2758 1914 2758 1402
Q 2758 890 2464 506
Q 2246 211 1840 60
Q 1434 -90 979 -90
Q 262 -90 262 275
Q 262 378 339 442
Q 416 506 525 506
Q 685 506 915 339
Q 1197 141 1466 141
Q 1818 141 2058 425
Q 2298 710 2298 1120
Q 2298 1856 1632 2048
Q 1434 2112 979 2112
L 979 2202
Q 1338 2323 1517 2432
Q 2035 2726 2035 3290
Q 2035 3610 1852 3776
Q 1670 3942 1344 3942
Q 768 3942 390 3264
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-33" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_3">
<path d="M 38.688429 189
L 38.688429 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_4">
<defs>
<path id="mf1e68dd404" d="M 0 0
L 0 2
" style="stroke: #000000; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#mf1e68dd404" x="38.688429" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_5">
<path d="M 46.61013 189
L 46.61013 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_6">
<g>
<use xlink:href="#mf1e68dd404" x="46.61013" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_7">
<path d="M 53.307834 189
L 53.307834 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_8">
<g>
<use xlink:href="#mf1e68dd404" x="53.307834" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_9">
<path d="M 59.109648 189
L 59.109648 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_10">
<g>
<use xlink:href="#mf1e68dd404" x="59.109648" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_7">
<g id="line2d_11">
<path d="M 64.227211 189
L 64.227211 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_12">
<g>
<use xlink:href="#mf1e68dd404" x="64.227211" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_8">
<g id="line2d_13">
<path d="M 98.921626 189
L 98.921626 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_14">
<g>
<use xlink:href="#mf1e68dd404" x="98.921626" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_9">
<g id="line2d_15">
<path d="M 116.538707 189
L 116.538707 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_16">
<g>
<use xlink:href="#mf1e68dd404" x="116.538707" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_10">
<g id="line2d_17">
<path d="M 129.038225 189
L 129.038225 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_18">
<g>
<use xlink:href="#mf1e68dd404" x="129.038225" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_11">
<g id="line2d_19">
<path d="M 138.733605 189
L 138.733605 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_20">
<g>
<use xlink:href="#mf1e68dd404" x="138.733605" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_12">
<g id="line2d_21">
<path d="M 146.655306 189
L 146.655306 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_22">
<g>
<use xlink:href="#mf1e68dd404" x="146.655306" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_13">
<g id="line2d_23">
<path d="M 153.35301 189
L 153.35301 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_24">
<g>
<use xlink:href="#mf1e68dd404" x="153.35301" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_14">
<g id="line2d_25">
<path d="M 159.154824 189
L 159.154824 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_26">
<g>
<use xlink:href="#mf1e68dd404" x="159.154824" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_15">
<g id="line2d_27">
<path d="M 164.272387 189
L 164.272387 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_28">
<g>
<use xlink:href="#mf1e68dd404" x="164.272387" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_16">
<g id="line2d_29">
<path d="M 198.966802 189
L 198.966802 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_30">
<g>
<use xlink:href="#mf1e68dd404" x="198.966802" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_17">
<g id="line2d_31">
<path d="M 216.583883 189
L 216.583883 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_32">
<g>
<use xlink:href="#mf1e68dd404" x="216.583883" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_18">
<g id="line2d_33">
<path d="M 229.083401 189
L 229.083401 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_34">
<g>
<use xlink:href="#mf1e68dd404" x="229.083401" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_19">
<g id="line2d_35">
<path d="M 238.77878 189
L 238.77878 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_36">
<g>
<use xlink:href="#mf1e68dd404" x="238.77878" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_20">
<g id="line2d_37">
<path d="M 246.700482 189
L 246.700482 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_38">
<g>
<use xlink:href="#mf1e68dd404" x="246.700482" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_21">
<g id="line2d_39">
<path d="M 253.398185 189
L 253.398185 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_40">
<g>
<use xlink:href="#mf1e68dd404" x="253.398185" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_22">
<g id="line2d_41">
<path d="M 259.2 189
L 259.2 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_42">
<g>
<use xlink:href="#mf1e68dd404" x="259.2" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_3">
<!-- UV intensity ($\mu$W/$\mu$m$^2$) -->
<g transform="translate(98.55 217.2)scale(0.1 -0.1)">
<defs>
<path id="STIXGeneral-Regular-55" d="M 4512 4237
L 4512 4115
Q 4122 4077 4016 3926
Q 3910 3776 3910 3302
L 3910 1670
Q 3910 1178 3840 896
Q 3770 614 3565 378
Q 3155 -90 2272 -90
Q 1574 -90 1184 205
Q 666 589 666 1594
L 666 3578
Q 666 3898 566 3994
Q 467 4090 90 4115
L 90 4237
L 1901 4237
L 1901 4115
Q 1517 4083 1417 3977
Q 1318 3872 1318 3514
L 1318 1517
Q 1318 1101 1369 877
Q 1421 653 1600 480
Q 1901 192 2419 192
Q 3066 192 3392 570
Q 3539 749 3584 963
Q 3629 1178 3629 1600
L 3629 3283
Q 3629 3782 3520 3936
Q 3411 4090 3027 4115
L 3027 4237
L 4512 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-56" d="M 4461 4237
L 4461 4115
Q 4262 4109 4134 3990
Q 4006 3872 3872 3533
L 2451 -70
L 2355 -70
L 794 3411
Q 589 3866 467 3987
Q 346 4109 102 4115
L 102 4237
L 1798 4237
L 1798 4115
L 1619 4102
Q 1331 4083 1331 3904
Q 1331 3776 1581 3219
L 2554 1030
L 3494 3392
Q 3616 3699 3616 3853
Q 3616 3898 3606 3933
Q 3597 3968 3584 3993
Q 3571 4019 3536 4038
Q 3501 4058 3481 4067
Q 3462 4077 3411 4086
Q 3360 4096 3337 4099
Q 3315 4102 3248 4108
Q 3181 4115 3155 4115
L 3155 4237
L 4461 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-20" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-69" d="M 1152 4045
Q 1152 3904 1056 3811
Q 960 3718 819 3718
Q 685 3718 592 3811
Q 499 3904 499 4045
Q 499 4179 595 4275
Q 691 4371 826 4371
Q 966 4371 1059 4275
Q 1152 4179 1152 4045
z
M 1619 0
L 102 0
L 102 96
Q 435 115 521 211
Q 608 307 608 666
L 608 2118
Q 608 2342 563 2432
Q 518 2522 397 2522
Q 243 2522 128 2490
L 128 2592
L 1120 2944
L 1146 2918
L 1146 672
Q 1146 314 1226 218
Q 1306 122 1619 96
L 1619 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6e" d="M 3104 0
L 1773 0
L 1779 96
Q 2016 115 2096 233
Q 2176 352 2176 672
L 2176 1946
Q 2176 2592 1709 2592
Q 1549 2592 1408 2515
Q 1267 2438 1050 2227
L 1050 461
Q 1050 269 1136 192
Q 1222 115 1466 96
L 1466 0
L 115 0
L 115 96
Q 358 115 435 214
Q 512 314 512 602
L 512 2157
Q 512 2394 467 2483
Q 422 2573 288 2573
Q 160 2573 102 2547
L 102 2656
Q 550 2784 979 2944
L 1030 2925
L 1030 2426
L 1037 2426
Q 1491 2944 1958 2944
Q 2323 2944 2518 2688
Q 2714 2432 2714 1958
L 2714 544
Q 2714 288 2790 205
Q 2867 122 3104 96
L 3104 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-74" d="M 1702 493
L 1786 422
Q 1478 -64 1011 -64
Q 448 -64 448 749
L 448 2675
L 109 2675
Q 83 2694 83 2720
Q 83 2771 192 2842
Q 435 2982 813 3526
Q 826 3546 874 3606
Q 922 3667 941 3706
Q 986 3706 986 3622
L 986 2880
L 1632 2880
L 1632 2675
L 986 2675
L 986 845
Q 986 538 1062 403
Q 1139 269 1318 269
Q 1510 269 1702 493
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-65" d="M 2611 1050
L 2714 1005
Q 2330 -64 1376 -64
Q 813 -64 486 329
Q 160 723 160 1389
Q 160 2074 525 2509
Q 890 2944 1485 2944
Q 2061 2944 2374 2502
Q 2560 2246 2592 1773
L 621 1773
Q 646 1370 700 1158
Q 755 947 915 730
Q 1184 378 1626 378
Q 1939 378 2153 531
Q 2368 685 2611 1050
z
M 634 1978
L 1939 1978
Q 1882 2381 1750 2547
Q 1619 2714 1312 2714
Q 1043 2714 864 2525
Q 685 2336 634 1978
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-73" d="M 998 1926
L 1664 1523
Q 1984 1331 2105 1164
Q 2227 998 2227 736
Q 2227 416 1961 176
Q 1696 -64 1331 -64
Q 1030 -64 864 -6
Q 691 51 570 51
Q 461 51 416 -26
L 333 -26
L 333 979
L 435 979
Q 538 512 730 294
Q 922 77 1248 77
Q 1485 77 1632 211
Q 1779 346 1779 550
Q 1779 845 1440 1030
L 1094 1222
Q 326 1651 326 2150
Q 326 2522 566 2730
Q 806 2938 1210 2938
Q 1491 2938 1638 2867
Q 1754 2816 1818 2816
Q 1862 2816 1920 2880
L 1990 2880
L 2022 2010
L 1926 2010
Q 1818 2445 1654 2621
Q 1491 2797 1203 2797
Q 986 2797 854 2688
Q 723 2579 723 2362
Q 723 2253 796 2128
Q 870 2003 998 1926
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-79" d="M 3040 2880
L 3040 2784
Q 2925 2771 2854 2700
Q 2784 2630 2720 2458
L 1760 -160
Q 1510 -838 1257 -1116
Q 1005 -1395 640 -1395
Q 435 -1395 313 -1289
Q 192 -1184 192 -1024
Q 192 -902 272 -816
Q 352 -730 467 -730
Q 653 -730 800 -813
Q 883 -858 966 -858
Q 1101 -858 1286 -576
Q 1376 -448 1459 -211
Q 1542 26 1542 115
Q 1542 198 1274 762
L 429 2566
Q 346 2752 90 2790
L 90 2880
L 1402 2880
L 1402 2784
Q 1197 2778 1117 2739
Q 1037 2701 1037 2611
Q 1037 2541 1120 2349
L 1837 749
L 2458 2515
Q 2483 2573 2483 2630
Q 2483 2784 2189 2784
L 2189 2880
L 3040 2880
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-28" d="M 1946 -1030
L 1869 -1133
Q 1126 -710 716 32
Q 307 774 307 1613
Q 307 3386 1888 4326
L 1946 4224
Q 1293 3667 1075 3126
Q 858 2586 858 1632
Q 858 685 1082 96
Q 1306 -493 1946 -1030
z
" transform="scale(0.015625)"/>
<path id="DejaVuSans-Oblique-3bc" d="M -84 -1331
L 856 3500
L 1434 3500
L 1009 1322
Q 997 1256 987 1175
Q 978 1094 978 1013
Q 978 722 1161 565
Q 1344 409 1684 409
Q 2147 409 2431 671
Q 2716 934 2816 1459
L 3213 3500
L 3788 3500
L 3266 809
Q 3253 750 3248 706
Q 3244 663 3244 628
Q 3244 531 3283 486
Q 3322 441 3406 441
Q 3438 441 3492 456
Q 3547 472 3647 513
L 3559 50
Q 3422 -19 3297 -55
Q 3172 -91 3053 -91
Q 2847 -91 2730 40
Q 2613 172 2613 403
Q 2438 153 2195 31
Q 1953 -91 1625 -91
Q 1334 -91 1117 43
Q 900 178 831 397
L 494 -1331
L -84 -1331
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-57" d="M 5965 4237
L 5965 4115
Q 5709 4064 5616 3990
Q 5523 3917 5434 3667
Q 4704 1709 4128 -70
L 4032 -70
Q 3642 1011 3008 2637
L 2022 -70
L 1926 -70
Q 1709 576 1277 1753
Q 845 2931 698 3347
Q 538 3808 406 3958
Q 275 4109 32 4115
L 32 4237
L 1594 4237
L 1594 4115
Q 1357 4109 1270 4064
Q 1184 4019 1184 3917
Q 1184 3808 1254 3616
L 2176 1210
L 2842 3021
L 2662 3501
Q 2509 3917 2400 4013
Q 2291 4109 2010 4115
L 2010 4237
L 3706 4237
L 3706 4115
Q 3213 4102 3213 3891
Q 3213 3808 3322 3520
L 4237 1190
L 5043 3360
Q 5152 3667 5152 3853
Q 5152 4109 4704 4115
L 4704 4237
L 5965 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2f" d="M 1837 4326
L 378 -90
L -58 -90
L 1408 4326
L 1837 4326
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6d" d="M 4960 0
L 3565 0
L 3565 96
Q 3834 122 3907 208
Q 3981 294 3981 576
L 3981 1894
Q 3981 2278 3869 2444
Q 3757 2611 3488 2611
Q 3264 2611 3107 2521
Q 2950 2432 2803 2221
L 2803 608
Q 2803 301 2896 201
Q 2989 102 3264 96
L 3264 0
L 1830 0
L 1830 96
Q 2112 115 2189 188
Q 2266 262 2266 550
L 2266 1901
Q 2266 2611 1850 2611
Q 1670 2611 1468 2531
Q 1267 2451 1171 2336
Q 1088 2240 1088 2227
L 1088 448
Q 1088 243 1177 176
Q 1267 109 1523 96
L 1523 0
L 102 0
L 102 96
Q 371 102 460 195
Q 550 288 550 563
L 550 2150
Q 550 2387 499 2480
Q 448 2573 326 2573
Q 230 2573 122 2547
L 122 2656
Q 557 2778 1011 2944
L 1062 2925
L 1062 2451
L 1075 2451
Q 1363 2752 1584 2848
Q 1805 2944 2054 2944
Q 2560 2944 2733 2406
Q 3232 2944 3776 2944
Q 4518 2944 4518 1792
L 4518 493
Q 4518 282 4582 202
Q 4646 122 4794 109
L 4960 96
L 4960 0
z
" transform="scale(0.015625)"/>
<path id="DejaVuSans-32" d="M 1228 531
L 3431 531
L 3431 0
L 469 0
L 469 531
Q 828 903 1448 1529
Q 2069 2156 2228 2338
Q 2531 2678 2651 2914
Q 2772 3150 2772 3378
Q 2772 3750 2511 3984
Q 2250 4219 1831 4219
Q 1534 4219 1204 4116
Q 875 4013 500 3803
L 500 4441
Q 881 4594 1212 4672
Q 1544 4750 1819 4750
Q 2544 4750 2975 4387
Q 3406 4025 3406 3419
Q 3406 3131 3298 2873
Q 3191 2616 2906 2266
Q 2828 2175 2409 1742
Q 1991 1309 1228 531
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-29" d="M 186 4224
L 262 4326
Q 992 3891 1408 3148
Q 1824 2406 1824 1581
Q 1824 -166 243 -1133
L 186 -1030
Q 845 -486 1059 54
Q 1274 595 1274 1562
Q 1274 2534 1059 3120
Q 845 3706 186 4224
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-55" transform="translate(0 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-56" transform="translate(72.199982 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(144.399963 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(169.399948 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(197.199936 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(247.199921 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(274.999908 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(319.399902 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(369.399887 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(408.299881 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(436.099869 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-79" transform="translate(463.899857 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(513.899841 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(538.899826 0.765625)"/>
<use xlink:href="#DejaVuSans-Oblique-3bc" transform="translate(572.199814 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-57" transform="translate(635.822861 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-2f" transform="translate(730.222855 0.765625)"/>
<use xlink:href="#DejaVuSans-Oblique-3bc" transform="translate(758.022842 0.765625)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(821.645889 0.765625)"/>
<use xlink:href="#DejaVuSans-32" transform="translate(900.402908 39.046875)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(947.673416 0.765625)"/>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_43">
<defs>
<path id="m6e1640a794" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m6e1640a794" x="36" y="139.462172" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{10^{0}}$ -->
<g transform="translate(16.22 142.535531)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_44">
<g>
<use xlink:href="#m6e1640a794" x="36" y="68.589563" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{10^{1}}$ -->
<g transform="translate(16.22 71.662922)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_45">
<path d="M 36 189
L 259.2 189
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_46">
<defs>
<path id="m57ee3df64b" d="M 0 0
L -2 0
" style="stroke: #000000; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#m57ee3df64b" x="36" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_47">
<path d="M 36 176.519953
L 259.2 176.519953
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_48">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="176.519953" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_49">
<path d="M 36 167.665219
L 259.2 167.665219
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_50">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="167.665219" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_6">
<g id="line2d_51">
<path d="M 36 160.796953
L 259.2 160.796953
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_52">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="160.796953" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_7">
<g id="line2d_53">
<path d="M 36 155.185172
L 259.2 155.185172
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_54">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="155.185172" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_8">
<g id="line2d_55">
<path d="M 36 150.440478
L 259.2 150.440478
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_56">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="150.440478" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_9">
<g id="line2d_57">
<path d="M 36 146.330437
L 259.2 146.330437
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_58">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="146.330437" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_10">
<g id="line2d_59">
<path d="M 36 142.705125
L 259.2 142.705125
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_60">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="142.705125" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_11">
<g id="line2d_61">
<path d="M 36 118.127391
L 259.2 118.127391
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_62">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="118.127391" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_12">
<g id="line2d_63">
<path d="M 36 105.647344
L 259.2 105.647344
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_64">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="105.647344" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_13">
<g id="line2d_65">
<path d="M 36 96.792609
L 259.2 96.792609
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_66">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="96.792609" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_14">
<g id="line2d_67">
<path d="M 36 89.924344
L 259.2 89.924344
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_68">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="89.924344" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_15">
<g id="line2d_69">
<path d="M 36 84.312562
L 259.2 84.312562
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_70">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="84.312562" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_16">
<g id="line2d_71">
<path d="M 36 79.567869
L 259.2 79.567869
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_72">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="79.567869" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_17">
<g id="line2d_73">
<path d="M 36 75.457828
L 259.2 75.457828
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_74">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="75.457828" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_18">
<g id="line2d_75">
<path d="M 36 71.832515
L 259.2 71.832515
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_76">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="71.832515" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_19">
<g id="line2d_77">
<path d="M 36 47.254781
L 259.2 47.254781
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_78">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="47.254781" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_20">
<g id="line2d_79">
<path d="M 36 34.774734
L 259.2 34.774734
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_80">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="34.774734" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_21">
<g id="line2d_81">
<path d="M 36 25.92
L 259.2 25.92
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_82">
<g>
<use xlink:href="#m57ee3df64b" x="36" y="25.92" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_6">
<!-- Characteristic time ($\mu$s) -->
<g transform="translate(10.049687 155.11)rotate(-90)scale(0.1 -0.1)">
<defs>
<path id="STIXGeneral-Regular-43" d="M 3930 838
L 4051 723
Q 3482 -90 2304 -90
Q 1376 -90 794 480
Q 179 1082 179 2080
Q 179 3014 755 3661
Q 1357 4326 2310 4326
Q 2720 4326 3072 4230
Q 3475 4115 3514 4115
Q 3725 4115 3782 4326
L 3910 4326
L 3968 2874
L 3821 2874
Q 3718 3334 3488 3584
Q 3034 4070 2458 4070
Q 1747 4070 1334 3548
Q 922 3027 922 2182
Q 922 1152 1382 653
Q 1811 192 2522 192
Q 2944 192 3251 339
Q 3558 486 3930 838
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-68" d="M 3117 0
L 1760 0
L 1760 96
Q 2042 128 2118 224
Q 2195 320 2195 653
L 2195 1920
Q 2195 2598 1722 2598
Q 1530 2598 1370 2508
Q 1210 2419 1005 2195
L 1005 653
Q 1005 320 1081 224
Q 1158 128 1440 96
L 1440 0
L 58 0
L 58 96
Q 333 134 400 224
Q 467 314 467 653
L 467 3667
Q 467 3872 406 3933
Q 346 3994 141 3994
Q 83 3994 64 3987
L 64 4090
L 237 4141
Q 730 4288 973 4371
L 1005 4352
L 1005 2406
Q 1229 2694 1446 2819
Q 1664 2944 1946 2944
Q 2733 2944 2733 1926
L 2733 653
Q 2733 320 2793 233
Q 2854 147 3117 96
L 3117 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-61" d="M 2829 422
L 2829 243
Q 2586 -64 2253 -64
Q 1888 -64 1843 403
L 1837 403
Q 1427 -64 909 -64
Q 608 -64 422 112
Q 237 288 237 602
Q 237 1050 685 1350
Q 992 1555 1837 1869
L 1837 2214
Q 1837 2502 1699 2646
Q 1562 2790 1338 2790
Q 1146 2790 1018 2697
Q 890 2605 890 2477
Q 890 2419 909 2348
Q 928 2278 928 2208
Q 928 2112 841 2029
Q 755 1946 634 1946
Q 525 1946 441 2029
Q 358 2112 358 2240
Q 358 2547 685 2752
Q 986 2944 1421 2944
Q 1939 2944 2176 2656
Q 2291 2522 2323 2384
Q 2355 2246 2355 1946
L 2355 723
Q 2355 301 2554 301
Q 2682 301 2829 422
z
M 1837 813
L 1837 1715
Q 1248 1510 1018 1293
Q 800 1094 800 800
Q 800 557 921 432
Q 1043 307 1242 307
Q 1453 307 1613 410
Q 1747 506 1792 589
Q 1837 672 1837 813
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-72" d="M 1024 2931
L 1024 2342
Q 1267 2688 1430 2816
Q 1594 2944 1792 2944
Q 1958 2944 2051 2854
Q 2144 2765 2144 2605
Q 2144 2470 2077 2393
Q 2010 2317 1894 2317
Q 1773 2317 1638 2445
Q 1536 2541 1472 2541
Q 1338 2541 1181 2355
Q 1024 2170 1024 2016
L 1024 576
Q 1024 301 1133 205
Q 1242 109 1568 96
L 1568 0
L 32 0
L 32 96
Q 339 154 412 224
Q 486 294 486 538
L 486 2138
Q 486 2349 438 2435
Q 390 2522 269 2522
Q 166 2522 45 2496
L 45 2598
Q 448 2726 992 2944
L 1024 2931
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-63" d="M 2547 998
L 2637 941
Q 2362 403 2112 205
Q 1786 -64 1376 -64
Q 845 -64 502 336
Q 160 736 160 1357
Q 160 2170 698 2618
Q 1094 2944 1562 2944
Q 1965 2944 2256 2749
Q 2547 2554 2547 2285
Q 2547 2176 2457 2096
Q 2368 2016 2246 2016
Q 2022 2016 1939 2310
L 1901 2451
Q 1850 2630 1773 2694
Q 1696 2758 1523 2758
Q 1133 2758 893 2451
Q 653 2144 653 1645
Q 653 1094 928 745
Q 1203 397 1645 397
Q 1920 397 2118 528
Q 2317 659 2547 998
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-43" transform="translate(0 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-68" transform="translate(66.699997 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(116.699982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(161.099976 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(194.399963 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(238.799957 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(283.199951 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(310.999939 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(355.399933 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(388.699921 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(416.499908 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(455.399902 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(483.19989 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(510.999878 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(555.399872 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(580.399857 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(608.199844 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(635.999832 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(713.79982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(758.199814 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(783.199799 0.703125)"/>
<use xlink:href="#DejaVuSans-Oblique-3bc" transform="translate(816.499786 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(880.122833 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(919.022827 0.703125)"/>
</g>
</g>
</g>
<g id="line2d_83">
<path d="M 32.437395 102.4831
L 47.0568 112.00739
L 62.553994 121.775394
L 73.953477 128.683486
L 85.609297 135.446127
L 94.79048 140.521344
L 104.070076 145.39348
L 113.091812 149.854737
L 121.687157 153.830229
L 129.794142 157.318117
L 132.482571 158.416643
L 140.404273 161.481331
L 147.101976 163.86963
L 158.021354 167.364983
L 166.740308 169.808939
L 173.998653 171.618209
L 183.020389 173.598038
L 192.715769 175.418651
L 202.411148 176.95299
L 211.757537 178.192873
L 221.732332 179.291384
L 232.527747 180.257942
L 244.590587 181.112088
L 258.546635 181.863492
L 274.376773 182.481899
L 279.970797 182.653897
L 279.970797 182.653897
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_84">
<path d="M 32.437395 92.480012
L 52.858615 106.01781
L 66.695132 114.91793
L 80.171075 123.301404
L 92.670593 130.761202
L 102.365972 136.294624
L 111.712361 141.38628
L 120.558546 145.959276
L 128.859718 150.011424
L 132.482571 151.702679
L 140.404273 155.229178
L 147.101976 158.020566
L 158.021354 162.185206
L 166.740308 165.161918
L 173.998653 167.405074
L 183.020389 169.902958
L 190.487123 171.736537
L 198.788295 173.540499
L 207.335174 175.157891
L 215.771072 176.536155
L 224.952255 177.815173
L 235.059477 178.989099
L 245.887671 180.013687
L 257.58106 180.894673
L 270.926623 181.669599
L 279.970797 182.082473
L 279.970797 182.082473
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_85">
<path d="M 32.437395 79.932333
L 52.858615 93.770011
L 70.475696 105.431418
L 85.609297 115.158989
L 98.743119 123.312661
L 110.287674 130.201617
L 120.558546 136.068102
L 129.794142 141.099339
L 132.482571 142.516288
L 140.404273 146.557047
L 147.101976 149.807721
L 158.021354 154.758038
L 166.740308 158.382391
L 173.998653 161.168737
L 183.020389 164.335057
L 190.487123 166.707159
L 198.788295 169.085173
L 207.335174 171.258461
L 215.771072 173.144231
L 223.905239 174.735098
L 232.527747 176.19765
L 241.874136 177.548407
L 251.848931 178.752619
L 262.644346 179.818444
L 274.376773 180.742614
L 279.970797 181.110563
L 279.970797 181.110563
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_86">
<path d="M 32.437395 67.951891
L 57.976178 85.471633
L 77.173399 98.371003
L 92.670593 108.53026
L 107.289998 117.828308
L 119.399835 125.259172
L 130.708893 131.924621
L 140.404273 137.389986
L 152.903791 144.042243
L 162.59917 148.857443
L 170.520872 152.546355
L 180.216251 156.740841
L 188.137953 159.894871
L 196.856907 163.075205
L 204.115252 165.488766
L 211.757537 167.802602
L 219.445011 169.900592
L 227.949931 171.964378
L 235.871632 173.657064
L 244.590587 175.28269
L 253.488713 176.707663
L 263.076678 178.006706
L 273.029407 179.128088
L 279.970797 179.79073
L 279.970797 179.79073
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_87">
<path d="M 32.437395 57.241921
L 62.553994 78.069567
L 82.975214 91.938722
L 100.592295 103.640478
L 115.725896 113.416044
L 128.859718 121.624009
L 140.404273 128.572169
L 152.903791 135.752748
L 162.59917 141.03514
L 170.520872 145.140331
L 180.216251 149.880884
L 188.137953 153.50477
L 196.856907 157.218573
L 204.115252 160.082417
L 211.757537 162.869383
L 219.445011 165.435381
L 226.973506 167.719775
L 235.059477 169.92773
L 243.253587 171.916221
L 251.28829 173.636248
L 259.955917 175.254903
L 268.716872 176.662873
L 278.184967 177.953695
L 279.970797 178.17265
L 279.970797 178.17265
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_88">
<path d="M 32.437395 47.78551
L 66.695132 71.605028
L 90.441947 87.839305
L 108.814683 100.135547
L 123.860063 109.953182
L 132.482571 115.446178
L 147.101976 124.479243
L 158.021354 130.947295
L 166.740308 135.907989
L 177.218575 141.594665
L 185.654473 145.929247
L 194.835656 150.374987
L 202.411148 153.814519
L 210.33285 157.178118
L 218.254551 160.294994
L 225.974633 163.090468
L 233.388153 165.549124
L 241.167631 167.893871
L 248.970457 170.009817
L 257.090105 171.971181
L 265.176076 173.694241
L 273.708313 175.281142
L 279.970797 176.306562
L 279.970797 176.306562
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_89">
<path d="M 32.437395 39.408864
L 70.475696 65.955708
L 96.811731 84.050502
L 116.985377 97.626865
L 132.482571 107.801275
L 147.101976 117.118622
L 158.021354 123.849883
L 170.520872 131.259094
L 180.216251 136.748462
L 190.487123 142.279261
L 198.788295 146.510477
L 207.335174 150.622773
L 215.771072 154.421715
L 223.905239 157.827385
L 231.649958 160.827187
L 239.719195 163.696499
L 247.147152 166.106503
L 255.068854 168.435967
L 263.076678 170.545674
L 270.926623 172.38528
L 279.087056 174.072007
L 279.970797 174.241555
L 279.970797 174.241555
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_90">
<path d="M 32.437395 31.931449
L 73.953477 60.982867
L 100.592295 79.367582
L 121.687157 93.660712
L 132.482571 100.840069
L 147.101976 110.363787
L 162.59917 120.135147
L 173.998653 127.050684
L 185.654473 133.82811
L 194.835656 138.92221
L 204.115252 143.821912
L 213.136988 148.319891
L 221.732332 152.340806
L 229.839318 155.881624
L 237.451773 158.974347
L 245.243969 161.901165
L 252.948967 164.555099
L 260.870668 167.035955
L 268.716872 169.250606
L 276.638574 171.250336
L 279.970797 172.023339
L 279.970797 172.023339
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_91">
<path d="M 32.437395 25.199749
L 77.173399 56.566259
L 105.709858 76.31879
L 127.904755 91.412653
L 140.404273 99.753144
L 158.021354 111.230719
L 170.520872 119.11573
L 183.020389 126.724787
L 194.835656 133.607466
L 204.115252 138.764343
L 213.136988 143.539098
L 221.732332 147.84612
L 229.839318 151.673887
L 238.220803 155.376432
L 245.887671 158.526029
L 253.488713 161.418329
L 261.320922 164.155707
L 269.093057 166.629
L 276.952287 168.888132
L 279.970797 169.692723
L 279.970797 169.692723
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="LineCollection_1">
<path d="M 57.849098 110.120762
L 57.849098 108.882171
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 75.466179 125.020243
L 75.466179 123.034869
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 105.582778 138.669649
L 105.582778 135.629529
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 120.716379 147.750448
L 120.716379 143.732634
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 139.177158 156.24676
L 139.177158 151.05425
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 153.316458 162.611057
L 153.316458 156.340122
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.815976 166.49562
L 165.815976 159.470833
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 186.350197 172.570627
L 186.350197 164.205022
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.630278 177.661639
L 202.630278 168.005903
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.612032 180.83293
L 215.612032 170.290623
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.594205 182.116714
L 225.594205 171.196547
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 233.133093 183.925322
L 233.133093 172.453749
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.378636 184.308032
L 238.378636 172.716876
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 242.286803 185.079655
L 242.286803 173.244275
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_92">
<defs>
<path id="m2b92d975f8" d="M 2 0
L -2 -0
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#m2b92d975f8" x="57.849098" y="110.120762" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="75.466179" y="125.020243" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="105.582778" y="138.669649" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="120.716379" y="147.750448" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="139.177158" y="156.24676" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="153.316458" y="162.611057" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="165.815976" y="166.49562" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="186.350197" y="172.570627" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="202.630278" y="177.661639" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="215.612032" y="180.83293" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="225.594205" y="182.116714" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="233.133093" y="183.925322" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="238.378636" y="184.308032" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="242.286803" y="185.079655" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_93">
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#m2b92d975f8" x="57.849098" y="108.882171" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="75.466179" y="123.034869" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="105.582778" y="135.629529" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="120.716379" y="143.732634" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="139.177158" y="151.05425" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="153.316458" y="156.340122" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="165.815976" y="159.470833" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="186.350197" y="164.205022" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="202.630278" y="168.005903" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="215.612032" y="170.290623" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="225.594205" y="171.196547" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="233.133093" y="172.453749" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="238.378636" y="172.716876" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="242.286803" y="173.244275" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="LineCollection_2">
<path d="M 139.177158 124.759345
L 139.177158 122.790204
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 153.316458 135.91478
L 153.316458 133.123501
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.815976 140.729254
L 165.815976 137.48945
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 186.350197 154.102987
L 186.350197 149.233636
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.630278 161.654364
L 202.630278 155.557548
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.612032 166.40967
L 215.612032 159.402403
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.594205 170.500573
L 225.594205 162.615138
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 233.133093 172.523003
L 233.133093 164.168725
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.378636 173.429587
L 238.378636 164.857378
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 242.286803 174.342634
L 242.286803 165.545973
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_94">
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#m2b92d975f8" x="139.177158" y="124.759345" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="153.316458" y="135.91478" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="165.815976" y="140.729254" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="186.350197" y="154.102987" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="202.630278" y="161.654364" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="215.612032" y="166.40967" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="225.594205" y="170.500573" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="233.133093" y="172.523003" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="238.378636" y="173.429587" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="242.286803" y="174.342634" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_95">
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#m2b92d975f8" x="139.177158" y="122.790204" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="153.316458" y="133.123501" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="165.815976" y="137.48945" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="186.350197" y="149.233636" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="202.630278" y="155.557548" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="215.612032" y="159.402403" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="225.594205" y="162.615138" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="233.133093" y="164.168725" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="238.378636" y="164.857378" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2b92d975f8" x="242.286803" y="165.545973" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_96">
<path d="M 57.849098 109.495237
L 75.466179 124.011551
L 105.582778 137.11207
L 120.716379 145.676029
L 139.177158 153.541138
L 153.316458 159.316162
L 165.815976 162.783252
L 186.350197 168.104483
L 202.630278 172.456681
L 215.612032 175.112611
L 225.594205 176.174859
L 233.133093 177.658168
L 238.378636 177.970015
L 242.286803 178.596567
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<defs>
<path id="mc2d30390df" d="M 0 1.5
C 0.397805 1.5 0.77937 1.341951 1.06066 1.06066
C 1.341951 0.77937 1.5 0.397805 1.5 0
C 1.5 -0.397805 1.341951 -0.77937 1.06066 -1.06066
C 0.77937 -1.341951 0.397805 -1.5 0 -1.5
C -0.397805 -1.5 -0.77937 -1.341951 -1.06066 -1.06066
C -1.341951 -0.77937 -1.5 -0.397805 -1.5 0
C -1.5 0.397805 -1.341951 0.77937 -1.06066 1.06066
C -0.77937 1.341951 -0.397805 1.5 0 1.5
z
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#mc2d30390df" x="57.849098" y="109.495237" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="75.466179" y="124.011551" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="105.582778" y="137.11207" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="120.716379" y="145.676029" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="139.177158" y="153.541138" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="153.316458" y="159.316162" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="165.815976" y="162.783252" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="186.350197" y="168.104483" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="202.630278" y="172.456681" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="215.612032" y="175.112611" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="225.594205" y="176.174859" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="233.133093" y="177.658168" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="238.378636" y="177.970015" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="242.286803" y="178.596567" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_97">
<path d="M 139.177158 123.75903
L 153.316458 134.48751
L 165.815976 139.066745
L 186.350197 151.57212
L 202.630278 158.455245
L 215.612032 162.707057
L 225.594205 166.306022
L 233.133093 168.063287
L 238.378636 168.846019
L 242.286803 169.631111
" clip-path="url(#p3e7f1466a0)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<g clip-path="url(#p3e7f1466a0)">
<use xlink:href="#mc2d30390df" x="139.177158" y="123.75903" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="153.316458" y="134.48751" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="165.815976" y="139.066745" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="186.350197" y="151.57212" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="202.630278" y="158.455245" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="215.612032" y="162.707057" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="225.594205" y="166.306022" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="233.133093" y="168.063287" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="238.378636" y="168.846019" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#mc2d30390df" x="242.286803" y="169.631111" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="patch_3">
<path d="M 36 189
L 36 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 259.2 189
L 259.2 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 36 189
L 259.2 189
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 36 25.92
L 259.2 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
</g>
</g>
<defs>
<clipPath id="p3e7f1466a0">
<rect x="36" y="25.92" width="223.2" height="163.08"/>
</clipPath>
</defs>
</svg>
...@@ -3,7 +3,7 @@ import numpy as np ...@@ -3,7 +3,7 @@ import numpy as np
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
#plt.ion() #plt.ion()
dataREAL = pd.read_csv("medidos_powers_taus.csv") #dataREAL = pd.read_csv("medidos_powers_taus.csv")
dataSIM = pd.read_csv("sim_intensidad_taus_full.csv") dataSIM = pd.read_csv("sim_intensidad_taus_full.csv")
errsSIM = pd.read_csv("error_teorico_tau_det20.csv") errsSIM = pd.read_csv("error_teorico_tau_det20.csv")
I_sat = 43.3*1e-5 #uW/um2 I_sat = 43.3*1e-5 #uW/um2
...@@ -11,50 +11,51 @@ I_sat = 43.3*1e-5 #uW/um2 ...@@ -11,50 +11,51 @@ I_sat = 43.3*1e-5 #uW/um2
#%% ##################################################################################### #%% #####################################################################################
### Plot de lineas teoricas tau-intensidad variando detuning + datos medidos ### Plot de lineas teoricas tau-intensidad variando detuning + datos medidos
UVpotVec=[4,6,12,17,26,36, 48, 77, 112, 151, 190, 226, 255, 279]
Taus = [2.6474524026975392, 1.651982852985559, 1.0793431020294597, 0.8171909874107741, 0.6329192159654833, 0.5246427838474966, 0.468752585310023, 0.3943320198588099, 0.34233658233849174, 0.314035400291993, 0.30338246040910105,0.2891087574893047, 0.2861944000648665,0.2804274973493638]
Taus_v2 = [1.6655917442406167, 1.1754160164890701, 1.0129299348502132, 0.6747311668331314, 0.5395244011650271, 0.4699144306437099, 0.41805942894076137, 0.3948601586682529, 0.3849453824721735, 0.3752507710597908]
fig2, ax2 = plt.subplots(figsize=(4,3)) fig2, ax2 = plt.subplots(figsize=(4,3))
detuning_lines = ['Det10', 'Det20', 'Det30', 'Det40', 'Det50', 'Det60', 'Det70', 'Det80', 'Det90'] detuning_lines = ['Det10', 'Det20', 'Det30', 'Det40', 'Det50', 'Det60', 'Det70', 'Det80', 'Det90']
# Curvas de las simulaciones con tau en unidades de microseg # Curvas de las simulaciones con tau en unidades de microseg
for det in detuning_lines: for det in detuning_lines:
ax2.plot(dataSIM.I, dataSIM[det]*1e6, 'k-', ms=1, lw=0.5) ax2.plot(dataSIM.I**1, [d for d in dataSIM[det]*1e6], 'k-', ms=1, lw=0.5)
# Curvas de las mediciones cambiando el radio posible con tau en microseg # Curvas de las mediciones cambiando el radio posible con tau en microseg
for cambio in [0]: # esto es para shiftear la potencia medida for cambio in [0]: # esto es para shiftear la potencia medida
potencias = dataREAL.Pow - cambio potencias = dataREAL.Pow - cambio
for rad in [85.7*1.5]: # esto evalua con distintos radios for rad in [128]: # esto evalua con distintos radios
ax2.errorbar([p/(np.pi*(rad**2)) for p in UVpotVec], Taus, yerr=np.mean(1e6*errsSIM.stdval.values), ax2.errorbar([(p/(np.pi*(rad**2)))**1 for p in UVpotVec], [t for t in Taus], yerr=np.mean(1e6*errsSIM.stdval.values),
fmt='.--', ms=6, lw=.5, \ fmt='.--', ms=6, lw=.5, \
color="#3949ab", color="#3949ab",
capsize=2) capsize=2)
ax2.errorbar([p/(np.pi*(rad**2)) for p in UVpotVec][4:], Taus_v2[4:], yerr=np.mean(1e6*errsSIM.stdval.values), ax2.errorbar([(p/(np.pi*(rad**2)))**1 for p in UVpotVec][4:], [t for t in Taus_v2], yerr=np.mean(1e6*errsSIM.stdval.values),
fmt='.--', ms=6, lw=.5, \ fmt='.--', ms=6, lw=.5, \
color="#3949ab", color="#3949ab",
capsize=2) capsize=2)
#ax2.errorbar(potencias/(np.pi*(rad**2)), dataREAL.Tau*1e6, \
# yerr = 1e6*errsSIM.stdval.values, \
# fmt='.--', ms=6, lw=.5, \
# color="#3949ab",
# capsize=3,
# label=f'r={rad}; cambio={cambio}')
fs = 9 fs = 9
ax2.set_xlim([0.47e-4, 0.8e-2]) ax2.set_xlim([0.47e-4, 0.8e-2])
ax2.set_ylim([2e-1, 4e1]) #ax2.set_xlim([0., 0.000005])
#ax2.set_ylim([2e-1, 4e1])
ax2.set_ylabel(r"Characteristic time ($\mu$s)", fontname='STIXGeneral') ax2.set_ylabel(r"Characteristic time ($\mu$s)", fontname='STIXGeneral')
#ax2.set_xlabel(r"$I = P / (\pi\,r^2)$ [$\mu$W/$\mu$m$^2$]") #ax2.set_xlabel(r"$I = P / (\pi\,r^2)$ [$\mu$W/$\mu$m$^2$]")
ax2.set_xlabel(r'UV intensity ($\mu$W/$\mu$m$^2$)', fontname='STIXGeneral') ax2.set_xlabel(r'UV intensity ($\mu$W/$\mu$m$^2$)', fontname='STIXGeneral')
# ax2.set_title(r"datos(punteadas) $r \in [30; 190]\ \mu m$ | simulacion(llenas) $\Delta \in -[10; 90]$ MHz") # ax2.set_title(r"datos(punteadas) $r \in [30; 190]\ \mu m$ | simulacion(llenas) $\Delta \in -[10; 90]$ MHz")
#ax2.legend(markerscale=2) #ax2.legend(markerscale=2)
ax2.set_xticks([1e-4, 1e-3]) #ax2.set_xticks([1e-4, 1e-3])
ax2.set_xticklabels([1e-4, 1e-3], fontsize=fs, fontname='STIXGeneral') ax2.set_xticklabels([1e-4, 1e-3], fontsize=fs, fontname='STIXGeneral')
ax2.set_yticks([1e0, 1e1]) #ax2.set_yticks([1e0, 1e1])
ax2.set_yticklabels([1e0, 1e1], fontsize=fs, fontname='STIXGeneral') ax2.set_yticklabels([1e0, 1e1], fontsize=fs, fontname='STIXGeneral')
ax2.grid(which='minor', alpha=0.2) ax2.grid(which='minor', alpha=0.2)
ax2.set_xscale("log") ax2.set_xscale("log")
ax2.set_yscale("log") ax2.set_yscale("log")
plt.savefig('Fig03_varyingUVpower.pdf')
plt.savefig('Fig03_varyingUVpower.svg')
...@@ -9,9 +9,9 @@ import os ...@@ -9,9 +9,9 @@ import os
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20221006_transitoriosv2') os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20221006_transitoriosv2')
# Solo levanto algunos experimentos # Solo levanto algunos experimentos
SP_files = [8445, 8457, 8458, 8459, 8460, 8461, 8462, 8463, 8464, 8465, 8466, 8467, 8468, 8469] SP_files = [8445, 8457, 8458, 8459, 8460, 8461, 8462, 8463, 8464, 8465, 8466, 8467, 8468, 8469, 84840, 88040]
SP_files_v2 = [8763, 8764, 8765, 8766, 8767, 8768, 8769, 8770, 8771, 8772, 8773, 8774, 8775, 8776] SP_files_v2 = [8763, 8764, 8765, 8766, 8767, 8768, 8769, 8770, 8771, 8772, 8773, 8774, 8775, 8776]
DP_files = [8472, 8473, 8474, 8475, 8476, 8477, 8478, 8479, 8480, 8481, 8482] DP_files = [8472, 8473, 8474, 8475, 8476, 8477, 8478, 8479, 8480, 8481, 8482, 8749]
Long_files = ['DP_long', 'SP_long', 'DP_long_v2', 'DP_long_v3', 'DP_long_new', 'SP_long_new'] Long_files = ['DP_long', 'SP_long', 'DP_long_v2', 'DP_long_v3', 'DP_long_new', 'SP_long_new']
Calib_files = ['Cal_DP_5M', 'Cal_SP_5M', 'Cal_DP_25M', 'Cal_SP_25M'] Calib_files = ['Cal_DP_5M', 'Cal_SP_5M', 'Cal_DP_25M', 'Cal_SP_25M']
...@@ -307,7 +307,7 @@ popt_vec_v2 = [] ...@@ -307,7 +307,7 @@ popt_vec_v2 = []
pcov_vec_v2 = [] pcov_vec_v2 = []
ki = 80 ki = 80
plt.figure() plt.figure()
for j in range(len(SP_Heigths_v2)): for j in range(len(SP_Heigths_v2)):
...@@ -352,116 +352,109 @@ plt.plot(UVpotVec, Offsets_v2,'o') ...@@ -352,116 +352,109 @@ plt.plot(UVpotVec, Offsets_v2,'o')
""" """
FIGURA PAPER FIGURA PAPER
""" """
import matplotlib
import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
jselected = [1, 5, 12] jselected = [1, 5, 12]
t0=0.18 t0=0.18
plt.figure()
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], SP_Heigths[jselected[0]])
plt.plot([r-t0 for r in RefBins[90:]], [expo(r, *popt_vec[jselected[0]]) for r in RefBins[90:]])
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], SP_Heigths[jselected[1]])
plt.plot([r-t0 for r in RefBins[90:]], [expo(r, *popt_vec[jselected[1]]) for r in RefBins[90:]])
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], SP_Heigths[jselected[2]])
plt.plot([r-t0 for r in RefBins[90:]], [expo(r, *popt_vec[jselected[2]]) for r in RefBins[90:]])
plt.xlim(-0.5,3)
plt.xlabel('Time (us)')
plt.ylabel('Counts')
s1 = 0
s2 = 700
s3 = 2*s2
kini = 75
colors=sns.color_palette("rocket", 10)
color3 = colors[0]
color2 = colors[3]
color1 = colors[8]
plt.figure(figsize=(3.5,3))
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], [s+s1 for s in SP_Heigths[jselected[0]]],color=color1,alpha=0.7)
plt.plot([r-t0 for r in RefBins[kini:]], [expo(r, *popt_vec[jselected[0]])+s1 for r in RefBins[kini:]],color=color1)
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], [s+s2 for s in SP_Heigths[jselected[1]]],color=color2,alpha=0.7)
plt.plot([r-t0 for r in RefBins[kini:]], [expo(r, *popt_vec[jselected[1]])+s2 for r in RefBins[kini:]],color=color2)
plt.plot([f*1e6-t0 for f in SP_Bins[jselected[0]][:-1]], [s+s3 for s in SP_Heigths[jselected[2]]],color=color3,alpha=0.7)
plt.plot([r-t0 for r in RefBins[kini:]], [expo(r, *popt_vec[jselected[2]])+s3 for r in RefBins[kini:]],color=color3)
plt.xlim(-0.3,2)
plt.xlabel('Time (us)', fontname='STIXGeneral', fontsize=14)
plt.ylabel('Counts', fontname='STIXGeneral', fontsize=14)
plt.xticks([0, 0.5, 1, 1.5, 2], fontsize=12)
plt.yticks([0, 1000, 2000, 3000, 4000], fontsize=12)
plt.grid()
plt.savefig('fig3_01.pdf') plt.savefig('fig3_01.pdf')
plt.savefig('fig3_01.svg') plt.savefig('fig3_01.svg')
#%% #%%
""" """
Defino los vectores de las mediciones largas para obtener branching fractions, 25 M de mediciones VEMOS UNA DP CON POTENCIA ALTA A VER SI DA LO QUE TIENE QUE DAR EL ANCHO DE LINEA
""" """
#Bins_long = [t*1e6 for t in Long_Bins[0][:-1]] BinsIRhigh = [t*1e6 for t in DP_Bins[-1][:-1]]
Bins_long = [t*1e6 for t in Long_Bins[-1][:-1]] HeightsIRhigh = DP_Heigths[-1]
#DP_long_raw = Long_Heigths[3] #la 0 y la 2 salieron mal pero las dejo por las dudas. uso la 3
#SP_long_raw = Long_Heigths[1]
DP_long_raw = Long_Heigths[-2] #la 0 y la 2 salieron mal pero las dejo por las dudas. uso la 3
SP_long_raw = Long_Heigths[-1]
DP_bkg_long_raw = Calib_Heigths[2] #calibracion del DP, esta al final ni la uso
SP_bkg_long_raw = Calib_Heigths[3] #calibracion del SP
from scipy.optimize import curve_fit
#Genero el vector de background para el SP def expo(T, tau, N0, C, T0):
BackgroundVectorLong = SP_Bkgr_builder(np.mean(SP_long_raw[0:50]),np.mean(SP_long_raw[-50:]),59,67,965) return N0*np.exp(-(T-T0)/tau) + C
SP_long_corrected = [SP_long_raw[k]-BackgroundVectorLong[k] for k in range(len(SP_long_raw))] popt_IR, pcov_IR = curve_fit(expo, BinsIRhigh[int(0.1*len(BinsIRhigh)):], HeightsIRhigh[int(0.1*len(BinsIRhigh)):], p0=(5, 100, 200, 1))
DP_long_corrected = [DP_long_raw[k]-np.mean(DP_long_raw[-100:]) for k in range(len(DP_long_raw))]
plt.figure() plt.figure()
plt.plot(SP_long_raw) plt.plot(BinsIRhigh, HeightsIRhigh)
plt.plot(BackgroundVectorLong,'o') plt.plot(BinsIRhigh, [expo(r, *popt_IR) for r in BinsIRhigh])
plt.xlim(0,100)
#%%
""" tauIR = popt_IR[0]
Ploteo las mediciones largas print(tauIR)
"""
plt.figure()
plt.plot(Bins_long, SP_long_corrected)
plt.plot([b+0.25 for b in Bins_long], DP_long_corrected)
plt.grid()
#plt.xlim(0, 1.5)
#plt.ylim(-100,100)
stotal = np.sum(SP_long_corrected)
dtotal = np.sum(DP_long_corrected)
print(stotal/(dtotal+stotal))
#%% #%%
""" """
aca se plotea la SP con su curva de calibracion sin ion para restar VEMOS UNA SP CON POTENCIA ALTA A VER SI DA LO QUE TIENE QUE DAR EL ANCHO DE LINEA
"""
plt.figure()
#plt.plot(Bins_long, SP_long_raw)
plt.plot(Bins_long, SP_bkg_long_raw)
plt.xlim(-1, 2)
#%%
"""
Restamos el fondo a ambas curvas. A la DP le restamos un promedio de la curva con el ion
apagado porque en ningun momento esta prendido el UV
""" """
#Pruebo restar background directamente
#DP_long_subs = [DP_long_raw[j]-DP_bkg_long_raw[j] for j in range(len(DP_long_raw))]
DP_long_subs = [d-int(np.mean(DP_long_raw[-100:])) for d in DP_long_raw]
SP_long_subs = [SP_long_raw[j]-SP_bkg_long_raw[j] for j in range(len(SP_long_raw))]
stot = np.sum(SP_long_subs) # k=5
dtot = np.sum(DP_long_subs) # BinsUVhigh = [t*1e6 for t in Long_Bins[k][:-1]]
# HeightsUVhigh = Long_Heigths[k]
prob = stot/(stot+dtot)
eff_deteccion = dtot/25e6 k=-3
print(f'p={prob}')
print(f'Eff de deteccion: {eff_deteccion*100}')
#%%
plt.figure()
plt.plot(Bins_long, SP_long_subs)
plt.plot([b+0.25 for b in Bins_long[0:475]], DP_long_subs)
plt.xlim(-0.2, 2)
plt.grid()
#%%
plt.figure()
plt.plot(Random_Bins[0][:-1], Random_Heigths[0],'o')
BinsUVhigh = [t*1e6 for t in SP_Bins[k][:-1]]
HeightsUVhigh = SP_Heigths[k]
from scipy.optimize import curve_fit
def expo(T, tau, N0, C, T0):
return N0*np.exp(-(T-T0)/tau) + C
initi=0.10
popt_UV, pcov_UV = curve_fit(expo, BinsUVhigh[int(initi*len(BinsUVhigh)):], HeightsUVhigh[int(initi*len(BinsUVhigh)):], p0=(1, 1000, 1800, 1), bounds=((0,0,0,0),(20, 1e7, 1e5, 1e3)))
plt.figure()
plt.plot(BinsUVhigh, HeightsUVhigh)
plt.plot(BinsUVhigh, [expo(r, *popt_UV) for r in BinsUVhigh])
plt.plot(BinsUVhigh[int(initi*len(BinsUVhigh))], HeightsUVhigh[int(initi*len(BinsUVhigh))],'o',markersize=5)
#plt.ylim(-1000,20000)
tauUV = popt_UV[0]
print(tauUV)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work> <cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2022-11-23T10:52:00.006338</dc:date> <dc:date>2022-11-24T14:47:42.479334</dc:date>
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:creator> <dc:creator>
<cc:Agent> <cc:Agent>
...@@ -41,17 +41,17 @@ z ...@@ -41,17 +41,17 @@ z
<g id="xtick_1"> <g id="xtick_1">
<g id="line2d_1"> <g id="line2d_1">
<defs> <defs>
<path id="m99715e9acd" d="M 0 0 <path id="m61f7d63982" d="M 0 0
L 0 6 L 0 3.5
" style="stroke: #262626; stroke-width: 0.8"/> " style="stroke: #000000; stroke-width: 0.8"/>
</defs> </defs>
<g> <g>
<use xlink:href="#m99715e9acd" x="54" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="54" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_1"> <g id="text_1">
<!-- −0.5 --> <!-- −0.5 -->
<g style="fill: #262626" transform="translate(40.455 271.061562)scale(0.14 -0.14)"> <g transform="translate(44.325 265.829687)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-2212" d="M 3974 1408 <path id="STIXGeneral-Regular-2212" d="M 3974 1408
L 410 1408 L 410 1408
...@@ -137,12 +137,12 @@ z ...@@ -137,12 +137,12 @@ z
<g id="xtick_2"> <g id="xtick_2">
<g id="line2d_2"> <g id="line2d_2">
<g> <g>
<use xlink:href="#m99715e9acd" x="101.828571" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="101.828571" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_2"> <g id="text_2">
<!-- 0.0 --> <!-- 0.0 -->
<g style="fill: #262626" transform="translate(93.078571 271.061562)scale(0.14 -0.14)"> <g transform="translate(95.578571 265.829687)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-30"/> <use xlink:href="#STIXGeneral-Regular-30"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="74.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="74.999969"/>
...@@ -152,12 +152,12 @@ z ...@@ -152,12 +152,12 @@ z
<g id="xtick_3"> <g id="xtick_3">
<g id="line2d_3"> <g id="line2d_3">
<g> <g>
<use xlink:href="#m99715e9acd" x="149.657143" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="149.657143" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_3"> <g id="text_3">
<!-- 0.5 --> <!-- 0.5 -->
<g style="fill: #262626" transform="translate(140.907143 271.061562)scale(0.14 -0.14)"> <g transform="translate(143.407143 265.829687)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-30"/> <use xlink:href="#STIXGeneral-Regular-30"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/> <use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/>
...@@ -167,12 +167,12 @@ z ...@@ -167,12 +167,12 @@ z
<g id="xtick_4"> <g id="xtick_4">
<g id="line2d_4"> <g id="line2d_4">
<g> <g>
<use xlink:href="#m99715e9acd" x="197.485714" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="197.485714" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_4"> <g id="text_4">
<!-- 1.0 --> <!-- 1.0 -->
<g style="fill: #262626" transform="translate(188.735714 271.061562)scale(0.14 -0.14)"> <g transform="translate(191.235714 265.829687)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-31" d="M 2522 0 <path id="STIXGeneral-Regular-31" d="M 2522 0
L 755 0 L 755 0
...@@ -202,12 +202,12 @@ z ...@@ -202,12 +202,12 @@ z
<g id="xtick_5"> <g id="xtick_5">
<g id="line2d_5"> <g id="line2d_5">
<g> <g>
<use xlink:href="#m99715e9acd" x="245.314286" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="245.314286" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_5"> <g id="text_5">
<!-- 1.5 --> <!-- 1.5 -->
<g style="fill: #262626" transform="translate(236.564286 271.061562)scale(0.14 -0.14)"> <g transform="translate(239.064286 265.829687)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-31"/> <use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/> <use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/>
...@@ -217,12 +217,12 @@ z ...@@ -217,12 +217,12 @@ z
<g id="xtick_6"> <g id="xtick_6">
<g id="line2d_6"> <g id="line2d_6">
<g> <g>
<use xlink:href="#m99715e9acd" x="293.142857" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="293.142857" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_6"> <g id="text_6">
<!-- 2.0 --> <!-- 2.0 -->
<g style="fill: #262626" transform="translate(284.392857 271.061562)scale(0.14 -0.14)"> <g transform="translate(286.892857 265.829687)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-32" d="M 3034 877 <path id="STIXGeneral-Regular-32" d="M 3034 877
L 2688 0 L 2688 0
...@@ -258,12 +258,12 @@ z ...@@ -258,12 +258,12 @@ z
<g id="xtick_7"> <g id="xtick_7">
<g id="line2d_7"> <g id="line2d_7">
<g> <g>
<use xlink:href="#m99715e9acd" x="340.971429" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="340.971429" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_7"> <g id="text_7">
<!-- 2.5 --> <!-- 2.5 -->
<g style="fill: #262626" transform="translate(332.221429 271.061562)scale(0.14 -0.14)"> <g transform="translate(334.721429 265.829687)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-32"/> <use xlink:href="#STIXGeneral-Regular-32"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-2e" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/> <use xlink:href="#STIXGeneral-Regular-35" x="74.999969"/>
...@@ -273,12 +273,12 @@ z ...@@ -273,12 +273,12 @@ z
<g id="xtick_8"> <g id="xtick_8">
<g id="line2d_8"> <g id="line2d_8">
<g> <g>
<use xlink:href="#m99715e9acd" x="388.8" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m61f7d63982" x="388.8" y="252" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_8"> <g id="text_8">
<!-- 3.0 --> <!-- 3.0 -->
<g style="fill: #262626" transform="translate(380.05 271.061562)scale(0.14 -0.14)"> <g transform="translate(382.55 265.829687)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-33" d="M 390 3264 <path id="STIXGeneral-Regular-33" d="M 390 3264
L 288 3290 L 288 3290
...@@ -318,7 +318,7 @@ z ...@@ -318,7 +318,7 @@ z
</g> </g>
<g id="text_9"> <g id="text_9">
<!-- Time (us) --> <!-- Time (us) -->
<g style="fill: #262626" transform="translate(193.988438 287.661563)scale(0.14 -0.14)"> <g transform="translate(201.820312 278.829687)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-54" d="M 3795 3149 <path id="STIXGeneral-Regular-54" d="M 3795 3149
L 3642 3149 L 3642 3149
...@@ -555,17 +555,17 @@ z ...@@ -555,17 +555,17 @@ z
<g id="ytick_1"> <g id="ytick_1">
<g id="line2d_9"> <g id="line2d_9">
<defs> <defs>
<path id="m1b73d38781" d="M 0 0 <path id="m43969f1a0a" d="M 0 0
L -6 0 L -3.5 0
" style="stroke: #262626; stroke-width: 0.8"/> " style="stroke: #000000; stroke-width: 0.8"/>
</defs> </defs>
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="247.184895" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="247.184895" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_10"> <g id="text_10">
<!-- 0 --> <!-- 0 -->
<g style="fill: #262626" transform="translate(37.5 251.965676)scale(0.14 -0.14)"> <g transform="translate(42 250.599739)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-30"/> <use xlink:href="#STIXGeneral-Regular-30"/>
</g> </g>
</g> </g>
...@@ -573,12 +573,12 @@ L -6 0 ...@@ -573,12 +573,12 @@ L -6 0
<g id="ytick_2"> <g id="ytick_2">
<g id="line2d_10"> <g id="line2d_10">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="212.938061" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="212.938061" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_11"> <g id="text_11">
<!-- 500 --> <!-- 500 -->
<g style="fill: #262626" transform="translate(23.5 217.718842)scale(0.14 -0.14)"> <g transform="translate(32 216.352905)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-35"/> <use xlink:href="#STIXGeneral-Regular-35"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -588,12 +588,12 @@ L -6 0 ...@@ -588,12 +588,12 @@ L -6 0
<g id="ytick_3"> <g id="ytick_3">
<g id="line2d_11"> <g id="line2d_11">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="178.691227" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="178.691227" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_12"> <g id="text_12">
<!-- 1000 --> <!-- 1000 -->
<g style="fill: #262626" transform="translate(16.5 183.472008)scale(0.14 -0.14)"> <g transform="translate(27 182.10607)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-31"/> <use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -604,12 +604,12 @@ L -6 0 ...@@ -604,12 +604,12 @@ L -6 0
<g id="ytick_4"> <g id="ytick_4">
<g id="line2d_12"> <g id="line2d_12">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="144.444392" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="144.444392" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_13"> <g id="text_13">
<!-- 1500 --> <!-- 1500 -->
<g style="fill: #262626" transform="translate(16.5 149.225174)scale(0.14 -0.14)"> <g transform="translate(27 147.859236)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-31"/> <use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -620,12 +620,12 @@ L -6 0 ...@@ -620,12 +620,12 @@ L -6 0
<g id="ytick_5"> <g id="ytick_5">
<g id="line2d_13"> <g id="line2d_13">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="110.197558" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="110.197558" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_14"> <g id="text_14">
<!-- 2000 --> <!-- 2000 -->
<g style="fill: #262626" transform="translate(16.5 114.978339)scale(0.14 -0.14)"> <g transform="translate(27 113.612402)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-32"/> <use xlink:href="#STIXGeneral-Regular-32"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -636,12 +636,12 @@ L -6 0 ...@@ -636,12 +636,12 @@ L -6 0
<g id="ytick_6"> <g id="ytick_6">
<g id="line2d_14"> <g id="line2d_14">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="75.950724" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="75.950724" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_15"> <g id="text_15">
<!-- 2500 --> <!-- 2500 -->
<g style="fill: #262626" transform="translate(16.5 80.731505)scale(0.14 -0.14)"> <g transform="translate(27 79.365568)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-32"/> <use xlink:href="#STIXGeneral-Regular-32"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -652,12 +652,12 @@ L -6 0 ...@@ -652,12 +652,12 @@ L -6 0
<g id="ytick_7"> <g id="ytick_7">
<g id="line2d_15"> <g id="line2d_15">
<g> <g>
<use xlink:href="#m1b73d38781" x="54" y="41.70389" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m43969f1a0a" x="54" y="41.70389" style="stroke: #000000; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_16"> <g id="text_16">
<!-- 3000 --> <!-- 3000 -->
<g style="fill: #262626" transform="translate(16.5 46.484671)scale(0.14 -0.14)"> <g transform="translate(27 45.118733)scale(0.1 -0.1)">
<use xlink:href="#STIXGeneral-Regular-33"/> <use xlink:href="#STIXGeneral-Regular-33"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/> <use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
<use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/> <use xlink:href="#STIXGeneral-Regular-30" x="99.999969"/>
...@@ -667,7 +667,7 @@ L -6 0 ...@@ -667,7 +667,7 @@ L -6 0
</g> </g>
<g id="text_17"> <g id="text_17">
<!-- Counts --> <!-- Counts -->
<g style="fill: #262626" transform="translate(9.461562 163.118437)rotate(-90)scale(0.14 -0.14)"> <g transform="translate(20.829687 157.450312)rotate(-90)scale(0.1 -0.1)">
<defs> <defs>
<path id="STIXGeneral-Regular-43" d="M 3930 838 <path id="STIXGeneral-Regular-43" d="M 3930 838
L 4051 723 L 4051 723
...@@ -1170,7 +1170,7 @@ L 431.367429 233.006706 ...@@ -1170,7 +1170,7 @@ L 431.367429 233.006706
L 432.324 236.157414 L 432.324 236.157414
L 433 235.576569 L 433 235.576569
L 433 235.576569 L 433 235.576569
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #003fff; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #003fff; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="line2d_17"> <g id="line2d_17">
<path d="M 133.0128 207.470467 <path d="M 133.0128 207.470467
...@@ -1185,7 +1185,7 @@ L 261.193371 225.499327 ...@@ -1185,7 +1185,7 @@ L 261.193371 225.499327
L 281.281371 227.22037 L 281.281371 227.22037
L 299.456229 228.599783 L 299.456229 228.599783
L 299.456229 228.599783 L 299.456229 228.599783
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #03ed3a; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #03ed3a; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="line2d_18"> <g id="line2d_18">
<path d="M 46.825714 238.554693 <path d="M 46.825714 238.554693
...@@ -1579,7 +1579,7 @@ L 431.367429 237.664275 ...@@ -1579,7 +1579,7 @@ L 431.367429 237.664275
L 432.324 237.664275 L 432.324 237.664275
L 433 238.051506 L 433 238.051506
L 433 238.051506 L 433 238.051506
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #e8000b; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #e8000b; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="line2d_19"> <g id="line2d_19">
<path d="M 133.0128 169.570847 <path d="M 133.0128 169.570847
...@@ -1611,7 +1611,7 @@ L 280.3248 235.272704 ...@@ -1611,7 +1611,7 @@ L 280.3248 235.272704
L 293.7168 236.135859 L 293.7168 236.135859
L 299.456229 236.440846 L 299.456229 236.440846
L 299.456229 236.440846 L 299.456229 236.440846
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #8a2be2; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #8a2be2; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="line2d_20"> <g id="line2d_20">
<path d="M 46.825714 240.267035 <path d="M 46.825714 240.267035
...@@ -2003,7 +2003,7 @@ L 431.367429 232.595744 ...@@ -2003,7 +2003,7 @@ L 431.367429 232.595744
L 432.324 233.897123 L 432.324 233.897123
L 433 232.735432 L 433 232.735432
L 433 232.735432 L 433 232.735432
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #ffc400; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #ffc400; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="line2d_21"> <g id="line2d_21">
<path d="M 133.0128 157.690378 <path d="M 133.0128 157.690378
...@@ -2038,32 +2038,32 @@ L 270.759086 232.405675 ...@@ -2038,32 +2038,32 @@ L 270.759086 232.405675
L 291.803657 232.669042 L 291.803657 232.669042
L 299.456229 232.724553 L 299.456229 232.724553
L 299.456229 232.724553 L 299.456229 232.724553
" clip-path="url(#pe7ac0019fb)" style="fill: none; stroke: #00d7ff; stroke-width: 1.5; stroke-linecap: round"/> " clip-path="url(#pa5519df51f)" style="fill: none; stroke: #00d7ff; stroke-width: 1.5; stroke-linecap: square"/>
</g> </g>
<g id="patch_3"> <g id="patch_3">
<path d="M 54 252 <path d="M 54 252
L 54 34.56 L 54 34.56
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/> " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g> </g>
<g id="patch_4"> <g id="patch_4">
<path d="M 388.8 252 <path d="M 388.8 252
L 388.8 34.56 L 388.8 34.56
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/> " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g> </g>
<g id="patch_5"> <g id="patch_5">
<path d="M 54 252 <path d="M 54 252
L 388.8 252 L 388.8 252
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/> " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g> </g>
<g id="patch_6"> <g id="patch_6">
<path d="M 54 34.56 <path d="M 54 34.56
L 388.8 34.56 L 388.8 34.56
" style="fill: none; stroke: #262626; stroke-width: 1.25; stroke-linejoin: miter; stroke-linecap: square"/> " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g> </g>
</g> </g>
</g> </g>
<defs> <defs>
<clipPath id="pe7ac0019fb"> <clipPath id="pa5519df51f">
<rect x="54" y="34.56" width="334.8" height="217.44"/> <rect x="54" y="34.56" width="334.8" height="217.44"/>
</clipPath> </clipPath>
</defs> </defs>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work> <cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2022-11-24T14:05:19.732007</dc:date> <dc:date>2022-11-24T14:39:52.041749</dc:date>
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:creator> <dc:creator>
<cc:Agent> <cc:Agent>
...@@ -41,12 +41,12 @@ z ...@@ -41,12 +41,12 @@ z
<g id="xtick_1"> <g id="xtick_1">
<g id="line2d_1"> <g id="line2d_1">
<defs> <defs>
<path id="madb1d4713d" d="M 0 0 <path id="m0775a2d433" d="M 0 0
L 0 6 L 0 6
" style="stroke: #262626; stroke-width: 0.8"/> " style="stroke: #262626; stroke-width: 0.8"/>
</defs> </defs>
<g> <g>
<use xlink:href="#madb1d4713d" x="192.753873" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m0775a2d433" x="192.753873" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_1"> <g id="text_1">
...@@ -144,7 +144,7 @@ z ...@@ -144,7 +144,7 @@ z
<g id="xtick_2"> <g id="xtick_2">
<g id="line2d_2"> <g id="line2d_2">
<g> <g>
<use xlink:href="#madb1d4713d" x="343.439197" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#m0775a2d433" x="343.439197" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_2"> <g id="text_2">
...@@ -187,16 +187,16 @@ z ...@@ -187,16 +187,16 @@ z
<g id="line2d_3"> <g id="line2d_3">
<path d="M 87.429351 252 <path d="M 87.429351 252
L 87.429351 34.56 L 87.429351 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_4"> <g id="line2d_4">
<defs> <defs>
<path id="m61175fb656" d="M 0 0 <path id="m6ff2b0a9b4" d="M 0 0
L 0 3 L 0 3
" style="stroke: #262626; stroke-width: 0.6"/> " style="stroke: #262626; stroke-width: 0.6"/>
</defs> </defs>
<g> <g>
<use xlink:href="#m61175fb656" x="87.429351" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="87.429351" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -204,11 +204,11 @@ L 0 3 ...@@ -204,11 +204,11 @@ L 0 3
<g id="line2d_5"> <g id="line2d_5">
<path d="M 113.963719 252 <path d="M 113.963719 252
L 113.963719 34.56 L 113.963719 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_6"> <g id="line2d_6">
<g> <g>
<use xlink:href="#m61175fb656" x="113.963719" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="113.963719" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -216,11 +216,11 @@ L 113.963719 34.56 ...@@ -216,11 +216,11 @@ L 113.963719 34.56
<g id="line2d_7"> <g id="line2d_7">
<path d="M 132.790153 252 <path d="M 132.790153 252
L 132.790153 34.56 L 132.790153 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_8"> <g id="line2d_8">
<g> <g>
<use xlink:href="#m61175fb656" x="132.790153" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="132.790153" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -228,11 +228,11 @@ L 132.790153 34.56 ...@@ -228,11 +228,11 @@ L 132.790153 34.56
<g id="line2d_9"> <g id="line2d_9">
<path d="M 147.39307 252 <path d="M 147.39307 252
L 147.39307 34.56 L 147.39307 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_10"> <g id="line2d_10">
<g> <g>
<use xlink:href="#m61175fb656" x="147.39307" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="147.39307" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -240,11 +240,11 @@ L 147.39307 34.56 ...@@ -240,11 +240,11 @@ L 147.39307 34.56
<g id="line2d_11"> <g id="line2d_11">
<path d="M 159.324522 252 <path d="M 159.324522 252
L 159.324522 34.56 L 159.324522 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_12"> <g id="line2d_12">
<g> <g>
<use xlink:href="#m61175fb656" x="159.324522" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="159.324522" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -252,11 +252,11 @@ L 159.324522 34.56 ...@@ -252,11 +252,11 @@ L 159.324522 34.56
<g id="line2d_13"> <g id="line2d_13">
<path d="M 169.412421 252 <path d="M 169.412421 252
L 169.412421 34.56 L 169.412421 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_14"> <g id="line2d_14">
<g> <g>
<use xlink:href="#m61175fb656" x="169.412421" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="169.412421" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -264,11 +264,11 @@ L 169.412421 34.56 ...@@ -264,11 +264,11 @@ L 169.412421 34.56
<g id="line2d_15"> <g id="line2d_15">
<path d="M 178.150956 252 <path d="M 178.150956 252
L 178.150956 34.56 L 178.150956 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_16"> <g id="line2d_16">
<g> <g>
<use xlink:href="#m61175fb656" x="178.150956" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="178.150956" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -276,11 +276,11 @@ L 178.150956 34.56 ...@@ -276,11 +276,11 @@ L 178.150956 34.56
<g id="line2d_17"> <g id="line2d_17">
<path d="M 185.858891 252 <path d="M 185.858891 252
L 185.858891 34.56 L 185.858891 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_18"> <g id="line2d_18">
<g> <g>
<use xlink:href="#m61175fb656" x="185.858891" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="185.858891" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -288,11 +288,11 @@ L 185.858891 34.56 ...@@ -288,11 +288,11 @@ L 185.858891 34.56
<g id="line2d_19"> <g id="line2d_19">
<path d="M 238.114675 252 <path d="M 238.114675 252
L 238.114675 34.56 L 238.114675 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_20"> <g id="line2d_20">
<g> <g>
<use xlink:href="#m61175fb656" x="238.114675" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="238.114675" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -300,11 +300,11 @@ L 238.114675 34.56 ...@@ -300,11 +300,11 @@ L 238.114675 34.56
<g id="line2d_21"> <g id="line2d_21">
<path d="M 264.649044 252 <path d="M 264.649044 252
L 264.649044 34.56 L 264.649044 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_22"> <g id="line2d_22">
<g> <g>
<use xlink:href="#m61175fb656" x="264.649044" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="264.649044" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -312,11 +312,11 @@ L 264.649044 34.56 ...@@ -312,11 +312,11 @@ L 264.649044 34.56
<g id="line2d_23"> <g id="line2d_23">
<path d="M 283.475478 252 <path d="M 283.475478 252
L 283.475478 34.56 L 283.475478 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_24"> <g id="line2d_24">
<g> <g>
<use xlink:href="#m61175fb656" x="283.475478" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="283.475478" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -324,11 +324,11 @@ L 283.475478 34.56 ...@@ -324,11 +324,11 @@ L 283.475478 34.56
<g id="line2d_25"> <g id="line2d_25">
<path d="M 298.078395 252 <path d="M 298.078395 252
L 298.078395 34.56 L 298.078395 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_26"> <g id="line2d_26">
<g> <g>
<use xlink:href="#m61175fb656" x="298.078395" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="298.078395" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -336,11 +336,11 @@ L 298.078395 34.56 ...@@ -336,11 +336,11 @@ L 298.078395 34.56
<g id="line2d_27"> <g id="line2d_27">
<path d="M 310.009847 252 <path d="M 310.009847 252
L 310.009847 34.56 L 310.009847 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_28"> <g id="line2d_28">
<g> <g>
<use xlink:href="#m61175fb656" x="310.009847" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="310.009847" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -348,11 +348,11 @@ L 310.009847 34.56 ...@@ -348,11 +348,11 @@ L 310.009847 34.56
<g id="line2d_29"> <g id="line2d_29">
<path d="M 320.097745 252 <path d="M 320.097745 252
L 320.097745 34.56 L 320.097745 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_30"> <g id="line2d_30">
<g> <g>
<use xlink:href="#m61175fb656" x="320.097745" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="320.097745" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -360,11 +360,11 @@ L 320.097745 34.56 ...@@ -360,11 +360,11 @@ L 320.097745 34.56
<g id="line2d_31"> <g id="line2d_31">
<path d="M 328.836281 252 <path d="M 328.836281 252
L 328.836281 34.56 L 328.836281 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_32"> <g id="line2d_32">
<g> <g>
<use xlink:href="#m61175fb656" x="328.836281" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="328.836281" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -372,11 +372,11 @@ L 328.836281 34.56 ...@@ -372,11 +372,11 @@ L 328.836281 34.56
<g id="line2d_33"> <g id="line2d_33">
<path d="M 336.544215 252 <path d="M 336.544215 252
L 336.544215 34.56 L 336.544215 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_34"> <g id="line2d_34">
<g> <g>
<use xlink:href="#m61175fb656" x="336.544215" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="336.544215" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -384,11 +384,11 @@ L 336.544215 34.56 ...@@ -384,11 +384,11 @@ L 336.544215 34.56
<g id="line2d_35"> <g id="line2d_35">
<path d="M 388.8 252 <path d="M 388.8 252
L 388.8 34.56 L 388.8 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_36"> <g id="line2d_36">
<g> <g>
<use xlink:href="#m61175fb656" x="388.8" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m6ff2b0a9b4" x="388.8" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -820,12 +820,12 @@ z ...@@ -820,12 +820,12 @@ z
<g id="ytick_1"> <g id="ytick_1">
<g id="line2d_37"> <g id="line2d_37">
<defs> <defs>
<path id="m032731e521" d="M 0 0 <path id="mb1f45476b6" d="M 0 0
L -6 0 L -6 0
" style="stroke: #262626; stroke-width: 0.8"/> " style="stroke: #262626; stroke-width: 0.8"/>
</defs> </defs>
<g> <g>
<use xlink:href="#m032731e521" x="54" y="157.132118" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/> <use xlink:href="#mb1f45476b6" x="54" y="157.132118" style="fill: #262626; stroke: #262626; stroke-width: 0.8"/>
</g> </g>
</g> </g>
<g id="text_4"> <g id="text_4">
...@@ -841,16 +841,16 @@ L -6 0 ...@@ -841,16 +841,16 @@ L -6 0
<g id="line2d_38"> <g id="line2d_38">
<path d="M 54 252 <path d="M 54 252
L 388.8 252 L 388.8 252
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_39"> <g id="line2d_39">
<defs> <defs>
<path id="m2e896123a8" d="M 0 0 <path id="m49da50041f" d="M 0 0
L -3 0 L -3 0
" style="stroke: #262626; stroke-width: 0.6"/> " style="stroke: #262626; stroke-width: 0.6"/>
</defs> </defs>
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="252" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -858,11 +858,11 @@ L -3 0 ...@@ -858,11 +858,11 @@ L -3 0
<g id="line2d_40"> <g id="line2d_40">
<path d="M 54 228.099969 <path d="M 54 228.099969
L 388.8 228.099969 L 388.8 228.099969
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_41"> <g id="line2d_41">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="228.099969" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="228.099969" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -870,11 +870,11 @@ L 388.8 228.099969 ...@@ -870,11 +870,11 @@ L 388.8 228.099969
<g id="line2d_42"> <g id="line2d_42">
<path d="M 54 211.142627 <path d="M 54 211.142627
L 388.8 211.142627 L 388.8 211.142627
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_43"> <g id="line2d_43">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="211.142627" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="211.142627" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -882,11 +882,11 @@ L 388.8 211.142627 ...@@ -882,11 +882,11 @@ L 388.8 211.142627
<g id="line2d_44"> <g id="line2d_44">
<path d="M 54 197.989491 <path d="M 54 197.989491
L 388.8 197.989491 L 388.8 197.989491
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_45"> <g id="line2d_45">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="197.989491" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="197.989491" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -894,11 +894,11 @@ L 388.8 197.989491 ...@@ -894,11 +894,11 @@ L 388.8 197.989491
<g id="line2d_46"> <g id="line2d_46">
<path d="M 54 187.242596 <path d="M 54 187.242596
L 388.8 187.242596 L 388.8 187.242596
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_47"> <g id="line2d_47">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="187.242596" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="187.242596" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -906,11 +906,11 @@ L 388.8 187.242596 ...@@ -906,11 +906,11 @@ L 388.8 187.242596
<g id="line2d_48"> <g id="line2d_48">
<path d="M 54 178.156226 <path d="M 54 178.156226
L 388.8 178.156226 L 388.8 178.156226
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_49"> <g id="line2d_49">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="178.156226" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="178.156226" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -918,11 +918,11 @@ L 388.8 178.156226 ...@@ -918,11 +918,11 @@ L 388.8 178.156226
<g id="line2d_50"> <g id="line2d_50">
<path d="M 54 170.285254 <path d="M 54 170.285254
L 388.8 170.285254 L 388.8 170.285254
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_51"> <g id="line2d_51">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="170.285254" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="170.285254" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -930,11 +930,11 @@ L 388.8 170.285254 ...@@ -930,11 +930,11 @@ L 388.8 170.285254
<g id="line2d_52"> <g id="line2d_52">
<path d="M 54 163.342565 <path d="M 54 163.342565
L 388.8 163.342565 L 388.8 163.342565
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_53"> <g id="line2d_53">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="163.342565" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="163.342565" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -942,11 +942,11 @@ L 388.8 163.342565 ...@@ -942,11 +942,11 @@ L 388.8 163.342565
<g id="line2d_54"> <g id="line2d_54">
<path d="M 54 116.274746 <path d="M 54 116.274746
L 388.8 116.274746 L 388.8 116.274746
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_55"> <g id="line2d_55">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="116.274746" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="116.274746" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -954,11 +954,11 @@ L 388.8 116.274746 ...@@ -954,11 +954,11 @@ L 388.8 116.274746
<g id="line2d_56"> <g id="line2d_56">
<path d="M 54 92.374715 <path d="M 54 92.374715
L 388.8 92.374715 L 388.8 92.374715
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_57"> <g id="line2d_57">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="92.374715" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="92.374715" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -966,11 +966,11 @@ L 388.8 92.374715 ...@@ -966,11 +966,11 @@ L 388.8 92.374715
<g id="line2d_58"> <g id="line2d_58">
<path d="M 54 75.417373 <path d="M 54 75.417373
L 388.8 75.417373 L 388.8 75.417373
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_59"> <g id="line2d_59">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="75.417373" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="75.417373" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -978,11 +978,11 @@ L 388.8 75.417373 ...@@ -978,11 +978,11 @@ L 388.8 75.417373
<g id="line2d_60"> <g id="line2d_60">
<path d="M 54 62.264237 <path d="M 54 62.264237
L 388.8 62.264237 L 388.8 62.264237
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_61"> <g id="line2d_61">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="62.264237" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="62.264237" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -990,11 +990,11 @@ L 388.8 62.264237 ...@@ -990,11 +990,11 @@ L 388.8 62.264237
<g id="line2d_62"> <g id="line2d_62">
<path d="M 54 51.517342 <path d="M 54 51.517342
L 388.8 51.517342 L 388.8 51.517342
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_63"> <g id="line2d_63">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="51.517342" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="51.517342" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -1002,11 +1002,11 @@ L 388.8 51.517342 ...@@ -1002,11 +1002,11 @@ L 388.8 51.517342
<g id="line2d_64"> <g id="line2d_64">
<path d="M 54 42.430972 <path d="M 54 42.430972
L 388.8 42.430972 L 388.8 42.430972
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_65"> <g id="line2d_65">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="42.430972" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="42.430972" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -1014,11 +1014,11 @@ L 388.8 42.430972 ...@@ -1014,11 +1014,11 @@ L 388.8 42.430972
<g id="line2d_66"> <g id="line2d_66">
<path d="M 54 34.56 <path d="M 54 34.56
L 388.8 34.56 L 388.8 34.56
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #cccccc; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: round"/>
</g> </g>
<g id="line2d_67"> <g id="line2d_67">
<g> <g>
<use xlink:href="#m2e896123a8" x="54" y="34.56" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/> <use xlink:href="#m49da50041f" x="54" y="34.56" style="fill: #262626; stroke: #262626; stroke-width: 0.6"/>
</g> </g>
</g> </g>
</g> </g>
...@@ -1120,7 +1120,7 @@ L 336.590735 238.815309 ...@@ -1120,7 +1120,7 @@ L 336.590735 238.815309
L 354.625844 239.636666 L 354.625844 239.636666
L 360.12069 239.846836 L 360.12069 239.846836
L 360.12069 239.846836 L 360.12069 239.846836
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_69"> <g id="line2d_69">
<path d="M -1 77.116041 <path d="M -1 77.116041
...@@ -1158,7 +1158,7 @@ L 333.366349 237.040256 ...@@ -1158,7 +1158,7 @@ L 333.366349 237.040256
L 348.101338 238.063053 L 348.101338 238.063053
L 360.12069 238.752525 L 360.12069 238.752525
L 360.12069 238.752525 L 360.12069 238.752525
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_70"> <g id="line2d_70">
<path d="M -1 53.277404 <path d="M -1 53.277404
...@@ -1196,7 +1196,7 @@ L 342.022203 235.270426 ...@@ -1196,7 +1196,7 @@ L 342.022203 235.270426
L 355.101786 236.481441 L 355.101786 236.481441
L 360.12069 236.89126 L 360.12069 236.89126
L 360.12069 236.89126 L 360.12069 236.89126
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_71"> <g id="line2d_71">
<path d="M -1 30.460077 <path d="M -1 30.460077
...@@ -1234,7 +1234,7 @@ L 346.498601 232.674745 ...@@ -1234,7 +1234,7 @@ L 346.498601 232.674745
L 358.33985 234.159729 L 358.33985 234.159729
L 360.12069 234.363702 L 360.12069 234.363702
L 360.12069 234.363702 L 360.12069 234.363702
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_72"> <g id="line2d_72">
<path d="M -1 10.028638 <path d="M -1 10.028638
...@@ -1271,7 +1271,7 @@ L 348.626977 229.370824 ...@@ -1271,7 +1271,7 @@ L 348.626977 229.370824
L 359.236328 231.128678 L 359.236328 231.128678
L 360.12069 231.264982 L 360.12069 231.264982
L 360.12069 231.264982 L 360.12069 231.264982
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_73"> <g id="line2d_73">
<path d="M 6.930424 -1 <path d="M 6.930424 -1
...@@ -1305,7 +1305,7 @@ L 348.101338 225.150537 ...@@ -1305,7 +1305,7 @@ L 348.101338 225.150537
L 357.886964 227.245641 L 357.886964 227.245641
L 360.12069 227.691313 L 360.12069 227.691313
L 360.12069 227.691313 L 360.12069 227.691313
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_74"> <g id="line2d_74">
<path d="M 24.932363 -1 <path d="M 24.932363 -1
...@@ -1337,7 +1337,7 @@ L 350.688307 221.330887 ...@@ -1337,7 +1337,7 @@ L 350.688307 221.330887
L 359.680003 223.62973 L 359.680003 223.62973
L 360.12069 223.736702 L 360.12069 223.736702
L 360.12069 223.736702 L 360.12069 223.736702
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_75"> <g id="line2d_75">
<path d="M 40.964036 -1 <path d="M 40.964036 -1
...@@ -1367,7 +1367,7 @@ L 345.407879 214.93094 ...@@ -1367,7 +1367,7 @@ L 345.407879 214.93094
L 354.146414 217.717939 L 354.146414 217.717939
L 360.12069 219.488686 L 360.12069 219.488686
L 360.12069 219.488686 L 360.12069 219.488686
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="line2d_76"> <g id="line2d_76">
<path d="M 55.371205 -1 <path d="M 55.371205 -1
...@@ -1396,151 +1396,169 @@ L 350.688307 211.754451 ...@@ -1396,151 +1396,169 @@ L 350.688307 211.754451
L 359.236328 214.730856 L 359.236328 214.730856
L 360.12069 215.025418 L 360.12069 215.025418
L 360.12069 215.025418 L 360.12069 215.025418
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: round"/>
</g> </g>
<g id="LineCollection_1"> <g id="LineCollection_1">
<path d="M 78.074577 100.941576 <path d="M 78.074577 100.941576
L 78.074577 98.569602 L 78.074577 98.569602
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 104.608945 129.474967 <path d="M 104.608945 129.474967
L 104.608945 125.672857 L 104.608945 125.672857
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 149.969748 155.614391 <path d="M 149.969748 155.614391
L 149.969748 149.79238 L 149.969748 149.79238
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 172.763567 173.00466 <path d="M 172.763567 173.00466
L 172.763567 165.310306 L 172.763567 165.310306
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 200.56869 189.275601 <path d="M 200.56869 189.275601
L 200.56869 179.331635 L 200.56869 179.331635
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 221.864919 201.463607 <path d="M 221.864919 201.463607
L 221.864919 189.454394 L 221.864919 189.454394
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 240.691353 208.902775 <path d="M 240.691353 208.902775
L 240.691353 195.449891 L 240.691353 195.449891
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 271.619439 220.536775 <path d="M 271.619439 220.536775
L 271.619439 204.516146 L 271.619439 204.516146
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 296.140054 230.286366 <path d="M 296.140054 230.286366
L 296.140054 211.795057 L 296.140054 211.795057
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 315.69282 236.359577 <path d="M 315.69282 236.359577
L 315.69282 216.170433 L 315.69282 216.170433
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 330.727698 238.818099 <path d="M 330.727698 238.818099
L 330.727698 217.905331 L 330.727698 217.905331
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 342.082566 242.281691 <path d="M 342.082566 242.281691
L 342.082566 220.312947 L 342.082566 220.312947
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 349.98326 243.014604 <path d="M 349.98326 243.014604
L 349.98326 220.816852 L 349.98326 220.816852
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 355.869635 244.492306 <path d="M 355.869635 244.492306
L 355.869635 221.826851 L 355.869635 221.826851
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g> </g>
<g id="line2d_77"> <g id="line2d_77">
<defs> <defs>
<path id="m6f5accc0ce" d="M 3 0 <path id="m9782d4f57d" d="M 3 0
L -3 -0 L -3 -0
" style="stroke: #3949ab"/> " style="stroke: #3949ab"/>
</defs> </defs>
<g clip-path="url(#p92347e7ced)"> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m6f5accc0ce" x="78.074577" y="100.941576" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="78.074577" y="100.941576" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="104.608945" y="129.474967" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="104.608945" y="129.474967" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="149.969748" y="155.614391" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="149.969748" y="155.614391" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="172.763567" y="173.00466" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="172.763567" y="173.00466" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="200.56869" y="189.275601" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="200.56869" y="189.275601" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="221.864919" y="201.463607" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="221.864919" y="201.463607" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="240.691353" y="208.902775" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="240.691353" y="208.902775" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="271.619439" y="220.536775" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="271.619439" y="220.536775" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="296.140054" y="230.286366" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="296.140054" y="230.286366" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="315.69282" y="236.359577" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="315.69282" y="236.359577" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="330.727698" y="238.818099" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="330.727698" y="238.818099" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="342.082566" y="242.281691" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="342.082566" y="242.281691" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="349.98326" y="243.014604" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="349.98326" y="243.014604" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="355.869635" y="244.492306" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="355.869635" y="244.492306" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="line2d_78"> <g id="line2d_78">
<g clip-path="url(#p92347e7ced)"> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m6f5accc0ce" x="78.074577" y="98.569602" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="78.074577" y="98.569602" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="104.608945" y="125.672857" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="104.608945" y="125.672857" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="149.969748" y="149.79238" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="149.969748" y="149.79238" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="172.763567" y="165.310306" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="172.763567" y="165.310306" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="200.56869" y="179.331635" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="200.56869" y="179.331635" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="221.864919" y="189.454394" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="221.864919" y="189.454394" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="240.691353" y="195.449891" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="240.691353" y="195.449891" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="271.619439" y="204.516146" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="271.619439" y="204.516146" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="296.140054" y="211.795057" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="296.140054" y="211.795057" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="315.69282" y="216.170433" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="315.69282" y="216.170433" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="330.727698" y="217.905331" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="330.727698" y="217.905331" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="342.082566" y="220.312947" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="342.082566" y="220.312947" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="349.98326" y="220.816852" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="349.98326" y="220.816852" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="355.869635" y="221.826851" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="355.869635" y="221.826851" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="LineCollection_2"> <g id="LineCollection_2">
<path d="M 336.651098 215.035858 <path clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 336.651098 204.595114 <path d="M 104.608945 104.902777
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 104.608945 102.369417
<path d="M 328.271148 217.436778 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 328.271148 205.607052 <path d="M 149.969748 67.323738
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 149.969748 65.97106
<path d="M 317.403814 209.371585 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 317.403814 199.730168 <path d="M 172.763567 95.403956
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 172.763567 93.240819
<path d="M 303.326537 206.275321 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 303.326537 196.690315 <path d="M 200.56869 128.975332
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 200.56869 125.204309
<path d="M 286.052156 199.615067 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 286.052156 190.842013 <path d="M 221.864919 150.338652
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 221.864919 144.993186
<path d="M 266.310437 190.765335 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 266.310437 182.454609 <path d="M 240.691353 159.558656
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 240.691353 153.354239
<path d="M 242.040716 179.805286 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 242.040716 172.220917 <path d="M 271.619439 185.170149
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 271.619439 175.845052
<path d="M 214.156985 168.155422 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 214.156985 161.080173 <path d="M 296.140054 199.631483
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 296.140054 187.95572
<path d="M 180.042373 145.851872 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 180.042373 139.439219 <path d="M 315.69282 208.738178
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 315.69282 195.318844
<path d="M 138.038296 121.222541 " clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
L 138.038296 113.406885 <path d="M 330.727698 216.5725
" clip-path="url(#p92347e7ced)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/> L 330.727698 201.471423
" clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 342.082566 220.445572
L 342.082566 204.446635
" clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 349.98326 222.181735
L 349.98326 205.765445
" clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 355.869635 223.930273
L 355.869635 207.084145
" clip-path="url(#p87ef8453bf)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g> </g>
<g id="line2d_79"> <g id="line2d_79">
<g clip-path="url(#p92347e7ced)"> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m6f5accc0ce" x="336.651098" y="215.035858" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="80.271594" y="-1" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="328.271148" y="217.436778" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="104.608945" y="104.902777" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="317.403814" y="209.371585" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="149.969748" y="67.323738" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="303.326537" y="206.275321" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="172.763567" y="95.403956" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="286.052156" y="199.615067" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="200.56869" y="128.975332" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="266.310437" y="190.765335" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="221.864919" y="150.338652" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="242.040716" y="179.805286" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="240.691353" y="159.558656" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="214.156985" y="168.155422" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="271.619439" y="185.170149" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="180.042373" y="145.851872" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="296.140054" y="199.631483" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="138.038296" y="121.222541" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="315.69282" y="208.738178" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="330.727698" y="216.5725" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="342.082566" y="220.445572" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="349.98326" y="222.181735" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="355.869635" y="223.930273" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="line2d_80"> <g id="line2d_80">
<g clip-path="url(#p92347e7ced)"> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m6f5accc0ce" x="336.651098" y="204.595114" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="80.398898" y="-1" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="328.271148" y="205.607052" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="104.608945" y="102.369417" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="317.403814" y="199.730168" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="149.969748" y="65.97106" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="303.326537" y="196.690315" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="172.763567" y="93.240819" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="286.052156" y="190.842013" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="200.56869" y="125.204309" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="266.310437" y="182.454609" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="221.864919" y="144.993186" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="242.040716" y="172.220917" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="240.691353" y="153.354239" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="214.156985" y="161.080173" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="271.619439" y="175.845052" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="180.042373" y="139.439219" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="296.140054" y="187.95572" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m6f5accc0ce" x="138.038296" y="113.406885" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m9782d4f57d" x="315.69282" y="195.318844" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="330.727698" y="201.471423" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="342.082566" y="204.446635" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="349.98326" y="205.765445" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m9782d4f57d" x="355.869635" y="207.084145" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="line2d_81"> <g id="line2d_81">
...@@ -1558,9 +1576,9 @@ L 330.727698 227.439094 ...@@ -1558,9 +1576,9 @@ L 330.727698 227.439094
L 342.082566 230.279718 L 342.082566 230.279718
L 349.98326 230.876924 L 349.98326 230.876924
L 355.869635 232.076808 L 355.869635 232.076808
" clip-path="url(#p92347e7ced)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<defs> <defs>
<path id="m466e579ad5" d="M 0 1.5 <path id="m90e337699c" d="M 0 1.5
C 0.397805 1.5 0.77937 1.341951 1.06066 1.06066 C 0.397805 1.5 0.77937 1.341951 1.06066 1.06066
C 1.341951 0.77937 1.5 0.397805 1.5 0 C 1.341951 0.77937 1.5 0.397805 1.5 0
C 1.5 -0.397805 1.341951 -0.77937 1.06066 -1.06066 C 1.5 -0.397805 1.341951 -0.77937 1.06066 -1.06066
...@@ -1572,46 +1590,54 @@ C -0.77937 1.341951 -0.397805 1.5 0 1.5 ...@@ -1572,46 +1590,54 @@ C -0.77937 1.341951 -0.397805 1.5 0 1.5
z z
" style="stroke: #3949ab"/> " style="stroke: #3949ab"/>
</defs> </defs>
<g clip-path="url(#p92347e7ced)"> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m466e579ad5" x="78.074577" y="99.743659" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="78.074577" y="99.743659" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="104.608945" y="127.543262" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="104.608945" y="127.543262" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="149.969748" y="152.631534" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="149.969748" y="152.631534" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="172.763567" y="169.032024" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="172.763567" y="169.032024" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="200.56869" y="184.094173" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="200.56869" y="184.094173" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="221.864919" y="195.153688" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="221.864919" y="195.153688" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="240.691353" y="201.793372" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="240.691353" y="201.793372" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="271.619439" y="211.983845" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="271.619439" y="211.983845" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="296.140054" y="220.318561" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="296.140054" y="220.318561" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="315.69282" y="225.404825" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="315.69282" y="225.404825" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="330.727698" y="227.439094" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="330.727698" y="227.439094" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="342.082566" y="230.279718" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="342.082566" y="230.279718" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="349.98326" y="230.876924" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="349.98326" y="230.876924" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="355.869635" y="232.076808" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="355.869635" y="232.076808" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="line2d_82"> <g id="line2d_82">
<path d="M 336.651098 209.584619 <path d="M 80.334971 -1
L 328.271148 211.225646 L 104.608945 103.622488
L 317.403814 204.353968 L 149.969748 66.643519
L 303.326537 201.288205 L 172.763567 94.312465
L 286.052156 195.065473 L 200.56869 127.059669
L 266.310437 186.463625 L 221.864919 147.605345
L 242.040716 175.891201 L 240.691353 156.374852
L 214.156985 164.511704 L 271.619439 180.323388
L 180.042373 142.558384 L 296.140054 193.504981
L 138.038296 117.18527 L 315.69282 201.647453
" clip-path="url(#p92347e7ced)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/> L 330.727698 208.539684
<g clip-path="url(#p92347e7ced)"> L 342.082566 211.904952
<use xlink:href="#m466e579ad5" x="336.651098" y="209.584619" style="fill: #3949ab; stroke: #3949ab"/> L 349.98326 213.403929
<use xlink:href="#m466e579ad5" x="328.271148" y="211.225646" style="fill: #3949ab; stroke: #3949ab"/> L 355.869635 214.907428
<use xlink:href="#m466e579ad5" x="317.403814" y="204.353968" style="fill: #3949ab; stroke: #3949ab"/> " clip-path="url(#p87ef8453bf)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<use xlink:href="#m466e579ad5" x="303.326537" y="201.288205" style="fill: #3949ab; stroke: #3949ab"/> <g clip-path="url(#p87ef8453bf)">
<use xlink:href="#m466e579ad5" x="286.052156" y="195.065473" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="80.334971" y="-1" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="266.310437" y="186.463625" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="104.608945" y="103.622488" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="242.040716" y="175.891201" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="149.969748" y="66.643519" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="214.156985" y="164.511704" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="172.763567" y="94.312465" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="180.042373" y="142.558384" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="200.56869" y="127.059669" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m466e579ad5" x="138.038296" y="117.18527" style="fill: #3949ab; stroke: #3949ab"/> <use xlink:href="#m90e337699c" x="221.864919" y="147.605345" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="240.691353" y="156.374852" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="271.619439" y="180.323388" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="296.140054" y="193.504981" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="315.69282" y="201.647453" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="330.727698" y="208.539684" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="342.082566" y="211.904952" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="349.98326" y="213.403929" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m90e337699c" x="355.869635" y="214.907428" style="fill: #3949ab; stroke: #3949ab"/>
</g> </g>
</g> </g>
<g id="patch_3"> <g id="patch_3">
...@@ -1637,7 +1663,7 @@ L 388.8 34.56 ...@@ -1637,7 +1663,7 @@ L 388.8 34.56
</g> </g>
</g> </g>
<defs> <defs>
<clipPath id="p92347e7ced"> <clipPath id="p87ef8453bf">
<rect x="54" y="34.56" width="334.8" height="217.44"/> <rect x="54" y="34.56" width="334.8" height="217.44"/>
</clipPath> </clipPath>
</defs> </defs>
......
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="288pt" height="216pt" viewBox="0 0 288 216" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2022-11-30T11:20:16.666470</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.5.1, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 216
L 288 216
L 288 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 36 189
L 259.2 189
L 259.2 25.92
L 36 25.92
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m789b4e47ef" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m789b4e47ef" x="68.805027" y="189" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{10^{-4}}$ -->
<g transform="translate(60.255027 202.146719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-31" d="M 2522 0
L 755 0
L 755 96
Q 1107 115 1235 227
Q 1363 339 1363 608
L 1363 3482
Q 1363 3795 1171 3795
Q 1082 3795 883 3718
L 710 3654
L 710 3744
L 1856 4326
L 1914 4307
L 1914 486
Q 1914 275 2042 185
Q 2170 96 2522 96
L 2522 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-30" d="M 3046 2112
Q 3046 1683 2963 1302
Q 2880 922 2717 602
Q 2554 282 2266 96
Q 1978 -90 1600 -90
Q 1210 -90 915 108
Q 621 307 461 640
Q 301 973 227 1350
Q 154 1728 154 2150
Q 154 2746 301 3222
Q 448 3699 790 4012
Q 1133 4326 1626 4326
Q 2253 4326 2649 3712
Q 3046 3098 3046 2112
z
M 2432 2080
Q 2432 3091 2217 3625
Q 2003 4160 1587 4160
Q 1190 4160 979 3622
Q 768 3085 768 2106
Q 768 1120 979 598
Q 1190 77 1600 77
Q 2003 77 2217 598
Q 2432 1120 2432 2080
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2212" d="M 3974 1408
L 410 1408
L 410 1830
L 3974 1830
L 3974 1408
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-34" d="M 3027 1069
L 2368 1069
L 2368 0
L 1869 0
L 1869 1069
L 77 1069
L 77 1478
L 2086 4326
L 2368 4326
L 2368 1478
L 3027 1478
L 3027 1069
z
M 1869 1478
L 1869 3674
L 333 1478
L 1869 1478
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-34" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m789b4e47ef" x="168.850203" y="189" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{10^{-3}}$ -->
<g transform="translate(160.300203 202.146719)scale(0.09 -0.09)">
<defs>
<path id="STIXGeneral-Regular-33" d="M 390 3264
L 288 3290
Q 435 3770 748 4048
Q 1062 4326 1542 4326
Q 1990 4326 2265 4083
Q 2541 3840 2541 3450
Q 2541 2925 1946 2566
Q 2298 2413 2477 2227
Q 2758 1914 2758 1402
Q 2758 890 2464 506
Q 2246 211 1840 60
Q 1434 -90 979 -90
Q 262 -90 262 275
Q 262 378 339 442
Q 416 506 525 506
Q 685 506 915 339
Q 1197 141 1466 141
Q 1818 141 2058 425
Q 2298 710 2298 1120
Q 2298 1856 1632 2048
Q 1434 2112 979 2112
L 979 2202
Q 1338 2323 1517 2432
Q 2035 2726 2035 3290
Q 2035 3610 1852 3776
Q 1670 3942 1344 3942
Q 768 3942 390 3264
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-2212" transform="translate(101.574969 36.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-33" transform="translate(149.524959 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_3">
<path d="M 38.688429 189
L 38.688429 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_4">
<defs>
<path id="mc92440317b" d="M 0 0
L 0 2
" style="stroke: #000000; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#mc92440317b" x="38.688429" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_5">
<path d="M 46.61013 189
L 46.61013 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_6">
<g>
<use xlink:href="#mc92440317b" x="46.61013" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_7">
<path d="M 53.307834 189
L 53.307834 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_8">
<g>
<use xlink:href="#mc92440317b" x="53.307834" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_9">
<path d="M 59.109648 189
L 59.109648 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_10">
<g>
<use xlink:href="#mc92440317b" x="59.109648" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_7">
<g id="line2d_11">
<path d="M 64.227211 189
L 64.227211 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_12">
<g>
<use xlink:href="#mc92440317b" x="64.227211" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_8">
<g id="line2d_13">
<path d="M 98.921626 189
L 98.921626 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_14">
<g>
<use xlink:href="#mc92440317b" x="98.921626" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_9">
<g id="line2d_15">
<path d="M 116.538707 189
L 116.538707 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_16">
<g>
<use xlink:href="#mc92440317b" x="116.538707" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_10">
<g id="line2d_17">
<path d="M 129.038225 189
L 129.038225 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_18">
<g>
<use xlink:href="#mc92440317b" x="129.038225" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_11">
<g id="line2d_19">
<path d="M 138.733605 189
L 138.733605 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_20">
<g>
<use xlink:href="#mc92440317b" x="138.733605" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_12">
<g id="line2d_21">
<path d="M 146.655306 189
L 146.655306 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_22">
<g>
<use xlink:href="#mc92440317b" x="146.655306" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_13">
<g id="line2d_23">
<path d="M 153.35301 189
L 153.35301 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_24">
<g>
<use xlink:href="#mc92440317b" x="153.35301" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_14">
<g id="line2d_25">
<path d="M 159.154824 189
L 159.154824 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_26">
<g>
<use xlink:href="#mc92440317b" x="159.154824" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_15">
<g id="line2d_27">
<path d="M 164.272387 189
L 164.272387 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_28">
<g>
<use xlink:href="#mc92440317b" x="164.272387" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_16">
<g id="line2d_29">
<path d="M 198.966802 189
L 198.966802 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_30">
<g>
<use xlink:href="#mc92440317b" x="198.966802" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_17">
<g id="line2d_31">
<path d="M 216.583883 189
L 216.583883 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_32">
<g>
<use xlink:href="#mc92440317b" x="216.583883" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_18">
<g id="line2d_33">
<path d="M 229.083401 189
L 229.083401 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_34">
<g>
<use xlink:href="#mc92440317b" x="229.083401" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_19">
<g id="line2d_35">
<path d="M 238.77878 189
L 238.77878 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_36">
<g>
<use xlink:href="#mc92440317b" x="238.77878" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_20">
<g id="line2d_37">
<path d="M 246.700482 189
L 246.700482 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_38">
<g>
<use xlink:href="#mc92440317b" x="246.700482" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_21">
<g id="line2d_39">
<path d="M 253.398185 189
L 253.398185 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_40">
<g>
<use xlink:href="#mc92440317b" x="253.398185" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="xtick_22">
<g id="line2d_41">
<path d="M 259.2 189
L 259.2 25.92
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_42">
<g>
<use xlink:href="#mc92440317b" x="259.2" y="189" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_3">
<!-- UV intensity ($\mu$W/$\mu$m$^2$) -->
<g transform="translate(80.96 219.72)scale(0.14 -0.14)">
<defs>
<path id="STIXGeneral-Regular-55" d="M 4512 4237
L 4512 4115
Q 4122 4077 4016 3926
Q 3910 3776 3910 3302
L 3910 1670
Q 3910 1178 3840 896
Q 3770 614 3565 378
Q 3155 -90 2272 -90
Q 1574 -90 1184 205
Q 666 589 666 1594
L 666 3578
Q 666 3898 566 3994
Q 467 4090 90 4115
L 90 4237
L 1901 4237
L 1901 4115
Q 1517 4083 1417 3977
Q 1318 3872 1318 3514
L 1318 1517
Q 1318 1101 1369 877
Q 1421 653 1600 480
Q 1901 192 2419 192
Q 3066 192 3392 570
Q 3539 749 3584 963
Q 3629 1178 3629 1600
L 3629 3283
Q 3629 3782 3520 3936
Q 3411 4090 3027 4115
L 3027 4237
L 4512 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-56" d="M 4461 4237
L 4461 4115
Q 4262 4109 4134 3990
Q 4006 3872 3872 3533
L 2451 -70
L 2355 -70
L 794 3411
Q 589 3866 467 3987
Q 346 4109 102 4115
L 102 4237
L 1798 4237
L 1798 4115
L 1619 4102
Q 1331 4083 1331 3904
Q 1331 3776 1581 3219
L 2554 1030
L 3494 3392
Q 3616 3699 3616 3853
Q 3616 3898 3606 3933
Q 3597 3968 3584 3993
Q 3571 4019 3536 4038
Q 3501 4058 3481 4067
Q 3462 4077 3411 4086
Q 3360 4096 3337 4099
Q 3315 4102 3248 4108
Q 3181 4115 3155 4115
L 3155 4237
L 4461 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-20" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-69" d="M 1152 4045
Q 1152 3904 1056 3811
Q 960 3718 819 3718
Q 685 3718 592 3811
Q 499 3904 499 4045
Q 499 4179 595 4275
Q 691 4371 826 4371
Q 966 4371 1059 4275
Q 1152 4179 1152 4045
z
M 1619 0
L 102 0
L 102 96
Q 435 115 521 211
Q 608 307 608 666
L 608 2118
Q 608 2342 563 2432
Q 518 2522 397 2522
Q 243 2522 128 2490
L 128 2592
L 1120 2944
L 1146 2918
L 1146 672
Q 1146 314 1226 218
Q 1306 122 1619 96
L 1619 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6e" d="M 3104 0
L 1773 0
L 1779 96
Q 2016 115 2096 233
Q 2176 352 2176 672
L 2176 1946
Q 2176 2592 1709 2592
Q 1549 2592 1408 2515
Q 1267 2438 1050 2227
L 1050 461
Q 1050 269 1136 192
Q 1222 115 1466 96
L 1466 0
L 115 0
L 115 96
Q 358 115 435 214
Q 512 314 512 602
L 512 2157
Q 512 2394 467 2483
Q 422 2573 288 2573
Q 160 2573 102 2547
L 102 2656
Q 550 2784 979 2944
L 1030 2925
L 1030 2426
L 1037 2426
Q 1491 2944 1958 2944
Q 2323 2944 2518 2688
Q 2714 2432 2714 1958
L 2714 544
Q 2714 288 2790 205
Q 2867 122 3104 96
L 3104 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-74" d="M 1702 493
L 1786 422
Q 1478 -64 1011 -64
Q 448 -64 448 749
L 448 2675
L 109 2675
Q 83 2694 83 2720
Q 83 2771 192 2842
Q 435 2982 813 3526
Q 826 3546 874 3606
Q 922 3667 941 3706
Q 986 3706 986 3622
L 986 2880
L 1632 2880
L 1632 2675
L 986 2675
L 986 845
Q 986 538 1062 403
Q 1139 269 1318 269
Q 1510 269 1702 493
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-65" d="M 2611 1050
L 2714 1005
Q 2330 -64 1376 -64
Q 813 -64 486 329
Q 160 723 160 1389
Q 160 2074 525 2509
Q 890 2944 1485 2944
Q 2061 2944 2374 2502
Q 2560 2246 2592 1773
L 621 1773
Q 646 1370 700 1158
Q 755 947 915 730
Q 1184 378 1626 378
Q 1939 378 2153 531
Q 2368 685 2611 1050
z
M 634 1978
L 1939 1978
Q 1882 2381 1750 2547
Q 1619 2714 1312 2714
Q 1043 2714 864 2525
Q 685 2336 634 1978
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-73" d="M 998 1926
L 1664 1523
Q 1984 1331 2105 1164
Q 2227 998 2227 736
Q 2227 416 1961 176
Q 1696 -64 1331 -64
Q 1030 -64 864 -6
Q 691 51 570 51
Q 461 51 416 -26
L 333 -26
L 333 979
L 435 979
Q 538 512 730 294
Q 922 77 1248 77
Q 1485 77 1632 211
Q 1779 346 1779 550
Q 1779 845 1440 1030
L 1094 1222
Q 326 1651 326 2150
Q 326 2522 566 2730
Q 806 2938 1210 2938
Q 1491 2938 1638 2867
Q 1754 2816 1818 2816
Q 1862 2816 1920 2880
L 1990 2880
L 2022 2010
L 1926 2010
Q 1818 2445 1654 2621
Q 1491 2797 1203 2797
Q 986 2797 854 2688
Q 723 2579 723 2362
Q 723 2253 796 2128
Q 870 2003 998 1926
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-79" d="M 3040 2880
L 3040 2784
Q 2925 2771 2854 2700
Q 2784 2630 2720 2458
L 1760 -160
Q 1510 -838 1257 -1116
Q 1005 -1395 640 -1395
Q 435 -1395 313 -1289
Q 192 -1184 192 -1024
Q 192 -902 272 -816
Q 352 -730 467 -730
Q 653 -730 800 -813
Q 883 -858 966 -858
Q 1101 -858 1286 -576
Q 1376 -448 1459 -211
Q 1542 26 1542 115
Q 1542 198 1274 762
L 429 2566
Q 346 2752 90 2790
L 90 2880
L 1402 2880
L 1402 2784
Q 1197 2778 1117 2739
Q 1037 2701 1037 2611
Q 1037 2541 1120 2349
L 1837 749
L 2458 2515
Q 2483 2573 2483 2630
Q 2483 2784 2189 2784
L 2189 2880
L 3040 2880
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-28" d="M 1946 -1030
L 1869 -1133
Q 1126 -710 716 32
Q 307 774 307 1613
Q 307 3386 1888 4326
L 1946 4224
Q 1293 3667 1075 3126
Q 858 2586 858 1632
Q 858 685 1082 96
Q 1306 -493 1946 -1030
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Italic-3bc" d="M 3002 749
L 3091 691
Q 2797 237 2614 83
Q 2432 -70 2214 -70
Q 2080 -70 1990 6
Q 1901 83 1901 218
Q 1901 416 1997 704
L 2208 1370
L 2202 1370
Q 1766 595 1475 268
Q 1184 -58 902 -58
Q 723 -58 672 122
Q 614 -109 547 -374
Q 480 -640 451 -758
Q 422 -877 384 -1005
Q 346 -1133 314 -1197
Q 282 -1261 243 -1312
L -211 -1312
Q -58 -1088 70 -595
L 909 2739
L 1389 2739
L 909 832
Q 883 717 883 659
Q 883 352 1139 352
Q 1395 352 1811 969
Q 2227 1587 2323 1958
L 2534 2739
L 3027 2739
L 2522 819
Q 2400 333 2400 326
Q 2400 230 2470 230
Q 2547 230 2652 329
Q 2758 429 3002 749
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-57" d="M 5965 4237
L 5965 4115
Q 5709 4064 5616 3990
Q 5523 3917 5434 3667
Q 4704 1709 4128 -70
L 4032 -70
Q 3642 1011 3008 2637
L 2022 -70
L 1926 -70
Q 1709 576 1277 1753
Q 845 2931 698 3347
Q 538 3808 406 3958
Q 275 4109 32 4115
L 32 4237
L 1594 4237
L 1594 4115
Q 1357 4109 1270 4064
Q 1184 4019 1184 3917
Q 1184 3808 1254 3616
L 2176 1210
L 2842 3021
L 2662 3501
Q 2509 3917 2400 4013
Q 2291 4109 2010 4115
L 2010 4237
L 3706 4237
L 3706 4115
Q 3213 4102 3213 3891
Q 3213 3808 3322 3520
L 4237 1190
L 5043 3360
Q 5152 3667 5152 3853
Q 5152 4109 4704 4115
L 4704 4237
L 5965 4237
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2f" d="M 1837 4326
L 378 -90
L -58 -90
L 1408 4326
L 1837 4326
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6d" d="M 4960 0
L 3565 0
L 3565 96
Q 3834 122 3907 208
Q 3981 294 3981 576
L 3981 1894
Q 3981 2278 3869 2444
Q 3757 2611 3488 2611
Q 3264 2611 3107 2521
Q 2950 2432 2803 2221
L 2803 608
Q 2803 301 2896 201
Q 2989 102 3264 96
L 3264 0
L 1830 0
L 1830 96
Q 2112 115 2189 188
Q 2266 262 2266 550
L 2266 1901
Q 2266 2611 1850 2611
Q 1670 2611 1468 2531
Q 1267 2451 1171 2336
Q 1088 2240 1088 2227
L 1088 448
Q 1088 243 1177 176
Q 1267 109 1523 96
L 1523 0
L 102 0
L 102 96
Q 371 102 460 195
Q 550 288 550 563
L 550 2150
Q 550 2387 499 2480
Q 448 2573 326 2573
Q 230 2573 122 2547
L 122 2656
Q 557 2778 1011 2944
L 1062 2925
L 1062 2451
L 1075 2451
Q 1363 2752 1584 2848
Q 1805 2944 2054 2944
Q 2560 2944 2733 2406
Q 3232 2944 3776 2944
Q 4518 2944 4518 1792
L 4518 493
Q 4518 282 4582 202
Q 4646 122 4794 109
L 4960 96
L 4960 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-32" d="M 3034 877
L 2688 0
L 186 0
L 186 77
L 1325 1286
Q 1773 1754 1965 2144
Q 2157 2534 2157 2950
Q 2157 3379 1920 3616
Q 1683 3853 1267 3853
Q 922 3853 720 3673
Q 518 3494 326 3021
L 192 3053
Q 301 3648 630 3987
Q 960 4326 1523 4326
Q 2054 4326 2380 4006
Q 2707 3686 2707 3200
Q 2707 2477 1888 1613
L 832 486
L 2330 486
Q 2541 486 2665 569
Q 2790 653 2944 915
L 3034 877
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-29" d="M 186 4224
L 262 4326
Q 992 3891 1408 3148
Q 1824 2406 1824 1581
Q 1824 -166 243 -1133
L 186 -1030
Q 845 -486 1059 54
Q 1274 595 1274 1562
Q 1274 2534 1059 3120
Q 845 3706 186 4224
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-55" transform="translate(0 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-56" transform="translate(72.199982 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(144.399963 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(169.399948 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(197.199936 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(247.199921 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(274.999908 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6e" transform="translate(319.399902 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(369.399887 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(408.299881 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(436.099869 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-79" transform="translate(463.899857 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(513.899841 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(538.899826 0.409375)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(572.199814 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-57" transform="translate(624.799805 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-2f" transform="translate(719.199799 0.409375)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(746.999786 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(799.599777 0.409375)"/>
<use xlink:href="#STIXGeneral-Regular-32" transform="translate(878.943046 35.684375)scale(0.7)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(918.352411 0.409375)"/>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_43">
<defs>
<path id="m7aa9820fed" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m7aa9820fed" x="36" y="139.286778" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{10^{0}}$ -->
<g transform="translate(16.22 142.360137)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_44">
<g>
<use xlink:href="#m7aa9820fed" x="36" y="73.567534" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{10^{1}}$ -->
<g transform="translate(16.22 76.640894)scale(0.09 -0.09)">
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(0 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-30" transform="translate(49.999985 0.684375)"/>
<use xlink:href="#STIXGeneral-Regular-31" transform="translate(101.574969 36.684375)scale(0.7)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_45">
<path d="M 36 185.222557
L 259.2 185.222557
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_46">
<defs>
<path id="m7f04763c2d" d="M 0 0
L -2 0
" style="stroke: #000000; stroke-width: 0.6"/>
</defs>
<g>
<use xlink:href="#m7f04763c2d" x="36" y="185.222557" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_47">
<path d="M 36 173.649973
L 259.2 173.649973
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_48">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="173.649973" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_49">
<path d="M 36 165.439094
L 259.2 165.439094
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_50">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="165.439094" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_6">
<g id="line2d_51">
<path d="M 36 159.070241
L 259.2 159.070241
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_52">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="159.070241" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_7">
<g id="line2d_53">
<path d="M 36 153.86651
L 259.2 153.86651
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_54">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="153.86651" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_8">
<g id="line2d_55">
<path d="M 36 149.466817
L 259.2 149.466817
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_56">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="149.466817" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_9">
<g id="line2d_57">
<path d="M 36 145.65563
L 259.2 145.65563
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_58">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="145.65563" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_10">
<g id="line2d_59">
<path d="M 36 142.293925
L 259.2 142.293925
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_60">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="142.293925" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_11">
<g id="line2d_61">
<path d="M 36 119.503314
L 259.2 119.503314
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_62">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="119.503314" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_12">
<g id="line2d_63">
<path d="M 36 107.93073
L 259.2 107.93073
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_64">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="107.93073" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_13">
<g id="line2d_65">
<path d="M 36 99.71985
L 259.2 99.71985
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_66">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="99.71985" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_14">
<g id="line2d_67">
<path d="M 36 93.350998
L 259.2 93.350998
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_68">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="93.350998" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_15">
<g id="line2d_69">
<path d="M 36 88.147266
L 259.2 88.147266
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_70">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="88.147266" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_16">
<g id="line2d_71">
<path d="M 36 83.747574
L 259.2 83.747574
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_72">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="83.747574" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_17">
<g id="line2d_73">
<path d="M 36 79.936387
L 259.2 79.936387
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_74">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="79.936387" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_18">
<g id="line2d_75">
<path d="M 36 76.574682
L 259.2 76.574682
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_76">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="76.574682" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_19">
<g id="line2d_77">
<path d="M 36 53.784071
L 259.2 53.784071
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_78">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="53.784071" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_20">
<g id="line2d_79">
<path d="M 36 42.211486
L 259.2 42.211486
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_80">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="42.211486" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_21">
<g id="line2d_81">
<path d="M 36 34.000607
L 259.2 34.000607
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_82">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="34.000607" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="ytick_22">
<g id="line2d_83">
<path d="M 36 27.631754
L 259.2 27.631754
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.2; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_84">
<g>
<use xlink:href="#m7f04763c2d" x="36" y="27.631754" style="stroke: #000000; stroke-width: 0.6"/>
</g>
</g>
</g>
<g id="text_6">
<!-- Characteristic time ($\mu$s) -->
<g transform="translate(9.181562 173.4)rotate(-90)scale(0.14 -0.14)">
<defs>
<path id="STIXGeneral-Regular-43" d="M 3930 838
L 4051 723
Q 3482 -90 2304 -90
Q 1376 -90 794 480
Q 179 1082 179 2080
Q 179 3014 755 3661
Q 1357 4326 2310 4326
Q 2720 4326 3072 4230
Q 3475 4115 3514 4115
Q 3725 4115 3782 4326
L 3910 4326
L 3968 2874
L 3821 2874
Q 3718 3334 3488 3584
Q 3034 4070 2458 4070
Q 1747 4070 1334 3548
Q 922 3027 922 2182
Q 922 1152 1382 653
Q 1811 192 2522 192
Q 2944 192 3251 339
Q 3558 486 3930 838
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-68" d="M 3117 0
L 1760 0
L 1760 96
Q 2042 128 2118 224
Q 2195 320 2195 653
L 2195 1920
Q 2195 2598 1722 2598
Q 1530 2598 1370 2508
Q 1210 2419 1005 2195
L 1005 653
Q 1005 320 1081 224
Q 1158 128 1440 96
L 1440 0
L 58 0
L 58 96
Q 333 134 400 224
Q 467 314 467 653
L 467 3667
Q 467 3872 406 3933
Q 346 3994 141 3994
Q 83 3994 64 3987
L 64 4090
L 237 4141
Q 730 4288 973 4371
L 1005 4352
L 1005 2406
Q 1229 2694 1446 2819
Q 1664 2944 1946 2944
Q 2733 2944 2733 1926
L 2733 653
Q 2733 320 2793 233
Q 2854 147 3117 96
L 3117 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-61" d="M 2829 422
L 2829 243
Q 2586 -64 2253 -64
Q 1888 -64 1843 403
L 1837 403
Q 1427 -64 909 -64
Q 608 -64 422 112
Q 237 288 237 602
Q 237 1050 685 1350
Q 992 1555 1837 1869
L 1837 2214
Q 1837 2502 1699 2646
Q 1562 2790 1338 2790
Q 1146 2790 1018 2697
Q 890 2605 890 2477
Q 890 2419 909 2348
Q 928 2278 928 2208
Q 928 2112 841 2029
Q 755 1946 634 1946
Q 525 1946 441 2029
Q 358 2112 358 2240
Q 358 2547 685 2752
Q 986 2944 1421 2944
Q 1939 2944 2176 2656
Q 2291 2522 2323 2384
Q 2355 2246 2355 1946
L 2355 723
Q 2355 301 2554 301
Q 2682 301 2829 422
z
M 1837 813
L 1837 1715
Q 1248 1510 1018 1293
Q 800 1094 800 800
Q 800 557 921 432
Q 1043 307 1242 307
Q 1453 307 1613 410
Q 1747 506 1792 589
Q 1837 672 1837 813
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-72" d="M 1024 2931
L 1024 2342
Q 1267 2688 1430 2816
Q 1594 2944 1792 2944
Q 1958 2944 2051 2854
Q 2144 2765 2144 2605
Q 2144 2470 2077 2393
Q 2010 2317 1894 2317
Q 1773 2317 1638 2445
Q 1536 2541 1472 2541
Q 1338 2541 1181 2355
Q 1024 2170 1024 2016
L 1024 576
Q 1024 301 1133 205
Q 1242 109 1568 96
L 1568 0
L 32 0
L 32 96
Q 339 154 412 224
Q 486 294 486 538
L 486 2138
Q 486 2349 438 2435
Q 390 2522 269 2522
Q 166 2522 45 2496
L 45 2598
Q 448 2726 992 2944
L 1024 2931
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-63" d="M 2547 998
L 2637 941
Q 2362 403 2112 205
Q 1786 -64 1376 -64
Q 845 -64 502 336
Q 160 736 160 1357
Q 160 2170 698 2618
Q 1094 2944 1562 2944
Q 1965 2944 2256 2749
Q 2547 2554 2547 2285
Q 2547 2176 2457 2096
Q 2368 2016 2246 2016
Q 2022 2016 1939 2310
L 1901 2451
Q 1850 2630 1773 2694
Q 1696 2758 1523 2758
Q 1133 2758 893 2451
Q 653 2144 653 1645
Q 653 1094 928 745
Q 1203 397 1645 397
Q 1920 397 2118 528
Q 2317 659 2547 998
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-43" transform="translate(0 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-68" transform="translate(66.699997 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(116.699982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(161.099976 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-61" transform="translate(194.399963 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(238.799957 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(283.199951 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(310.999939 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-72" transform="translate(355.399933 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(388.699921 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(416.499908 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(455.399902 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(483.19989 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-63" transform="translate(510.999878 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(555.399872 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-74" transform="translate(580.399857 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-69" transform="translate(608.199844 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-6d" transform="translate(635.999832 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-65" transform="translate(713.79982 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-20" transform="translate(758.199814 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-28" transform="translate(783.199799 0.703125)"/>
<use xlink:href="#STIXGeneral-Italic-3bc" transform="translate(816.499786 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-73" transform="translate(869.099777 0.703125)"/>
<use xlink:href="#STIXGeneral-Regular-29" transform="translate(907.999771 0.703125)"/>
</g>
</g>
</g>
<g id="line2d_85">
<path d="M 32.437395 104.996568
L 47.0568 113.828317
L 62.553994 122.88606
L 73.953477 129.291843
L 85.609297 135.562752
L 94.79048 140.268934
L 104.070076 144.786802
L 113.091812 148.923667
L 121.687157 152.610089
L 129.794142 155.844362
L 132.482571 156.86301
L 140.404273 159.704856
L 147.101976 161.919494
L 158.021354 165.160689
L 166.740308 167.426938
L 173.998653 169.10465
L 183.020389 170.94052
L 192.715769 172.62875
L 202.411148 174.051523
L 211.757537 175.20125
L 222.832368 176.320412
L 234.23185 177.240455
L 247.147152 178.051825
L 261.766557 178.738154
L 278.788436 179.305813
L 279.970797 179.337899
L 279.970797 179.337899
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_86">
<path d="M 32.437395 95.720835
L 52.858615 108.274258
L 66.695132 116.527223
L 80.171075 124.301109
L 92.670593 131.218482
L 104.070076 137.227689
L 114.428812 142.397834
L 123.860063 146.832588
L 132.482571 150.63724
L 140.404273 153.907316
L 147.101976 156.495734
L 158.021354 160.35755
L 166.740308 163.117816
L 173.998653 165.197865
L 183.020389 167.51412
L 190.487123 169.214374
L 198.788295 170.887164
L 207.335174 172.386951
L 217.030553 173.839798
L 226.973506 175.085904
L 237.451773 176.167433
L 248.970457 177.124414
L 261.766557 177.954091
L 276.322579 178.662506
L 279.970797 178.808025
L 279.970797 178.808025
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_87">
<path d="M 32.437395 84.085537
L 52.858615 96.917035
L 70.475696 107.730505
L 85.609297 116.750754
L 98.743119 124.311547
L 110.287674 130.699586
L 120.558546 136.139501
L 130.708893 141.254292
L 132.482571 142.11882
L 140.404273 145.865763
L 152.903791 151.370556
L 162.59917 155.269573
L 170.520872 158.201552
L 180.216251 161.471235
L 188.137953 163.880984
L 196.856907 166.264949
L 205.755034 168.41741
L 214.473988 170.265754
L 222.832368 171.811598
L 231.649958 173.222228
L 241.167631 174.516291
L 251.28829 175.663026
L 262.207668 176.672618
L 274.376773 177.565592
L 279.970797 177.906786
L 279.970797 177.906786
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_88">
<path d="M 32.437395 72.976229
L 57.976178 89.222057
L 77.173399 101.183474
L 92.670593 110.604021
L 107.289998 119.225979
L 119.399835 126.116521
L 130.708893 132.297305
L 140.404273 137.365267
L 152.903791 143.533818
L 162.59917 147.99889
L 170.520872 151.419569
L 180.216251 155.309061
L 188.137953 158.233752
L 196.856907 161.182834
L 205.755034 163.899363
L 214.473988 166.277946
L 222.832368 168.303456
L 231.649958 170.183471
L 240.449449 171.814278
L 249.56161 173.266453
L 259.021493 174.545125
L 269.093057 175.680884
L 279.970797 176.682922
L 279.970797 176.682922
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_89">
<path d="M 32.437395 63.045014
L 62.553994 82.358218
L 85.609297 96.857973
L 102.365972 107.146007
L 116.985377 115.875753
L 129.794142 123.276457
L 140.404273 129.188621
L 152.903791 135.847077
L 162.59917 140.74537
L 173.998653 146.163383
L 183.020389 150.161952
L 192.715769 154.150447
L 200.63747 157.159532
L 208.859859 160.037798
L 217.030553 162.647794
L 224.952255 164.94132
L 233.388153 167.13283
L 241.874136 169.086324
L 250.144828 170.761303
L 259.021493 172.325481
L 268.337402 173.730065
L 278.184967 174.979463
L 279.970797 175.182498
L 279.970797 175.182498
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_90">
<path d="M 32.437395 54.276209
L 66.695132 76.363735
L 90.441947 91.417568
L 108.814683 102.819713
L 124.907079 112.547283
L 132.482571 117.017061
L 147.101976 125.393304
L 158.021354 131.391043
L 170.520872 137.927417
L 180.216251 142.716732
L 190.487123 147.487596
L 198.788295 151.094899
L 207.335174 154.560813
L 215.771072 157.723647
L 223.905239 160.523985
L 231.649958 162.960662
L 239.719195 165.263013
L 247.763461 167.323698
L 256.091232 169.22008
L 264.764233 170.953269
L 273.708313 172.501239
L 279.970797 173.452099
L 279.970797 173.452099
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_91">
<path d="M 32.437395 46.508655
L 70.475696 71.125196
L 96.811731 87.904261
L 116.985377 100.493445
L 132.482571 109.928042
L 147.101976 118.567896
L 158.021354 124.809706
L 170.520872 131.680171
L 180.216251 136.77039
L 190.487123 141.899028
L 200.63747 146.667669
L 208.859859 150.290691
L 217.030553 153.663133
L 224.952255 156.705615
L 233.388153 159.691964
L 241.167631 162.210812
L 248.970457 164.511119
L 257.090105 166.668797
L 265.176076 168.586394
L 273.708313 170.37233
L 279.970797 171.537245
L 279.970797 171.537245
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_92">
<path d="M 32.437395 39.574945
L 73.953477 66.513945
L 102.365972 84.686336
L 123.860063 98.163609
L 140.404273 108.287928
L 158.021354 118.725972
L 170.520872 125.847128
L 183.020389 132.668764
L 192.715769 137.714659
L 202.411148 142.513706
L 211.757537 146.879283
L 220.603722 150.753632
L 228.904894 154.145781
L 237.451773 157.380162
L 245.243969 160.094163
L 253.488713 162.719222
L 261.320922 164.979425
L 269.466012 167.093835
L 277.572998 168.968227
L 279.970797 169.480322
L 279.970797 169.480322
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_93">
<path d="M 32.437395 33.332727
L 80.171075 64.354386
L 108.814683 82.708853
L 130.708893 96.477078
L 147.101976 106.551444
L 162.59917 115.812258
L 177.218575 124.235893
L 188.137953 130.277331
L 198.788295 135.921244
L 208.859859 140.996928
L 218.254551 145.472787
L 226.973506 149.380859
L 235.871632 153.10651
L 243.92723 156.238045
L 251.848931 159.086014
L 259.955917 161.758855
L 267.954588 164.156195
L 276.004269 166.332139
L 279.970797 167.319172
L 279.970797 167.319172
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="LineCollection_1">
<path d="M 57.849098 112.078872
L 57.849098 110.930343
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 75.466179 125.894966
L 75.466179 124.053954
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 105.582778 138.551882
L 105.582778 135.732818
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 120.716379 146.972388
L 120.716379 143.246721
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 139.177158 154.850907
L 139.177158 150.03596
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 153.316458 160.752436
L 153.316458 154.93748
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.815976 164.35454
L 165.815976 157.840547
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 186.350197 169.987815
L 186.350197 162.230499
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.630278 174.708644
L 202.630278 165.755005
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.612032 177.649341
L 215.612032 167.873597
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.594205 178.839776
L 225.594205 168.713649
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 233.133093 180.516875
L 233.133093 169.879436
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.378636 180.871757
L 238.378636 170.12343
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 242.286803 181.587273
L 242.286803 170.61248
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_94">
<defs>
<path id="m62f974df7c" d="M 2 0
L -2 -0
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m62f974df7c" x="57.849098" y="112.078872" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="75.466179" y="125.894966" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="105.582778" y="138.551882" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="120.716379" y="146.972388" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="139.177158" y="154.850907" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="153.316458" y="160.752436" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="165.815976" y="164.35454" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="186.350197" y="169.987815" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="202.630278" y="174.708644" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="215.612032" y="177.649341" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="225.594205" y="178.839776" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="233.133093" y="180.516875" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="238.378636" y="180.871757" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="242.286803" y="181.587273" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_95">
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m62f974df7c" x="57.849098" y="110.930343" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="75.466179" y="124.053954" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="105.582778" y="135.732818" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="120.716379" y="143.246721" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="139.177158" y="150.03596" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="153.316458" y="154.93748" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="165.815976" y="157.840547" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="186.350197" y="162.230499" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="202.630278" y="165.755005" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="215.612032" y="167.873597" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="225.594205" y="168.713649" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="233.133093" y="169.879436" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="238.378636" y="170.12343" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="242.286803" y="170.61248" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="LineCollection_2">
<path d="M 139.177158 125.653039
L 139.177158 123.827079
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 153.316458 135.997327
L 153.316458 133.409011
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 165.815976 140.461726
L 165.815976 137.457499
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 186.350197 152.863014
L 186.350197 148.347728
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 202.630278 159.865307
L 202.630278 154.21181
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 215.612032 164.27484
L 215.612032 157.777093
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 225.594205 168.068281
L 225.594205 160.75622
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 233.133093 169.943653
L 233.133093 162.196841
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 238.378636 170.784317
L 238.378636 162.83542
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
<path d="M 242.286803 171.630973
L 242.286803 163.473945
" clip-path="url(#p8141880abd)" style="fill: none; stroke: #3949ab; stroke-width: 0.5"/>
</g>
<g id="line2d_96">
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m62f974df7c" x="139.177158" y="125.653039" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="153.316458" y="135.997327" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="165.815976" y="140.461726" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="186.350197" y="152.863014" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="202.630278" y="159.865307" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="215.612032" y="164.27484" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="225.594205" y="168.068281" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="233.133093" y="169.943653" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="238.378636" y="170.784317" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="242.286803" y="171.630973" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_97">
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m62f974df7c" x="139.177158" y="123.827079" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="153.316458" y="133.409011" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="165.815976" y="137.457499" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="186.350197" y="148.347728" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="202.630278" y="154.21181" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="215.612032" y="157.777093" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="225.594205" y="160.75622" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="233.133093" y="162.196841" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="238.378636" y="162.83542" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m62f974df7c" x="242.286803" y="163.473945" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_98">
<path d="M 57.849098 111.498831
L 75.466179 124.959619
L 105.582778 137.107559
L 120.716379 145.048806
L 139.177158 152.342018
L 153.316458 157.697123
L 165.815976 160.91211
L 186.350197 165.846418
L 202.630278 169.882154
L 215.612032 172.344963
L 225.594205 173.329972
L 233.133093 174.705425
L 238.378636 174.994597
L 242.286803 175.57559
" clip-path="url(#p8141880abd)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<defs>
<path id="m2972c8ca59" d="M 0 1.5
C 0.397805 1.5 0.77937 1.341951 1.06066 1.06066
C 1.341951 0.77937 1.5 0.397805 1.5 0
C 1.5 -0.397805 1.341951 -0.77937 1.06066 -1.06066
C 0.77937 -1.341951 0.397805 -1.5 0 -1.5
C -0.397805 -1.5 -0.77937 -1.341951 -1.06066 -1.06066
C -1.341951 -0.77937 -1.5 -0.397805 -1.5 0
C -1.5 0.397805 -1.341951 0.77937 -1.06066 1.06066
C -0.77937 1.341951 -0.397805 1.5 0 1.5
z
" style="stroke: #3949ab"/>
</defs>
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m2972c8ca59" x="57.849098" y="111.498831" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="75.466179" y="124.959619" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="105.582778" y="137.107559" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="120.716379" y="145.048806" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="139.177158" y="152.342018" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="153.316458" y="157.697123" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="165.815976" y="160.91211" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="186.350197" y="165.846418" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="202.630278" y="169.882154" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="215.612032" y="172.344963" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="225.594205" y="173.329972" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="233.133093" y="174.705425" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="238.378636" y="174.994597" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="242.286803" y="175.57559" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="line2d_99">
<path d="M 139.177158 124.725459
L 153.316458 134.673838
L 165.815976 138.920103
L 186.350197 150.516174
L 202.630278 156.898806
L 215.612032 160.841455
L 225.594205 164.178728
L 233.133093 165.808218
L 238.378636 166.534034
L 242.286803 167.26204
" clip-path="url(#p8141880abd)" style="fill: none; stroke-dasharray: 1.85,0.8; stroke-dashoffset: 0; stroke: #3949ab; stroke-width: 0.5"/>
<g clip-path="url(#p8141880abd)">
<use xlink:href="#m2972c8ca59" x="139.177158" y="124.725459" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="153.316458" y="134.673838" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="165.815976" y="138.920103" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="186.350197" y="150.516174" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="202.630278" y="156.898806" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="215.612032" y="160.841455" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="225.594205" y="164.178728" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="233.133093" y="165.808218" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="238.378636" y="166.534034" style="fill: #3949ab; stroke: #3949ab"/>
<use xlink:href="#m2972c8ca59" x="242.286803" y="167.26204" style="fill: #3949ab; stroke: #3949ab"/>
</g>
</g>
<g id="patch_3">
<path d="M 36 189
L 36 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 259.2 189
L 259.2 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 36 189
L 259.2 189
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 36 25.92
L 259.2 25.92
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
</g>
</g>
<defs>
<clipPath id="p8141880abd">
<rect x="36" y="25.92" width="223.2" height="163.08"/>
</clipPath>
</defs>
</svg>
...@@ -140,8 +140,8 @@ plt.ylabel('Event frequency', fontname='STIXGeneral') ...@@ -140,8 +140,8 @@ plt.ylabel('Event frequency', fontname='STIXGeneral')
name='fig01a' name='fig01a'
plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.pdf') #plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.pdf')
plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.svg') #plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.svg')
...@@ -173,8 +173,8 @@ plt.tight_layout() ...@@ -173,8 +173,8 @@ plt.tight_layout()
name='fig01b' name='fig01b'
plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.pdf') #plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.pdf')
plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.svg') #plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'_dump.svg')
......
...@@ -27,14 +27,19 @@ for cambio in [0]: # esto es para shiftear la potencia medida ...@@ -27,14 +27,19 @@ for cambio in [0]: # esto es para shiftear la potencia medida
fmt='.--', ms=6, lw=.5, \ fmt='.--', ms=6, lw=.5, \
color="#3949ab", color="#3949ab",
capsize=3) capsize=3)
ax2.errorbar([p/(np.pi*(rad**2)) for p in UVpotVec], Taus_v2, yerr=np.mean(1e6*errsSIM.stdval.values),
fmt='.--', ms=6, lw=.5, \
color="#3949ab",
capsize=3)
ax2.errorbar(potencias/(np.pi*(rad**2)), dataREAL.Tau*1e6, \ # ax2.errorbar(potencias/(np.pi*(rad**2)), dataREAL.Tau*1e6, \
yerr = 1e6*errsSIM.stdval.values, \ # yerr = 1e6*errsSIM.stdval.values, \
fmt='.--', ms=6, lw=.5, \ # fmt='.--', ms=6, lw=.5, \
color="#3949ab", # color="#3949ab",
capsize=3, # capsize=3,
label=f'r={rad}; cambio={cambio}') # label=f'r={rad}; cambio={cambio}')
ax2.set_xlim([1.2e-4, 0.2e-1]) ax2.set_xlim([1.2e-4, 0.2e-1])
ax2.set_ylim([2e-1, 0.8e1]) ax2.set_ylim([2e-1, 0.8e1])
......
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
ALL_FILES = """000010146-IR_Scan_withcal_optimized
000010147-IR_Scan_withcal_optimized
"""
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
print(SeeKeys(ALL_FILES))
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20211101_CPT_DosLaseres_v03\Data
Counts = []
Freqs = []
AmpTisa = []
UVCPTAmp = []
No_measures = []
for i, fname in enumerate(ALL_FILES.split()):
print(str(i) + ' - ' + fname)
#print(fname)
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
# Aca hago algo repugnante para poder levantar los strings que dejamos
# que además tenian un error de tipeo al final. Esto no deberá ser necesario
# cuando se solucione el error este del guardado.
Freqs.append(np.array(data['datasets']['IR1_Frequencies']))
Counts.append(np.array(data['datasets']['counts_spectrum']))
#AmpTisa.append(np.array(data['datasets']['TISA_CPT_amp']))
UVCPTAmp.append(np.array(data['datasets']['UV_CPT_amp']))
No_measures.append(np.array(data['datasets']['no_measures']))
#%%
#Barriendo angulo del IR con tisa apagado y prendido
jvec = [0, 1]
plt.figure()
i = 0
for j in jvec:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2)
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.grid()
plt.legend()
#%%
#jselected = [2, 6, 5, 3, 4]
#Angsselected = ['Off', 0, 30, 60, 90]
jselected = [2, 6, 7, 3, 4]
Angsselected = ['Off', 0, 15, 60, 90]
fig, ax = plt.subplots(2, 2)
cs = 1
ms = 1
ax[0,0].errorbar([2*f*1e-6 for f in Freqs[jselected[1]]], Counts[jselected[1]], yerr=np.sqrt(Counts[jselected[1]]), fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[0,0].errorbar([2*f*1e-6 for f in Freqs[jselected[0]]], Counts[jselected[0]], yerr=np.sqrt(Counts[jselected[0]]), fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0,0].set_ylim(0, 2100)
ax[0,0].set_title(f'TISA ang: {Angsselected[1]}º')
ax[0,0].set_xlabel('Detuning (MHz)')
ax[0,0].set_ylabel('Counts')
ax[0,0].grid()
ax[0,1].errorbar([2*f*1e-6 for f in Freqs[jselected[2]]], Counts[jselected[2]], yerr=np.sqrt(Counts[jselected[2]]), fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[0,1].errorbar([2*f*1e-6 for f in Freqs[jselected[0]]], Counts[jselected[0]], yerr=np.sqrt(Counts[jselected[0]]), fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0,1].set_ylim(0, 2100)
ax[0,1].set_title(f'TISA ang: {Angsselected[2]}º')
ax[0,1].set_xlabel('Detuning (MHz)')
ax[0,1].set_ylabel('Counts')
ax[0,1].grid()
ax[1,0].errorbar([2*f*1e-6 for f in Freqs[jselected[3]]], Counts[jselected[3]], yerr=np.sqrt(Counts[jselected[3]]), fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1,0].errorbar([2*f*1e-6 for f in Freqs[jselected[0]]], Counts[jselected[0]], yerr=np.sqrt(Counts[jselected[0]]), fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[1,0].set_ylim(0, 2100)
ax[1,0].set_title(f'TISA ang: {Angsselected[3]}º')
ax[1,0].set_xlabel('Detuning (MHz)')
ax[1,0].set_ylabel('Counts')
ax[1,0].grid()
ax[1,1].errorbar([2*f*1e-6 for f in Freqs[jselected[4]]], Counts[jselected[4]], yerr=np.sqrt(Counts[jselected[4]]), fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1,1].errorbar([2*f*1e-6 for f in Freqs[jselected[0]]], Counts[jselected[0]], yerr=np.sqrt(Counts[jselected[0]]), fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[1,1].set_ylim(0, 2100)
ax[1,1].set_title(f'TISA ang: {Angsselected[4]}º')
ax[1,1].set_xlabel('Detuning (MHz)')
ax[1,1].set_ylabel('Counts')
ax[1,1].grid()
fig.tight_layout()
fig.subplots_adjust(top=0.9, left=0.1, right=0.9, bottom=0.01) # create some space below the plots by increasing the bottom-value
ax.flatten()[-2].legend(loc='upper center', bbox_to_anchor=(1.1, -0.4), ncol=3)
#%%
#from EITfit.threeLevel_2repumps_AnalysisFunctions import CalculoTeoricoDarkResonances_8levels, GetMinimaInfo, GetPlotsofFluovsAngle_8levels, PerformExperiment_8levels, FindDRFrequencies, FindRelativeFluorescencesOfDR, GenerateNoisyCPT, SmoothNoisyCPT, GetFinalMaps, GenerateNoisyCPT_fixedRabi, GenerateNoisyCPT_fit
#from EITfit.threeLevel_2repumps_AnalysisFunctions import MeasureRelativeFluorescenceFromCPT, IdentifyPolarizationCoincidences, RetrieveAbsoluteCoincidencesBetweenMaps, GetClosestIndex
#from scipy.optimize import curve_fit
#Ajuste con el Tisa apagado primero para calibrar el eje X en el plot que voy a mostrar
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = 0.544
sp = 4.5
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 33.5e6
c=3e8
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -5.5-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs_A[2]]
CountsDRpi_3 = Counts_A[2]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SG, SP, scale, offset):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(SG, sr, SP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*scale + offset for f in MeasuredFluo]
return FinalFluo
popt_tisaoff, pcov_tisaoff = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[0.5, 4.5, 1e4, 1e5], bounds=((0, 0, 0, 0), (2, 10, 1e6, 1e6)))
print(popt_tisaoff)
Sat_3 = popt_tisaoff[0]
Det_3 = popt_tisaoff[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt_tisaoff)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
FreqsCalibradas_A = FreqsDRpi_3
Scale_A = popt_tisaoff[2]
Offset_A = popt_tisaoff[3]
#%%
"""
FIGURA PARA EL PAPER
Esto plotea, arriba, 3 plots para 3 angulos distintos de la polarizacion del TISA (el que no scaneo), al prenderlo y al apagarlo.
Esto muestra esquematicamente la DR kicking segun la polarización del láser.
Abajo, 3 plots para 3 angulos distintos de la polarizacion del laser IR (el que scaneo), al prender y apagar
el TISA (el que no scaneo). Esto muestra como aparecen las DR pi, que no se ven bien en caso contrario.
Para correr esto, hay que correr:
El bloque anterior para calibrar el eje X de frecuencia de los plots superiores
El bloque para calibrar figura del 20211223
"""
#Aca pongo solo 3 que son los mismos angulos de las curvas barriendo angulo IR
jselected_A = [2, 6, 7, 3, 4]
Angsselected_A = ['Off', 0, 15, 60, 90]
#jselected = [2, 6, 7, 4]
#Angsselected = ['Off', 0, 15, 90]
fig, ax = plt.subplots(2, 3, figsize=(20, 12))
cs = 1
ms = 4
fs = 25
xscale = np.arange(-40, 10, 20)
ax[1,0].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[1,0].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[1]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[1]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1,0].set_xlim(-51, 15)
ax[1,0].set_ylim(0, 14)
ax[1,0].set_title(f'TISA angle: {Angsselected_A[1]}º', fontsize=fs)
ax[1,0].set_xlabel('Detuning (MHz)', fontsize=fs)
ax[1,0].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[1,0].set_yticks(np.arange(0, 15, 5))
ax[1,0].set_yticklabels(np.arange(0, 15, 5), fontsize=fs)
ax[1,0].set_xticks(xscale)
ax[1,0].set_xticklabels(xscale, fontsize=fs)
ax[1,0].grid()
ax[1,1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[1,1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[2]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[2]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1,1].set_xlim(-51, 15)
ax[1,1].set_ylim(0, 14)
ax[1,1].set_title(f'TISA angle: {Angsselected_A[2]}º', fontsize=fs)
ax[1,1].set_xlabel('Detuning (MHz)', fontsize=fs)
#ax[1,1].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[1,1].set_yticks(np.arange(0, 15, 5))
ax[1,1].set_yticklabels(np.arange(0, 15, 5), fontsize=fs)
ax[1,1].set_xticks(xscale)
ax[1,1].set_xticklabels(xscale, fontsize=fs)
ax[1,1].grid()
ax[1,2].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[1,2].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[4]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[4]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1,2].set_xlim(-51, 15)
ax[1,2].set_ylim(0, 14)
ax[1,2].set_title(f'TISA angle: {Angsselected_A[4]}º', fontsize=fs)
ax[1,2].set_xlabel('Detuning (MHz)', fontsize=fs)
#ax[1,2].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[1,2].set_yticks(np.arange(0, 15, 5))
ax[1,2].set_yticklabels(np.arange(0, 15, 5), fontsize=fs)
ax[1,2].set_xticks(xscale)
ax[1,2].set_xticklabels(xscale, fontsize=fs)
ax[1,2].grid()
jselected_B = [3, 2, 4, 1, 5, 0]
Angsselected_B = ['Off', 0, 'Off', 15, 'Off', 90]
#jselected = [2, 6, 7, 4]
#Angsselected = ['Off', 0, 15, 90]
cs = 1
ms = 4
fs = 25
Offset_B=0 #agrego ad hoc porque el offset del ajuste no da bien
ax[0,0].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[1]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[1]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[0,0].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[0]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0,0].set_xlim(-51, 15)
ax[0,0].set_ylim(0, 16.5)
ax[0,0].set_title(f'IR angle: {Angsselected_B[1]}º', fontsize=fs)
ax[0,0].set_xlabel('Detuning (MHz)', fontsize=fs)
ax[0,0].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[0,0].set_yticks(np.arange(0, 20, 5))
ax[0,0].set_yticklabels(np.arange(0, 20, 5), fontsize=fs)
ax[0,0].set_xticks(xscale)
ax[0,0].set_xticklabels(xscale, fontsize=fs)
ax[0,0].grid()
ax[0,1].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[3]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[3]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[0,1].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[2]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[2]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0,1].set_xlim(-51, 15)
ax[0,1].set_ylim(0, 16.5)
ax[0,1].set_title(f'IR angle: {Angsselected_B[3]}º', fontsize=fs)
ax[0,1].set_xlabel('Detuning (MHz)', fontsize=fs)
#ax[0,1].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[0,1].set_yticks(np.arange(0, 20, 5))
ax[0,1].set_yticklabels(np.arange(0, 20, 5), fontsize=fs)
ax[0,1].set_xticks(xscale)
ax[0,1].set_xticklabels(xscale, fontsize=fs)
ax[0,1].grid()
ax[0,2].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[5]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[5]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[0,2].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[4]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[4]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0,2].set_xlim(-51, 15)
ax[0,2].set_ylim(0, 16.5)
ax[0,2].set_title(f'IR angle: {Angsselected_B[5]}º', fontsize=fs)
ax[0,2].set_xlabel('Detuning (MHz)', fontsize=fs)
#ax[0,2].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[0,2].set_yticks(np.arange(0, 20, 5))
ax[0,2].set_yticklabels(np.arange(0, 20, 5), fontsize=fs)
ax[0,2].set_xticks(xscale)
ax[0,2].set_xticklabels(xscale, fontsize=fs)
ax[0,2].grid()
fig.tight_layout()
#fig.subplots_adjust(top=0.9, left=0.1, right=0.9, bottom=0.01) # create some space below the plots by increasing the bottom-value
#ax.flatten()[-2].legend(loc='upper center', bbox_to_anchor=(1.1, -0.4), ncol=3)
#%%
"""
FIGURA PARA EL PAPER VERSION 2
Esto plotea, arriba, 3 plots para 3 angulos distintos de la polarizacion del TISA (el que no scaneo), al prenderlo y al apagarlo.
Esto muestra esquematicamente la DR kicking segun la polarización del láser.
Abajo, 3 plots para 3 angulos distintos de la polarizacion del laser IR (el que scaneo), al prender y apagar
el TISA (el que no scaneo). Esto muestra como aparecen las DR pi, que no se ven bien en caso contrario.
Para correr esto, hay que correr:
El bloque anterior para calibrar el eje X de frecuencia de los plots superiores
El bloque para calibrar figura del 20211223
"""
from scipy.signal import savgol_filter as sf
import seaborn as sns
sns.set_theme(style='white')
#Aca pongo solo 3 que son los mismos angulos de las curvas barriendo angulo IR
jselected_A = [2, 6, 7, 3, 4]
Angsselected_A = ['Off', 0, 15, 60, 90]
#jselected = [2, 6, 7, 4]
#Angsselected = ['Off', 0, 15, 90]
fig, ax = plt.subplots(1, 2, figsize=(24, 12))
cs = 1
ms = 8
fs = 40
xscale = np.arange(-40, 10, 20)
winl = 13
po = 3
Counts_A_corr = Counts_A[jselected_A[1]]
Counts_A_corr[82] = 1620
Counts_A_corr[83] = 1625
Counts_A_corr[84] = 1631
#ax[1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
#ax[1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[1]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[1]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
#ax[1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
#ax[1].errorbar(FreqsCalibradas_A, [(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[4]]], yerr=[np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[4]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
ax[1].plot(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A_corr], winl, po), '-o', label=r'$\alpha_{rep}=0$º', markersize=ms, color='darkgreen')
ax[1].plot(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[4]]], winl, po), '-o', label=r'$\alpha_{rep}=90º$', markersize=ms, color='maroon')
ax[1].plot(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po), '-o', label='Repumper off', markersize=ms, color='red')
#ax[1].plot(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po), '-o', label='TISA OFF', markersize=ms)
ax[1].fill_between(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po)+sf([np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po), sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po)-sf([np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[0]]], winl, po), color='lightsalmon')
ax[1].fill_between(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A_corr], winl, po)+sf([np.sqrt(c)*100/Scale_A for c in Counts_A_corr], winl, po), sf([(c-Offset_A)*100/Scale_A for c in Counts_A_corr], winl, po)-sf([np.sqrt(c)*100/Scale_A for c in Counts_A_corr], winl, po), color='paleturquoise')
ax[1].fill_between(FreqsCalibradas_A, sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[4]]], winl, po)+sf([np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[4]]], winl, po), sf([(c-Offset_A)*100/Scale_A for c in Counts_A[jselected_A[4]]], winl, po)-sf([np.sqrt(c)*100/Scale_A for c in Counts_A[jselected_A[4]]], winl, po), color='thistle')
ax[1].set_xlim(-51, 15)
ax[1].set_ylim(0, 14)
ax[1].set_title(r'$\alpha_{pr}=90º$', fontsize=fs)
ax[1].set_xlabel('Probe detuning (MHz)', fontsize=fs)
ax[1].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[1].set_yticks(np.arange(0, 15, 5))
ax[1].set_yticklabels(np.arange(0, 15, 5), fontsize=fs)
ax[1].set_xticks(xscale)
ax[1].set_xticklabels(xscale, fontsize=fs)
ax[1].grid()
lgnd = ax[1].legend(loc='upper left', prop={'size': 26}, markerscale=2)
jselected_B = [3, 2, 4, 1, 5, 0]
Angsselected_B = ['Off', 0, 'Off', 15, 'Off', 90]
#jselected = [2, 6, 7, 4]
#Angsselected = ['Off', 0, 15, 90]
cs = 1
ms = 8
fs = 40
Offset_B=0 #agrego ad hoc porque el offset del ajuste no da bien
Counts_B_corr1 = Counts_B[jselected_B[0]]
Counts_B_corr1[44] = 5536
Counts_B_corr2 = Counts_B[jselected_B[4]]
Counts_B_corr2[47] = 6115
#ax[0].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[1]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[1]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
#ax[0].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[0]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[0]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
#ax[0].errorbar(FreqsCalibradas_B, [(c-Offset_B-1000)*100/Scale_B for c in Counts_B[jselected_B[5]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[5]]], fmt='o', label='TISA ON', capsize=cs, markersize=ms)
#ax[0].errorbar(FreqsCalibradas_B, [(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[4]]], yerr=[2*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[4]]], fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
ax[0].plot(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr2], winl, po), '-o', label=r'$\alpha_{pr}=90º$, repumper ON', markersize=ms, color='maroon')
ax[0].plot(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr1], winl, po), '-o', label=r'$\alpha_{pr}=5º$, repumper ON', markersize=ms, color='midnightblue')
ax[0].plot(FreqsCalibradas_B, sf([(c-Offset_B-1000)*100/Scale_B for c in Counts_B[jselected_B[5]]], winl, po), '-o', label=r'$\alpha_{pr}=90º$, repumper OFF', markersize=ms, color='red')
ax[0].plot(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[1]]], winl, po), '-o', label=r'$\alpha_{pr}=5º$, rep OFF', markersize=ms, color='royalblue')
sqrtfactor = 2
ax[0].fill_between(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[1]]], winl, po)+sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[1]]], winl, po), sf([(c-Offset_B)*100/Scale_B for c in Counts_B[jselected_B[1]]], winl, po)-sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[1]]], winl, po), color='lightsalmon')
ax[0].fill_between(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr1], winl, po)+sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B_corr1], winl, po), sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr1], winl, po)-sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B_corr1], winl, po), color='plum')
ax[0].fill_between(FreqsCalibradas_B, sf([(c-Offset_B-1000)*100/Scale_B for c in Counts_B[jselected_B[5]]], winl, po)+sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[5]]], winl, po), sf([(c-Offset_B-1000)*100/Scale_B for c in Counts_B[jselected_B[5]]], winl, po)-sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B[jselected_B[5]]], winl, po), color='lightsalmon')
ax[0].fill_between(FreqsCalibradas_B, sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr2], winl, po)+sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B_corr2], winl, po), sf([(c-Offset_B)*100/Scale_B for c in Counts_B_corr2], winl, po)-sf([sqrtfactor*np.sqrt(c)*100/Scale_B for c in Counts_B_corr2], winl, po), color='thistle')
ax[0].set_xlim(-51, 15)
ax[0].set_ylim(0, 16.5)
ax[0].set_title(r'$\alpha_{rep}=90º$', fontsize=fs)
ax[0].set_xlabel('Probe detuning (MHz)', fontsize=fs)
ax[0].set_ylabel('Fluorescence (a.u.)', fontsize=fs)
ax[0].set_yticks(np.arange(0, 20, 5))
ax[0].set_yticklabels(np.arange(0, 20, 5), fontsize=fs)
ax[0].set_xticks(xscale)
ax[0].set_xticklabels(xscale, fontsize=fs)
ax[0].grid()
lgnd = ax[0].legend(loc='upper left', prop={'size': 26}, markerscale=2)
#fig.tight_layout()
#fig.subplots_adjust(top=0.9, left=0.1, right=0.9, bottom=0.01) # create some space below the plots by increasing the bottom-value
#ax.flatten()[-2].legend(loc='upper center', bbox_to_anchor=(1.1, -0.4), ncol=3)
#%%
plt.figure()
plt.errorbar([2*f*1e-6 for f in Freqs[jselected[0]]], Counts[jselected[0]], yerr=np.sqrt(Counts[jselected[0]]), fmt='o', label='TISA OFF', capsize=cs, markersize=ms)
#%%
"""
Este bloque agarra las 7 mediciones con el tisa prendido barriendo angulo, entre 0º y 90º,
y les hace un fiteo para buscar parametro de saturacion y detuning. a ese fiteo le busca los minimos locales
que son las 4 resonancias oscuras (DR), y en las ubicaciones de esos minimos calcula la fluorescencia medida.
ese valor de fluorescencia es el que, en otro codigo, se usa para comparar con el valor teorico con su error.
si encuentra solo 3, calcula el 4to a ojo poniendo un indice de donde deberia estar ese minimo, porque
puede haber solo 3 porque al prender el tisa hay un kickeo de resonancias oscuras.
"""
from scipy.signal import argrelextrema
SatsTisa = []
DetsTisa = []
AngsTisa = []
FluosMinis = []
FluosMinisError = []
#Ajuste con el Tisa prendido en 0º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -5.1-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[6]]
CountsDRpi_3 = Counts[6]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[69]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[69]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 0º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa en 30º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 30
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -5.1-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[5]]
CountsDRpi_3 = Counts[5]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 1e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[73]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[73]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 30º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa en 60º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 60
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4
offsetxpi = 440+1+correccion
DetDoppler = -5.1-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[3]]
CountsDRpi_3 = Counts[3]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
plt.title('60º')
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
print(Fluosminis)
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[73]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[73]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 60º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa prendido a 90º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 90
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -5.1-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[4]]
CountsDRpi_3 = Counts[4]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
def FitEITpi_withoutscale(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*100 + 0 for f in MeasuredFluo]
return FinalFluo
FittedEITpi_3 = FitEITpi_withoutscale(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, [100*(c- popt_tisaoff[3])/ popt_tisaoff[2] for c in CountsDRpi_3], yerr=(100/popt_tisaoff[2])*2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
#plt.plot(FreqsDRpi_3, [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3])
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[73]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[73]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 90º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa prendido a 15º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 15
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -5.1-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[7]]
CountsDRpi_3 = Counts[7]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
def FitEITpi_withoutscale(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*100 + 0 for f in MeasuredFluo]
return FinalFluo
FittedEITpi_3 = FitEITpi_withoutscale(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, [100*(c- popt_tisaoff[3])/ popt_tisaoff[2] for c in CountsDRpi_3], yerr=(100/popt_tisaoff[2])*2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
#plt.plot(FreqsDRpi_3, [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3])
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[69]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[69]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 90º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa prendido a 45º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 45
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -3.5-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[8]]
CountsDRpi_3 = Counts[8]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
def FitEITpi_withoutscale(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*100 + 0 for f in MeasuredFluo]
return FinalFluo
FittedEITpi_3 = FitEITpi_withoutscale(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, [100*(c- popt_tisaoff[3])/ popt_tisaoff[2] for c in CountsDRpi_3], yerr=(100/popt_tisaoff[2])*2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
#plt.plot(FreqsDRpi_3, [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3])
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
print(minsss)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[73]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[73]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 45º')
#SIGUIENTE ANGULO
#Ajuste con el Tisa prendido a 75º
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 75
phiprobe = 0
titaprobe = 90
T = 0.6e-3
sg = popt_tisaoff[0]
sp = popt_tisaoff[1]
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 31.9e6
B = (u/(2*np.pi))/c
correccion = 4 #con 8 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -3-correccion
FreqsDRpi_3 = [2*f*1e-6-offsetxpi+14 for f in Freqs[9]]
CountsDRpi_3 = Counts[9]
freqslongpi_3 = np.arange(min(FreqsDRpi_3), max(FreqsDRpi_3)+FreqsDRpi_3[1]-FreqsDRpi_3[0], 0.1*(FreqsDRpi_3[1]-FreqsDRpi_3[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*popt_tisaoff[2] + popt_tisaoff[3] for f in MeasuredFluo]
return FinalFluo
popt, pcov = curve_fit(FitEITpi, FreqsDRpi_3, CountsDRpi_3, p0=[10, 100], bounds=((0, 0), (50, 300)))
print(popt)
Sat_3 = popt[0]
Det_3 = popt[1]
FittedEITpi_3 = FitEITpi(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, CountsDRpi_3, yerr=2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
SatsTisa.append(popt[0])
DetsTisa.append(popt[1])
AngsTisa.append(titarepump)
def FitEITpi_withoutscale(freqs, SR, DETREPUMP):
temp = 2e-3
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(sg, SR, sp, gPS, gPD, DetDoppler, DETREPUMP, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*100 + 0 for f in MeasuredFluo]
return FinalFluo
FittedEITpi_3 = FitEITpi_withoutscale(freqslongpi_3, *popt)
plt.figure()
plt.errorbar(FreqsDRpi_3, [100*(c- popt_tisaoff[3])/ popt_tisaoff[2] for c in CountsDRpi_3], yerr=(100/popt_tisaoff[2])*2*np.sqrt(CountsDRpi_3), fmt='o', capsize=2, markersize=2)
#plt.plot(FreqsDRpi_3, [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3])
plt.plot(freqslongpi_3, FittedEITpi_3)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
vector = [((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3]
minsss = argrelextrema(np.array(FittedEITpi_3), np.less)
minsssmeas = [int(m*len(vector)/len(FittedEITpi_3)) for m in minsss[0]]
Fluosminis = [[((c- popt_tisaoff[3])/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
FluosminisError = [[((np.sqrt(c))/ popt_tisaoff[2])*100 for c in CountsDRpi_3][m] for m in minsssmeas]
if len(Fluosminis) == 4:
print('hay 4')
FluosMinis.append(Fluosminis)
FluosMinisError.append(FluosminisError)
elif len(Fluosminis) == 3:
print('hay 3')
FluosMinis.append([Fluosminis[0], (CountsDRpi_3[73]-popt_tisaoff[3])*100/popt_tisaoff[2], Fluosminis[1], Fluosminis[2]])
FluosMinisError.append([FluosminisError[0], (np.sqrt(CountsDRpi_3[73]))*100/popt_tisaoff[2], FluosminisError[1], FluosminisError[2]])
else:
print('paso algo che')
print('fin 75º')
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 2 16:30:09 2020
@author: oem
"""
import os
import numpy as np
import time
import matplotlib.pyplot as plt
from scipy.signal import argrelextrema
from threeLevel_2repumps_linealpol_python_scripts import CPTspectrum8levels, CPTspectrum8levels_fixedRabi
import random
from scipy.signal import savgol_filter as sf
def CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump):
if titadoppler==0:
NegativeDR = [(-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u]
elif titadoppler==90:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
else:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
PositiveDR = [(-8/5)*u, (-4/5)*u, 0, (4/5)*u, (8/5)*u]
return [detuningdoppler + dr for dr in NegativeDR], [detuningrepump + dr for dr in PositiveDR]
def GetClosestIndex(Vector, value, tolerance=1e-3):
i = 0
while i<len(Vector):
if abs(Vector[i] - value) < tolerance:
return i
else:
i = i + 1
return GetClosestIndex(Vector, value, tolerance=2*tolerance)
def FindDRFrequencies(Freq, Fluo, TeoDR, entorno=3):
"""
Busca los indices y la frecuencia de los minimos en un entorno cercano al de la DR.
Si no encuentra, devuelve el valor teórico.
"""
IndiceDRteo1, IndiceEntornoinicialDRteo1, IndiceEntornofinalDRteo1 = GetClosestIndex(Freq, TeoDR[0]), GetClosestIndex(Freq, TeoDR[0]-entorno), GetClosestIndex(Freq, TeoDR[0]+entorno)
IndiceDRteo2, IndiceEntornoinicialDRteo2, IndiceEntornofinalDRteo2 = GetClosestIndex(Freq, TeoDR[1]), GetClosestIndex(Freq, TeoDR[1]-entorno), GetClosestIndex(Freq, TeoDR[1]+entorno)
IndiceDRteo3, IndiceEntornoinicialDRteo3, IndiceEntornofinalDRteo3 = GetClosestIndex(Freq, TeoDR[2]), GetClosestIndex(Freq, TeoDR[2]-entorno), GetClosestIndex(Freq, TeoDR[2]+entorno)
IndiceDRteo4, IndiceEntornoinicialDRteo4, IndiceEntornofinalDRteo4 = GetClosestIndex(Freq, TeoDR[3]), GetClosestIndex(Freq, TeoDR[3]-entorno), GetClosestIndex(Freq, TeoDR[3]+entorno)
IndiceDRteo5, IndiceEntornoinicialDRteo5, IndiceEntornofinalDRteo5 = GetClosestIndex(Freq, TeoDR[4]), GetClosestIndex(Freq, TeoDR[4]-entorno), GetClosestIndex(Freq, TeoDR[4]+entorno)
IndiceDRteo6, IndiceEntornoinicialDRteo6, IndiceEntornofinalDRteo6 = GetClosestIndex(Freq, TeoDR[5]), GetClosestIndex(Freq, TeoDR[5]-entorno), GetClosestIndex(Freq, TeoDR[5]+entorno)
EntornoFreqDR1, EntornoFreqDR2 = Freq[IndiceEntornoinicialDRteo1:IndiceEntornofinalDRteo1], Freq[IndiceEntornoinicialDRteo2:IndiceEntornofinalDRteo2]
EntornoFreqDR3, EntornoFreqDR4 = Freq[IndiceEntornoinicialDRteo3:IndiceEntornofinalDRteo3], Freq[IndiceEntornoinicialDRteo4:IndiceEntornofinalDRteo4]
EntornoFreqDR5, EntornoFreqDR6 = Freq[IndiceEntornoinicialDRteo5:IndiceEntornofinalDRteo5], Freq[IndiceEntornoinicialDRteo6:IndiceEntornofinalDRteo6]
EntornoFluoDR1, EntornoFluoDR2 = Fluo[IndiceEntornoinicialDRteo1:IndiceEntornofinalDRteo1], Fluo[IndiceEntornoinicialDRteo2:IndiceEntornofinalDRteo2]
EntornoFluoDR3, EntornoFluoDR4 = Fluo[IndiceEntornoinicialDRteo3:IndiceEntornofinalDRteo3], Fluo[IndiceEntornoinicialDRteo4:IndiceEntornofinalDRteo4]
EntornoFluoDR5, EntornoFluoDR6 = Fluo[IndiceEntornoinicialDRteo5:IndiceEntornofinalDRteo5], Fluo[IndiceEntornoinicialDRteo6:IndiceEntornofinalDRteo6]
IndiceFluoMinimaEntorno1, IndiceFluoMinimaEntorno2 = argrelextrema(np.array(EntornoFluoDR1), np.less)[0], argrelextrema(np.array(EntornoFluoDR2), np.less)[0]
IndiceFluoMinimaEntorno3, IndiceFluoMinimaEntorno4 = argrelextrema(np.array(EntornoFluoDR3), np.less)[0], argrelextrema(np.array(EntornoFluoDR4), np.less)[0]
IndiceFluoMinimaEntorno5, IndiceFluoMinimaEntorno6 = argrelextrema(np.array(EntornoFluoDR5), np.less)[0], argrelextrema(np.array(EntornoFluoDR6), np.less)[0]
try:
FreqDR1 = EntornoFreqDR1[int(IndiceFluoMinimaEntorno1)]
IndiceDR1 = GetClosestIndex(Freq, FreqDR1)
except:
FreqDR1 = TeoDR[0]
IndiceDR1 = IndiceDRteo1
try:
FreqDR2 = EntornoFreqDR2[int(IndiceFluoMinimaEntorno2)]
IndiceDR2 = GetClosestIndex(Freq, FreqDR2)
except:
FreqDR2 = TeoDR[1]
IndiceDR2 = IndiceDRteo2
try:
FreqDR3 = EntornoFreqDR3[int(IndiceFluoMinimaEntorno3)]
IndiceDR3 = GetClosestIndex(Freq, FreqDR3)
except:
FreqDR3 = TeoDR[2]
IndiceDR3 = IndiceDRteo3
try:
FreqDR4 = EntornoFreqDR4[int(IndiceFluoMinimaEntorno4)]
IndiceDR4 = GetClosestIndex(Freq, FreqDR4)
except:
FreqDR4 = TeoDR[3]
IndiceDR4 = IndiceDRteo4
try:
FreqDR5 = EntornoFreqDR5[int(IndiceFluoMinimaEntorno5)]
IndiceDR5 = GetClosestIndex(Freq, FreqDR5)
except:
FreqDR5 = TeoDR[4]
IndiceDR5 = IndiceDRteo5
try:
FreqDR6 = EntornoFreqDR6[int(IndiceFluoMinimaEntorno6)]
IndiceDR6 = GetClosestIndex(Freq, FreqDR6)
except:
FreqDR6 = TeoDR[5]
IndiceDR6 = IndiceDRteo6
return [IndiceDR1, IndiceDR2, IndiceDR3, IndiceDR4, IndiceDR5, IndiceDR6], [FreqDR1, FreqDR2, FreqDR3, FreqDR4, FreqDR5, FreqDR6]
def FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=1, frecuenciareferenciacriterioasintotico=-100, getindices=False):
"""
Toma los indices donde estan las DR y evalua su fluorescencia. Esos indices son minimos locales en un entorno
cercano a las DR teoricas y, si no hay ningun minimo, toma la teorica.
Luego, hace el cociente de esa fluorescencia y un factor de normalización segun NormalizationCriterium:
1: Devuelve la fluorescencia absoluta de los minimos
2: Devuelve el cociente entre la fluorescencia del minimo y un valor medio entre dos puntos lejanos, como si no
hubiera una resonancia oscura y hubiera una recta. Ese valor esta a DistanciaFrecuenciaCociente del detuning del azul (el punto medio entre las dos DR en este caso)
3: Devuelve el cociente entre la fluorescencia del minimo y el valor a -100 MHz (si se hizo de -100 a 100),
o el valor limite por izquierda de la curva
4: Deuelve el cociente entre la fluorescencia del minimo y el valor de fluorescencia a detuning 0 MHz
"""
IndiceDR1, IndiceDR2, IndiceDR3, IndiceDR4, IndiceDR5, IndiceDR6 = IndicesDR[0], IndicesDR[1], IndicesDR[2], IndicesDR[3], IndicesDR[4], IndicesDR[5]
FluorescenceOfMinimums = [Fluo[IndiceDR1], Fluo[IndiceDR2], Fluo[IndiceDR3], Fluo[IndiceDR4], Fluo[IndiceDR5], Fluo[IndiceDR6]]
FrequencyOfMinimums = [Freq[IndiceDR1], Freq[IndiceDR2], Freq[IndiceDR3], Freq[IndiceDR4], Freq[IndiceDR5], Freq[IndiceDR6]]
DistanciaFrecuenciaCociente = 25
if NormalizationCriterium==0:
print('che')
return FrequencyOfMinimums, FluorescenceOfMinimums
if NormalizationCriterium==1:
Fluorescenciacerodetuning = Fluo[GetClosestIndex(Freq, 0)]
Fluorescenciaasintotica = Fluo[GetClosestIndex(Freq, frecuenciareferenciacriterioasintotico)]
return FrequencyOfMinimums, np.array([Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica])
if NormalizationCriterium==2:
k = 0
while k < len(Freq):
if Freq[k] < detuningdoppler-DistanciaFrecuenciaCociente + 2 and Freq[k] > detuningdoppler-DistanciaFrecuenciaCociente - 2:
FluoIzquierda = Fluo[k]
indiceizquierda = k
print('Izq:', Freq[k])
break
else:
k = k + 1
l = 0
while l < len(Freq):
if Freq[l] < detuningdoppler+DistanciaFrecuenciaCociente + 2 and Freq[l] > detuningdoppler+DistanciaFrecuenciaCociente - 2:
FluoDerecha = Fluo[l]
indicederecha = l
print('Der: ', Freq[l])
break
else:
l = l + 1
FluoNormDivisor = 0.5*(FluoDerecha+FluoIzquierda)
print(FluoNormDivisor)
if NormalizationCriterium==3:
#asintotico
FluoNormDivisor = Fluo[GetClosestIndex(Freq, frecuenciareferenciacriterioasintotico)]
if NormalizationCriterium==4:
#este te tira la fluorescencia de detuning 0
FluoNormDivisor = Fluo[GetClosestIndex(Freq, 0)]
RelativeFluorescenceOfMinimums = np.array([Fluore/FluoNormDivisor for Fluore in FluorescenceOfMinimums])
print('Esto: ', RelativeFluorescenceOfMinimums)
if NormalizationCriterium==2 and getindices==True:
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums, indiceizquierda, indicederecha
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums
def GetFinalMaps(MapasDR1, MapasDR2, MapasDR3, MapasDR4, MapasDR5, MapasDR6):
"""
Nota: esto vale para polarizacion del 397 sigma+ + sigma-. Sino hay que cambiar los coeficientes.
La estructura es:
MapasDRi = [MapaMedido_criterio1_DRi, MapaMedido_criterio2_DRi, MapaMedido_criterio3_DRi, MapaMedido_criterio4_DRi]
"""
Mapa1 = MapasDR1[0]
Mapa2pi = np.sqrt(3)*(MapasDR2[1] + MapasDR5[1])
Mapa2smas = np.sqrt(12/2)*MapasDR3[1] + (2/np.sqrt(2))*MapasDR6[1]
Mapa2smenos = (2/np.sqrt(2))*MapasDR1[1] + np.sqrt(12/2)*MapasDR4[1]
Mapa3pi = np.sqrt(3)*(MapasDR2[2] + MapasDR5[2])
Mapa3smas = np.sqrt(12/2)*MapasDR3[2] + (2/np.sqrt(2))*MapasDR6[2]
Mapa3smenos = (2/np.sqrt(2))*MapasDR1[2] + np.sqrt(12/2)*MapasDR4[2]
return Mapa1, [Mapa2pi, Mapa2smas, Mapa2smenos], [Mapa3pi, Mapa3smas, Mapa3smenos]
def CombinateDRwithCG(RelMinMedido1, RelMinMedido2, RelMinMedido3, RelMinMedido4):
Fluo1 = RelMinMedido1[0]
Fluo2pi = np.sqrt(3)*(RelMinMedido2[1] + RelMinMedido2[4])
Fluo2smas = np.sqrt(12/2)*RelMinMedido2[2] + (2/np.sqrt(2))*RelMinMedido2[5]
Fluo2smenos = (2/np.sqrt(2))*RelMinMedido2[0] + np.sqrt(12/2)*RelMinMedido2[3]
Fluo3pi = np.sqrt(3)*(RelMinMedido3[1] + RelMinMedido3[4])
Fluo3smas = np.sqrt(12/2)*RelMinMedido3[2] + (2/np.sqrt(2))*RelMinMedido3[5]
Fluo3smenos = (2/np.sqrt(2))*RelMinMedido3[0] + np.sqrt(12/2)*RelMinMedido3[3]
return Fluo1, [Fluo2pi, Fluo2smas, Fluo2smenos], [Fluo3pi, Fluo3smas, Fluo3smenos]
def IdentifyPolarizationCoincidences(theoricalmap, target, tolerance=1e-1):
"""
Busca en un mapa 2D la presencia de un valor target (medido) con tolerancia tolerance.
Si lo encuentra, pone un 1. Sino, un 0. Al plotear con pcolor se verá
en blanco la zona donde el valor medido se puede hallar.
"""
CoincidenceMatrix = np.zeros((len(theoricalmap), len(theoricalmap[0])))
i = 0
while i<len(theoricalmap):
j = 0
while j<len(theoricalmap[0]):
if abs(theoricalmap[i][j]-target) < tolerance:
CoincidenceMatrix[i][j] = 1
j=j+1
i=i+1
return CoincidenceMatrix
def RetrieveAbsoluteCoincidencesBetweenMaps(MapsVectors):
MatrixSum = np.zeros((len(MapsVectors[0]), len(MapsVectors[0][0])))
AbsoluteCoincidencesMatrix = np.zeros((len(MapsVectors[0]), len(MapsVectors[0][0])))
MatrixMapsVectors = []
for i in range(len(MapsVectors)):
MatrixMapsVectors.append(np.matrix(MapsVectors[i]))
for i in range(len(MatrixMapsVectors)):
MatrixSum = MatrixSum + MatrixMapsVectors[i]
MaxNumberOfCoincidences = np.max(MatrixSum)
ListMatrixSum = [list(i) for i in list(np.array(MatrixSum))]
for i in range(len(ListMatrixSum)):
for j in range(len(ListMatrixSum[0])):
if ListMatrixSum[i][j] == MaxNumberOfCoincidences:
AbsoluteCoincidencesMatrix[i][j] = 1
return AbsoluteCoincidencesMatrix, MaxNumberOfCoincidences
def MeasureMeanValueOfEstimatedArea(AbsoluteCoincidencesMap, X, Y):
NonZeroIndices = np.nonzero(AbsoluteCoincidencesMap)
Xsum = 0
Xvec = []
Ysum = 0
Yvec = []
N = len(NonZeroIndices[0])
for i in range(N):
Xsum = Xsum + X[NonZeroIndices[1][i]]
Xvec.append(X[NonZeroIndices[1][i]])
Ysum = Ysum + Y[NonZeroIndices[0][i]]
Yvec.append(Y[NonZeroIndices[0][i]])
Xaverage = Xsum/N
Yaverage = Ysum/N
Xspread = np.std(Xvec)
Yspread = np.std(Yvec)
return Xaverage, Yaverage, N, Xspread, Yspread
def MeasureRelativeFluorescenceFromCPT(Freq, Fluo, u, titadoppler, detuningrepump, detuningdoppler, frefasint=-100, entorno=3):
ResonanciasTeoricas, ResonanciasPositivas = CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)
IndicesDR, FreqsDR = FindDRFrequencies(Freq, Fluo, ResonanciasTeoricas, entorno=entorno)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums0 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=0, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums1 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=1, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums2, indiceizquierda, indicederecha = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=2, frecuenciareferenciacriterioasintotico=frefasint, getindices=True)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums3 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=3, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums4 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=4, frecuenciareferenciacriterioasintotico=frefasint)
print('hola')
print(RelativeFluorescenceOfMinimums0)
return RelativeFluorescenceOfMinimums0, RelativeFluorescenceOfMinimums1, RelativeFluorescenceOfMinimums2, RelativeFluorescenceOfMinimums3, RelativeFluorescenceOfMinimums4, IndicesDR, [indiceizquierda, indicederecha]
def GenerateNoisyCPT(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def GenerateNoisyCPT_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def GenerateNoisyCPT_fit(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, min(freqs), max(freqs) + freqs[1]-freqs[0], freqs[1]-freqs[0], plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def AddNoiseToCPT(Fluo, noisefactor):
return [f+noisefactor*(2*random.random()-1) for f in Fluo]
def SmoothNoisyCPT(Fluo, window=11, poly=3):
SmoothenFluo = sf(Fluo, window, poly)
return SmoothenFluo
def GetMinimaInfo(Freq, Fluo, u, titadoppler, detuningdoppler, detuningrepump, MinimumCriterium=2, NormalizationCriterium=1):
"""
FUNCION VIEJA
Esta funcion devuelve valores de frecuencias y fluorescencia relativa de los minimos.
Minimumcriterion:
1: Saca los minimos con funcion argelextrema
2: Directamente con las frecuencias teoricas busca las fluorescencias
Normalizationcriterium:
1: Devuelve la fluorescencia absoluta de los minimos
2: Devuelve el cociente entre la fluorescencia del minimo y un valor medio entre dos puntos lejanos, como si no
hubiera una resonancia oscura y hubiera una recta. Ese valor esta a DistanciaFrecuenciaCociente del detuning del azul (el punto medio entre las dos DR en este caso)
3: Devuelve el cociente entre la fluorescencia del minimo y el valor a -100 MHz (si se hizo de -100 a 100),
o el valor limite por izquierda de la curva
"""
FluorescenceOfMaximum = max(Fluo)
FrequencyOfMaximum = Freq[Fluo.index(FluorescenceOfMaximum)]
#criterio para encontrar los minimos
#criterio usando minimos de la fluorescencia calculados con la curva
if MinimumCriterium == 1:
LocationOfMinimums = argrelextrema(np.array(Fluo), np.less)[0]
FluorescenceOfMinimums = np.array([Fluo[i] for i in LocationOfMinimums])
FrequencyOfMinimums = np.array([Freq[j] for j in LocationOfMinimums])
#criterio con las DR teoricas
if MinimumCriterium == 2:
FrecuenciasDRTeoricas, FrecuenciasDRTeoricasPositivas = [darkresonance for darkresonance in CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)[0]]
FrequencyOfMinimums = []
FluorescenceOfMinimums =[]
print(FrecuenciasDRTeoricas)
k=0
ventanita = 0.001
while k < len(Freq):
if Freq[k] < FrecuenciasDRTeoricas[0] + ventanita and Freq[k] > FrecuenciasDRTeoricas[0] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[1] + ventanita and Freq[k] > FrecuenciasDRTeoricas[1] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[2] + ventanita and Freq[k] > FrecuenciasDRTeoricas[2] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[3] + ventanita and Freq[k] > FrecuenciasDRTeoricas[3] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[4] + ventanita and Freq[k] > FrecuenciasDRTeoricas[4] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[5] + ventanita and Freq[k] > FrecuenciasDRTeoricas[5] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
k = k + 1
print(FrequencyOfMinimums)
if len(FrequencyOfMinimums) != len(FrecuenciasDRTeoricas):
print('NO ANDA BIEN ESTO PAPI, revisalo')
#esto es para establecer un criterio para la fluorescencia relativa
DistanciaFrecuenciaCociente = 15
if NormalizationCriterium==1:
FluoNormDivisor = 1
if NormalizationCriterium==2:
k = 0
while k < len(Freq):
if Freq[k] < detuningdoppler-DistanciaFrecuenciaCociente + 2 and Freq[k] > detuningdoppler-DistanciaFrecuenciaCociente - 2:
FluoIzquierda = Fluo[k]
print('Izq:', Freq[k])
break
else:
k = k + 1
l = 0
while l < len(Freq):
if Freq[l] < detuningdoppler+DistanciaFrecuenciaCociente + 2 and Freq[l] > detuningdoppler+DistanciaFrecuenciaCociente - 2:
FluoDerecha = Fluo[l]
print('Der: ', Freq[l])
break
else:
l = l + 1
FluoNormDivisor = 0.5*(FluoDerecha+FluoIzquierda)
print(FluoNormDivisor)
if NormalizationCriterium==3:
FluoNormDivisor = Fluo[0]
RelativeFluorescenceOfMinimums = np.array([Fluore/FluoNormDivisor for Fluore in FluorescenceOfMinimums])
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums
def GetPlotsofFluovsAngle_8levels(FrequencyOfMinimumsVector, RelativeFluorescenceOfMinimumsVector, u, titadoppler, detuningdoppler, detuningrepump, ventana=0.25, taketheoricalDR=False):
#primero buscamos las frecuencias referencia que se parezcan a las 6:
i = 0
FrecuenciasReferenciaBase = FrequencyOfMinimumsVector[0]
FrecuenciasDRTeoricas = [darkresonance for darkresonance in CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)[0]]
while i < len(FrequencyOfMinimumsVector):
if len(FrequencyOfMinimumsVector[i])==len(FrecuenciasDRTeoricas):
FrecuenciasReferenciaBase = FrequencyOfMinimumsVector[i]
print('Cool! Taking the DR identified with any curve')
break
else:
i = i + 1
if i==len(FrequencyOfMinimumsVector):
print('No hay ningun plot con 5 resonancias oscuras. Tomo las teóricas')
FrecuenciasReferenciaBase = FrecuenciasDRTeoricas
if taketheoricalDR:
FrecuenciasReferenciaBase = FrecuenciasDRTeoricas
Ventana = abs(ventana*(FrecuenciasReferenciaBase[1] - FrecuenciasReferenciaBase[0])) #ventana separadora de resonancias
print('Ventana = ', Ventana)
DarkResonance1Frequency = []
DarkResonance1Fluorescence = []
DarkResonance2Frequency = []
DarkResonance2Fluorescence = []
DarkResonance3Frequency = []
DarkResonance3Fluorescence = []
DarkResonance4Frequency = []
DarkResonance4Fluorescence = []
DarkResonance5Frequency = []
DarkResonance5Fluorescence = []
DarkResonance6Frequency = []
DarkResonance6Fluorescence = []
i = 0
while i < len(FrequencyOfMinimumsVector):
j = 0
FrecuenciasReferencia = [i for i in FrecuenciasReferenciaBase]
while j < len(FrequencyOfMinimumsVector[i]):
if abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[0])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[0])-Ventana):
DarkResonance1Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance1Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[0] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[1])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[1])-Ventana):
DarkResonance2Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance2Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[1] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[2])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[2])-Ventana):
DarkResonance3Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance3Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[2] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[3])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[3])-Ventana):
DarkResonance4Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance4Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[3] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[4])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[4])-Ventana):
DarkResonance5Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance5Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[4] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[5])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[5])-Ventana):
DarkResonance6Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance6Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[5] = 0
else:
#print('Algo anduvo mal, por ahi tenes que cambiar la ventana che')
pass
j = j + 1
if np.count_nonzero(FrecuenciasReferencia) > 0:
if FrecuenciasReferencia[0] != 0:
DarkResonance1Frequency.append(FrecuenciasReferencia[0])
DarkResonance1Fluorescence.append()
if FrecuenciasReferencia[1] != 0:
DarkResonance2Frequency.append(FrecuenciasReferencia[1])
DarkResonance2Fluorescence.append(0)
if FrecuenciasReferencia[2] != 0:
DarkResonance3Frequency.append(FrecuenciasReferencia[2])
DarkResonance3Fluorescence.append(0)
if FrecuenciasReferencia[3] != 0:
DarkResonance4Frequency.append(FrecuenciasReferencia[3])
DarkResonance4Fluorescence.append(0)
if FrecuenciasReferencia[4] != 0:
DarkResonance5Frequency.append(FrecuenciasReferencia[4])
DarkResonance5Fluorescence.append(0)
if FrecuenciasReferencia[5] != 0:
DarkResonance6Frequency.append(FrecuenciasReferencia[5])
DarkResonance6Fluorescence.append(0)
i = i + 1
return DarkResonance1Frequency, DarkResonance1Fluorescence, DarkResonance2Frequency, DarkResonance2Fluorescence, DarkResonance3Frequency, DarkResonance3Fluorescence, DarkResonance4Frequency, DarkResonance4Fluorescence, DarkResonance5Frequency, DarkResonance5Fluorescence, DarkResonance6Frequency, DarkResonance6Fluorescence, FrecuenciasReferenciaBase
def PerformExperiment_8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
Fluovectors = []
for titaprobe in titaprobeVec:
tinicial = time.time()
ProbeDetuningVectorL, Fluovector = CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=False, solvemode=1)
tfinal = time.time()
print('Done angle ', titarepump, ' Total time: ', round((tfinal-tinicial), 2), "s")
if plot:
plt.figure()
plt.xlabel('Repump detuning (MHz')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(ProbeDetuningVectorL, Fluovector, label=str(titarepump)+'º tita repump, T: ' + str(T*1e3) + ' mK')
plt.legend()
Fluovectors.append(Fluovector)
if len(titaprobeVec) == 1: #esto es para que no devuelva un vector de vectores si solo fijamos un angulo
Fluovectors = Fluovector
return ProbeDetuningVectorL, Fluovectors
def PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
Fluovectors = []
for titaprobe in titaprobeVec:
tinicial = time.time()
ProbeDetuningVectorL, Fluovector = CPTspectrum8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=False, solvemode=1)
tfinal = time.time()
print('Done angle ', titarepump, ' Total time: ', round((tfinal-tinicial), 2), "s")
if plot:
plt.figure()
plt.xlabel('Repump detuning (MHz')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(ProbeDetuningVectorL, Fluovector, label=str(titarepump)+'º tita repump, T: ' + str(T*1e3) + ' mK')
plt.legend()
Fluovectors.append(Fluovector)
if len(titaprobeVec) == 1: #esto es para que no devuelva un vector de vectores si solo fijamos un angulo
Fluovectors = Fluovector
return ProbeDetuningVectorL, Fluovectors
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Sep 1 17:58:39 2020
@author: oem
"""
import os
import numpy as np
#os.chdir('/home/oem/Nextcloud/G_liaf/liaf-TrampaAnular/Código General/EIT-CPT/Buenos Aires/Experiment Simulations/CPT scripts/Eight Level 2 repumps')
from threeLevel_2repumps_AnalysisFunctions import CalculoTeoricoDarkResonances_8levels, GetMinimaInfo, GetPlotsofFluovsAngle_8levels, PerformExperiment_8levels, FindDRFrequencies, FindRelativeFluorescencesOfDR, GenerateNoisyCPT, SmoothNoisyCPT, GetFinalMaps, GenerateNoisyCPT_fixedRabi, GenerateNoisyCPT_fit
import matplotlib.pyplot as plt
import time
from threeLevel_2repumps_AnalysisFunctions import MeasureRelativeFluorescenceFromCPT, IdentifyPolarizationCoincidences, RetrieveAbsoluteCoincidencesBetweenMaps, GetClosestIndex
#C:\Users\Usuario\Nextcloud\G_liaf\liaf-TrampaAnular\Código General\EIT-CPT\Buenos Aires\Experiment Simulations\CPT scripts\Eight Level 2 repumps
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
#u = 1e6
u = 33.5e6
B = (u/(2*np.pi))/c
#sg, sp = 0.6, 5 #parámetros de control, saturación del doppler y repump
#rabG, rabP = sg*gPS, sp*gPD #frecuencias de rabi
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6 #anchos de linea de las transiciones
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
DetDoppler = -36 #42
DetRepumpVec = [DetDoppler+29.6]
Tvec = [0.7] #temperatura en mK
alpha = 0*(np.pi/180) #angulo entre los láseres
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
#Calculo las resonancias oscuras teóricas
#ResonanciasTeoricas, DRPositivas = CalculoTeoricoDarkResonances_8levels(u/(2*np.pi*1e6), titadoppler, DetDoppler, DetRepump)
#Parametros de la simulacion cpt
center = -45
span = 80
freqMin = center-span*0.5
freqMax = center+span*0.5
""" parametros para tener espectros coherentes
freqMin = -56
freqMax = 14
"""
freqStep = 1e-1
noiseamplitude = 0
RelMinMedido0Vector = []
RelMinMedido1Vector = []
RelMinMedido2Vector = []
RelMinMedido3Vector = []
RelMinMedido4Vector = []
#Sr = np.arange(0, 10, 0.2)
#Sg = np.arange(0.01, 1, 0.05)
#Sp = np.arange(0.1, 6.1, 1)
#Sg = [0.6**2]
#Sp = [2.3**2]
Sg = [1.4]
Sp = [6]
Sr = [11]
i = 0
save = False
showFigures = True
if not showFigures:
plt.ioff()
else:
plt.ion()
fig1, ax1 = plt.subplots()
offsetx = 464
ax1.plot([f-offsetx for f in FreqsDR], CountsDR, 'o')
run = True
Scale = 730
Offset = 600 #600 para 20k cuentas aprox
MaxCoherenceValue = []
for sg in Sg:
for sp in Sp:
rabG, rabP = sg*gPS, sp*gPD
for Ti in Tvec:
T = Ti*1e-3
for DetRepump in DetRepumpVec:
print(T)
for sr in Sr:
rabR = sr*gPD
#MeasuredFreq, MeasuredFluo = GenerateNoisyCPT(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
if run:
MeasuredFreq4, MeasuredFluo4 = GenerateNoisyCPT_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
#SmoothFluo = SmoothNoisyCPT(MeasuredFluo, window=9, poly=2)
SmoothFluo4 = MeasuredFluo4
#Scale = max(BestC)/max([100*s for s in SmoothFluo4])
ax1.plot(MeasuredFreq4, [Scale*100*f + Offset for f in SmoothFluo4], label=f'Sr = {sr}')
ax1.axvline(DetDoppler, linestyle='--', linewidth=1)
#if sr != 0:
#ax1.axvline(DetRepump, linestyle='--', linewidth=1)
MaxCoherenceValue.append(np.max(SmoothFluo4))
#print(titaprobe)
ax1.set_xlabel('Detuning Rebombeo (MHz)')
ax1.set_ylabel('Fluorescencia (AU)')
ax1.set_title(f'B: {round(B, 2)} G, Sdop: {round(sg, 2)}, Sp: {round(sp, 2)}, Sr: {round(sr, 2)}, lw: {lw} MHz, T: {Ti} mK')
#ax1.set_ylim(0, 8)
#ax1.axvline(DetDoppler, linestyle='dashed', color='red', linewidth=1)
#ax1.axvline(DetRepump, linestyle='dashed', color='black', linewidth=1)
#ax1.set_title('Pol Doppler y Repump: Sigma+ Sigma-, Pol Probe: PI')
#ax1.legend()
ax1.grid()
print (f'{i+1}/{len(Sg)*len(Sp)}')
i = i + 1
if save:
plt.savefig(f'Mapa_plots_100k_1mk/CPT_SMSM_sdop{round(sg, 2)}_sp{round(sp, 2)}_sr{round(sr, 2)}.jpg')
ax1.legend()
"""
plt.figure()
plt.plot(Sr, MaxCoherenceValue, 'o')
plt.xlabel('Sr')
plt.ylabel('Coherence')
"""
"""
plt.figure()
plt.plot(MeasuredFreq, [100*f for f in SmoothFluo], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.4, 1.8, 0.2))
plt.ylim(0.5, 1.6)
plt.grid()
plt.figure()
plt.plot(MeasuredFreq4, [100*f for f in SmoothFluo4], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.8, 2.4, 0.4))
plt.grid()
"""
#%%
from scipy.optimize import curve_fit
T = 0.5e-3
sg = 0.7
sp = 6
sr = 0
DetDoppler = -14
DetRepump = 0
FitsSp = []
FitsOffset = []
Sg = [0.87]
def FitEIT(freqs, SP, offset):
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(0.87, sr, SP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*43000 + 2685 for f in MeasuredFluo]
return FinalFluo
freqs = [f-offsetx+32 for f in FreqsDR]
freqslong = np.arange(min(freqs), max(freqs)+freqs[1]-freqs[0], 0.1*(freqs[1]-freqs[0]))
popt, pcov = curve_fit(FitEIT, freqs, CountsDR, p0=[5, 700], bounds=(0, [10, 1e6]))
FitsSp.append(popt[0])
FitsOffset.append(popt[1])
print(popt)
FittedEIT = FitEIT(freqslong, *popt)
plt.figure()
plt.errorbar(freqs, CountsDR, yerr=2*np.sqrt(CountsDR), fmt='o', capsize=2, markersize=2)
plt.plot(freqslong, FitEIT(freqslong, *popt))
plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {T*1e3} mK, detDop: {DetDoppler} MHz')
np.savetxt('CPT_measured.txt', np.transpose([freqs, CountsDR]))
np.savetxt('CPT_fitted.txt', np.transpose([freqslong, FittedEIT]))
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 7 22:30:01 2020
@author: nico
"""
import numpy as np
import time
import matplotlib.pyplot as plt
from scipy.signal import argrelextrema
"""
Scripts para el calculo de la curva CPT
"""
def H0matrix(Detg, Detp, u):
"""
Calcula la matriz H0 en donde dr es el detuning del doppler, dp es el retuning del repump y u es el campo magnético en Hz/Gauss.
Para esto se toma la energía del nivel P como 0
"""
eigenEnergies = (Detg-u, Detg+u, -u/3, u/3, Detp-6*u/5, Detp-2*u/5, Detp+2*u/5, Detp+6*u/5) #pagina 26 de Oberst. los lande del calcio son iguales a Bario.
H0 = np.diag(eigenEnergies)
return H0
def HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe):
"""
Calcula la matriz de interacción Hsp + Hpd, en donde rabR es la frecuencia de rabi de la transición Doppler SP,
rabP es la frecuencia de rabi de la transición repump DP, y las componentes ei_r y ei_p son las componentes de la polarización
del campo eléctrico incidente de doppler y repump respectivamente. Deben estar normalizadas a 1
"""
HI = np.zeros((8, 8), dtype=np.complex_)
i, j = 1, 3
HI[i-1, j-1] = (rabG/np.sqrt(3)) * np.cos(titadoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 1, 4
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.sin(titadoppler)*np.exp(1j*phidoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 2, 3
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.sin(titadoppler)*np.exp(-1j*phidoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 2, 4
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.cos(titadoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 5
HI[i-1, j-1] = -(rabP/2) * np.sin(titaprobe)*np.exp(-1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 6
HI[i-1, j-1] = -(rabP/np.sqrt(3)) * np.cos(titaprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 7
HI[i-1, j-1] = rabP/np.sqrt(12) * np.sin(titaprobe)*np.exp(1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 6
HI[i-1, j-1] = -(rabP/np.sqrt(12)) * np.sin(titaprobe)*np.exp(-1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 7
HI[i-1, j-1] = -(rabP/np.sqrt(3)) * np.cos(titaprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 8
HI[i-1, j-1] = (rabP/2) * np.sin(titaprobe)*np.exp(1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
return HI
def Lplusminus(detr, detp, phirepump, titarepump, forma=1):
Hintplus = np.zeros((8, 8), dtype=np.complex_)
Hintminus = np.zeros((8, 8), dtype=np.complex_)
Hintplus[4, 2] = (-1/2)*np.sin(titarepump)*np.exp(1j*phirepump)
Hintplus[5, 2] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintplus[6, 2] = (1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintplus[5, 3] = (-1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(1j*phirepump)
Hintplus[6, 3] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintplus[7, 3] = (1/2)*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[2, 4] = (-1/2)*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[2, 5] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintminus[2, 6] = (1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(1j*phirepump)
Hintminus[3, 5] = (-1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[3, 6] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintminus[3, 7] = (1/2)*np.sin(titarepump)*np.exp(1j*phirepump)
if forma==1:
Lplus = np.zeros((64, 64), dtype=np.complex_)
Lminus = np.zeros((64, 64), dtype=np.complex_)
DeltaBar = np.zeros((64, 64), dtype=np.complex_)
for r in range(8):
for q in range(8):
for k in range(8):
for j in range(8):
if j==q:
if (k==2 or k==3) and r > 3:
Lplus[r*8+q][k*8+j] = (-1j)*(Hintplus[r,k])
if (r==2 or r==3) and k > 3:
Lminus[r*8+q][k*8+j] = (-1j)*(Hintminus[r,k])
elif r==k:
if (q==2 or q==3) and j > 3:
Lplus[r*8+q][k*8+j] = (-1j)*(- Hintplus[j,q])
if (j==2 or j==3) and q > 3:
Lminus[r*8+q][k*8+j] = (-1j)*(- Hintminus[j,q])
if forma==2:
deltaKro = np.diag([1, 1, 1, 1, 1, 1, 1, 1])
Lplus = (-1j)*(np.kron(Hintplus, deltaKro) - np.kron(deltaKro, Hintplus))
Lminus = (-1j)*(np.kron(Hintminus, deltaKro) - np.kron(deltaKro, Hintminus))
DeltaBar = np.zeros((64, 64), dtype=np.complex_)
for i in range(64):
DeltaBar[i, i] = (1j)*(detr - detp)
return np.matrix(Lminus), np.matrix(Lplus), np.matrix(DeltaBar)
def GetL1(Lplus, Lminus, DeltaBar, L0, rabR, nmax):
"""
Devuelve Splus0 y Sminus0
"""
Sp = (-1)*(0.5*rabR)*(np.matrix(np.linalg.inv(L0 - (nmax+1)*DeltaBar))*np.matrix(Lplus))
Sm = (-1)*(0.5*rabR)*(np.matrix(np.linalg.inv(L0 + (nmax+1)*DeltaBar))*np.matrix(Lminus))
for n in list(range(nmax+1))[(nmax+1)::-1][0:len(list(range(nmax+1))[(nmax+1)::-1])-1]: #jaja esto solo es para que vaya de nmax a 1 bajando. debe haber algo mas facil pero kcio
Sp = (-1)*(rabR)*(np.matrix(np.linalg.inv(L0 - n*DeltaBar + rabR*(Lminus*np.matrix(Sp))))*np.matrix(Lplus))
Sm = (-1)*(rabR)*(np.matrix(np.linalg.inv(L0 + n*DeltaBar + rabR*(Lplus*np.matrix(Sm))))*np.matrix(Lminus))
L1 = 0.5*rabR*(np.matrix(Lminus)*np.matrix(Sp) + np.matrix(Lplus)*np.matrix(Sm))
return L1
def EffectiveL(gPS, gPD, lwg, lwr, lwp):
"""
Siendo Heff = H + EffectiveL, calcula dicho EffectiveL que es (-0.5j)*sumatoria(CmDaga*Cm) que luego sirve para calcular el Liouvilliano
"""
Leff = np.zeros((8, 8), dtype=np.complex_)
Leff[0, 0] = 2*lwg
Leff[1, 1] = 2*lwg
Leff[2, 2] = ((2/3)+(1/3))*gPS + ((1/2) + (1/6) + (1/3))*gPD
Leff[3, 3] = ((2/3)+(1/3))*gPS + ((1/2) + (1/6) + (1/3))*gPD
Leff[4, 4] = 2*(lwr + lwp)
Leff[5, 5] = 2*(lwr + lwp)
Leff[6, 6] = 2*(lwr + lwp)
Leff[7, 7] = 2*(lwr + lwp)
return (-0.5j)*Leff
def CalculateSingleMmatrix(gPS, gPD, lwg, lwr, lwp):
"""
Si tomamos el Liuvilliano como L = (-j)*(Heff*deltak - Heffdaga*deltak) + sum(Mm),
esta funcion calcula dichos Mm, que tienen dimensión 64x64 ya que esa es la dimensión del L. Estas componentes
salen de hacer la cuenta a mano conociendo los Cm y considerando que Mm[8*(r-1)+s, 8*(k-1)+j] = Cm[r,l] + Cmdaga[j,s] = Cm[r,l] + Cm[s,j]
ya que los componentes de Cm son reales.
Esta M es la suma de las 8 matrices M.
"""
M = np.matrix(np.zeros((64, 64), dtype=np.complex_))
M[0,27] = (2/3)*gPS
M[9,18] = (2/3)*gPS
M[0,18] = (1/3)*gPS
M[1,19] = -(1/3)*gPS
M[8,26] = -(1/3)*gPS
M[9,27] = (1/3)*gPS
M[36,18] = (1/2)*gPD
M[37,19] = (1/np.sqrt(12))*gPD
M[44,26] = (1/np.sqrt(12))*gPD
M[45,27] = (1/6)*gPD
M[54,18] = (1/6)*gPD
M[55,19] = (1/np.sqrt(12))*gPD
M[62,26] = (1/np.sqrt(12))*gPD
M[63,27] = (1/2)*gPD
M[45,18] = (1/3)*gPD
M[46,19] = (1/3)*gPD
M[53,26] = (1/3)*gPD
M[54,27] = (1/3)*gPD
M[0,0] = 2*lwg
M[1,1] = 2*lwg
M[8,8] = 2*lwg
M[9,9] = 2*lwg
factor1 = 1
factor2 = 1
factor3 = 1
factor4 = 1
#M[36, 45] = lwp
M[36,36] = 2*(lwr + factor1*lwp)
M[37,37] = 2*(lwr + factor1*lwp)
M[38,38] = 2*(lwr + factor1*lwp)
M[39,39] = 2*(lwr + factor1*lwp)
M[44,44] = 2*(lwr + factor2*lwp)
M[45,45] = 2*(lwr + factor2*lwp)
M[46,46] = 2*(lwr + factor2*lwp)
M[47,47] = 2*(lwr + factor2*lwp)
M[52,52] = 2*(lwr + factor3*lwp)
M[53,53] = 2*(lwr + factor3*lwp)
M[54,54] = 2*(lwr + factor3*lwp)
M[55,55] = 2*(lwr + factor3*lwp)
M[60,60] = 2*(lwr + factor4*lwp)
M[61,61] = 2*(lwr + factor4*lwp)
M[62,62] = 2*(lwr + factor4*lwp)
M[63,63] = 2*(lwr + factor4*lwp)
return M
def dopplerBroadening(wlg, wlp, alpha, T, mcalcio = 6.655e-23*1e-3):
"""
Calcula el broadening extra semiclásico por temperatura considerando que el ion atrapado se mueve.
wlg es la longitud de onda doppler, wlp la longitud de onda repump, T la temperatura del ion en kelvin, y alpha (en rads) el ángulo
que forman ambos láseres.
"""
kboltzmann = 1.38e-23 #J/K
gammaD = (2*np.pi)*np.sqrt((1/(wlg*wlg)) + (1/(wlp*wlp)) - 2*(1/(wlg*wlp))*np.cos(alpha))*np.sqrt(kboltzmann*T/(2*mcalcio))
return gammaD
def FullL_efficient(rabG, rabR, rabP, gPS = 0, gPD = 0, Detg = 0, Detr = 0, Detp = 0, u = 0, lwg = 0, lwr=0, lwp = 0,
phidoppler=0, titadoppler=0, phiprobe=0, titaprobe=0, phirepump=0, titarepump=0, T = 0, alpha = 0):
"""
Calcula el Liouvilliano total de manera explícita índice a índice. Suma aparte las componentes de las matrices M.
Es la más eficiente hasta ahora.
"""
db = dopplerBroadening(0.397e-6, 0.866e-6, alpha, T)
#lwr = np.sqrt(lwr**2 + dopplerBroadening(0.397e-6, 0.866e-6, alpha, T)**2)
lwg = np.sqrt(lwg**2 + db**2)
CC = EffectiveL(gPS, gPD, lwg, lwr, lwp)
Heff = H0matrix(Detg, Detp, u) + HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe) + CC
Heffdaga = np.matrix(Heff).getH()
Lfullpartial = np.zeros((64, 64), dtype=np.complex_)
for r in range(8):
for q in range(8):
for k in range(8):
for j in range(8):
if j!=q and r!=k:
pass
elif j==q and r!=k:
if (r < 2 and k > 3) or (k < 2 and r > 3) or (r > 3 and k > 3) or (r==0 and k==1) or (r==1 and k==0) or (r==2 and k==3) or (r==3 and k==2): #todo esto sale de analizar explicitamente la matriz y tratar de no calcular cosas de más que dan cero
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(Heff[r,k])
elif j!=q and r==k:
if (j < 2 and q > 3) or (q < 2 and j > 3) or (j > 3 and q > 3) or (j==0 and q==1) or (j==1 and q==0) or (j==2 and q==3) or (j==3 and q==2):
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(-Heffdaga[j,q])
else:
if Heff[r,k] == Heffdaga[j,q]:
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(Heff[r,k]-Heffdaga[j,q])
M = CalculateSingleMmatrix(gPS, gPD, lwg, lwr, lwp)
L0 = np.array(np.matrix(Lfullpartial) + M)
nmax = 1
Lminus, Lplus, DeltaBar = Lplusminus(Detr, Detp, phirepump, titarepump)
factor1 = np.exp(1j*0.2*np.pi)
factor2 = np.exp(-1j*0.2*np.pi)
#print(factor)
L1 = GetL1(factor1*Lplus, factor2*Lminus, DeltaBar, L0, rabR, nmax)
Lfull = L0 + L1
#NORMALIZACION DE RHO
i = 0
while i < 64:
if i%9 == 0:
Lfull[0, i] = 1
else:
Lfull[0, i] = 0
i = i + 1
return Lfull
"""
Scripts para correr un experimento y hacer el análisis de los datos
"""
def CalculoTeoricoDarkResonances(u, titadoppler):
if titadoppler==0:
NegativeDR = [(-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u]
elif titadoppler==90:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
PositiveDR = [(-8/5)*u, (-4/5)*u, 0, (4/5)*u, (8/5)*u]
return NegativeDR, PositiveDR
def CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump,
freqMin=-100, freqMax=100, freqStep=1e-1, plot=False, solvemode=1):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
phidoppler, titadoppler = phidoppler*(np.pi/180), titadoppler*(np.pi/180)
phiprobe, titaprobe = phiprobe*(np.pi/180), titaprobe*(np.pi/180)
phirepump, titarepump = phirepump*(np.pi/180), titarepump*(np.pi/180)
DetProbeVector = 2*np.pi*np.arange(freqMin*1e6, freqMax*1e6, freqStep*1e6)
Detg, Detr = 2*np.pi*Detg*1e6, 2*np.pi*Detr*1e6
lwg, lwr, lwp = 2*np.pi*lwg*1e6, 2*np.pi*lwr*1e6, 2*np.pi*lwp*1e6
#u = 2*np.pi*u*1e6
Fluovector = []
tinicial = time.time()
for Detp in DetProbeVector:
L = FullL_efficient(rabG, rabR, rabP, gPS, gPD, Detg, Detr, Detp, u, lwg, lwr, lwp, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, Temp, alpha)
if solvemode == 1:
rhovectorized = np.linalg.solve(L, np.array([int(i==0) for i in range(64)]))
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
if solvemode == 2:
Linv = np.linalg.inv(L)
rhovectorized = [Linv[j][0] for j in range(len(Linv))]
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
tfinal = time.time()
print('Done, Total time: ', round((tfinal-tinicial), 2), "s")
DetProbeVectorMHz = np.arange(freqMin, freqMax, freqStep)
if plot:
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(DetProbeVectorMHz, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.legend()
return DetProbeVectorMHz, Fluovector
def CPTspectrum8levels_fixedRabi(sg, sr, sp, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump,
freqMin=-100, freqMax=100, freqStep=1e-1, plot=False, solvemode=1):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
phidoppler, titadoppler = phidoppler*(np.pi/180), titadoppler*(np.pi/180)
phiprobe, titaprobe = phiprobe*(np.pi/180), titaprobe*(np.pi/180)
phirepump, titarepump = phirepump*(np.pi/180), titarepump*(np.pi/180)
DetProbeVector = 2*np.pi*np.arange(freqMin*1e6, freqMax*1e6, freqStep*1e6)
Detg, Detr = 2*np.pi*Detg*1e6, 2*np.pi*Detr*1e6
#lwg, lwr, lwp = 2*np.pi*lwg*1e6, 2*np.pi*lwr*1e6, 2*np.pi*lwp*1e6
lwg, lwr, lwp = lwg*1e6, lwr*1e6, lwp*1e6
rabG = sg*gPS
rabR = sr*gPD
rabP = sp*gPD
#u = 2*np.pi*u*1e6
Fluovector = []
tinicial = time.time()
for Detp in DetProbeVector:
L = FullL_efficient(rabG, rabR, rabP, gPS, gPD, Detg, Detr, Detp, u, lwg, lwr, lwp, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, Temp, alpha)
if solvemode == 1:
coh = 5
rhovectorized = np.linalg.solve(L, np.array([int(i==0) for i in range(64)]))
#Fluo = np.abs(rhovectorized[coh])
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
if solvemode == 2:
Linv = np.linalg.inv(L)
rhovectorized = [Linv[j][0] for j in range(len(Linv))]
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
tfinal = time.time()
print('Done, Total time: ', round((tfinal-tinicial), 2), "s")
DetProbeVectorMHz = np.arange(freqMin, freqMax, freqStep)
if plot:
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(DetProbeVectorMHz, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.legend()
return DetProbeVectorMHz, Fluovector
if __name__ == "__main__":
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
B = 25 #campo magnetico en gauss
u = c*B
sg, sr, sp = 0.5, 1.5, 4 #parámetros de saturación del doppler y repump
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6 #anchos de linea de las transiciones
rabG, rabR, rabP = sg*gPS, sr*gPD, sp*gPD #frecuencias de rabi
lwg, lwr, lwp = 0.3, 0.3, 0.3 #ancho de linea de los laseres
Detg = -25
Detr = 20 #detuning del doppler y repump
Temp = 0.0e-3 #temperatura en K
alpha = 0*(np.pi/180) #angulo entre los láseres
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 90
phiprobe, titaprobe = 0, 90
plotCPT = False
freqMin = -50
freqMax = 50
freqStep = 5e-2
Frequencyvector, Fluovector = CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=plotCPT, solvemode=1)
NegativeDR, PositiveDR = CalculoTeoricoDarkResonances(u/(2*np.pi*1e6), titadoppler)
plt.plot(Frequencyvector, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
for PDR in PositiveDR:
plt.axvline(Detr+PDR, linestyle='--', linewidth=0.5, color='red')
for NDR in NegativeDR:
plt.axvline(Detg+NDR, linestyle='--', linewidth=0.5, color='blue')
#parametros que andan piola:
"""
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
B = 17 #campo magnetico en gauss
u = c*B
#u = 80e6
sr, sp = 0.53, 4.2
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6
rabR, rabP = sr*gPS, sp*gPD
lw = 2*np.pi * 0.33e6
lwr, lwp = lw, lw #ancho de linea de los laseres
dr_spec = - 2*np.pi* 26e6
freqSteps = 500
freqMin = -100e6
freqMax = 100e6
dps = 2*np.pi*np.linspace(freqMin, freqMax, freqSteps)
#dps = [-30e6]
alfar = 90*(np.pi/180)
ex_r, ey_r, ez_r = np.sin(alfar)*np.cos(0), np.sin(alfar)*np.sin(0), np.cos(alfar)
alfap = 90*(np.pi/180)
ex_p, ey_p, ez_p = np.sin(alfap)*np.cos(0), np.sin(alfap)*np.sin(0), np.cos(alfap)
"""
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
CPT_FILES = """000010420-IR_Scan_withcal_optimized
000010436-IR_Scan_withcal_optimized
000010437-IR_Scan_withcal_optimized
000010438-IR_Scan_withcal_optimized
000010439-IR_Scan_withcal_optimized
000010440-IR_Scan_withcal_optimized
000010441-IR_Scan_withcal_optimized
"""
HEATING_FILES = """000010422-HeatingRate"""
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
print(SeeKeys(CPT_FILES))
print(SeeKeys(HEATING_FILES))
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20211101_CPT_DosLaseres_v03\Data
Counts = []
Freqs = []
AmpTisa = []
UVCPTAmp = []
No_measures = []
for i, fname in enumerate(CPT_FILES.split()):
print(str(i) + ' - ' + fname)
#print(fname)
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
# Aca hago algo repugnante para poder levantar los strings que dejamos
# que además tenian un error de tipeo al final. Esto no deberá ser necesario
# cuando se solucione el error este del guardado.
Freqs.append(np.array(data['datasets']['IR1_Frequencies']))
Counts.append(np.array(data['datasets']['counts_spectrum']))
#AmpTisa.append(np.array(data['datasets']['TISA_CPT_amp']))
UVCPTAmp.append(np.array(data['datasets']['UV_CPT_amp']))
No_measures.append(np.array(data['datasets']['no_measures']))
Counts_heating = []
Times = []
AmpTisa_heating = []
UVCPTAmp_heating = []
No_measures_heating = []
for i, fname in enumerate(HEATING_FILES.split()):
print(str(i) + ' - ' + fname)
#print(fname)
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
# Aca hago algo repugnante para poder levantar los strings que dejamos
# que además tenian un error de tipeo al final. Esto no deberá ser necesario
# cuando se solucione el error este del guardado.
Times.append(np.array(data['datasets']['heating_times']))
Counts_heating.append(np.array(data['datasets']['counts_spectrum']))
#AmpTisa.append(np.array(data['datasets']['TISA_CPT_amp']))
UVCPTAmp_heating.append(np.array(data['datasets']['UV_CPT_amp']))
No_measures_heating.append(np.array(data['datasets']['no_measures']))
#%%
"""
Ploteo la cpt de referencia
"""
jvec = [0]
plt.figure()
i = 0
for j in jvec:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2)
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.grid()
plt.legend()
#%%
from EITfit.threeLevel_2repumps_AnalysisFunctions import CalculoTeoricoDarkResonances_8levels, GetMinimaInfo, GetPlotsofFluovsAngle_8levels, PerformExperiment_8levels, FindDRFrequencies, FindRelativeFluorescencesOfDR, GenerateNoisyCPT, SmoothNoisyCPT, GetFinalMaps, GenerateNoisyCPT_fixedRabi, GenerateNoisyCPT_fit
from EITfit.threeLevel_2repumps_AnalysisFunctions import MeasureRelativeFluorescenceFromCPT, IdentifyPolarizationCoincidences, RetrieveAbsoluteCoincidencesBetweenMaps, GetClosestIndex
from scipy.optimize import curve_fit
"""
Ajusto un cpt para obtener todos los parámetros relevantes primero.
"""
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6
alpha = 0
noiseamplitude = 0
T = 0.6e-3
sg = 0.544
sp = 4.5
sr = 0
DetRepump = 0
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
u = 33.5e6
c=3e8
B = (u/(2*np.pi))/c
correccion = 6 #con 3 fitea bien
offsetxpi = 440+1+correccion
DetDoppler = -10.5-correccion
FreqsDRpi = [2*f*1e-6-offsetxpi+14 for f in Freqs[0]]
CountsDRpi = Counts[0]
freqslongpi = np.arange(min(FreqsDRpi), max(FreqsDRpi)+FreqsDRpi[1]-FreqsDRpi[0], 0.1*(FreqsDRpi[1]-FreqsDRpi[0]))
#[1.71811842e+04 3.34325038e-17]
def FitEITpi(freqs, SG, SP, scale, offset, temp):
#temp = 2.9e-4
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(SG, sr, SP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, temp, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
#scale = 2.85164232e+04
#offset = 2.16392191e+03
FinalFluo = [f*scale + offset for f in MeasuredFluo]
return FinalFluo
#con doppler broadening solo en uv da: SG, SP, scale, offset, temp
#[4.57165783e-01 8.05907940e+00 6.80017204e+04 3.61150824e-17, 6.77295995e-03]
#con broadening en ambos laseres da
#[4.65604861e-01 8.06781613e+00 6.65914036e+04 4.12611199e-14, 1.80590400e-03]
#esos valores anteriores dan mal la ordenada al origen, cambie correccion y ahora da
#[4.71134671e-01, 7.63142299e+00, 7.30866544e+04, 1.80899906e+02, 1.20863371e-03]
print(f'Temperatura: ({round(1e3*popt_fullcpt[-1],2)} +- {round(1e3*np.sqrt(pcov_fullcpt[-1][-1]),2)}) mK')
popt_fullcpt, pcov_fullcpt = curve_fit(FitEITpi, FreqsDRpi, CountsDRpi, p0=[0.5, 4.5, 1e4, 1e3, 1e-3], bounds=((0, 0, 0, 0, 0), (2, 10, 1e5, 1e5, 10e-3)))
print(popt_fullcpt)
Sat = popt_fullcpt[0]
Det = popt_fullcpt[1]
FittedEITpi = FitEITpi(freqslongpi, *popt_fullcpt)
plt.figure()
plt.errorbar(FreqsDRpi, CountsDRpi, yerr=2*np.sqrt(CountsDRpi), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi, FittedEITpi)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
#%%
"""
Simulo CPTs con todos esos parámetros para distintas temperaturas
"""
TempVecTeorico = list(np.arange(0, 31, 1))
CurvasTeoricas = []
for tempi in TempVecTeorico:
CurvasTeoricas.append(FitEITpi(freqslongpi, *popt_fullcpt[:-1], tempi*1e-3))
#%%
"""
Acá agarro la primera y busco el valor i_DR que corresponde a la resonancia oscura de interés
"""
curva_ref = CurvasTeoricas[0]
i_DR = 955
plt.figure()
plt.plot(freqslongpi, curva_ref)
plt.plot(freqslongpi[i_DR], curva_ref[i_DR],'o')
#%%
"""
Ahora interpolo los valores teóricos de las profundidades de esas resonancias
y aplico la interpolación a las mediciones para obtener temperaturas.
Luego, grafico las temperaturas en función de los tiempos de calentamiento.
"""
from scipy.interpolate import interp1d
FluosDRTeo = [CurvasTeoricas[k][i_DR] for k in range(len(CurvasTeoricas))]
interpolado = interp1d(FluosDRTeo, TempVecTeorico) #creo funcion que interpola
meas = 0
maxi = 9 #valor maximo, dsp el ion se calento
Heating_tim = Times[meas][:maxi]
Heating_tim_ms = [t*1e3 for t in Heating_tim]
Heating_med = [2*c for c in Counts_heating[meas][:maxi]]
ErrorHeating_med = [2*np.sqrt(c) for c in Counts_heating[meas][:maxi]]
Temperaturas_interpoladas = [float(interpolado(h)) for h in Heating_med]
Error_Temperaturas_interpoladas = [float(interpolado(Heating_med[k]+0.5*ErrorHeating_med[k]))-Temperaturas_interpoladas[k] for k in range(len(Heating_med))]
plt.figure()
plt.plot(FluosDRTeo, [1*t for t in TempVecTeorico], 'o', color='orange')
plt.plot(np.linspace(FluosDRTeo[0],FluosDRTeo[-1],1000), interpolado(np.linspace(FluosDRTeo[0],FluosDRTeo[-1],1000)))
plt.xlabel('Cuentas de DR teoricas')
plt.ylabel('Temperatura (mK)')
plt.figure()
#plt.plot(Heating_med, Heating_tim, 'o', color='blue')
plt.errorbar(Heating_tim, Heating_med, yerr=ErrorHeating_med, fmt='o', capsize=2, markersize=2)
plt.ylabel('Cuentas de DR medidas')
plt.xlabel('Heating time (s)')
def lineal(x,a,b):
return a*x+b
#p1,p2 = curve_fit(lineal, Heating_tim_ms, Temperaturas_interpoladas, sigma=Error_Temperaturas_interpoladas)
p1,p2 = curve_fit(lineal, Heating_tim_ms, Temperaturas_interpoladas)
#%%
"""
Grafico finalmente el plot del heating rate de la trampa
"""
plt.figure()
#plt.plot(Heating_tim_ms,Temperaturas_interpoladas,'o')
plt.errorbar(Heating_tim_ms,Temperaturas_interpoladas, yerr=np.array(Error_Temperaturas_interpoladas), fmt='o', capsize=2, markersize=7, color='black')
plt.plot(Heating_tim_ms, lineal(np.array(Heating_tim_ms), *p1), color='red')
plt.xlabel('Heating time (ms)', fontname='STIXGeneral', fontsize=15)
plt.ylabel('Temperature (mK)', fontname='STIXGeneral', fontsize=15)
plt.grid()
plt.xticks([0, 5, 10, 15, 20 ,25, 30, 35], fontname='STIXGeneral', fontsize=15)
plt.yticks([0, 5, 10, 15], fontname='STIXGeneral', fontsize=15)
plt.title(f'Heating rate: ({round(p1[0],2)} +- {round(np.sqrt(p2[0][0]),2)}) mK/ms', fontname='STIXGeneral', fontsize=15)
plt.tight_layout()
plt.savefig('Fig_heatingrate.svg')
print(f'Heating rate: ({round(p1[0],2)} +- {round(np.sqrt(p2[0][0]),2)}) mK/ms')
#%%
"""
Ahora voy a ver CPT enteras con tiempos de calentamiento distintos.
"""
jvec = [3, 4]
plt.figure()
i = 0
for j in jvec:
if j==4:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='Without heating')
elif j==3:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='5 ms heating')
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.ylim(1000,2900)
plt.grid()
plt.legend()
jvec = [1, 2]
plt.figure()
i = 0
for j in jvec:
if j==2:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='Without heating')
elif j==1:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='1 ms heating')
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.ylim(1000,2900)
plt.grid()
plt.legend()
"""
La siguiente curva probablemente no este bien medida ya que inmediatamente
despues, los laseres se deslockearon. La dejo por las dudas.
"""
jvec = [5, 6]
plt.figure()
i = 0
for j in jvec:
if j==6:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='Without heating')
elif j==5:
plt.errorbar([2*f*1e-6 for f in Freqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='o', capsize=2, markersize=2, label='10 ms heating')
i = i + 1
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('counts')
plt.ylim(1000,3900)
plt.grid()
plt.legend()
plt.title('Ojo: medicion condicionada por derivas')
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 2 16:30:09 2020
@author: oem
"""
import os
import numpy as np
import time
import matplotlib.pyplot as plt
from scipy.signal import argrelextrema
from EITfit.threeLevel_2repumps_linealpol_python_scripts import CPTspectrum8levels, CPTspectrum8levels_fixedRabi
import random
from scipy.signal import savgol_filter as sf
def CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump):
if titadoppler==0:
NegativeDR = [(-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u]
elif titadoppler==90:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
else:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
PositiveDR = [(-8/5)*u, (-4/5)*u, 0, (4/5)*u, (8/5)*u]
return [detuningdoppler + dr for dr in NegativeDR], [detuningrepump + dr for dr in PositiveDR]
def GetClosestIndex(Vector, value, tolerance=1e-3):
i = 0
while i<len(Vector):
if abs(Vector[i] - value) < tolerance:
return i
else:
i = i + 1
return GetClosestIndex(Vector, value, tolerance=2*tolerance)
def FindDRFrequencies(Freq, Fluo, TeoDR, entorno=3):
"""
Busca los indices y la frecuencia de los minimos en un entorno cercano al de la DR.
Si no encuentra, devuelve el valor teórico.
"""
IndiceDRteo1, IndiceEntornoinicialDRteo1, IndiceEntornofinalDRteo1 = GetClosestIndex(Freq, TeoDR[0]), GetClosestIndex(Freq, TeoDR[0]-entorno), GetClosestIndex(Freq, TeoDR[0]+entorno)
IndiceDRteo2, IndiceEntornoinicialDRteo2, IndiceEntornofinalDRteo2 = GetClosestIndex(Freq, TeoDR[1]), GetClosestIndex(Freq, TeoDR[1]-entorno), GetClosestIndex(Freq, TeoDR[1]+entorno)
IndiceDRteo3, IndiceEntornoinicialDRteo3, IndiceEntornofinalDRteo3 = GetClosestIndex(Freq, TeoDR[2]), GetClosestIndex(Freq, TeoDR[2]-entorno), GetClosestIndex(Freq, TeoDR[2]+entorno)
IndiceDRteo4, IndiceEntornoinicialDRteo4, IndiceEntornofinalDRteo4 = GetClosestIndex(Freq, TeoDR[3]), GetClosestIndex(Freq, TeoDR[3]-entorno), GetClosestIndex(Freq, TeoDR[3]+entorno)
IndiceDRteo5, IndiceEntornoinicialDRteo5, IndiceEntornofinalDRteo5 = GetClosestIndex(Freq, TeoDR[4]), GetClosestIndex(Freq, TeoDR[4]-entorno), GetClosestIndex(Freq, TeoDR[4]+entorno)
IndiceDRteo6, IndiceEntornoinicialDRteo6, IndiceEntornofinalDRteo6 = GetClosestIndex(Freq, TeoDR[5]), GetClosestIndex(Freq, TeoDR[5]-entorno), GetClosestIndex(Freq, TeoDR[5]+entorno)
EntornoFreqDR1, EntornoFreqDR2 = Freq[IndiceEntornoinicialDRteo1:IndiceEntornofinalDRteo1], Freq[IndiceEntornoinicialDRteo2:IndiceEntornofinalDRteo2]
EntornoFreqDR3, EntornoFreqDR4 = Freq[IndiceEntornoinicialDRteo3:IndiceEntornofinalDRteo3], Freq[IndiceEntornoinicialDRteo4:IndiceEntornofinalDRteo4]
EntornoFreqDR5, EntornoFreqDR6 = Freq[IndiceEntornoinicialDRteo5:IndiceEntornofinalDRteo5], Freq[IndiceEntornoinicialDRteo6:IndiceEntornofinalDRteo6]
EntornoFluoDR1, EntornoFluoDR2 = Fluo[IndiceEntornoinicialDRteo1:IndiceEntornofinalDRteo1], Fluo[IndiceEntornoinicialDRteo2:IndiceEntornofinalDRteo2]
EntornoFluoDR3, EntornoFluoDR4 = Fluo[IndiceEntornoinicialDRteo3:IndiceEntornofinalDRteo3], Fluo[IndiceEntornoinicialDRteo4:IndiceEntornofinalDRteo4]
EntornoFluoDR5, EntornoFluoDR6 = Fluo[IndiceEntornoinicialDRteo5:IndiceEntornofinalDRteo5], Fluo[IndiceEntornoinicialDRteo6:IndiceEntornofinalDRteo6]
IndiceFluoMinimaEntorno1, IndiceFluoMinimaEntorno2 = argrelextrema(np.array(EntornoFluoDR1), np.less)[0], argrelextrema(np.array(EntornoFluoDR2), np.less)[0]
IndiceFluoMinimaEntorno3, IndiceFluoMinimaEntorno4 = argrelextrema(np.array(EntornoFluoDR3), np.less)[0], argrelextrema(np.array(EntornoFluoDR4), np.less)[0]
IndiceFluoMinimaEntorno5, IndiceFluoMinimaEntorno6 = argrelextrema(np.array(EntornoFluoDR5), np.less)[0], argrelextrema(np.array(EntornoFluoDR6), np.less)[0]
try:
FreqDR1 = EntornoFreqDR1[int(IndiceFluoMinimaEntorno1)]
IndiceDR1 = GetClosestIndex(Freq, FreqDR1)
except:
FreqDR1 = TeoDR[0]
IndiceDR1 = IndiceDRteo1
try:
FreqDR2 = EntornoFreqDR2[int(IndiceFluoMinimaEntorno2)]
IndiceDR2 = GetClosestIndex(Freq, FreqDR2)
except:
FreqDR2 = TeoDR[1]
IndiceDR2 = IndiceDRteo2
try:
FreqDR3 = EntornoFreqDR3[int(IndiceFluoMinimaEntorno3)]
IndiceDR3 = GetClosestIndex(Freq, FreqDR3)
except:
FreqDR3 = TeoDR[2]
IndiceDR3 = IndiceDRteo3
try:
FreqDR4 = EntornoFreqDR4[int(IndiceFluoMinimaEntorno4)]
IndiceDR4 = GetClosestIndex(Freq, FreqDR4)
except:
FreqDR4 = TeoDR[3]
IndiceDR4 = IndiceDRteo4
try:
FreqDR5 = EntornoFreqDR5[int(IndiceFluoMinimaEntorno5)]
IndiceDR5 = GetClosestIndex(Freq, FreqDR5)
except:
FreqDR5 = TeoDR[4]
IndiceDR5 = IndiceDRteo5
try:
FreqDR6 = EntornoFreqDR6[int(IndiceFluoMinimaEntorno6)]
IndiceDR6 = GetClosestIndex(Freq, FreqDR6)
except:
FreqDR6 = TeoDR[5]
IndiceDR6 = IndiceDRteo6
return [IndiceDR1, IndiceDR2, IndiceDR3, IndiceDR4, IndiceDR5, IndiceDR6], [FreqDR1, FreqDR2, FreqDR3, FreqDR4, FreqDR5, FreqDR6]
def FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=1, frecuenciareferenciacriterioasintotico=-100, getindices=False):
"""
Toma los indices donde estan las DR y evalua su fluorescencia. Esos indices son minimos locales en un entorno
cercano a las DR teoricas y, si no hay ningun minimo, toma la teorica.
Luego, hace el cociente de esa fluorescencia y un factor de normalización segun NormalizationCriterium:
1: Devuelve la fluorescencia absoluta de los minimos
2: Devuelve el cociente entre la fluorescencia del minimo y un valor medio entre dos puntos lejanos, como si no
hubiera una resonancia oscura y hubiera una recta. Ese valor esta a DistanciaFrecuenciaCociente del detuning del azul (el punto medio entre las dos DR en este caso)
3: Devuelve el cociente entre la fluorescencia del minimo y el valor a -100 MHz (si se hizo de -100 a 100),
o el valor limite por izquierda de la curva
4: Deuelve el cociente entre la fluorescencia del minimo y el valor de fluorescencia a detuning 0 MHz
"""
IndiceDR1, IndiceDR2, IndiceDR3, IndiceDR4, IndiceDR5, IndiceDR6 = IndicesDR[0], IndicesDR[1], IndicesDR[2], IndicesDR[3], IndicesDR[4], IndicesDR[5]
FluorescenceOfMinimums = [Fluo[IndiceDR1], Fluo[IndiceDR2], Fluo[IndiceDR3], Fluo[IndiceDR4], Fluo[IndiceDR5], Fluo[IndiceDR6]]
FrequencyOfMinimums = [Freq[IndiceDR1], Freq[IndiceDR2], Freq[IndiceDR3], Freq[IndiceDR4], Freq[IndiceDR5], Freq[IndiceDR6]]
DistanciaFrecuenciaCociente = 25
if NormalizationCriterium==0:
print('che')
return FrequencyOfMinimums, FluorescenceOfMinimums
if NormalizationCriterium==1:
Fluorescenciacerodetuning = Fluo[GetClosestIndex(Freq, 0)]
Fluorescenciaasintotica = Fluo[GetClosestIndex(Freq, frecuenciareferenciacriterioasintotico)]
return FrequencyOfMinimums, np.array([Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica, Fluorescenciacerodetuning/Fluorescenciaasintotica])
if NormalizationCriterium==2:
k = 0
while k < len(Freq):
if Freq[k] < detuningdoppler-DistanciaFrecuenciaCociente + 2 and Freq[k] > detuningdoppler-DistanciaFrecuenciaCociente - 2:
FluoIzquierda = Fluo[k]
indiceizquierda = k
print('Izq:', Freq[k])
break
else:
k = k + 1
l = 0
while l < len(Freq):
if Freq[l] < detuningdoppler+DistanciaFrecuenciaCociente + 2 and Freq[l] > detuningdoppler+DistanciaFrecuenciaCociente - 2:
FluoDerecha = Fluo[l]
indicederecha = l
print('Der: ', Freq[l])
break
else:
l = l + 1
FluoNormDivisor = 0.5*(FluoDerecha+FluoIzquierda)
print(FluoNormDivisor)
if NormalizationCriterium==3:
#asintotico
FluoNormDivisor = Fluo[GetClosestIndex(Freq, frecuenciareferenciacriterioasintotico)]
if NormalizationCriterium==4:
#este te tira la fluorescencia de detuning 0
FluoNormDivisor = Fluo[GetClosestIndex(Freq, 0)]
RelativeFluorescenceOfMinimums = np.array([Fluore/FluoNormDivisor for Fluore in FluorescenceOfMinimums])
print('Esto: ', RelativeFluorescenceOfMinimums)
if NormalizationCriterium==2 and getindices==True:
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums, indiceizquierda, indicederecha
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums
def GetFinalMaps(MapasDR1, MapasDR2, MapasDR3, MapasDR4, MapasDR5, MapasDR6):
"""
Nota: esto vale para polarizacion del 397 sigma+ + sigma-. Sino hay que cambiar los coeficientes.
La estructura es:
MapasDRi = [MapaMedido_criterio1_DRi, MapaMedido_criterio2_DRi, MapaMedido_criterio3_DRi, MapaMedido_criterio4_DRi]
"""
Mapa1 = MapasDR1[0]
Mapa2pi = np.sqrt(3)*(MapasDR2[1] + MapasDR5[1])
Mapa2smas = np.sqrt(12/2)*MapasDR3[1] + (2/np.sqrt(2))*MapasDR6[1]
Mapa2smenos = (2/np.sqrt(2))*MapasDR1[1] + np.sqrt(12/2)*MapasDR4[1]
Mapa3pi = np.sqrt(3)*(MapasDR2[2] + MapasDR5[2])
Mapa3smas = np.sqrt(12/2)*MapasDR3[2] + (2/np.sqrt(2))*MapasDR6[2]
Mapa3smenos = (2/np.sqrt(2))*MapasDR1[2] + np.sqrt(12/2)*MapasDR4[2]
return Mapa1, [Mapa2pi, Mapa2smas, Mapa2smenos], [Mapa3pi, Mapa3smas, Mapa3smenos]
def CombinateDRwithCG(RelMinMedido1, RelMinMedido2, RelMinMedido3, RelMinMedido4):
Fluo1 = RelMinMedido1[0]
Fluo2pi = np.sqrt(3)*(RelMinMedido2[1] + RelMinMedido2[4])
Fluo2smas = np.sqrt(12/2)*RelMinMedido2[2] + (2/np.sqrt(2))*RelMinMedido2[5]
Fluo2smenos = (2/np.sqrt(2))*RelMinMedido2[0] + np.sqrt(12/2)*RelMinMedido2[3]
Fluo3pi = np.sqrt(3)*(RelMinMedido3[1] + RelMinMedido3[4])
Fluo3smas = np.sqrt(12/2)*RelMinMedido3[2] + (2/np.sqrt(2))*RelMinMedido3[5]
Fluo3smenos = (2/np.sqrt(2))*RelMinMedido3[0] + np.sqrt(12/2)*RelMinMedido3[3]
return Fluo1, [Fluo2pi, Fluo2smas, Fluo2smenos], [Fluo3pi, Fluo3smas, Fluo3smenos]
def IdentifyPolarizationCoincidences(theoricalmap, target, tolerance=1e-1):
"""
Busca en un mapa 2D la presencia de un valor target (medido) con tolerancia tolerance.
Si lo encuentra, pone un 1. Sino, un 0. Al plotear con pcolor se verá
en blanco la zona donde el valor medido se puede hallar.
"""
CoincidenceMatrix = np.zeros((len(theoricalmap), len(theoricalmap[0])))
i = 0
while i<len(theoricalmap):
j = 0
while j<len(theoricalmap[0]):
if abs(theoricalmap[i][j]-target) < tolerance:
CoincidenceMatrix[i][j] = 1
j=j+1
i=i+1
return CoincidenceMatrix
def RetrieveAbsoluteCoincidencesBetweenMaps(MapsVectors):
MatrixSum = np.zeros((len(MapsVectors[0]), len(MapsVectors[0][0])))
AbsoluteCoincidencesMatrix = np.zeros((len(MapsVectors[0]), len(MapsVectors[0][0])))
MatrixMapsVectors = []
for i in range(len(MapsVectors)):
MatrixMapsVectors.append(np.matrix(MapsVectors[i]))
for i in range(len(MatrixMapsVectors)):
MatrixSum = MatrixSum + MatrixMapsVectors[i]
MaxNumberOfCoincidences = np.max(MatrixSum)
ListMatrixSum = [list(i) for i in list(np.array(MatrixSum))]
for i in range(len(ListMatrixSum)):
for j in range(len(ListMatrixSum[0])):
if ListMatrixSum[i][j] == MaxNumberOfCoincidences:
AbsoluteCoincidencesMatrix[i][j] = 1
return AbsoluteCoincidencesMatrix, MaxNumberOfCoincidences
def MeasureMeanValueOfEstimatedArea(AbsoluteCoincidencesMap, X, Y):
NonZeroIndices = np.nonzero(AbsoluteCoincidencesMap)
Xsum = 0
Xvec = []
Ysum = 0
Yvec = []
N = len(NonZeroIndices[0])
for i in range(N):
Xsum = Xsum + X[NonZeroIndices[1][i]]
Xvec.append(X[NonZeroIndices[1][i]])
Ysum = Ysum + Y[NonZeroIndices[0][i]]
Yvec.append(Y[NonZeroIndices[0][i]])
Xaverage = Xsum/N
Yaverage = Ysum/N
Xspread = np.std(Xvec)
Yspread = np.std(Yvec)
return Xaverage, Yaverage, N, Xspread, Yspread
def MeasureRelativeFluorescenceFromCPT(Freq, Fluo, u, titadoppler, detuningrepump, detuningdoppler, frefasint=-100, entorno=3):
ResonanciasTeoricas, ResonanciasPositivas = CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)
IndicesDR, FreqsDR = FindDRFrequencies(Freq, Fluo, ResonanciasTeoricas, entorno=entorno)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums0 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=0, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums1 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=1, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums2, indiceizquierda, indicederecha = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=2, frecuenciareferenciacriterioasintotico=frefasint, getindices=True)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums3 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=3, frecuenciareferenciacriterioasintotico=frefasint)
FrequencyOfMinimums, RelativeFluorescenceOfMinimums4 = FindRelativeFluorescencesOfDR(Freq, Fluo, IndicesDR, detuningdoppler, NormalizationCriterium=4, frecuenciareferenciacriterioasintotico=frefasint)
print('hola')
print(RelativeFluorescenceOfMinimums0)
return RelativeFluorescenceOfMinimums0, RelativeFluorescenceOfMinimums1, RelativeFluorescenceOfMinimums2, RelativeFluorescenceOfMinimums3, RelativeFluorescenceOfMinimums4, IndicesDR, [indiceizquierda, indicederecha]
def GenerateNoisyCPT(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def GenerateNoisyCPT_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def GenerateNoisyCPT_fit(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=0.001):
Frequencyvector, Fluovector = PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, min(freqs), max(freqs) + freqs[1]-freqs[0], freqs[1]-freqs[0], plot=False, solvemode=1, detpvec=None)
NoisyFluovector = [fluo+noiseamplitude*(2*random.random()-1) for fluo in Fluovector]
return Frequencyvector, NoisyFluovector
def AddNoiseToCPT(Fluo, noisefactor):
return [f+noisefactor*(2*random.random()-1) for f in Fluo]
def SmoothNoisyCPT(Fluo, window=11, poly=3):
SmoothenFluo = sf(Fluo, window, poly)
return SmoothenFluo
def GetMinimaInfo(Freq, Fluo, u, titadoppler, detuningdoppler, detuningrepump, MinimumCriterium=2, NormalizationCriterium=1):
"""
FUNCION VIEJA
Esta funcion devuelve valores de frecuencias y fluorescencia relativa de los minimos.
Minimumcriterion:
1: Saca los minimos con funcion argelextrema
2: Directamente con las frecuencias teoricas busca las fluorescencias
Normalizationcriterium:
1: Devuelve la fluorescencia absoluta de los minimos
2: Devuelve el cociente entre la fluorescencia del minimo y un valor medio entre dos puntos lejanos, como si no
hubiera una resonancia oscura y hubiera una recta. Ese valor esta a DistanciaFrecuenciaCociente del detuning del azul (el punto medio entre las dos DR en este caso)
3: Devuelve el cociente entre la fluorescencia del minimo y el valor a -100 MHz (si se hizo de -100 a 100),
o el valor limite por izquierda de la curva
"""
FluorescenceOfMaximum = max(Fluo)
FrequencyOfMaximum = Freq[Fluo.index(FluorescenceOfMaximum)]
#criterio para encontrar los minimos
#criterio usando minimos de la fluorescencia calculados con la curva
if MinimumCriterium == 1:
LocationOfMinimums = argrelextrema(np.array(Fluo), np.less)[0]
FluorescenceOfMinimums = np.array([Fluo[i] for i in LocationOfMinimums])
FrequencyOfMinimums = np.array([Freq[j] for j in LocationOfMinimums])
#criterio con las DR teoricas
if MinimumCriterium == 2:
FrecuenciasDRTeoricas, FrecuenciasDRTeoricasPositivas = [darkresonance for darkresonance in CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)[0]]
FrequencyOfMinimums = []
FluorescenceOfMinimums =[]
print(FrecuenciasDRTeoricas)
k=0
ventanita = 0.001
while k < len(Freq):
if Freq[k] < FrecuenciasDRTeoricas[0] + ventanita and Freq[k] > FrecuenciasDRTeoricas[0] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[1] + ventanita and Freq[k] > FrecuenciasDRTeoricas[1] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[2] + ventanita and Freq[k] > FrecuenciasDRTeoricas[2] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[3] + ventanita and Freq[k] > FrecuenciasDRTeoricas[3] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[4] + ventanita and Freq[k] > FrecuenciasDRTeoricas[4] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
elif Freq[k] < FrecuenciasDRTeoricas[5] + ventanita and Freq[k] > FrecuenciasDRTeoricas[5] - ventanita:
FrequencyOfMinimums.append(Freq[k])
FluorescenceOfMinimums.append(Fluo[k])
k = k + 1
print(FrequencyOfMinimums)
if len(FrequencyOfMinimums) != len(FrecuenciasDRTeoricas):
print('NO ANDA BIEN ESTO PAPI, revisalo')
#esto es para establecer un criterio para la fluorescencia relativa
DistanciaFrecuenciaCociente = 15
if NormalizationCriterium==1:
FluoNormDivisor = 1
if NormalizationCriterium==2:
k = 0
while k < len(Freq):
if Freq[k] < detuningdoppler-DistanciaFrecuenciaCociente + 2 and Freq[k] > detuningdoppler-DistanciaFrecuenciaCociente - 2:
FluoIzquierda = Fluo[k]
print('Izq:', Freq[k])
break
else:
k = k + 1
l = 0
while l < len(Freq):
if Freq[l] < detuningdoppler+DistanciaFrecuenciaCociente + 2 and Freq[l] > detuningdoppler+DistanciaFrecuenciaCociente - 2:
FluoDerecha = Fluo[l]
print('Der: ', Freq[l])
break
else:
l = l + 1
FluoNormDivisor = 0.5*(FluoDerecha+FluoIzquierda)
print(FluoNormDivisor)
if NormalizationCriterium==3:
FluoNormDivisor = Fluo[0]
RelativeFluorescenceOfMinimums = np.array([Fluore/FluoNormDivisor for Fluore in FluorescenceOfMinimums])
return FrequencyOfMinimums, RelativeFluorescenceOfMinimums
def GetPlotsofFluovsAngle_8levels(FrequencyOfMinimumsVector, RelativeFluorescenceOfMinimumsVector, u, titadoppler, detuningdoppler, detuningrepump, ventana=0.25, taketheoricalDR=False):
#primero buscamos las frecuencias referencia que se parezcan a las 6:
i = 0
FrecuenciasReferenciaBase = FrequencyOfMinimumsVector[0]
FrecuenciasDRTeoricas = [darkresonance for darkresonance in CalculoTeoricoDarkResonances_8levels(u, titadoppler, detuningdoppler, detuningrepump)[0]]
while i < len(FrequencyOfMinimumsVector):
if len(FrequencyOfMinimumsVector[i])==len(FrecuenciasDRTeoricas):
FrecuenciasReferenciaBase = FrequencyOfMinimumsVector[i]
print('Cool! Taking the DR identified with any curve')
break
else:
i = i + 1
if i==len(FrequencyOfMinimumsVector):
print('No hay ningun plot con 5 resonancias oscuras. Tomo las teóricas')
FrecuenciasReferenciaBase = FrecuenciasDRTeoricas
if taketheoricalDR:
FrecuenciasReferenciaBase = FrecuenciasDRTeoricas
Ventana = abs(ventana*(FrecuenciasReferenciaBase[1] - FrecuenciasReferenciaBase[0])) #ventana separadora de resonancias
print('Ventana = ', Ventana)
DarkResonance1Frequency = []
DarkResonance1Fluorescence = []
DarkResonance2Frequency = []
DarkResonance2Fluorescence = []
DarkResonance3Frequency = []
DarkResonance3Fluorescence = []
DarkResonance4Frequency = []
DarkResonance4Fluorescence = []
DarkResonance5Frequency = []
DarkResonance5Fluorescence = []
DarkResonance6Frequency = []
DarkResonance6Fluorescence = []
i = 0
while i < len(FrequencyOfMinimumsVector):
j = 0
FrecuenciasReferencia = [i for i in FrecuenciasReferenciaBase]
while j < len(FrequencyOfMinimumsVector[i]):
if abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[0])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[0])-Ventana):
DarkResonance1Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance1Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[0] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[1])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[1])-Ventana):
DarkResonance2Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance2Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[1] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[2])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[2])-Ventana):
DarkResonance3Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance3Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[2] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[3])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[3])-Ventana):
DarkResonance4Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance4Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[3] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[4])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[4])-Ventana):
DarkResonance5Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance5Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[4] = 0
elif abs(FrequencyOfMinimumsVector[i][j]) < (abs(FrecuenciasReferencia[5])+Ventana) and abs(FrequencyOfMinimumsVector[i][j]) >= (abs(FrecuenciasReferencia[5])-Ventana):
DarkResonance6Frequency.append(FrequencyOfMinimumsVector[i][j])
DarkResonance6Fluorescence.append(RelativeFluorescenceOfMinimumsVector[i][j])
FrecuenciasReferencia[5] = 0
else:
#print('Algo anduvo mal, por ahi tenes que cambiar la ventana che')
pass
j = j + 1
if np.count_nonzero(FrecuenciasReferencia) > 0:
if FrecuenciasReferencia[0] != 0:
DarkResonance1Frequency.append(FrecuenciasReferencia[0])
DarkResonance1Fluorescence.append()
if FrecuenciasReferencia[1] != 0:
DarkResonance2Frequency.append(FrecuenciasReferencia[1])
DarkResonance2Fluorescence.append(0)
if FrecuenciasReferencia[2] != 0:
DarkResonance3Frequency.append(FrecuenciasReferencia[2])
DarkResonance3Fluorescence.append(0)
if FrecuenciasReferencia[3] != 0:
DarkResonance4Frequency.append(FrecuenciasReferencia[3])
DarkResonance4Fluorescence.append(0)
if FrecuenciasReferencia[4] != 0:
DarkResonance5Frequency.append(FrecuenciasReferencia[4])
DarkResonance5Fluorescence.append(0)
if FrecuenciasReferencia[5] != 0:
DarkResonance6Frequency.append(FrecuenciasReferencia[5])
DarkResonance6Fluorescence.append(0)
i = i + 1
return DarkResonance1Frequency, DarkResonance1Fluorescence, DarkResonance2Frequency, DarkResonance2Fluorescence, DarkResonance3Frequency, DarkResonance3Fluorescence, DarkResonance4Frequency, DarkResonance4Fluorescence, DarkResonance5Frequency, DarkResonance5Fluorescence, DarkResonance6Frequency, DarkResonance6Fluorescence, FrecuenciasReferenciaBase
def PerformExperiment_8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
Fluovectors = []
for titaprobe in titaprobeVec:
tinicial = time.time()
ProbeDetuningVectorL, Fluovector = CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=False, solvemode=1)
tfinal = time.time()
print('Done angle ', titarepump, ' Total time: ', round((tfinal-tinicial), 2), "s")
if plot:
plt.figure()
plt.xlabel('Repump detuning (MHz')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(ProbeDetuningVectorL, Fluovector, label=str(titarepump)+'º tita repump, T: ' + str(T*1e3) + ' mK')
plt.legend()
Fluovectors.append(Fluovector)
if len(titaprobeVec) == 1: #esto es para que no devuelva un vector de vectores si solo fijamos un angulo
Fluovectors = Fluovector
return ProbeDetuningVectorL, Fluovectors
def PerformExperiment_8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobeVec, phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
Fluovectors = []
for titaprobe in titaprobeVec:
tinicial = time.time()
ProbeDetuningVectorL, Fluovector = CPTspectrum8levels_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=False, solvemode=1)
tfinal = time.time()
print('Done angle ', titarepump, ' Total time: ', round((tfinal-tinicial), 2), "s")
if plot:
plt.figure()
plt.xlabel('Repump detuning (MHz')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(ProbeDetuningVectorL, Fluovector, label=str(titarepump)+'º tita repump, T: ' + str(T*1e3) + ' mK')
plt.legend()
Fluovectors.append(Fluovector)
if len(titaprobeVec) == 1: #esto es para que no devuelva un vector de vectores si solo fijamos un angulo
Fluovectors = Fluovector
return ProbeDetuningVectorL, Fluovectors
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Sep 1 17:58:39 2020
@author: oem
"""
import os
import numpy as np
#os.chdir('/home/oem/Nextcloud/G_liaf/liaf-TrampaAnular/Código General/EIT-CPT/Buenos Aires/Experiment Simulations/CPT scripts/Eight Level 2 repumps')
from threeLevel_2repumps_AnalysisFunctions import CalculoTeoricoDarkResonances_8levels, GetMinimaInfo, GetPlotsofFluovsAngle_8levels, PerformExperiment_8levels, FindDRFrequencies, FindRelativeFluorescencesOfDR, GenerateNoisyCPT, SmoothNoisyCPT, GetFinalMaps, GenerateNoisyCPT_fixedRabi, GenerateNoisyCPT_fit
import matplotlib.pyplot as plt
import time
from threeLevel_2repumps_AnalysisFunctions import MeasureRelativeFluorescenceFromCPT, IdentifyPolarizationCoincidences, RetrieveAbsoluteCoincidencesBetweenMaps, GetClosestIndex
#C:\Users\Usuario\Nextcloud\G_liaf\liaf-TrampaAnular\Código General\EIT-CPT\Buenos Aires\Experiment Simulations\CPT scripts\Eight Level 2 repumps
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
#u = 1e6
u = 33.5e6
B = (u/(2*np.pi))/c
#sg, sp = 0.6, 5 #parámetros de control, saturación del doppler y repump
#rabG, rabP = sg*gPS, sp*gPD #frecuencias de rabi
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6 #anchos de linea de las transiciones
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
DetDoppler = -36 #42
DetRepumpVec = [DetDoppler+29.6]
Tvec = [0.7] #temperatura en mK
alpha = 0*(np.pi/180) #angulo entre los láseres
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
#Calculo las resonancias oscuras teóricas
#ResonanciasTeoricas, DRPositivas = CalculoTeoricoDarkResonances_8levels(u/(2*np.pi*1e6), titadoppler, DetDoppler, DetRepump)
#Parametros de la simulacion cpt
center = -45
span = 80
freqMin = center-span*0.5
freqMax = center+span*0.5
""" parametros para tener espectros coherentes
freqMin = -56
freqMax = 14
"""
freqStep = 1e-1
noiseamplitude = 0
RelMinMedido0Vector = []
RelMinMedido1Vector = []
RelMinMedido2Vector = []
RelMinMedido3Vector = []
RelMinMedido4Vector = []
#Sr = np.arange(0, 10, 0.2)
#Sg = np.arange(0.01, 1, 0.05)
#Sp = np.arange(0.1, 6.1, 1)
#Sg = [0.6**2]
#Sp = [2.3**2]
Sg = [1.4]
Sp = [6]
Sr = [11]
i = 0
save = False
showFigures = True
if not showFigures:
plt.ioff()
else:
plt.ion()
fig1, ax1 = plt.subplots()
offsetx = 464
ax1.plot([f-offsetx for f in FreqsDR], CountsDR, 'o')
run = True
Scale = 730
Offset = 600 #600 para 20k cuentas aprox
MaxCoherenceValue = []
for sg in Sg:
for sp in Sp:
rabG, rabP = sg*gPS, sp*gPD
for Ti in Tvec:
T = Ti*1e-3
for DetRepump in DetRepumpVec:
print(T)
for sr in Sr:
rabR = sr*gPD
#MeasuredFreq, MeasuredFluo = GenerateNoisyCPT(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
if run:
MeasuredFreq4, MeasuredFluo4 = GenerateNoisyCPT_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
#SmoothFluo = SmoothNoisyCPT(MeasuredFluo, window=9, poly=2)
SmoothFluo4 = MeasuredFluo4
#Scale = max(BestC)/max([100*s for s in SmoothFluo4])
ax1.plot(MeasuredFreq4, [Scale*100*f + Offset for f in SmoothFluo4], label=f'Sr = {sr}')
ax1.axvline(DetDoppler, linestyle='--', linewidth=1)
#if sr != 0:
#ax1.axvline(DetRepump, linestyle='--', linewidth=1)
MaxCoherenceValue.append(np.max(SmoothFluo4))
#print(titaprobe)
ax1.set_xlabel('Detuning Rebombeo (MHz)')
ax1.set_ylabel('Fluorescencia (AU)')
ax1.set_title(f'B: {round(B, 2)} G, Sdop: {round(sg, 2)}, Sp: {round(sp, 2)}, Sr: {round(sr, 2)}, lw: {lw} MHz, T: {Ti} mK')
#ax1.set_ylim(0, 8)
#ax1.axvline(DetDoppler, linestyle='dashed', color='red', linewidth=1)
#ax1.axvline(DetRepump, linestyle='dashed', color='black', linewidth=1)
#ax1.set_title('Pol Doppler y Repump: Sigma+ Sigma-, Pol Probe: PI')
#ax1.legend()
ax1.grid()
print (f'{i+1}/{len(Sg)*len(Sp)}')
i = i + 1
if save:
plt.savefig(f'Mapa_plots_100k_1mk/CPT_SMSM_sdop{round(sg, 2)}_sp{round(sp, 2)}_sr{round(sr, 2)}.jpg')
ax1.legend()
"""
plt.figure()
plt.plot(Sr, MaxCoherenceValue, 'o')
plt.xlabel('Sr')
plt.ylabel('Coherence')
"""
"""
plt.figure()
plt.plot(MeasuredFreq, [100*f for f in SmoothFluo], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.4, 1.8, 0.2))
plt.ylim(0.5, 1.6)
plt.grid()
plt.figure()
plt.plot(MeasuredFreq4, [100*f for f in SmoothFluo4], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.8, 2.4, 0.4))
plt.grid()
"""
#%%
from scipy.optimize import curve_fit
T = 0.5e-3
sg = 0.7
sp = 6
sr = 0
DetDoppler = -14
DetRepump = 0
FitsSp = []
FitsOffset = []
Sg = [0.87]
def FitEIT(freqs, SP, offset):
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(0.87, sr, SP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*43000 + 2685 for f in MeasuredFluo]
return FinalFluo
freqs = [f-offsetx+32 for f in FreqsDR]
freqslong = np.arange(min(freqs), max(freqs)+freqs[1]-freqs[0], 0.1*(freqs[1]-freqs[0]))
popt, pcov = curve_fit(FitEIT, freqs, CountsDR, p0=[5, 700], bounds=(0, [10, 1e6]))
FitsSp.append(popt[0])
FitsOffset.append(popt[1])
print(popt)
FittedEIT = FitEIT(freqslong, *popt)
plt.figure()
plt.errorbar(freqs, CountsDR, yerr=2*np.sqrt(CountsDR), fmt='o', capsize=2, markersize=2)
plt.plot(freqslong, FitEIT(freqslong, *popt))
plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {T*1e3} mK, detDop: {DetDoppler} MHz')
np.savetxt('CPT_measured.txt', np.transpose([freqs, CountsDR]))
np.savetxt('CPT_fitted.txt', np.transpose([freqslong, FittedEIT]))
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 7 22:30:01 2020
@author: nico
"""
import numpy as np
import time
import matplotlib.pyplot as plt
from scipy.signal import argrelextrema
"""
Scripts para el calculo de la curva CPT
"""
def H0matrix(Detg, Detp, u):
"""
Calcula la matriz H0 en donde dr es el detuning del doppler, dp es el retuning del repump y u es el campo magnético en Hz/Gauss.
Para esto se toma la energía del nivel P como 0
"""
eigenEnergies = (Detg-u, Detg+u, -u/3, u/3, Detp-6*u/5, Detp-2*u/5, Detp+2*u/5, Detp+6*u/5) #pagina 26 de Oberst. los lande del calcio son iguales a Bario.
H0 = np.diag(eigenEnergies)
return H0
def HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe):
"""
Calcula la matriz de interacción Hsp + Hpd, en donde rabR es la frecuencia de rabi de la transición Doppler SP,
rabP es la frecuencia de rabi de la transición repump DP, y las componentes ei_r y ei_p son las componentes de la polarización
del campo eléctrico incidente de doppler y repump respectivamente. Deben estar normalizadas a 1
"""
HI = np.zeros((8, 8), dtype=np.complex_)
i, j = 1, 3
HI[i-1, j-1] = (rabG/np.sqrt(3)) * np.cos(titadoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 1, 4
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.sin(titadoppler)*np.exp(1j*phidoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 2, 3
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.sin(titadoppler)*np.exp(-1j*phidoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 2, 4
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.cos(titadoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 5
HI[i-1, j-1] = -(rabP/2) * np.sin(titaprobe)*np.exp(-1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 6
HI[i-1, j-1] = -(rabP/np.sqrt(3)) * np.cos(titaprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 7
HI[i-1, j-1] = rabP/np.sqrt(12) * np.sin(titaprobe)*np.exp(1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 6
HI[i-1, j-1] = -(rabP/np.sqrt(12)) * np.sin(titaprobe)*np.exp(-1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 7
HI[i-1, j-1] = -(rabP/np.sqrt(3)) * np.cos(titaprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 8
HI[i-1, j-1] = (rabP/2) * np.sin(titaprobe)*np.exp(1j*phiprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
return HI
def Lplusminus(detr, detp, phirepump, titarepump, forma=1):
Hintplus = np.zeros((8, 8), dtype=np.complex_)
Hintminus = np.zeros((8, 8), dtype=np.complex_)
Hintplus[4, 2] = (-1/2)*np.sin(titarepump)*np.exp(1j*phirepump)
Hintplus[5, 2] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintplus[6, 2] = (1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintplus[5, 3] = (-1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(1j*phirepump)
Hintplus[6, 3] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintplus[7, 3] = (1/2)*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[2, 4] = (-1/2)*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[2, 5] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintminus[2, 6] = (1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(1j*phirepump)
Hintminus[3, 5] = (-1/(2*np.sqrt(3)))*np.sin(titarepump)*np.exp(-1j*phirepump)
Hintminus[3, 6] = (-1/np.sqrt(3))*np.cos(titarepump)
Hintminus[3, 7] = (1/2)*np.sin(titarepump)*np.exp(1j*phirepump)
if forma==1:
Lplus = np.zeros((64, 64), dtype=np.complex_)
Lminus = np.zeros((64, 64), dtype=np.complex_)
DeltaBar = np.zeros((64, 64), dtype=np.complex_)
for r in range(8):
for q in range(8):
for k in range(8):
for j in range(8):
if j==q:
if (k==2 or k==3) and r > 3:
Lplus[r*8+q][k*8+j] = (-1j)*(Hintplus[r,k])
if (r==2 or r==3) and k > 3:
Lminus[r*8+q][k*8+j] = (-1j)*(Hintminus[r,k])
elif r==k:
if (q==2 or q==3) and j > 3:
Lplus[r*8+q][k*8+j] = (-1j)*(- Hintplus[j,q])
if (j==2 or j==3) and q > 3:
Lminus[r*8+q][k*8+j] = (-1j)*(- Hintminus[j,q])
if forma==2:
deltaKro = np.diag([1, 1, 1, 1, 1, 1, 1, 1])
Lplus = (-1j)*(np.kron(Hintplus, deltaKro) - np.kron(deltaKro, Hintplus))
Lminus = (-1j)*(np.kron(Hintminus, deltaKro) - np.kron(deltaKro, Hintminus))
DeltaBar = np.zeros((64, 64), dtype=np.complex_)
for i in range(64):
DeltaBar[i, i] = (1j)*(detr - detp)
return np.matrix(Lminus), np.matrix(Lplus), np.matrix(DeltaBar)
def GetL1(Lplus, Lminus, DeltaBar, L0, rabR, nmax):
"""
Devuelve Splus0 y Sminus0
"""
Sp = (-1)*(0.5*rabR)*(np.matrix(np.linalg.inv(L0 - (nmax+1)*DeltaBar))*np.matrix(Lplus))
Sm = (-1)*(0.5*rabR)*(np.matrix(np.linalg.inv(L0 + (nmax+1)*DeltaBar))*np.matrix(Lminus))
for n in list(range(nmax+1))[(nmax+1)::-1][0:len(list(range(nmax+1))[(nmax+1)::-1])-1]: #jaja esto solo es para que vaya de nmax a 1 bajando. debe haber algo mas facil pero kcio
Sp = (-1)*(rabR)*(np.matrix(np.linalg.inv(L0 - n*DeltaBar + rabR*(Lminus*np.matrix(Sp))))*np.matrix(Lplus))
Sm = (-1)*(rabR)*(np.matrix(np.linalg.inv(L0 + n*DeltaBar + rabR*(Lplus*np.matrix(Sm))))*np.matrix(Lminus))
L1 = 0.5*rabR*(np.matrix(Lminus)*np.matrix(Sp) + np.matrix(Lplus)*np.matrix(Sm))
return L1
def EffectiveL(gPS, gPD, lwg, lwr, lwp):
"""
Siendo Heff = H + EffectiveL, calcula dicho EffectiveL que es (-0.5j)*sumatoria(CmDaga*Cm) que luego sirve para calcular el Liouvilliano
"""
Leff = np.zeros((8, 8), dtype=np.complex_)
Leff[0, 0] = 2*lwg
Leff[1, 1] = 2*lwg
Leff[2, 2] = ((2/3)+(1/3))*gPS + ((1/2) + (1/6) + (1/3))*gPD
Leff[3, 3] = ((2/3)+(1/3))*gPS + ((1/2) + (1/6) + (1/3))*gPD
Leff[4, 4] = 2*(lwr + lwp)
Leff[5, 5] = 2*(lwr + lwp)
Leff[6, 6] = 2*(lwr + lwp)
Leff[7, 7] = 2*(lwr + lwp)
return (-0.5j)*Leff
def CalculateSingleMmatrix(gPS, gPD, lwg, lwr, lwp):
"""
Si tomamos el Liuvilliano como L = (-j)*(Heff*deltak - Heffdaga*deltak) + sum(Mm),
esta funcion calcula dichos Mm, que tienen dimensión 64x64 ya que esa es la dimensión del L. Estas componentes
salen de hacer la cuenta a mano conociendo los Cm y considerando que Mm[8*(r-1)+s, 8*(k-1)+j] = Cm[r,l] + Cmdaga[j,s] = Cm[r,l] + Cm[s,j]
ya que los componentes de Cm son reales.
Esta M es la suma de las 8 matrices M.
"""
M = np.matrix(np.zeros((64, 64), dtype=np.complex_))
M[0,27] = (2/3)*gPS
M[9,18] = (2/3)*gPS
M[0,18] = (1/3)*gPS
M[1,19] = -(1/3)*gPS
M[8,26] = -(1/3)*gPS
M[9,27] = (1/3)*gPS
M[36,18] = (1/2)*gPD
M[37,19] = (1/np.sqrt(12))*gPD
M[44,26] = (1/np.sqrt(12))*gPD
M[45,27] = (1/6)*gPD
M[54,18] = (1/6)*gPD
M[55,19] = (1/np.sqrt(12))*gPD
M[62,26] = (1/np.sqrt(12))*gPD
M[63,27] = (1/2)*gPD
M[45,18] = (1/3)*gPD
M[46,19] = (1/3)*gPD
M[53,26] = (1/3)*gPD
M[54,27] = (1/3)*gPD
M[0,0] = 2*lwg
M[1,1] = 2*lwg
M[8,8] = 2*lwg
M[9,9] = 2*lwg
factor1 = 1
factor2 = 1
factor3 = 1
factor4 = 1
#M[36, 45] = lwp
M[36,36] = 2*(lwr + factor1*lwp)
M[37,37] = 2*(lwr + factor1*lwp)
M[38,38] = 2*(lwr + factor1*lwp)
M[39,39] = 2*(lwr + factor1*lwp)
M[44,44] = 2*(lwr + factor2*lwp)
M[45,45] = 2*(lwr + factor2*lwp)
M[46,46] = 2*(lwr + factor2*lwp)
M[47,47] = 2*(lwr + factor2*lwp)
M[52,52] = 2*(lwr + factor3*lwp)
M[53,53] = 2*(lwr + factor3*lwp)
M[54,54] = 2*(lwr + factor3*lwp)
M[55,55] = 2*(lwr + factor3*lwp)
M[60,60] = 2*(lwr + factor4*lwp)
M[61,61] = 2*(lwr + factor4*lwp)
M[62,62] = 2*(lwr + factor4*lwp)
M[63,63] = 2*(lwr + factor4*lwp)
return M
def dopplerBroadening(wlg, wlp, alpha, T, mcalcio = 6.655e-23*1e-3):
"""
Calcula el broadening extra semiclásico por temperatura considerando que el ion atrapado se mueve.
wlg es la longitud de onda doppler, wlp la longitud de onda repump, T la temperatura del ion en kelvin, y alpha (en rads) el ángulo
que forman ambos láseres.
"""
kboltzmann = 1.38e-23 #J/K
gammaD = (2*np.pi)*np.sqrt((1/(wlg*wlg)) + (1/(wlp*wlp)) - 2*(1/(wlg*wlp))*np.cos(alpha))*np.sqrt(kboltzmann*T/(2*mcalcio))
return gammaD
def FullL_efficient(rabG, rabR, rabP, gPS = 0, gPD = 0, Detg = 0, Detr = 0, Detp = 0, u = 0, lwg = 0, lwr=0, lwp = 0,
phidoppler=0, titadoppler=0, phiprobe=0, titaprobe=0, phirepump=0, titarepump=0, T = 0, alpha = 0):
"""
Calcula el Liouvilliano total de manera explícita índice a índice. Suma aparte las componentes de las matrices M.
Es la más eficiente hasta ahora.
"""
db = dopplerBroadening(0.397e-6, 0.866e-6, alpha, T)
#lwr = np.sqrt(lwr**2 + dopplerBroadening(0.397e-6, 0.866e-6, alpha, T)**2)
lwg = np.sqrt(lwg**2 + db**2)
lwr = np.sqrt(lwr**2 + db**2)
CC = EffectiveL(gPS, gPD, lwg, lwr, lwp)
Heff = H0matrix(Detg, Detp, u) + HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe) + CC
Heffdaga = np.matrix(Heff).getH()
Lfullpartial = np.zeros((64, 64), dtype=np.complex_)
for r in range(8):
for q in range(8):
for k in range(8):
for j in range(8):
if j!=q and r!=k:
pass
elif j==q and r!=k:
if (r < 2 and k > 3) or (k < 2 and r > 3) or (r > 3 and k > 3) or (r==0 and k==1) or (r==1 and k==0) or (r==2 and k==3) or (r==3 and k==2): #todo esto sale de analizar explicitamente la matriz y tratar de no calcular cosas de más que dan cero
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(Heff[r,k])
elif j!=q and r==k:
if (j < 2 and q > 3) or (q < 2 and j > 3) or (j > 3 and q > 3) or (j==0 and q==1) or (j==1 and q==0) or (j==2 and q==3) or (j==3 and q==2):
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(-Heffdaga[j,q])
else:
if Heff[r,k] == Heffdaga[j,q]:
pass
else:
Lfullpartial[r*8+q][k*8+j] = (-1j)*(Heff[r,k]-Heffdaga[j,q])
M = CalculateSingleMmatrix(gPS, gPD, lwg, lwr, lwp)
L0 = np.array(np.matrix(Lfullpartial) + M)
nmax = 1
Lminus, Lplus, DeltaBar = Lplusminus(Detr, Detp, phirepump, titarepump)
factor1 = np.exp(1j*0.2*np.pi)
factor2 = np.exp(-1j*0.2*np.pi)
#print(factor)
L1 = GetL1(factor1*Lplus, factor2*Lminus, DeltaBar, L0, rabR, nmax)
Lfull = L0 + L1
#NORMALIZACION DE RHO
i = 0
while i < 64:
if i%9 == 0:
Lfull[0, i] = 1
else:
Lfull[0, i] = 0
i = i + 1
return Lfull
"""
Scripts para correr un experimento y hacer el análisis de los datos
"""
def CalculoTeoricoDarkResonances(u, titadoppler):
if titadoppler==0:
NegativeDR = [(-7/5)*u, (-3/5)*u, (-1/5)*u, (1/5)*u, (3/5)*u, (7/5)*u]
elif titadoppler==90:
NegativeDR = [(-11/5)*u, (-7/5)*u, (-3/5)*u, (3/5)*u, (7/5)*u, (11/5)*u]
PositiveDR = [(-8/5)*u, (-4/5)*u, 0, (4/5)*u, (8/5)*u]
return NegativeDR, PositiveDR
def CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump,
freqMin=-100, freqMax=100, freqStep=1e-1, plot=False, solvemode=1):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
phidoppler, titadoppler = phidoppler*(np.pi/180), titadoppler*(np.pi/180)
phiprobe, titaprobe = phiprobe*(np.pi/180), titaprobe*(np.pi/180)
phirepump, titarepump = phirepump*(np.pi/180), titarepump*(np.pi/180)
DetProbeVector = 2*np.pi*np.arange(freqMin*1e6, freqMax*1e6, freqStep*1e6)
Detg, Detr = 2*np.pi*Detg*1e6, 2*np.pi*Detr*1e6
lwg, lwr, lwp = 2*np.pi*lwg*1e6, 2*np.pi*lwr*1e6, 2*np.pi*lwp*1e6
#u = 2*np.pi*u*1e6
Fluovector = []
tinicial = time.time()
for Detp in DetProbeVector:
L = FullL_efficient(rabG, rabR, rabP, gPS, gPD, Detg, Detr, Detp, u, lwg, lwr, lwp, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, Temp, alpha)
if solvemode == 1:
rhovectorized = np.linalg.solve(L, np.array([int(i==0) for i in range(64)]))
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
if solvemode == 2:
Linv = np.linalg.inv(L)
rhovectorized = [Linv[j][0] for j in range(len(Linv))]
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
tfinal = time.time()
print('Done, Total time: ', round((tfinal-tinicial), 2), "s")
DetProbeVectorMHz = np.arange(freqMin, freqMax, freqStep)
if plot:
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(DetProbeVectorMHz, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.legend()
return DetProbeVectorMHz, Fluovector
def CPTspectrum8levels_fixedRabi(sg, sr, sp, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump,
freqMin=-100, freqMax=100, freqStep=1e-1, plot=False, solvemode=1):
"""
Hace un experimento barriendo ángulos de repump con el angulo de doppler fijo.
solvemode=1: resuelve con np.linalg.solve
solvemode=2: resuelve invirtiendo L con la funcion np.linalg.inv
"""
phidoppler, titadoppler = phidoppler*(np.pi/180), titadoppler*(np.pi/180)
phiprobe, titaprobe = phiprobe*(np.pi/180), titaprobe*(np.pi/180)
phirepump, titarepump = phirepump*(np.pi/180), titarepump*(np.pi/180)
DetProbeVector = 2*np.pi*np.arange(freqMin*1e6, freqMax*1e6, freqStep*1e6)
Detg, Detr = 2*np.pi*Detg*1e6, 2*np.pi*Detr*1e6
#lwg, lwr, lwp = 2*np.pi*lwg*1e6, 2*np.pi*lwr*1e6, 2*np.pi*lwp*1e6
lwg, lwr, lwp = lwg*1e6, lwr*1e6, lwp*1e6
rabG = sg*gPS
rabR = sr*gPD
rabP = sp*gPD
#u = 2*np.pi*u*1e6
Fluovector = []
tinicial = time.time()
for Detp in DetProbeVector:
L = FullL_efficient(rabG, rabR, rabP, gPS, gPD, Detg, Detr, Detp, u, lwg, lwr, lwp, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, Temp, alpha)
if solvemode == 1:
coh = 5
rhovectorized = np.linalg.solve(L, np.array([int(i==0) for i in range(64)]))
#Fluo = np.abs(rhovectorized[coh])
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
if solvemode == 2:
Linv = np.linalg.inv(L)
rhovectorized = [Linv[j][0] for j in range(len(Linv))]
Fluo = np.real(rhovectorized[18] + np.real(rhovectorized[27])) #estos son los rho33 + rho44
Fluovector.append(Fluo)
tfinal = time.time()
print('Done, Total time: ', round((tfinal-tinicial), 2), "s")
DetProbeVectorMHz = np.arange(freqMin, freqMax, freqStep)
if plot:
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
plt.plot(DetProbeVectorMHz, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.legend()
return DetProbeVectorMHz, Fluovector
#%%
if __name__ == "__main__":
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
B = 25 #campo magnetico en gauss
u = c*B
sg, sr, sp = 0.5, 1.5, 4 #parámetros de saturación del doppler y repump
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6 #anchos de linea de las transiciones
rabG, rabR, rabP = sg*gPS, sr*gPD, sp*gPD #frecuencias de rabi
lwg, lwr, lwp = 0.3, 0.3, 0.3 #ancho de linea de los laseres
Detg = -25
Detr = 20 #detuning del doppler y repump
Temp = 0.0e-3 #temperatura en K
alpha = 0*(np.pi/180) #angulo entre los láseres
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 90
phiprobe, titaprobe = 0, 90
plotCPT = False
freqMin = -50
freqMax = 50
freqStep = 5e-2
Frequencyvector, Fluovector = CPTspectrum8levels(rabG, rabR, rabP, gPS, gPD, Detg, Detr, u, lwg, lwr, lwp, Temp, alpha, phidoppler, titadoppler, phiprobe, titaprobe, phirepump, titarepump, freqMin=freqMin, freqMax=freqMax, freqStep=freqStep, plot=plotCPT, solvemode=1)
NegativeDR, PositiveDR = CalculoTeoricoDarkResonances(u/(2*np.pi*1e6), titadoppler)
plt.plot(Frequencyvector, [100*f for f in Fluovector], label=str(titaprobe) + 'º, T: ' + str(Temp*1e3) + ' mK')
plt.xlabel('Probe detuning (MHz)')
plt.ylabel('Fluorescence (A.U.)')
for PDR in PositiveDR:
plt.axvline(Detr+PDR, linestyle='--', linewidth=0.5, color='red')
for NDR in NegativeDR:
plt.axvline(Detg+NDR, linestyle='--', linewidth=0.5, color='blue')
#parametros que andan piola:
"""
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
B = 17 #campo magnetico en gauss
u = c*B
#u = 80e6
sr, sp = 0.53, 4.2
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6
rabR, rabP = sr*gPS, sp*gPD
lw = 2*np.pi * 0.33e6
lwr, lwp = lw, lw #ancho de linea de los laseres
dr_spec = - 2*np.pi* 26e6
freqSteps = 500
freqMin = -100e6
freqMax = 100e6
dps = 2*np.pi*np.linspace(freqMin, freqMax, freqSteps)
#dps = [-30e6]
alfar = 90*(np.pi/180)
ex_r, ey_r, ez_r = np.sin(alfar)*np.cos(0), np.sin(alfar)*np.sin(0), np.cos(alfar)
alfap = 90*(np.pi/180)
ex_p, ey_p, ez_p = np.sin(alfap)*np.cos(0), np.sin(alfap)*np.sin(0), np.cos(alfap)
"""
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="432pt" height="288pt" viewBox="0 0 432 288" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>2023-03-24T14:25:50.668982</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.5.2, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 288
L 432 288
L 432 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 50.190625 239.41875
L 421.2 239.41875
L 421.2 27.190625
L 50.190625 27.190625
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<path d="M 67.054688 239.41875
L 67.054688 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_2">
<defs>
<path id="mb4c8f58a6a" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#mb4c8f58a6a" x="67.054688" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- 0 -->
<g transform="translate(63.304688 256.663281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-30" d="M 3046 2112
Q 3046 1683 2963 1302
Q 2880 922 2717 602
Q 2554 282 2266 96
Q 1978 -90 1600 -90
Q 1210 -90 915 108
Q 621 307 461 640
Q 301 973 227 1350
Q 154 1728 154 2150
Q 154 2746 301 3222
Q 448 3699 790 4012
Q 1133 4326 1626 4326
Q 2253 4326 2649 3712
Q 3046 3098 3046 2112
z
M 2432 2080
Q 2432 3091 2217 3625
Q 2003 4160 1587 4160
Q 1190 4160 979 3622
Q 768 3085 768 2106
Q 768 1120 979 598
Q 1190 77 1600 77
Q 2003 77 2217 598
Q 2432 1120 2432 2080
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-30"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_3">
<path d="M 116.241536 239.41875
L 116.241536 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_4">
<g>
<use xlink:href="#mb4c8f58a6a" x="116.241536" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- 5 -->
<g transform="translate(112.491536 256.663281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-35" d="M 2803 4358
L 2573 3814
Q 2534 3731 2400 3731
L 1158 3731
L 902 3187
Q 1606 3053 1920 2896
Q 2234 2739 2502 2368
Q 2726 2061 2726 1555
Q 2726 1094 2576 780
Q 2426 467 2099 224
Q 1664 -90 1011 -90
Q 646 -90 422 19
Q 198 128 198 307
Q 198 550 486 550
Q 717 550 960 352
Q 1210 147 1414 147
Q 1747 147 2012 480
Q 2278 813 2278 1229
Q 2278 1843 1850 2189
Q 1293 2637 486 2637
Q 410 2637 410 2688
L 416 2720
L 1114 4237
L 2438 4237
Q 2547 4237 2608 4269
Q 2669 4301 2746 4403
L 2803 4358
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-35"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_5">
<path d="M 165.428385 239.41875
L 165.428385 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_6">
<g>
<use xlink:href="#mb4c8f58a6a" x="165.428385" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
<!-- 10 -->
<g transform="translate(157.928385 256.663281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-31" d="M 2522 0
L 755 0
L 755 96
Q 1107 115 1235 227
Q 1363 339 1363 608
L 1363 3482
Q 1363 3795 1171 3795
Q 1082 3795 883 3718
L 710 3654
L 710 3744
L 1856 4326
L 1914 4307
L 1914 486
Q 1914 275 2042 185
Q 2170 96 2522 96
L 2522 0
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_7">
<path d="M 214.615234 239.41875
L 214.615234 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_8">
<g>
<use xlink:href="#mb4c8f58a6a" x="214.615234" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- 15 -->
<g transform="translate(207.115234 256.663281)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_9">
<path d="M 263.802083 239.41875
L 263.802083 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_10">
<g>
<use xlink:href="#mb4c8f58a6a" x="263.802083" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- 20 -->
<g transform="translate(256.302083 256.663281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-32" d="M 3034 877
L 2688 0
L 186 0
L 186 77
L 1325 1286
Q 1773 1754 1965 2144
Q 2157 2534 2157 2950
Q 2157 3379 1920 3616
Q 1683 3853 1267 3853
Q 922 3853 720 3673
Q 518 3494 326 3021
L 192 3053
Q 301 3648 630 3987
Q 960 4326 1523 4326
Q 2054 4326 2380 4006
Q 2707 3686 2707 3200
Q 2707 2477 1888 1613
L 832 486
L 2330 486
Q 2541 486 2665 569
Q 2790 653 2944 915
L 3034 877
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-32"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_11">
<path d="M 312.988932 239.41875
L 312.988932 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_12">
<g>
<use xlink:href="#mb4c8f58a6a" x="312.988932" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
<!-- 25 -->
<g transform="translate(305.488932 256.663281)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-32"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
</g>
</g>
</g>
<g id="xtick_7">
<g id="line2d_13">
<path d="M 362.175781 239.41875
L 362.175781 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_14">
<g>
<use xlink:href="#mb4c8f58a6a" x="362.175781" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_7">
<!-- 30 -->
<g transform="translate(354.675781 256.663281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-33" d="M 390 3264
L 288 3290
Q 435 3770 748 4048
Q 1062 4326 1542 4326
Q 1990 4326 2265 4083
Q 2541 3840 2541 3450
Q 2541 2925 1946 2566
Q 2298 2413 2477 2227
Q 2758 1914 2758 1402
Q 2758 890 2464 506
Q 2246 211 1840 60
Q 1434 -90 979 -90
Q 262 -90 262 275
Q 262 378 339 442
Q 416 506 525 506
Q 685 506 915 339
Q 1197 141 1466 141
Q 1818 141 2058 425
Q 2298 710 2298 1120
Q 2298 1856 1632 2048
Q 1434 2112 979 2112
L 979 2202
Q 1338 2323 1517 2432
Q 2035 2726 2035 3290
Q 2035 3610 1852 3776
Q 1670 3942 1344 3942
Q 768 3942 390 3264
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-33"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
</g>
</g>
</g>
<g id="xtick_8">
<g id="line2d_15">
<path d="M 411.36263 239.41875
L 411.36263 27.190625
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_16">
<g>
<use xlink:href="#mb4c8f58a6a" x="411.36263" y="239.41875" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_8">
<!-- 35 -->
<g transform="translate(403.86263 256.663281)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-33"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
</g>
</g>
</g>
<g id="text_9">
<!-- Heating time (ms) -->
<g transform="translate(181.117578 274.163281)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-48" d="M 4499 0
L 2714 0
L 2714 122
Q 3085 147 3181 265
Q 3277 384 3277 794
L 3277 2016
L 1338 2016
L 1338 723
Q 1338 371 1440 256
Q 1542 141 1894 122
L 1901 0
L 115 0
L 115 122
Q 493 147 589 259
Q 685 371 685 781
L 685 3507
Q 685 3878 585 3980
Q 486 4083 115 4115
L 115 4237
L 1907 4237
L 1907 4115
Q 1549 4083 1443 3977
Q 1338 3872 1338 3507
L 1338 2298
L 3277 2298
L 3277 3507
Q 3277 3878 3177 3980
Q 3078 4083 2707 4115
L 2707 4237
L 4499 4237
L 4499 4115
Q 4141 4083 4035 3977
Q 3930 3872 3930 3507
L 3930 710
Q 3930 371 4035 259
Q 4141 147 4499 122
L 4499 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-65" d="M 2611 1050
L 2714 1005
Q 2330 -64 1376 -64
Q 813 -64 486 329
Q 160 723 160 1389
Q 160 2074 525 2509
Q 890 2944 1485 2944
Q 2061 2944 2374 2502
Q 2560 2246 2592 1773
L 621 1773
Q 646 1370 700 1158
Q 755 947 915 730
Q 1184 378 1626 378
Q 1939 378 2153 531
Q 2368 685 2611 1050
z
M 634 1978
L 1939 1978
Q 1882 2381 1750 2547
Q 1619 2714 1312 2714
Q 1043 2714 864 2525
Q 685 2336 634 1978
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-61" d="M 2829 422
L 2829 243
Q 2586 -64 2253 -64
Q 1888 -64 1843 403
L 1837 403
Q 1427 -64 909 -64
Q 608 -64 422 112
Q 237 288 237 602
Q 237 1050 685 1350
Q 992 1555 1837 1869
L 1837 2214
Q 1837 2502 1699 2646
Q 1562 2790 1338 2790
Q 1146 2790 1018 2697
Q 890 2605 890 2477
Q 890 2419 909 2348
Q 928 2278 928 2208
Q 928 2112 841 2029
Q 755 1946 634 1946
Q 525 1946 441 2029
Q 358 2112 358 2240
Q 358 2547 685 2752
Q 986 2944 1421 2944
Q 1939 2944 2176 2656
Q 2291 2522 2323 2384
Q 2355 2246 2355 1946
L 2355 723
Q 2355 301 2554 301
Q 2682 301 2829 422
z
M 1837 813
L 1837 1715
Q 1248 1510 1018 1293
Q 800 1094 800 800
Q 800 557 921 432
Q 1043 307 1242 307
Q 1453 307 1613 410
Q 1747 506 1792 589
Q 1837 672 1837 813
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-74" d="M 1702 493
L 1786 422
Q 1478 -64 1011 -64
Q 448 -64 448 749
L 448 2675
L 109 2675
Q 83 2694 83 2720
Q 83 2771 192 2842
Q 435 2982 813 3526
Q 826 3546 874 3606
Q 922 3667 941 3706
Q 986 3706 986 3622
L 986 2880
L 1632 2880
L 1632 2675
L 986 2675
L 986 845
Q 986 538 1062 403
Q 1139 269 1318 269
Q 1510 269 1702 493
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-69" d="M 1152 4045
Q 1152 3904 1056 3811
Q 960 3718 819 3718
Q 685 3718 592 3811
Q 499 3904 499 4045
Q 499 4179 595 4275
Q 691 4371 826 4371
Q 966 4371 1059 4275
Q 1152 4179 1152 4045
z
M 1619 0
L 102 0
L 102 96
Q 435 115 521 211
Q 608 307 608 666
L 608 2118
Q 608 2342 563 2432
Q 518 2522 397 2522
Q 243 2522 128 2490
L 128 2592
L 1120 2944
L 1146 2918
L 1146 672
Q 1146 314 1226 218
Q 1306 122 1619 96
L 1619 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6e" d="M 3104 0
L 1773 0
L 1779 96
Q 2016 115 2096 233
Q 2176 352 2176 672
L 2176 1946
Q 2176 2592 1709 2592
Q 1549 2592 1408 2515
Q 1267 2438 1050 2227
L 1050 461
Q 1050 269 1136 192
Q 1222 115 1466 96
L 1466 0
L 115 0
L 115 96
Q 358 115 435 214
Q 512 314 512 602
L 512 2157
Q 512 2394 467 2483
Q 422 2573 288 2573
Q 160 2573 102 2547
L 102 2656
Q 550 2784 979 2944
L 1030 2925
L 1030 2426
L 1037 2426
Q 1491 2944 1958 2944
Q 2323 2944 2518 2688
Q 2714 2432 2714 1958
L 2714 544
Q 2714 288 2790 205
Q 2867 122 3104 96
L 3104 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-67" d="M 3008 2483
L 2477 2483
Q 2598 2208 2598 1946
Q 2598 1453 2265 1203
Q 1933 954 1600 954
Q 1530 954 1357 973
L 1235 986
Q 1107 947 979 812
Q 851 678 851 582
Q 851 435 1350 410
L 2176 371
Q 2528 358 2739 172
Q 2950 -13 2950 -314
Q 2950 -685 2566 -986
Q 2035 -1395 1286 -1395
Q 826 -1395 502 -1212
Q 179 -1030 179 -774
Q 179 -595 320 -419
Q 461 -243 806 6
Q 602 102 534 172
Q 467 243 467 346
Q 467 531 762 787
Q 909 915 1037 1043
Q 717 1203 579 1401
Q 442 1600 442 1901
Q 442 2336 752 2640
Q 1062 2944 1510 2944
Q 1766 2944 2022 2848
L 2163 2797
Q 2349 2733 2515 2733
L 3008 2733
L 3008 2483
z
M 973 2163
L 973 2144
Q 973 1683 1155 1398
Q 1338 1114 1632 1114
Q 1850 1114 1978 1270
Q 2106 1427 2106 1690
Q 2106 2112 1914 2464
Q 1754 2765 1446 2765
Q 1222 2765 1097 2605
Q 973 2445 973 2163
z
M 2771 -410
Q 2771 -230 2595 -163
Q 2419 -96 1978 -96
Q 1344 -96 941 -13
Q 749 -243 688 -348
Q 627 -454 627 -563
Q 627 -774 880 -902
Q 1133 -1030 1555 -1030
Q 2099 -1030 2435 -860
Q 2771 -691 2771 -410
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-20" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-6d" d="M 4960 0
L 3565 0
L 3565 96
Q 3834 122 3907 208
Q 3981 294 3981 576
L 3981 1894
Q 3981 2278 3869 2444
Q 3757 2611 3488 2611
Q 3264 2611 3107 2521
Q 2950 2432 2803 2221
L 2803 608
Q 2803 301 2896 201
Q 2989 102 3264 96
L 3264 0
L 1830 0
L 1830 96
Q 2112 115 2189 188
Q 2266 262 2266 550
L 2266 1901
Q 2266 2611 1850 2611
Q 1670 2611 1468 2531
Q 1267 2451 1171 2336
Q 1088 2240 1088 2227
L 1088 448
Q 1088 243 1177 176
Q 1267 109 1523 96
L 1523 0
L 102 0
L 102 96
Q 371 102 460 195
Q 550 288 550 563
L 550 2150
Q 550 2387 499 2480
Q 448 2573 326 2573
Q 230 2573 122 2547
L 122 2656
Q 557 2778 1011 2944
L 1062 2925
L 1062 2451
L 1075 2451
Q 1363 2752 1584 2848
Q 1805 2944 2054 2944
Q 2560 2944 2733 2406
Q 3232 2944 3776 2944
Q 4518 2944 4518 1792
L 4518 493
Q 4518 282 4582 202
Q 4646 122 4794 109
L 4960 96
L 4960 0
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-28" d="M 1946 -1030
L 1869 -1133
Q 1126 -710 716 32
Q 307 774 307 1613
Q 307 3386 1888 4326
L 1946 4224
Q 1293 3667 1075 3126
Q 858 2586 858 1632
Q 858 685 1082 96
Q 1306 -493 1946 -1030
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-73" d="M 998 1926
L 1664 1523
Q 1984 1331 2105 1164
Q 2227 998 2227 736
Q 2227 416 1961 176
Q 1696 -64 1331 -64
Q 1030 -64 864 -6
Q 691 51 570 51
Q 461 51 416 -26
L 333 -26
L 333 979
L 435 979
Q 538 512 730 294
Q 922 77 1248 77
Q 1485 77 1632 211
Q 1779 346 1779 550
Q 1779 845 1440 1030
L 1094 1222
Q 326 1651 326 2150
Q 326 2522 566 2730
Q 806 2938 1210 2938
Q 1491 2938 1638 2867
Q 1754 2816 1818 2816
Q 1862 2816 1920 2880
L 1990 2880
L 2022 2010
L 1926 2010
Q 1818 2445 1654 2621
Q 1491 2797 1203 2797
Q 986 2797 854 2688
Q 723 2579 723 2362
Q 723 2253 796 2128
Q 870 2003 998 1926
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-29" d="M 186 4224
L 262 4326
Q 992 3891 1408 3148
Q 1824 2406 1824 1581
Q 1824 -166 243 -1133
L 186 -1030
Q 845 -486 1059 54
Q 1274 595 1274 1562
Q 1274 2534 1059 3120
Q 845 3706 186 4224
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-48"/>
<use xlink:href="#STIXGeneral-Regular-65" x="72.199982"/>
<use xlink:href="#STIXGeneral-Regular-61" x="116.599976"/>
<use xlink:href="#STIXGeneral-Regular-74" x="160.999969"/>
<use xlink:href="#STIXGeneral-Regular-69" x="188.799957"/>
<use xlink:href="#STIXGeneral-Regular-6e" x="216.599945"/>
<use xlink:href="#STIXGeneral-Regular-67" x="266.59993"/>
<use xlink:href="#STIXGeneral-Regular-20" x="316.599915"/>
<use xlink:href="#STIXGeneral-Regular-74" x="341.599899"/>
<use xlink:href="#STIXGeneral-Regular-69" x="369.399887"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="397.199875"/>
<use xlink:href="#STIXGeneral-Regular-65" x="474.999863"/>
<use xlink:href="#STIXGeneral-Regular-20" x="519.399857"/>
<use xlink:href="#STIXGeneral-Regular-28" x="544.399841"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="577.699829"/>
<use xlink:href="#STIXGeneral-Regular-73" x="655.499817"/>
<use xlink:href="#STIXGeneral-Regular-29" x="694.399811"/>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_17">
<path d="M 50.190625 230.50226
L 421.2 230.50226
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_18">
<defs>
<path id="md62f64acd0" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#md62f64acd0" x="50.190625" y="230.50226" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_10">
<!-- 0 -->
<g transform="translate(35.690625 235.624526)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-30"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_19">
<path d="M 50.190625 166.623979
L 421.2 166.623979
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_20">
<g>
<use xlink:href="#md62f64acd0" x="50.190625" y="166.623979" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
<!-- 5 -->
<g transform="translate(35.690625 171.746245)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-35"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_21">
<path d="M 50.190625 102.745699
L 421.2 102.745699
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_22">
<g>
<use xlink:href="#md62f64acd0" x="50.190625" y="102.745699" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
<!-- 10 -->
<g transform="translate(28.190625 107.867965)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-30" x="49.999985"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_23">
<path d="M 50.190625 38.867418
L 421.2 38.867418
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
</g>
<g id="line2d_24">
<g>
<use xlink:href="#md62f64acd0" x="50.190625" y="38.867418" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
<!-- 15 -->
<g transform="translate(28.190625 43.989684)scale(0.15 -0.15)">
<use xlink:href="#STIXGeneral-Regular-31"/>
<use xlink:href="#STIXGeneral-Regular-35" x="49.999985"/>
</g>
</g>
</g>
<g id="text_14">
<!-- Temperature (mK) -->
<g transform="translate(20.935156 189.742187)rotate(-90)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-54" d="M 3795 3149
L 3642 3149
Q 3539 3674 3353 3821
Q 3168 3968 2656 3968
L 2278 3968
L 2278 710
Q 2278 346 2387 243
Q 2496 141 2893 122
L 2893 0
L 1024 0
L 1024 122
Q 1427 147 1526 256
Q 1626 365 1626 787
L 1626 3968
L 1242 3968
Q 723 3968 540 3817
Q 358 3667 262 3149
L 109 3149
L 154 4237
L 3750 4237
L 3795 3149
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-70" d="M 1018 2931
L 1018 2438
Q 1421 2944 1939 2944
Q 2406 2944 2707 2560
Q 3008 2176 3008 1581
Q 3008 883 2621 409
Q 2234 -64 1664 -64
Q 1466 -64 1328 -6
Q 1190 51 1018 211
L 1018 -794
Q 1018 -1094 1120 -1180
Q 1222 -1267 1581 -1274
L 1581 -1389
L 32 -1389
L 32 -1280
Q 314 -1254 397 -1171
Q 480 -1088 480 -838
L 480 2157
Q 480 2381 429 2451
Q 378 2522 218 2522
Q 115 2522 58 2515
L 58 2618
Q 506 2752 979 2944
L 1018 2931
z
M 1018 2138
L 1018 563
Q 1018 422 1238 281
Q 1459 141 1683 141
Q 2029 141 2243 467
Q 2458 794 2458 1325
Q 2458 1888 2243 2224
Q 2029 2560 1670 2560
Q 1446 2560 1232 2419
Q 1018 2278 1018 2138
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-72" d="M 1024 2931
L 1024 2342
Q 1267 2688 1430 2816
Q 1594 2944 1792 2944
Q 1958 2944 2051 2854
Q 2144 2765 2144 2605
Q 2144 2470 2077 2393
Q 2010 2317 1894 2317
Q 1773 2317 1638 2445
Q 1536 2541 1472 2541
Q 1338 2541 1181 2355
Q 1024 2170 1024 2016
L 1024 576
Q 1024 301 1133 205
Q 1242 109 1568 96
L 1568 0
L 32 0
L 32 96
Q 339 154 412 224
Q 486 294 486 538
L 486 2138
Q 486 2349 438 2435
Q 390 2522 269 2522
Q 166 2522 45 2496
L 45 2598
Q 448 2726 992 2944
L 1024 2931
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-75" d="M 3072 320
L 3072 230
Q 2573 96 2195 -58
L 2163 -38
L 2163 486
L 2150 486
Q 1747 -64 1235 -64
Q 870 -64 662 160
Q 454 384 454 755
L 454 2362
Q 454 2598 371 2688
Q 288 2778 58 2790
L 58 2880
L 992 2880
L 992 813
Q 992 595 1123 451
Q 1254 307 1446 307
Q 1760 307 1984 506
Q 2067 582 2099 649
Q 2131 717 2131 877
L 2131 2355
Q 2131 2605 2041 2678
Q 1952 2752 1658 2771
L 1658 2880
L 2669 2880
L 2669 685
Q 2669 461 2742 390
Q 2816 320 3034 320
L 3072 320
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-4b" d="M 4627 0
L 2688 0
L 2688 122
L 2861 128
Q 3130 134 3130 282
Q 3130 397 2922 643
Q 2714 890 2253 1370
L 1613 2029
L 1446 1894
L 1446 710
Q 1446 352 1548 253
Q 1651 154 2016 122
L 2016 0
L 211 0
L 211 122
Q 589 141 691 262
Q 794 384 794 800
L 794 3514
Q 794 3872 691 3981
Q 589 4090 218 4115
L 218 4237
L 2022 4237
L 2022 4115
Q 1632 4090 1539 3987
Q 1446 3885 1446 3507
L 1446 2227
L 2586 3277
Q 2861 3533 2973 3667
Q 3085 3802 3085 3910
Q 3085 4013 3030 4057
Q 2976 4102 2822 4109
L 2662 4115
L 2662 4237
L 4320 4237
L 4320 4115
Q 3994 4090 3824 4003
Q 3654 3917 3322 3597
L 2131 2458
L 3629 819
Q 4026 384 4214 253
Q 4403 122 4627 122
L 4627 0
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-54"/>
<use xlink:href="#STIXGeneral-Regular-65" x="61.099991"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="105.499985"/>
<use xlink:href="#STIXGeneral-Regular-70" x="183.299973"/>
<use xlink:href="#STIXGeneral-Regular-65" x="233.299957"/>
<use xlink:href="#STIXGeneral-Regular-72" x="277.699951"/>
<use xlink:href="#STIXGeneral-Regular-61" x="310.999939"/>
<use xlink:href="#STIXGeneral-Regular-74" x="355.399933"/>
<use xlink:href="#STIXGeneral-Regular-75" x="383.199921"/>
<use xlink:href="#STIXGeneral-Regular-72" x="433.199905"/>
<use xlink:href="#STIXGeneral-Regular-65" x="466.499893"/>
<use xlink:href="#STIXGeneral-Regular-20" x="510.899887"/>
<use xlink:href="#STIXGeneral-Regular-28" x="535.899872"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="569.19986"/>
<use xlink:href="#STIXGeneral-Regular-4b" x="646.999847"/>
<use xlink:href="#STIXGeneral-Regular-29" x="719.199829"/>
</g>
</g>
</g>
<g id="LineCollection_1">
<path d="M 67.054688 218.930523
L 67.054688 216.592725
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 109.214844 207.604196
L 109.214844 202.807197
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 151.375 203.547566
L 151.375 198.271906
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 193.535156 187.30716
L 193.535156 178.781642
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 235.695312 159.215753
L 235.695312 140.635918
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 277.855469 154.560562
L 277.855469 133.473405
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 320.015625 123.497704
L 320.015625 88.563794
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 362.175781 117.580718
L 362.175781 79.483266
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
<path d="M 404.335938 90.863592
L 404.335938 36.837358
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #000000; stroke-width: 1.5"/>
</g>
<g id="line2d_25">
<defs>
<path id="m4a69a88263" d="M 2 0
L -2 -0
" style="stroke: #000000"/>
</defs>
<g clip-path="url(#p360dd42aee)">
<use xlink:href="#m4a69a88263" x="67.054688" y="218.930523" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="109.214844" y="207.604196" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="151.375" y="203.547566" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="193.535156" y="187.30716" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="235.695312" y="159.215753" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="277.855469" y="154.560562" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="320.015625" y="123.497704" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="362.175781" y="117.580718" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="404.335938" y="90.863592" style="stroke: #000000"/>
</g>
</g>
<g id="line2d_26">
<g clip-path="url(#p360dd42aee)">
<use xlink:href="#m4a69a88263" x="67.054688" y="216.592725" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="109.214844" y="202.807197" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="151.375" y="198.271906" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="193.535156" y="178.781642" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="235.695312" y="140.635918" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="277.855469" y="133.473405" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="320.015625" y="88.563794" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="362.175781" y="79.483266" style="stroke: #000000"/>
<use xlink:href="#m4a69a88263" x="404.335938" y="36.837358" style="stroke: #000000"/>
</g>
</g>
<g id="line2d_27">
<path d="M 67.054688 229.772017
L 109.214844 210.364499
L 151.375 190.95698
L 193.535156 171.549462
L 235.695312 152.141944
L 277.855469 132.734425
L 320.015625 113.326907
L 362.175781 93.919388
L 404.335938 74.51187
" clip-path="url(#p360dd42aee)" style="fill: none; stroke: #ff0000; stroke-width: 1.5; stroke-linecap: square"/>
</g>
<g id="line2d_28">
<defs>
<path id="mfc4d9b0610" d="M 0 3.5
C 0.928211 3.5 1.81853 3.131218 2.474874 2.474874
C 3.131218 1.81853 3.5 0.928211 3.5 0
C 3.5 -0.928211 3.131218 -1.81853 2.474874 -2.474874
C 1.81853 -3.131218 0.928211 -3.5 0 -3.5
C -0.928211 -3.5 -1.81853 -3.131218 -2.474874 -2.474874
C -3.131218 -1.81853 -3.5 -0.928211 -3.5 0
C -3.5 0.928211 -3.131218 1.81853 -2.474874 2.474874
C -1.81853 3.131218 -0.928211 3.5 0 3.5
z
" style="stroke: #000000"/>
</defs>
<g clip-path="url(#p360dd42aee)">
<use xlink:href="#mfc4d9b0610" x="67.054688" y="217.761624" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="109.214844" y="205.205697" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="151.375" y="200.909736" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="193.535156" y="183.044401" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="235.695312" y="149.925835" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="277.855469" y="144.016984" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="320.015625" y="106.030749" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="362.175781" y="98.531992" style="stroke: #000000"/>
<use xlink:href="#mfc4d9b0610" x="404.335938" y="63.850475" style="stroke: #000000"/>
</g>
</g>
<g id="patch_3">
<path d="M 50.190625 239.41875
L 50.190625 27.190625
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 421.2 239.41875
L 421.2 27.190625
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 50.190625 239.41875
L 421.2 239.41875
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 50.190625 27.190625
L 421.2 27.190625
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="text_15">
<!-- Heating rate: (0.35 +- 0.02) mK/ms -->
<g transform="translate(128.280078 21.190625)scale(0.15 -0.15)">
<defs>
<path id="STIXGeneral-Regular-3a" d="M 1123 2832
Q 1229 2726 1229 2579
Q 1229 2432 1126 2329
Q 1024 2227 877 2227
Q 730 2227 624 2332
Q 518 2438 518 2579
Q 518 2733 620 2835
Q 723 2938 877 2938
Q 1018 2938 1123 2832
z
M 1229 282
Q 1229 141 1126 35
Q 1024 -70 877 -70
Q 730 -70 624 35
Q 518 141 518 282
Q 518 435 620 537
Q 723 640 877 640
Q 1018 640 1123 534
Q 1229 429 1229 282
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2e" d="M 1158 275
Q 1158 134 1052 32
Q 947 -70 800 -70
Q 653 -70 550 32
Q 448 134 448 281
Q 448 429 553 534
Q 659 640 806 640
Q 947 640 1052 531
Q 1158 422 1158 275
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2b" d="M 4070 1408
L 2400 1408
L 2400 -262
L 1978 -262
L 1978 1408
L 307 1408
L 307 1830
L 1978 1830
L 1978 3501
L 2400 3501
L 2400 1830
L 4070 1830
L 4070 1408
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2d" d="M 1824 1242
L 250 1242
L 250 1645
L 1824 1645
L 1824 1242
z
" transform="scale(0.015625)"/>
<path id="STIXGeneral-Regular-2f" d="M 1837 4326
L 378 -90
L -58 -90
L 1408 4326
L 1837 4326
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#STIXGeneral-Regular-48"/>
<use xlink:href="#STIXGeneral-Regular-65" x="72.199982"/>
<use xlink:href="#STIXGeneral-Regular-61" x="116.599976"/>
<use xlink:href="#STIXGeneral-Regular-74" x="160.999969"/>
<use xlink:href="#STIXGeneral-Regular-69" x="188.799957"/>
<use xlink:href="#STIXGeneral-Regular-6e" x="216.599945"/>
<use xlink:href="#STIXGeneral-Regular-67" x="266.59993"/>
<use xlink:href="#STIXGeneral-Regular-20" x="316.599915"/>
<use xlink:href="#STIXGeneral-Regular-72" x="341.599899"/>
<use xlink:href="#STIXGeneral-Regular-61" x="374.899887"/>
<use xlink:href="#STIXGeneral-Regular-74" x="419.299881"/>
<use xlink:href="#STIXGeneral-Regular-65" x="447.099869"/>
<use xlink:href="#STIXGeneral-Regular-3a" x="491.499863"/>
<use xlink:href="#STIXGeneral-Regular-20" x="519.29985"/>
<use xlink:href="#STIXGeneral-Regular-28" x="544.299835"/>
<use xlink:href="#STIXGeneral-Regular-30" x="577.599823"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="627.599808"/>
<use xlink:href="#STIXGeneral-Regular-33" x="652.599792"/>
<use xlink:href="#STIXGeneral-Regular-35" x="702.599777"/>
<use xlink:href="#STIXGeneral-Regular-20" x="752.599762"/>
<use xlink:href="#STIXGeneral-Regular-2b" x="777.599747"/>
<use xlink:href="#STIXGeneral-Regular-2d" x="846.099731"/>
<use xlink:href="#STIXGeneral-Regular-20" x="879.399719"/>
<use xlink:href="#STIXGeneral-Regular-30" x="904.399704"/>
<use xlink:href="#STIXGeneral-Regular-2e" x="954.399689"/>
<use xlink:href="#STIXGeneral-Regular-30" x="979.399673"/>
<use xlink:href="#STIXGeneral-Regular-32" x="1029.399658"/>
<use xlink:href="#STIXGeneral-Regular-29" x="1079.399643"/>
<use xlink:href="#STIXGeneral-Regular-20" x="1112.699631"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="1137.699615"/>
<use xlink:href="#STIXGeneral-Regular-4b" x="1215.499603"/>
<use xlink:href="#STIXGeneral-Regular-2f" x="1287.699585"/>
<use xlink:href="#STIXGeneral-Regular-6d" x="1315.499573"/>
<use xlink:href="#STIXGeneral-Regular-73" x="1393.299561"/>
</g>
</g>
</g>
</g>
<defs>
<clipPath id="p360dd42aee">
<rect x="50.190625" y="27.190625" width="371.009375" height="212.228125"/>
</clipPath>
</defs>
</svg>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment