diff --git a/.DS_Store b/.DS_Store index bf54090..e52db45 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Armory/.DS_Store b/Armory/.DS_Store index dda6d32..caac308 100644 Binary files a/Armory/.DS_Store and b/Armory/.DS_Store differ diff --git a/Armory/anasenMS.cpp b/Armory/anasenMS.cpp index b38ee9e..2c09133 100644 --- a/Armory/anasenMS.cpp +++ b/Armory/anasenMS.cpp @@ -97,13 +97,13 @@ int main(int argc, char **argv){ if( argc >= 2 ) numEvent = atoi(argv[1]); TransferReaction transfer; - transfer.SetA(1, 1, 0); // 18Ne projectile + transfer.SetA(27, 13, 0); // 18Ne projectile //transfer.SetIncidentEnergyAngle(0, 0, 0); // KEA in MeV/u, theta and phi in rad - TGraph* elossBeam = LoadELoss("../ELoss/E_vs_x_proton.dat"); + TGraph* elossBeam = LoadELoss("../ELoss/E_vs_x_Al-27.dat"); transfer.Seta(4, 2); // 4He target - transfer.Setb(1, 1); // outgoing proton from the primary transfer - transfer.SetB(4, 2); // 21Na* heavy product - const double beamA = 1.0; // mass number of 27Al beam + transfer.Setb(2, 1); // outgoing proton from the primary transfer + transfer.SetB(29, 14); // 21Na* heavy product + const double beamA = 27; // mass number of 27Al beam bool enableSequentialDecay = false; // turning to false to disable sequential decay for now, can be set to true to enable const int decayDaughterA = 20; @@ -119,7 +119,7 @@ int main(int argc, char **argv){ double vertexXRange[2] = { -5, 5}; // mm - 5, 5 double vertexYRange[2] = { -5, 5}; // -5, 5 double vertexZRange[2] = { -174.3, 174.3}; // -174.3, 174.3 (full length of gas volume, centered at 0) - const double beamEntranceZ = -174.3; //vertexZRange[0]; // mm, assumed beam entrance into the gas + const double beamEntranceZ = -280; //vertexZRange[0]; // mm, assumed beam entrance into the gas // detector resolution / uncertainty parameters @@ -553,7 +553,7 @@ int main(int argc, char **argv){ tree2->Fill(); - }else if (qqqID >= 0){ + }else if (false){//(qqqID >= 0){ // handle QQQ hit case sx3Up = -1; sx3Dn = -1; diff --git a/ELoss/.DS_Store b/ELoss/.DS_Store index 82df7d9..9dfe5b1 100644 Binary files a/ELoss/.DS_Store and b/ELoss/.DS_Store differ diff --git a/ELoss/AlSi.zip b/ELoss/AlSi.zip new file mode 100644 index 0000000..3f9e153 Binary files /dev/null and b/ELoss/AlSi.zip differ diff --git a/ELoss/E_vs_x_Al-27.dat b/ELoss/E_vs_x_Al-27.dat index 531c0aa..16c864c 100644 --- a/ELoss/E_vs_x_Al-27.dat +++ b/ELoss/E_vs_x_Al-27.dat @@ -1,501 +1,501 @@ Distance_cm Energy_MeV --0.0 72.0 -0.07516627746635594 71.85573146292585 -0.1502674587514124 71.71146292585169 -0.22530353863089683 71.56719438877755 -0.30027451183674336 71.4229258517034 -0.37518037305649476 71.27865731462926 -0.45002111693280733 71.1343887775551 -0.52479673806283 70.99012024048096 -0.599507230997694 70.84585170340681 -0.6741525902418835 70.70158316633265 -0.748732810252672 70.55731462925851 -0.8232478854395513 70.41304609218436 -0.8976978101635771 70.26877755511022 -0.9720825787368177 70.12450901803606 -1.0464021854216836 69.98024048096191 -1.1206566244303215 69.83597194388777 -1.1948458899240002 69.69170340681362 -1.268969976012413 69.54743486973948 -1.3430288767530822 69.40316633266532 -1.4170225861506371 69.25889779559118 -1.490951098156198 69.11462925851703 -1.5648144066666436 68.97036072144287 -1.6386125055239398 68.82609218436873 -1.7123453885144593 68.68182364729458 -1.7860130493682191 68.53755511022044 -1.8596154817582156 68.39328657314628 -1.933152679299634 68.24901803607214 -2.006624635549164 68.10474949899799 -2.0800313440041944 67.96048096192384 -2.153372798102072 67.8162124248497 -2.226648991219346 67.67194388777554 -2.299859916670933 67.5276753507014 -2.3730055677093755 67.38340681362725 -2.4460859375239763 67.2391382765531 -2.5191010192400345 67.09486973947895 -2.5920508059179634 66.9506012024048 -2.6649352905524664 66.80633266533066 -2.7377544660717033 66.6620641282565 -2.8105083253363703 66.51779559118236 -2.883196861138875 66.37352705410821 -2.955820066202387 66.22925851703407 -3.028377933179984 66.08498997995991 -3.100870454653685 65.94072144288576 -3.173297623133536 65.79645290581162 -3.245659431056685 65.65218436873747 -3.317955870786368 65.50791583166333 -3.3901869346109943 65.36364729458917 -3.4623526147430987 65.21937875751503 -3.5344529033183933 65.07511022044088 -3.6064877923947 64.93084168336672 -3.6784572739509387 64.78657314629258 -3.750361339886098 64.64230460921843 -3.8221999820181236 64.49803607214429 -3.893973192082893 64.35376753507013 -3.965680961733064 64.209498997996 -4.03732328253702 64.06523046092184 -4.108900145977691 63.920961923847685 -4.180411543451432 63.77669338677354 -4.251857466266871 63.63242484969938 -4.323237905643703 63.488156312625236 -4.394552852711519 63.34388777555109 -4.465802298508576 63.19961923847694 -4.536986233980569 63.055350701402794 -4.608104649979376 62.91108216432865 -4.679157537261796 62.7668136272545 -4.750144886488255 62.622545090180346 -4.82106668822149 62.4782765531062 -4.8919229329252385 62.33400801603205 -4.96271361096288 62.189739478957904 -5.0334387125960705 62.04547094188376 -5.104098227983351 61.90120240480961 -5.1746921471787415 61.75693386773546 -5.245220460130313 61.61266533066131 -5.315683156678721 61.46839679358716 -5.386080226555749 61.32412825651301 -5.456411659382805 61.179859719438866 -5.5266774446693985 61.03559118236472 -5.5968775718116 60.89132264529057 -5.66701203009048 60.74705410821642 -5.737080808670504 60.60278557114227 -5.807083896597937 60.45851703406812 -5.877021282799196 60.314248496993976 -5.946892956079183 60.16997995991983 -6.016698905119601 60.02571142284568 -6.0864391184772355 59.881442885771534 -6.156113584582216 59.73717434869738 -6.2257222917362345 59.59290581162323 -6.29526522811077 59.448637274549085 -6.364742381745252 59.30436873747494 -6.434153740545209 59.16010020040079 -6.503499292280392 59.015831663326644 -6.57277902458286 58.8715631262525 -6.641992924945049 58.72729458917834 -6.711140980717785 58.583026052104195 -6.7802231791083045 58.43875751503005 -6.849239507178213 58.2944889779559 -6.918189951841421 58.15022044088175 -6.987074499862048 58.005951903807606 -7.0558931378523 57.86168336673346 -7.124645852270304 57.717414829659305 -7.193332629417903 57.57314629258516 -7.261953455438445 57.42887775551101 -7.3305083163145035 57.28460921843686 -7.3989971978655795 57.140340681362716 -7.467420085745765 56.99607214428857 -7.5357769654413715 56.851803607214414 -7.604067822268504 56.70753507014027 -7.672292641370628 56.56326653306612 -7.740451407716073 56.41899799599197 -7.808544106095498 56.274729458917825 -7.87657072111933 56.13046092184368 -7.9445312372151475 55.98619238476953 -8.012425638625036 55.84192384769538 -8.080253909402876 55.69765531062123 -8.148016033411626 55.55338677354708 -8.215711994320529 55.409118236472935 -8.283341775602285 55.26484969939879 -8.35090536053018 55.12058116232464 -8.418402732175172 54.97631262525049 -8.48583387340292 54.83204408817634 -8.553198766870759 54.68777555110219 -8.620497395024662 54.543507014028044 -8.687729740096108 54.3992384769539 -8.754895784098922 54.25496993987975 -8.821995508826063 54.1107014028056 -8.889028895846357 53.966432865731456 -8.955995926501174 53.8221643286573 -9.022896581901046 53.677895791583154 -9.089730842922247 53.53362725450901 -9.156498690203303 53.38935871743486 -9.223200104141448 53.24509018036071 -9.289835064889012 53.100821643286565 -9.356403552349773 52.95655310621241 -9.42290554617522 52.812284569138264 -9.489341025760782 52.668016032064116 -9.555709970241967 52.52374749498997 -9.622012358490466 52.37947895791582 -9.68824816911016 52.235210420841675 -9.754417380433093 52.09094188376753 -9.820519970515353 51.94667334669337 -9.886555917132887 51.802404809619226 -9.952525197777272 51.65813627254508 -10.018427789651378 51.51386773547093 -10.084263669664981 51.369599198396784 -10.150032814430297 51.22533066132264 -10.21573520025744 51.08106212424849 -10.281370803149805 50.936793587174336 -10.346939598799363 50.79252505010019 -10.4124415625819 50.64825651302604 -10.47787666955215 50.503987975951894 -10.543244894438859 50.35971943887775 -10.608546211639755 50.2154509018036 -10.67378059521645 50.07118236472945 -10.738948018889236 49.9269138276553 -10.804048456031795 49.78264529058115 -10.86908187966584 49.638376753507 -10.934048262455631 49.494108216432856 -10.99894757670242 49.34983967935871 -11.063779794338794 49.20557114228456 -11.128544886922919 49.06130260521041 -11.193242825632675 48.91703406813626 -11.25787358125972 48.77276553106211 -11.322437124203418 48.628496993987966 -11.386933424464676 48.48422845691382 -11.451362451639676 48.33995991983967 -11.515724174913492 48.195691382765524 -11.5800185630536 48.05142284569137 -11.644245584403263 47.90715430861722 -11.708405206874833 47.762885771543075 -11.772497397942887 47.61861723446893 -11.836522124637286 47.47434869739478 -11.900479353536083 47.330080160320634 -11.964369050758325 47.18581162324649 -12.028191181956718 47.04154308617233 -12.091945712310155 46.897274549098185 -12.15563260651614 46.75300601202404 -12.219251828783042 46.60873747494989 -12.282803342822238 46.46446893787574 -12.346287111840102 46.320200400801596 -12.409703098529857 46.17593186372745 -12.473051265063283 46.031663326653295 -12.536331573082263 45.88739478957915 -12.599543983690205 45.743126252505 -12.662688457443284 45.59885771543085 -12.725764954341537 45.454589178356706 -12.788773433819797 45.31032064128256 -12.851713854738469 45.166052104208404 -12.914586175374119 45.02178356713426 -12.977390353409929 44.87751503006011 -13.040126345925941 44.73324649298596 -13.10279410938915 44.588977955911815 -13.1653935996434 44.44470941883767 -13.22792477189911 44.30044088176352 -13.290387580722806 44.15617234468937 -13.35278198002645 44.01190380761522 -13.4151079230566 43.86763527054107 -13.477365362383358 43.723366733466925 -13.539554249889097 43.57909819639278 -13.601674536757013 43.43482965931863 -13.663726173459446 43.29056112224448 -13.72570910974599 43.14629258517033 -13.787623294631373 43.00202404809618 -13.849468676383143 42.857755511022035 -13.91124520250909 42.71348697394789 -13.972952819744453 42.56921843687374 -14.034591474038892 42.42494989979959 -14.096161110543205 42.28068136272544 -14.157661673595797 42.13641282565129 -14.219093106708915 41.992144288577144 -14.280455352554606 41.847875751503 -14.341748352950415 41.70360721442885 -14.402972048844822 41.5593386773547 -14.464126380302396 41.415070140280555 -14.52521128648868 41.2708016032064 -14.586226705654767 41.126533066132254 -14.64717257512162 40.98226452905811 -14.708048831264072 40.83799599198396 -14.768855409494517 40.69372745490981 -14.829592244246307 40.549458917835665 -14.89025926895683 40.40519038076152 -14.950856416050263 40.26092184368736 -15.011383616919975 40.116653306613216 -15.071840801910644 39.97238476953907 -15.132227900299984 39.82811623246492 -15.192544840280139 39.683847695390774 -15.25279154893872 39.53957915831663 -15.312967952239482 39.39531062124248 -15.37307397500262 39.251042084168326 -15.43310954088468 39.10677354709418 -15.493074572358102 38.96250501002003 -15.552968990690355 38.818236472945884 -15.612792715922655 38.67396793587174 -15.672545666848297 38.52969939879759 -15.732227760990545 38.385430861723435 -15.791838914580092 38.24116232464929 -15.851379042532098 38.09689378757514 -15.910848058422765 37.952625250500994 -15.970245874465451 37.808356713426846 -16.029572401486334 37.6640881763527 -16.088827548899577 37.51981963927855 -16.148011224682026 37.3755511022044 -16.20712333534739 37.23128256513025 -16.266163785919936 37.0870140280561 -16.32513247990765 36.942745490981956 -16.38402931927487 36.79847695390781 -16.442854204414374 36.65420841683366 -16.501607034118933 36.509939879759514 -16.56028770555229 36.36567134268536 -16.61889611421955 36.22140280561121 -16.677432153937005 36.077134268537066 -16.735895716801355 35.93286573146292 -16.794286693158295 35.78859719438877 -16.852604971570504 35.644328657314624 -16.910850438784973 35.50006012024048 -16.969022979699705 35.35579158316632 -17.027122477329716 35.211523046092175 -17.085148812772392 35.06725450901803 -17.14310186517212 34.92298597194388 -17.200981511684237 34.77871743486973 -17.258787627438227 34.634448897795586 -17.31652008550021 34.49018036072143 -17.374178756834638 34.345911823647285 -17.431763510265277 34.20164328657314 -17.48927421243533 34.05737474949899 -17.54671072776682 33.91310621242484 -17.60407291841911 33.768837675350696 -17.66136064424662 33.62456913827655 -17.71857376275566 33.480300601202394 -17.7757121290604 33.33603206412825 -17.83277559583795 33.1917635270541 -17.889764013282555 33.04749498997995 -17.946677229058807 32.903226452905805 -18.003515088253952 32.75895791583166 -18.060277433329215 32.61468937875751 -18.116964104070153 32.47042084168336 -18.17357493753596 32.32615230460921 -18.230109768007797 32.18188376753506 -18.286568426936025 32.037615230460915 -18.342950742886398 31.89334669338677 -18.399256541485144 31.74907815631262 -18.455485645362934 31.604809619238473 -18.511637874097723 31.460541082164326 -18.567720934190692 31.316272545090175 -18.623743934764097 31.172004008016028 -18.679708837636362 31.02773547094188 -18.7356163243514 30.883466933867734 -18.791466457919757 30.739198396793583 -18.847259301916758 30.594929859719436 -18.902994920491153 30.45066132264529 -18.958673378374048 30.306392785571138 -19.014294740888168 30.16212424849699 -19.06985907395749 30.017855711422843 -19.125366444117223 29.873587174348692 -19.180816918524187 29.729318637274545 -19.23621056496759 29.585050100200398 -19.29154745188025 29.44078156312625 -19.34682764835025 29.2965130260521 -19.402051224133082 29.152244488977953 -19.45721824966429 29.007975951903806 -19.51232879607264 28.863707414829655 -19.56738293519384 28.719438877755508 -19.622380739584862 28.57517034068136 -19.677322282538874 28.43090180360721 -19.732207638100814 28.286633266533062 -19.78703688108367 28.142364729458915 -19.841810087085467 27.998096192384768 -19.896527332507027 27.853827655310617 -19.951188694570526 27.70955911823647 -20.005794251338905 27.565290581162323 -20.060344081736183 27.421022044088172 -20.114838265568686 27.276753507014025 -20.169276883547308 27.132484969939878 -20.223660017310788 26.98821643286573 -20.277987749450123 26.84394789579158 -20.332260163534116 26.699679358717432 -20.38647734413619 26.555410821643285 -20.440639376862485 26.411142284569134 -20.494746348381316 26.266873747494987 -20.54879834645411 26.12260521042084 -20.602795459967833 25.97833667334669 -20.656737778969063 25.834068136272542 -20.71062539469974 25.689799599198395 -20.76445839963473 25.545531062124248 -20.818236887521277 25.401262525050097 -20.87196095342046 25.25699398797595 -20.925630693750765 25.112725450901802 -20.979246206333894 24.96845691382765 -21.032807590442918 24.824188376753504 -21.086314946852937 24.679919839679357 -21.139768377894377 24.535651302605206 -21.193167987509028 24.39138276553106 -21.246513881309063 24.247114228456912 -21.299806166639137 24.102845691382765 -21.353044952641763 23.958577154308614 -21.406230350326144 23.814308617234467 -21.45936247264069 23.67004008016032 -21.512441434549384 23.52577154308617 -21.565467353112222 23.38150300601202 -21.618440347570004 23.237234468937874 -21.671360539433685 23.092965931863727 -21.724228052578532 22.948697394789576 -21.777043013343416 22.80442885771543 -21.8298055506355 22.660160320641282 -21.882515796040614 22.51589178356713 -21.935173883939697 22.371623246492984 -21.987779951631616 22.227354709418837 -22.04033413946274 22.083086172344686 -22.092836590963664 21.93881763527054 -22.145287452993507 21.79454909819639 -22.197686875892206 21.650280561122244 -22.250035013641273 21.506012024048093 -22.302332024033543 21.361743486973946 -22.354578068852387 21.2174749498998 -22.40677331406098 21.073206412825648 -22.458917930002215 20.9289378757515 -22.51101209160986 20.784669338677354 -22.563055978631667 20.640400801603203 -22.61504977586508 20.496132264529056 -22.666993673406367 20.35186372745491 -22.718887866913878 20.20759519038076 -22.770732557886358 20.06332665330661 -22.822527953957145 19.919058116232463 -22.874274269205262 19.774789579158316 -22.92597172448435 19.630521042084165 -22.97762054777056 19.486252505010018 -23.029220974530553 19.34198396793587 -23.08077324811076 19.19771543086172 -23.13227762014925 19.053446893787573 -23.183734351011562 18.909178356713426 -23.23514371025193 18.76490981963928 -23.286505977101466 18.620641282565128 -23.337832649142197 18.47637274549098 -23.389143342951172 18.332104208416833 -23.44044820267803 18.187835671342683 -23.491749757183765 18.043567134268535 -23.5430491586445 17.899298597194388 -23.594347434511615 17.75503006012024 -23.64564564229102 17.61076152304609 -23.696944870858683 17.466492985971943 -23.748246241847326 17.322224448897796 -23.7995509111086 17.177955911823645 -23.850860070255433 17.033687374749498 -23.90217494828952 16.88941883767535 -23.95349681331927 16.7451503006012 -24.004826974373863 16.600881763527052 -24.056166783319547 16.456613226452905 -24.107517636884623 16.312344689378758 -24.158880978800095 16.168076152304607 -24.21025830206343 16.02380761523046 -24.261651151333425 15.87953907815631 -24.313061125464696 15.735270541082162 -24.364489880190984 15.591002004008013 -24.41593913096712 15.446733466933866 -24.467410655980185 15.302464929859717 -24.518906299341218 15.158196392785568 -24.570427974469663 15.01392785571142 -24.621977667683645 14.869659318637272 -24.67355744201016 14.725390781563124 -24.72516944123037 14.581122244488975 -24.7768158941763 14.436853707414826 -24.828499119296573 14.29258517034068 -24.880221529510163 14.14831663326653 -24.93198563736862 14.004048096192383 -24.98379406054891 13.859779559118234 -25.035649527700766 13.715511022044085 -25.087554884674383 13.571242484969938 -25.139513101156414 13.426973947895789 -25.19152727774457 13.282705410821642 -25.243600653493615 13.138436873747493 -25.295736613968387 12.994168336673344 -25.347938699842445 12.849899799599196 -25.400210616084376 12.705631262525047 -25.452556241777383 12.5613627254509 -25.50497964062188 12.417094188376751 -25.557485072175194 12.272825651302602 -25.610077003887486 12.128557114228455 -25.662760123998297 11.984288577154306 -25.715539355364164 11.840020040080159 -25.768419870294395 11.69575150300601 -25.82140710647933 11.551482965931863 -25.874506784103673 11.407214428857714 -25.927724924246363 11.262945891783565 -25.981067868678664 11.118677354709417 -26.034542301183215 10.974408817635268 -26.08815527052934 10.830140280561121 -26.14191421525389 10.685871743486972 -26.19582699041243 10.541603206412823 -26.24990189648321 10.397334669338676 -26.304147710625887 10.253066132264527 -26.35857372051921 10.10879759519038 -26.41318976102666 9.96452905811623 -26.468006253967225 9.820260521042082 -26.523034251300246 9.675991983967934 -26.57828548206925 9.531723446893785 -26.633742337775963 9.387454909819638 -26.689338083235043 9.24318637274549 -26.745028925059557 9.09891783567134 -26.800816117138876 8.954649298597193 -26.85670585548451 8.810380761523044 -26.912706900318735 8.666112224448897 -26.96882861227707 8.521843687374748 -27.02508099838088 8.377575150300599 -27.081474762033395 8.233306613226452 -27.13802135745477 8.089038076152303 -27.194733049022997 7.9447695390781545 -27.25162297604574 7.800501002004006 -27.30870522355517 7.656232464929858 -27.365994899794575 7.51196392785571 -27.42350822115415 7.367695390781562 -27.481262605415292 7.223426853707413 -27.53927677428101 7.079158316633265 -27.597570866307027 6.934889779559117 -27.65616656150753 6.790621242484969 -27.715087219095473 6.646352705410821 -27.774358030034815 6.502084168336672 -27.83400618633711 6.357815631262524 -27.894061069335237 6.2135470941883755 -27.95455445952136 6.069278557114227 -28.01552077095618 5.925010020040079 -28.07699731375548 5.780741482965931 -28.139024588755394 5.636472945891782 -28.201646619170532 5.492204408817634 -28.264911324916156 5.347935871743486 -28.32887094629981 5.203667334669338 -28.39358252504175 5.05939879759519 -28.459108452110375 4.915130260521041 -28.525517093726656 4.770861723446893 -28.592883509188262 4.6265931863727445 -28.661290277002124 4.482324649298596 -28.73082844934073 4.338056112224448 -28.80159865924444 4.193787575150299 -28.873712410532516 4.049519038076151 -28.94729358739528 3.905250501002003 -29.022480229567456 3.760981963927855 -29.099426630434042 3.6167134268537064 -29.178305830217344 3.4724448897795583 -29.259312595666188 3.3281763527054102 -29.342667002978146 3.1839078156312617 -29.42861877421806 3.0396392785571136 -29.517452562336686 2.8953707414829655 -29.609494440447484 2.751102204408817 -29.705119933643836 2.606833667334669 -29.804764045611353 2.4625651302605203 -29.908933891300695 2.318296593186372 -30.018224771400167 2.174028056112224 -30.13334084505466 2.0297595190380755 -30.255122020930816 1.8854909819639276 -30.384579364471794 1.7412224448897793 -30.522942318747475 1.596953907815631 -30.67172251674337 1.4526853707414829 -30.832801142369917 1.3084168336673345 -31.008549911062335 1.1641482965931862 -31.20199978106649 1.0198797595190379 -31.41706960071087 0.8756112224448896 -31.658882845241283 0.7313426853707414 -31.929915336524896 0.5870741482965931 -32.22943849820706 0.44280561122244483 -32.559672476181774 0.29853707414829656 -32.922180535599225 0.15426853707414828 -33.267604963464514 0.01 +-0.0 56.0 +0.052815297998978813 55.88779559118236 +0.1055905973100307 55.77559118236473 +0.1583258903802704 55.663386773547096 +0.21102116958648773 55.551182364729456 +0.2636764272343416 55.438977955911824 +0.3162916555575771 55.326773547094184 +0.3688668467171828 55.21456913827655 +0.4214019928005909 55.10236472945891 +0.47389708582081397 54.99016032064128 +0.5263521177156208 54.87795591182365 +0.5787670803466686 54.76575150300601 +0.6311419654986241 54.653547094188376 +0.6834767648783074 54.541342685370736 +0.7357714701137744 54.429138276553104 +0.7880260727534378 54.31693386773547 +0.8402405642651443 54.20472945891783 +0.8924149360352387 54.0925250501002 +0.944549179367651 53.98032064128256 +0.9966432854829212 53.86811623246493 +1.0486972455172614 53.755911823647295 +1.1007110505215727 53.643707414829656 +1.1526846914604507 53.531503006012024 +1.20461815921121 53.419298597194384 +1.2565114445628474 53.30709418837675 +1.3083645382150408 53.19488977955912 +1.3601774307771037 53.08268537074148 +1.4119501127669243 52.97048096192385 +1.463682574609925 52.85827655310621 +1.5153748066379593 52.746072144288576 +1.567026799088244 52.63386773547094 +1.6186385421022436 52.521663326653304 +1.670210025724541 52.40945891783567 +1.721741239901727 52.29725450901803 +1.7732321744812256 52.1850501002004 +1.8246828192101567 52.07284569138276 +1.8760931637341314 51.96064128256513 +1.927463197596081 51.848436873747495 +1.978792910235038 51.736232464929856 +2.0300822909849012 51.62402805611222 +2.0813313290732176 51.511823647294584 +2.1325400136198995 51.39961923847695 +2.183708333635973 51.28741482965932 +2.2348362780222772 51.17521042084168 +2.2859238355681497 51.06300601202405 +2.336970994950123 50.95080160320641 +2.387977744730558 50.838597194388775 +2.438944073356305 50.72639278557114 +2.48986996915732 50.6141883767535 +2.540755420345257 50.50198396793587 +2.591600415012079 50.38977955911823 +2.6424049411285973 50.2775751503006 +2.6931689865430437 50.16537074148297 +2.743892538979591 50.05316633266533 +2.7945755860368515 49.940961923847695 +2.8452181151863907 49.828757515030055 +2.895820113771171 49.71655310621242 +2.9463815690040245 49.60434869739479 +2.9969024679660703 49.49214428857715 +3.047382797605115 49.37993987975952 +3.097822544734061 49.26773547094188 +3.1482216960292444 49.15553106212425 +3.1985802380288035 49.043326653306615 +3.248898157130988 48.931122244488975 +3.2991754395924473 48.81891783567134 +3.34941207152653 48.7067134268537 +3.3996080389015098 48.59450901803607 +3.449763327538836 48.48230460921844 +3.4998779231113293 48.3701002004008 +3.549951811141353 48.25789579158317 +3.599984976998989 48.14569138276553 +3.649977405900146 48.033486973947895 +3.69992908290469 47.921282565130255 +3.7498399929144948 47.80907815631262 +3.7997101206715236 47.69687374749499 +3.8495394507558416 47.58466933867735 +3.8993279675836097 47.47246492985972 +3.949075655405078 47.36026052104208 +3.9987824983025053 47.24805611222445 +4.0484484801880996 47.135851703406814 +4.098073584801896 47.023647294589175 +4.147657795709606 46.91144288577154 +4.197201096300471 46.7992384769539 +4.246703469785037 46.68703406813627 +4.296164899192943 46.57482965931864 +4.345585367370656 46.462625250501 +4.394964856979166 46.350420841683366 +4.4443033504916825 46.23821643286573 +4.493600830191258 46.126012024048094 +4.542857278168415 46.01380761523046 +4.59207267631872 45.90160320641282 +4.641247006340315 45.78939879759519 +4.69038024973145 45.67719438877755 +4.7394723877879334 45.56498997995992 +4.788523401600594 45.452785571142286 +4.837533272052677 45.340581162324646 +4.886501979817199 45.228376753507014 +4.935429505354305 45.116172344689375 +4.984315828908534 45.00396793587174 +5.033160930506101 44.8917635270541 +5.081964789952087 44.77955911823647 +5.130727386827641 44.66735470941884 +5.179448700487107 44.5551503006012 +5.2281287100551115 44.442945891783566 +5.276767394423643 44.33074148296593 +5.325364732249039 44.218537074148294 +5.373920701948983 44.10633266533066 +5.422435281699426 43.99412825651302 +5.470908449431454 43.88192384769539 +5.519340182828163 43.76971943887775 +5.56773045932142 43.65751503006012 +5.616079256088642 43.545310621242486 +5.664386550049487 43.433106212424846 +5.712652317862504 43.320901803607214 +5.760876535921761 43.208697394789574 +5.809059180353383 43.09649298597194 +5.857200227012084 42.98428857715431 +5.905299651477617 42.87208416833667 +5.953357429051175 42.75987975951904 +6.00137353475177 42.6476753507014 +6.049347943312518 42.535470941883766 +6.097280629176907 42.42326653306613 +6.145171566494986 42.311062124248494 +6.193020729119503 42.19885771543086 +6.240828090602008 42.08665330661322 +6.28859362418886 41.97444889779559 +6.336317302817222 41.86224448897796 +6.383999099110961 41.75004008016032 +6.431638985376499 41.637835671342685 +6.479236933598619 41.525631262525046 +6.526792915436181 41.41342685370741 +6.5743069022178044 41.30122244488978 +6.621778864937472 41.18901803607214 +6.669208774250055 41.07681362725451 +6.716596600466817 40.96460921843687 +6.763942313550791 40.85240480961924 +6.811245883112151 40.7402004008016 +6.858507278403459 40.627995991983965 +6.905726468314888 40.51579158316633 +6.952903421369345 40.403587174348694 +7.000038105717523 40.29138276553106 +7.047130489132908 40.17917835671342 +7.0941805390066675 40.06697394789579 +7.1411882223425085 39.95476953907816 +7.188153505751427 39.84256513026052 +7.235076355446383 39.730360721442885 +7.281956737236922 39.618156312625246 +7.328794616523677 39.50595190380761 +7.375589958292823 39.39374749498998 +7.42234272711043 39.28154308617234 +7.469052887116726 39.16933867735471 +7.515720402020305 39.05713426853707 +7.562345235092199 38.94492985971944 +7.608927349159911 38.832725450901805 +7.65546670660133 38.720521042084165 +7.701963269338546 38.60831663326653 +7.748416998831609 38.49611222444889 +7.794827856072147 38.38390781563126 +7.84119580157693 38.27170340681363 +7.8875207953813105 38.15949899799599 +7.93380279703256 38.04729458917836 +7.980041765583141 37.93509018036072 +8.026237659583824 37.822885771543085 +8.072390437076756 37.710681362725445 +8.118500055588365 37.59847695390781 +8.164566472122216 37.48627254509018 +8.210589643151712 37.37406813627254 +8.256569524612697 37.26186372745491 +8.30250607189597 37.14965931863727 +8.348399239839635 37.03745490981964 +8.394248982721392 36.925250501002004 +8.44005525425066 36.813046092184365 +8.485818007560606 36.70084168336673 +8.531537195200055 36.58863727454909 +8.577212769125245 36.47643286573146 +8.622844680691497 36.36422845691383 +8.66843288064473 36.25202404809619 +8.71397731911284 36.13981963927856 +8.759477945596975 36.02761523046092 +8.804934708962643 35.915410821643285 +8.850347557430705 35.80320641282565 +8.895716438568222 35.69100200400801 +8.941041299279147 35.57879759519038 +8.986322085794903 35.46659318637274 +9.031558743664776 35.35438877755511 +9.076751217746201 35.242184368737476 +9.121899452194862 35.12997995991984 +9.167003390454646 35.017775551102204 +9.212062975247466 34.905571142284565 +9.257078148562886 34.79336673346693 +9.302048851647621 34.6811623246493 +9.346975024994844 34.56895791583166 +9.391856608333338 34.45675350701403 +9.436693540616496 34.34454909819639 +9.481485760011104 34.232344689378756 +9.526233203886006 34.120140280561124 +9.570935808800549 34.007935871743484 +9.61559351049285 33.89573146292585 +9.660206243867915 33.78352705410821 +9.704773942985517 33.67132264529058 +9.749296541047942 33.55911823647294 +9.79377397038749 33.44691382765531 +9.838206162453819 33.334709418837676 +9.882593047801073 33.222505010020036 +9.9269345560748 33.110300601202404 +9.971230615998685 32.998096192384764 +10.015481155361053 32.88589178356713 +10.059686101001184 32.7736873747495 +10.103845378795386 32.66148296593186 +10.14795891364286 32.54927855711423 +10.192026629451359 32.43707414829659 +10.236048449122583 32.324869739478956 +10.280024294537387 32.21266533066132 +10.323954086540729 32.100460921843684 +10.36783774492637 31.988256513026055 +10.411675188421379 31.87605210420842 +10.455466334670342 31.763847695390783 +10.499211100219352 31.651643286573147 +10.542909400499736 31.53943887775551 +10.58656187430735 31.42723446893788 +10.630173907648182 31.315030060120243 +10.673750236013444 31.202825651302607 +10.717291311677098 31.09062124248497 +10.760797605551154 30.978416833667335 +10.804269181920384 30.8662124248497 +10.847706070488819 30.754008016032067 +10.891108301167506 30.64180360721443 +10.93447590407696 30.529599198396795 +10.977808909549687 30.41739478957916 +11.02110734813278 30.305190380761523 +11.064371250590591 30.19298597194389 +11.107600647907484 30.080781563126255 +11.150795571290654 29.96857715430862 +11.193956052173057 29.856372745490983 +11.237082122216401 29.744168336673347 +11.280173813314253 29.63196392785571 +11.323231157595215 29.51975951903808 +11.366254187426232 29.407555110220443 +11.409242935415975 29.295350701402807 +11.452197434418341 29.18314629258517 +11.495117717536075 29.070941883767535 +11.538003818124494 28.958737474949903 +11.580855769795347 28.846533066132267 +11.62367360642079 28.73432865731463 +11.666457362137493 28.622124248496995 +11.709207071350903 28.50991983967936 +11.751922768739623 28.397715430861727 +11.794604489259967 28.28551102204409 +11.837252268150642 28.173306613226455 +11.879866140937624 28.06110220440882 +11.922446143439172 27.948897795591183 +11.964992311771045 27.83669338677355 +12.007504682351886 27.724488977955914 +12.049983291908795 27.61228456913828 +12.092428177483118 27.500080160320643 +12.134839376436423 27.387875751503007 +12.177216926456708 27.27567134268537 +12.219560865564826 27.16346693386774 +12.261871232121155 27.051262525050102 +12.304148064832493 26.939058116232466 +12.346391402759227 26.82685370741483 +12.38860128532277 26.714649298597195 +12.430777752313254 26.602444889779562 +12.472920843897542 26.490240480961926 +12.51503060062751 26.37803607214429 +12.557107063448672 26.265831663326654 +12.59915027370912 26.15362725450902 +12.641160273168797 26.041422845691383 +12.683137104009154 25.92921843687375 +12.725080808843147 25.817014028056114 +12.766991430725648 25.70480961923848 +12.808869013164244 25.592605210420842 +12.85071360013047 25.480400801603206 +12.892525236071473 25.368196392785574 +12.934303965922146 25.255991983967938 +12.976049835117731 25.143787575150302 +13.017762889606928 25.031583166332666 +13.059443175865526 24.91937875751503 +13.101090740910578 24.807174348697398 +13.142705632315142 24.694969939879762 +13.184287898223618 24.582765531062126 +13.2258375873677 24.47056112224449 +13.267354749082982 24.358356713426854 +13.308839433326224 24.24615230460922 +13.350291690693341 24.133947895791586 +13.391711572438107 24.02174348697395 +13.433099130491629 23.909539078156314 +13.474454417482638 23.797334669338678 +13.515777486758594 23.685130260521042 +13.55706839240767 23.57292585170341 +13.598327189281658 23.460721442885774 +13.639553933019803 23.348517034068138 +13.680748680073647 23.236312625250502 +13.721911487732903 23.124108216432866 +13.763042414152416 23.011903807615234 +13.804141518380243 22.899699398797598 +13.845208860386927 22.78749498997996 +13.886244501095991 22.675290581162326 +13.927248502415729 22.56308617234469 +13.96822092727234 22.450881763527054 +14.00916183964446 22.33867735470942 +14.050071304599175 22.226472945891786 +14.090949388329554 22.11426853707415 +14.131796158193788 22.002064128256514 +14.172611682756015 21.889859719438878 +14.213396031828871 21.777655310621245 +14.254149276517897 21.66545090180361 +14.294871489267825 21.553246492985974 +14.335562743910895 21.441042084168338 +14.376223115717227 21.3288376753507 +14.416852681447397 21.21663326653307 +14.457451519407284 21.104428857715433 +14.498019709505302 20.992224448897797 +14.53855733331212 20.88002004008016 +14.579064474123003 20.767815631262525 +14.619541217022855 20.655611222444893 +14.659987648954136 20.543406813627257 +14.700403858787737 20.43120240480962 +14.740789937396992 20.318997995991985 +14.781145977734926 20.20679358717435 +14.821472074914942 20.094589178356713 +14.861768326295044 19.98238476953908 +14.902034831565821 19.870180360721445 +14.942271692842311 19.75797595190381 +14.982479014759965 19.645771543086173 +15.022656904574886 19.533567134268537 +15.062805472268527 19.421362725450905 +15.102924830657098 19.30915831663327 +15.143015095505845 19.196953907815633 +15.183076385648478 19.084749498997997 +15.223108823111968 18.97254509018036 +15.263112533246959 18.860340681362725 +15.303087644864076 18.748136272545093 +15.343034290376401 18.635931863727457 +15.38295644081475 18.52372745490982 +15.422865843589294 18.411523046092185 +15.462770717047414 18.29931863727455 +15.502672438842733 18.187114228456917 +15.542572249745133 18.07490981963928 +15.582470624462971 17.962705410821645 +15.62236804180139 17.85050100200401 +15.662264991356187 17.738296593186373 +15.702161973877395 17.62609218436874 +15.742059501648013 17.513887775551105 +15.781958098878563 17.40168336673347 +15.821858302118265 17.289478957915833 +15.861760660683585 17.177274549098197 +15.901665737105002 17.065070140280564 +15.941574107592885 16.95286573146293 +15.981486362523354 16.840661322645293 +16.02140310694515 16.728456913827657 +16.061324961108514 16.61625250501002 +16.101252561017123 16.504048096192385 +16.14118655900427 16.391843687374752 +16.18112762433447 16.279639278557116 +16.221076443831688 16.16743486973948 +16.261033722535654 16.055230460921845 +16.301000184387533 15.943026052104209 +16.34097657294651 15.830821643286573 +16.38096365213885 15.718617234468939 +16.420962207041057 15.606412825651303 +16.4609730446989 15.494208416833667 +16.50099699498415 15.382004008016033 +16.54103491149097 15.269799599198397 +16.581087672474037 15.15759519038076 +16.621156181830543 15.045390781563126 +16.661241370128437 14.93318637274549 +16.701344195683316 14.820981963927855 +16.741465645686535 14.70877755511022 +16.78160673738735 14.596573146292585 +16.821768519331897 14.48436873747495 +16.861952072662184 14.372164328657314 +16.902158512478298 14.259959919839678 +16.942388989267304 14.147755511022044 +16.982644690402545 14.035551102204408 +17.022926841717194 13.923346693386774 +17.063236709156246 13.811142284569138 +17.10357560051134 13.698937875751502 +17.1439448672431 13.586733466933868 +17.18434590639596 13.474529058116232 +17.22478016261082 13.362324649298596 +17.265249130241106 13.250120240480962 +17.305754355578333 13.137915831663326 +17.346297439193513 13.02571142284569 +17.386880038401248 12.913507014028056 +17.427503869853837 12.80130260521042 +17.46817071227313 12.689098196392786 +17.50888240932846 12.57689378757515 +17.549640872669542 12.464689378757514 +17.590448085123775 12.35248496993988 +17.63130610406819 12.240280561122244 +17.67221706498683 12.12807615230461 +17.713183185225255 12.015871743486974 +17.754206767954628 11.903667334669338 +17.79529020635877 11.791462925851704 +17.836435988058575 11.679258517034068 +17.87764669978913 11.567054108216432 +17.91892503234622 11.454849699398798 +17.96027378581999 11.342645290581162 +18.00169587513492 11.230440881763526 +18.043194335916866 11.118236472945892 +18.084772330709338 11.006032064128256 +18.12643315556315 10.893827655310622 +18.16818024702527 10.781623246492986 +18.210017189554996 10.66941883767535 +18.251947723397702 10.557214428857716 +18.293975752948963 10.44501002004008 +18.336105355644623 10.332805611222446 +18.378340791415287 10.22060120240481 +18.42068651274707 10.108396793587174 +18.46314717539402 9.99619238476954 +18.505727649791545 9.883987975951904 +18.548433033224633 9.771783567134268 +18.59126866280939 9.659579158316633 +18.634240129351724 9.547374749498998 +18.677349937327634 9.435170340681362 +18.720556707457863 9.322965931863727 +18.763821201585774 9.210761523046092 +18.807143460441527 9.098557114228457 +18.850523192188298 8.986352705410821 +18.893963812948048 8.874148296593185 +18.9374693533894 8.761943887775551 +18.9810440567396 8.649739478957915 +19.024692391268403 8.537535070140281 +19.068419063605692 8.425330661322645 +19.11222903295814 8.31312625250501 +19.156127526296373 8.200921843687375 +19.20012005459077 8.08871743486974 +19.24421243018142 7.976513026052104 +19.288410785376175 7.864308617234469 +19.332721592379777 7.752104208416833 +19.377151684667407 7.639899799599198 +19.421708279927426 7.527695390781563 +19.466399004710787 7.415490981963927 +19.51123192093895 7.303286573146292 +19.55621555443816 7.191082164328657 +19.60135892568588 7.078877755511022 +19.646671582975372 6.966673346693387 +19.69216363822727 6.854468937875751 +19.73784580570246 6.742264529058116 +19.78372944389977 6.630060120240481 +19.829826600954664 6.517855711422845 +19.876150063892357 6.40565130260521 +19.922713412131046 6.293446893787575 +19.969531075679072 6.18124248496994 +20.01661839852468 6.069038076152305 +20.06399170777979 5.956833667334669 +20.111668389210962 5.844629258517034 +20.159666969873346 5.732424849699399 +20.208007208658074 5.620220440881763 +20.256710195673225 5.508016032064128 +20.305798461504796 5.395811623246493 +20.355296097550877 5.283607214428858 +20.40522888879253 5.171402805611223 +20.455624460563524 5.059198396793587 +20.50651244111299 4.946993987975952 +20.557924642027025 4.834789579158317 +20.609895258894884 4.722585170340681 +20.662461094982234 4.610380761523046 +20.7156618111199 4.498176352705411 +20.769540205545724 4.385971943887776 +20.824142528067696 4.2737675350701405 +20.879518833670392 4.161563126252505 +20.935723381591462 4.0493587174348695 +20.992815086985296 3.9371543086172345 +21.050858033610158 3.824949899799599 +21.109922057578444 3.7127454909819635 +21.170083414166925 3.6005410821643284 +21.231425542084505 3.4883366733466934 +21.294039942554154 3.376132264529058 +21.358027194231855 3.2639278557114224 +21.423498129552172 3.1517234468937874 +21.49057520381045 3.0395190380761523 +21.559394095499496 2.927314629258517 +21.63010558555564 2.8151102204408813 +21.702877774826224 2.7029058116232463 +21.77789871404056 2.5907014028056112 +21.855379539923316 2.4784969939879757 +21.93555823629466 2.3662925851703402 +22.018704172060023 2.254088176352705 +22.105123611666524 2.14188376753507 +22.195166451719505 2.0296793587174347 +22.289234515323805 1.9174749498997996 +22.387791840713213 1.8052705410821643 +22.491377543021446 1.693066132264529 +22.600622021403503 1.5808617234468938 +22.716267546088446 1.4686573146292585 +22.839194612699472 1.3564529058116233 +22.97045591382958 1.244248496993988 +23.1113203493425 1.1320440881763527 +23.26333009784264 1.0198396793587174 +23.42837407410928 0.9076352705410822 +23.60877459418035 0.7954308617234469 +23.80739893905294 0.6832264529058116 +24.023785816650847 0.5710220440881764 +24.256520336667478 0.4588176352705411 +24.507587273383727 0.3466132264529058 +24.77890950188695 0.23440881763527055 +25.067836657270067 0.12220440881763527 +25.33748895949536 0.01 diff --git a/ELoss/E_vs_x_deuteron.dat b/ELoss/E_vs_x_deuteron.dat index 1aa175a..78a001a 100644 --- a/ELoss/E_vs_x_deuteron.dat +++ b/ELoss/E_vs_x_deuteron.dat @@ -1,501 +1,501 @@ Distance_cm Energy_MeV --0.0 30.0 -25.08817181345015 29.9398997995992 -50.138143423769286 29.879799599198396 -75.14986579427145 29.819699398797596 -100.12328991490207 29.759599198396792 -125.05836680245332 29.699498997995992 -149.95504750080173 29.63939879759519 -174.8132830811306 29.579298597194388 -199.6330246421526 29.519198396793588 -224.41422331034698 29.459098196392784 -249.1568302401747 29.398997995991984 -273.86079661431546 29.338897795591183 -298.5260736438897 29.27879759519038 -323.15261256868104 29.21869739478958 -347.74036465737174 29.15859719438878 -372.2892812077642 29.098496993987975 -396.7993135470031 29.038396793587175 -421.27041303181204 28.97829659318637 -445.7025310487075 28.91819639278557 -470.0956190142352 28.85809619238477 -494.44962837519137 28.797995991983967 -518.7645106088444 28.737895791583167 -543.0402172231701 28.677795591182363 -567.2766997570659 28.617695390781563 -591.4739097805857 28.557595190380763 -615.6317988951611 28.49749498997996 -639.7503187338217 28.43739478957916 -663.82942096143 28.377294589178355 -687.8690572748942 28.317194388777555 -711.8691794034033 28.257094188376755 -735.8297391086462 28.19699398797595 -759.7506881850317 28.13689378757515 -783.6319784599208 28.07679358717435 -807.4735617938463 28.016693386773547 -831.2753900807317 27.956593186372746 -855.0374152481236 27.896492985971943 -878.7595892574044 27.836392785571142 -902.4418641040241 27.776292585170342 -926.0841922271081 27.71619238476954 -949.686526428521 27.656092184368738 -973.2488191284921 27.595991983967934 -996.7710224469918 27.535891783567134 -1020.2530885391931 27.475791583166334 -1043.6949695956882 27.41569138276553 -1067.096617842706 27.35559118236473 -1090.4579855423422 27.295490981963926 -1113.779024992768 27.235390781563126 -1137.0596885284613 27.175290581162326 -1160.2999285204212 27.115190380761522 -1183.4996973763837 27.05509018036072 -1206.6589475410494 26.99498997995992 -1229.777631496298 26.934889779559118 -1252.8557017614023 26.874789579158318 -1275.893110893256 26.814689378757514 -1298.8898114865815 26.754589178356714 -1321.845756174155 26.694488977955913 -1344.7608976270212 26.63438877755511 -1367.635188554705 26.57428857715431 -1390.4685817054371 26.514188376753506 -1413.2610298663592 26.454088176352705 -1436.012485863749 26.393987975951905 -1458.7229025632307 26.3338877755511 -1481.3922328699866 26.2737875751503 -1504.020429728979 26.213687374749497 -1526.6074461251549 26.153587174348697 -1549.153235083667 26.093486973947897 -1571.6577496700836 26.033386773547093 -1594.1209429905964 25.973286573146293 -1616.5427681922408 25.913186372745493 -1638.9231784631024 25.85308617234469 -1661.2621270325246 25.79298597194389 -1683.559567171328 25.732885771543085 -1705.8154521920094 25.672785571142285 -1728.0297354489608 25.612685370741485 -1750.2023707826297 25.55258517034068 -1772.3333123321488 25.49248496993988 -1794.4225138276397 25.432384769539077 -1816.469928778002 25.372284569138277 -1838.475510735104 25.312184368737476 -1860.4392132939847 25.252084168336673 -1882.3609900930549 25.191983967935872 -1904.240794814312 25.13188376753507 -1926.0785811835337 25.07178356713427 -1947.874302970491 25.011683366733468 -1969.6279139891474 24.951583166332664 -1991.339368097857 24.891482965931864 -2013.0086191995747 24.831382765531064 -2034.6356212420537 24.77128256513026 -2056.2203282180412 24.71118236472946 -2077.762694165488 24.651082164328656 -2099.2626731677374 24.590981963927856 -2120.7202193537314 24.530881763527056 -2142.1352868982062 24.470781563126252 -2163.5078300218843 24.41068136272545 -2184.8378029916794 24.350581162324648 -2206.125160120883 24.290480961923848 -2227.369855769366 24.230380761523048 -2248.5718443437713 24.170280561122244 -2269.731080297701 24.110180360721444 -2290.8475181319177 24.05008016032064 -2311.9211123945274 23.98997995991984 -2332.9518176811785 23.92987975951904 -2353.9395886352463 23.869779559118236 -2374.884379948021 23.809679358717435 -2395.7861463589006 23.749579158316635 -2416.6448426555767 23.68947895791583 -2437.4604236742157 23.62937875751503 -2458.2328446343736 23.569278557114227 -2478.962061132159 23.509178356713427 -2499.6480284698055 23.449078156312627 -2520.290701662889 23.388977955911823 -2540.890035776426 23.328877755511023 -2561.4459859250624 23.26877755511022 -2581.958507273245 23.20867735470942 -2602.427555035408 23.14857715430862 -2622.8530844761503 23.088476953907815 -2643.235050910404 23.028376753507015 -2663.5734097036225 22.96827655310621 -2683.868116271946 22.90817635270541 -2704.119126082381 22.84807615230461 -2724.3263946529737 22.787975951903807 -2744.4898775529737 22.727875751503007 -2764.6095304030146 22.667775551102206 -2784.68530887528 22.607675350701403 -2804.7171686936667 22.547575150300602 -2824.7050656339616 22.4874749498998 -2844.6489555239973 22.427374749499 -2864.5487942438263 22.367274549098198 -2884.40453772588 22.307174348697394 -2904.2161419551285 22.247074148296594 -2923.98356296925 22.18697394789579 -2943.706756858781 22.12687374749499 -2963.385679767282 22.06677354709419 -2983.0202878914947 22.006673346693386 -3002.6105374814915 21.946573146292586 -3022.1563848408396 21.886472945891782 -3041.657786326745 21.826372745490982 -3061.1146983502126 21.76627254509018 -3080.527077970121 21.706172344689378 -3099.8948823218893 21.646072144288578 -3119.218067992463 21.585971943887778 -3138.496591591965 21.525871743486974 -3157.7304097851115 21.465771543086174 -3176.919479291362 21.40567134268537 -3196.0637568850557 21.34557114228457 -3215.1631993955575 21.28547094188377 -3234.2177637073955 21.225370741482966 -3253.227406760395 21.165270541082165 -3272.1920855498233 21.10517034068136 -3291.111757126515 21.04507014028056 -3309.9863785970124 20.98496993987976 -3328.815907123694 20.924869739478957 -3347.6002999249026 20.864769539078157 -3366.3395142750787 20.804669338677353 -3385.0335075048797 20.744569138276553 -3403.682237001312 20.684468937875753 -3422.285660207851 20.62436873747495 -3440.8437346245587 20.56426853707415 -3459.3564178082106 20.50416833667335 -3477.8236673724095 20.444068136272545 -3496.2454409876987 20.383967935871745 -3514.621696381683 20.32386773547094 -3532.9523913391326 20.26376753507014 -3551.237483702102 20.20366733466934 -3569.476931370034 20.143567134268537 -3587.6706922998633 20.083466933867737 -3605.818724957283 20.023366733466933 -3623.920987986863 19.963266533066133 -3641.9774396304056 19.903166332665332 -3659.9880380570507 19.84306613226453 -3677.9527414940108 19.78296593186373 -3695.8715082266726 19.722865731462925 -3713.7442965986816 19.662765531062124 -3731.5710650120404 19.602665330661324 -3749.3517719271927 19.54256513026052 -3767.0863758631076 19.48246492985972 -3784.7748353973693 19.42236472945892 -3802.417109166255 19.362264529058116 -3820.0131558648136 19.302164328657316 -3837.562934246947 19.242064128256512 -3855.0664031254787 19.181963927855712 -3872.5235213722335 19.12186372745491 -3889.9342479181037 19.061763527054108 -3907.298541753114 19.001663326653308 -3924.616361926495 18.941563126252504 -3941.8876675467354 18.881462925851704 -3959.1124177816528 18.821362725450903 -3976.290571858445 18.7612625250501 -3993.4220890637453 18.7011623246493 -4010.5069287436795 18.641062124248496 -4027.54505030391 18.580961923847696 -4044.536413209689 18.520861723446895 -4061.4809774092487 18.46076152304609 -4078.378703010345 18.40066132264529 -4095.2295497470504 18.34056112224449 -4112.033477303333 18.280460921843687 -4128.790445423035 18.220360721442887 -4145.500413909916 18.160260521042083 -4162.1633426276685 18.100160320641283 -4178.779191499954 18.040060120240483 -4195.347920510421 17.97995991983968 -4211.86948970272 17.91985971943888 -4228.343859180529 17.859759519038075 -4244.770989107558 17.799659318637275 -4261.150839707568 17.739559118236475 -4277.483371264369 17.67945891783567 -4293.768544121831 17.61935871743487 -4310.006318683882 17.559258517034067 -4326.196655414503 17.499158316633267 -4342.339514837729 17.439058116232466 -4358.434857537636 17.378957915831663 -4374.482644158325 17.318857715430862 -4390.482835403911 17.258757515030062 -4406.435392038506 17.19865731462926 -4422.340274886186 17.13855711422846 -4438.197444830979 17.078456913827655 -4454.006863217516 17.018356713426854 -4469.768491519468 16.958256513026054 -4485.482290858978 16.89815631262525 -4501.148222338214 16.83805611222445 -4516.766247119226 16.777955911823646 -4532.336326423892 16.717855711422846 -4547.8584215338715 16.657755511022046 -4563.332493790548 16.597655310621242 -4578.758504594969 16.537555110220442 -4594.1364154077855 16.477454909819638 -4609.466187749182 16.417354709418838 -4624.747783198808 16.357254509018038 -4639.981163395704 16.297154308617234 -4655.166290038217 16.237054108216434 -4670.3031248839225 16.176953907815633 -4685.391629749536 16.11685370741483 -4700.431766510817 16.05675350701403 -4715.423497102482 15.996653306613226 -4730.366783518093 15.936553106212424 -4745.261587809963 15.876452905811622 -4760.107872089042 15.81635270541082 -4774.905598524804 15.75625250501002 -4789.654729658248 15.696152304609218 -4804.355228189132 15.636052104208416 -4819.007056550943 15.575951903807614 -4833.610177123473 15.515851703406813 -4848.164552344546 15.455751503006011 -4862.670144709884 15.39565130260521 -4877.126916772958 15.335551102204407 -4891.534831144839 15.275450901803605 -4905.893850494044 15.215350701402805 -4920.203937546379 15.155250501002003 -4934.465055084769 15.095150300601201 -4948.677165949094 15.0350501002004 -4962.840233036011 14.974949899799599 -4976.954219298779 14.914849699398797 -4991.01908774707 14.854749498997995 -5005.034801446785 14.794649298597193 -5019.001323519855 14.734549098196391 -5032.918617144042 14.67444889779559 -5046.786645552742 14.614348697394789 -5060.605372034763 14.554248496993987 -5074.374760066107 14.494148296593185 -5088.094773401637 14.434048096192384 -5101.765375707008 14.373947895791582 -5115.386530466643 14.31384769539078 -5128.9582012194305 14.253747494989979 -5142.480351558484 14.193647294589177 -5155.952945130896 14.133547094188376 -5169.375945637488 14.073446893787574 -5182.74931683255 14.013346693386772 -5196.07302252358 13.95324649298597 -5209.347026571015 13.89314629258517 -5222.571292887959 13.833046092184368 -5235.7457854399045 13.772945891783566 -5248.870468244446 13.712845691382764 -5261.945305370991 13.652745490981962 -5274.970260940469 13.592645290581162 -5287.945299125026 13.53254509018036 -5300.870384147722 13.472444889779558 -5313.745480282218 13.412344689378756 -5326.570552021202 13.352244488977956 -5339.345564024129 13.292144288577154 -5352.070480818778 13.232044088176352 -5364.745266852983 13.17194388777555 -5377.3698866237555 13.111843687374748 -5389.944304676948 13.051743486973947 -5402.468485606907 12.991643286573145 -5414.942394056117 12.931543086172343 -5427.36599471485 12.871442885771541 -5439.7392523208 12.811342685370741 -5452.062131658721 12.75124248496994 -5464.334597560054 12.691142284569137 -5476.556614902554 12.631042084168335 -5488.728148609913 12.570941883767533 -5500.84916365137 12.510841683366733 -5512.919625041334 12.450741482965931 -5524.939497838988 12.390641282565129 -5536.908747202001 12.330541082164327 -5548.827338493593 12.270440881763527 -5560.695237053269 12.210340681362725 -5572.512408089085 12.150240480961923 -5584.278816852123 12.090140280561121 -5595.994428636089 12.030040080160319 -5607.659208776897 11.969939879759519 -5619.273122652264 11.909839679358717 -5630.836135681291 11.849739478957915 -5642.348213324055 11.789639278557113 -5653.80932108119 11.729539078156312 -5665.219424493478 11.66943887775551 -5676.578489141429 11.609338677354708 -5687.886480644872 11.549238476953906 -5699.143364662542 11.489138276553104 -5710.349106891671 11.429038076152304 -5721.503673104761 11.368937875751502 -5732.607029208842 11.3088376753507 -5743.659141097308 11.248737474949898 -5754.659974590014 11.188637274549098 -5765.60949554362 11.128537074148296 -5776.507669851207 11.068436873747494 -5787.354463441898 11.008336673346692 -5798.149842280496 10.94823647294589 -5808.8937723671215 10.88813627254509 -5819.586219736865 10.828036072144288 -5830.22715045945 10.767935871743486 -5840.816530638906 10.707835671342684 -5851.354326413263 10.647735470941884 -5861.840503954251 10.587635270541082 -5872.275029467025 10.52753507014028 -5882.657869216819 10.467434869739478 -5892.988989515452 10.407334669338676 -5903.268356666341 10.347234468937875 -5913.495936977738 10.287134268537073 -5923.671696790604 10.227034068136271 -5933.795602478467 10.16693386773547 -5943.867620447314 10.10683366733467 -5953.887717135514 10.046733466933867 -5963.8560660283865 9.986633266533065 -5973.7729692451585 9.926533066132263 -5983.638525093667 9.866432865731461 -5993.452706361795 9.806332665330661 -6003.215485625088 9.746232464929859 -6012.9268352437575 9.686132264529057 -6022.586727359621 9.626032064128255 -6032.195133892983 9.565931863727455 -6041.752026539442 9.505831663326653 -6051.25737676664 9.44573146292585 -6060.711155810933 9.385631262525049 -6070.113334673999 9.325531062124247 -6079.463884119367 9.265430861723447 -6088.762774668876 9.205330661322645 -6098.00997659905 9.145230460921843 -6107.205459937399 9.08513026052104 -6116.349194458636 9.02503006012024 -6125.441149680809 8.964929859719438 -6134.481294861348 8.904829659318636 -6143.469598993021 8.844729458917834 -6152.406030799794 8.784629258517032 -6161.290558732607 8.724529058116232 -6170.123150965039 8.66442885771543 -6178.9037753888815 8.604328657314628 -6187.632399609603 8.544228456913826 -6196.308990941708 8.484128256513026 -6204.933516403983 8.424028056112224 -6213.505942714633 8.363927855711422 -6222.026236286295 8.30382765531062 -6230.494363220931 8.243727454909818 -6238.910289304596 8.183627254509018 -6247.273980002077 8.123527054108216 -6255.585400451396 8.063426853707414 -6263.844515458171 8.003326653306614 -6272.051289489845 7.943226452905811 -6280.205686669748 7.88312625250501 -6288.307670771024 7.823026052104208 -6296.357205210391 7.7629258517034065 -6304.354253041732 7.7028256513026045 -6312.298776949522 7.6427254509018026 -6320.190739242081 7.5826252505010014 -6328.030101844635 7.5225250501001995 -6335.816826292198 7.462424849699398 -6343.550873722248 7.402324649298596 -6351.232204867207 7.342224448897795 -6358.860780046706 7.282124248496993 -6366.436559159634 7.222024048096192 -6373.959501675954 7.16192384769539 -6381.429566628287 7.101823647294588 -6388.84671260325 7.041723446893787 -6396.210897732539 6.981623246492985 -6403.522079683743 6.921523046092184 -6410.780215650888 6.861422845691382 -6417.985262344688 6.801322645290581 -6425.137175982503 6.741222444889779 -6432.235912277981 6.681122244488978 -6439.281426430375 6.621022044088176 -6446.273673113528 6.560921843687374 -6453.212606464501 6.500821643286573 -6460.09818007183 6.440721442885771 -6466.930346963407 6.3806212424849695 -6473.709059593955 6.3205210420841675 -6480.434269832085 6.260420841683366 -6487.105928946915 6.200320641282564 -6493.723987594231 6.140220440881763 -6500.288395802172 6.080120240480961 -6506.799102956407 6.020020040080159 -6513.256057784794 5.959919839679358 -6519.659208341483 5.899819639278556 -6526.008501990439 5.839719438877755 -6532.303885388372 5.779619238476953 -6538.545304467013 5.719519038076152 -6544.732704414734 5.65941883767535 -6550.86602965746 5.599318637274549 -6556.945223838843 5.539218436873747 -6562.970229799656 5.479118236472945 -6568.940989556371 5.419018036072144 -6574.857444278866 5.358917835671342 -6580.719534267227 5.298817635270541 -6586.5271989275825 5.238717434869739 -6592.280376746925 5.178617234468938 -6597.979005266853 5.118517034068136 -6603.62302105618 5.0584168336673345 -6609.212359682331 4.9983166332665325 -6614.746955681474 4.9382164328657305 -6620.226742527281 4.878116232464929 -6625.651652598265 4.818016032064127 -6631.0216171435795 4.757915831663326 -6636.336566247192 4.697815631262524 -6641.5964287903325 4.637715430861723 -6646.801132412085 4.577615230460921 -6651.950603468023 4.51751503006012 -6657.044766986727 4.457414829659318 -6662.083546624071 4.397314629258516 -6667.066864615081 4.337214428857715 -6671.994641723231 4.277114228456913 -6676.866797186966 4.217014028056112 -6681.683248663246 4.15691382765531 -6686.4439121679 4.096813627254509 -6691.148702012536 4.036713426853707 -6695.797530737735 3.9766132264529053 -6700.390309042235 3.9165130260521037 -6704.926945707784 3.856412825651302 -6709.407347519297 3.7963126252505006 -6713.831419179916 3.736212424849699 -6718.19906322055 3.6761122244488975 -6722.510179903388 3.616012024048096 -6726.76466711887 3.555911823647294 -6730.962420275495 3.4958116232464924 -6735.103332181806 3.435711422845691 -6739.187292919815 3.3756112224448893 -6743.214189709024 3.3155110220440878 -6747.183906760107 3.255410821643286 -6751.096325117216 3.1953106212424847 -6754.951322487722 3.135210420841683 -6758.748773058054 3.0751102204408816 -6762.488547294151 3.0150100200400796 -6766.170511724798 2.954909819639278 -6769.7945287059265 2.8948096192384765 -6773.360456163666 2.834709418837675 -6776.868147313637 2.7746092184368734 -6780.3174503535965 2.714509018036072 -6783.708208126142 2.6544088176352703 -6787.040257747667 2.5943086172344687 -6790.313430199187 2.534208416833667 -6793.52754987397 2.474108216432865 -6796.682434076094 2.4140080160320636 -6799.777892463085 2.353907815631262 -6802.8137264246725 2.2938076152304605 -6805.789728388336 2.233707414829659 -6808.7056810406975 2.1736072144288574 -6811.561356451904 2.113507014028056 -6814.3565150878185 2.0534068136272543 -6817.0909046920815 1.9933066132264528 -6819.764259016778 1.9332064128256512 -6822.376296376425 1.8731062124248496 -6824.926717995196 1.813006012024048 -6827.415206111496 1.7529058116232463 -6829.8414217970485 1.6928056112224448 -6832.205002439324 1.6327054108216432 -6834.505558826281 1.5726052104208417 -6836.742671760717 1.51250501002004 -6838.915888118052 1.4524048096192383 -6841.02471624618 1.3923046092184368 -6843.06862058952 1.3322044088176352 -6845.047015403025 1.2721042084168337 -6846.959257408198 1.212004008016032 -6848.804637237374 1.1519038076152304 -6850.582369524461 1.0918036072144288 -6852.291581547559 1.0317034068136273 -6853.931300443186 0.9716032064128256 -6855.500439249111 0.911503006012024 -6856.997782491055 0.8514028056112224 -6858.421972877517 0.7913026052104208 -6859.771502197243 0.7312024048096192 -6861.044712214047 0.6711022044088176 -6862.239816024621 0.611002004008016 -6863.354958250841 0.5509018036072144 -6864.388345473889 0.4908016032064128 -6865.338499170907 0.4307014028056112 -6866.204715957536 0.3706012024048096 -6866.987871763398 0.310501002004008 -6867.691803797163 0.2504008016032064 -6868.32576848863 0.1903006012024048 -6868.909557449423 0.1302004008016032 -6869.48963200349 0.0701002004008016 -6870.2848204904385 0.01 +-0.0 80.0 +88.94145560084779 79.83969939879759 +177.73811376114617 79.6793987975952 +266.38990738632776 79.51909819639279 +354.89676927821733 79.35879759519038 +443.25863213464766 79.19849699398797 +531.4754285490258 79.03819639278558 +619.5470910099426 78.87789579158317 +707.4735519007024 78.71759519038076 +795.2547434989275 78.55729458917835 +882.8905979761211 78.39699398797595 +970.3810473972279 78.23669338677355 +1057.72602372023 78.07639278557114 +1144.925458795662 77.91609218436874 +1231.9792843662026 77.75579158316633 +1318.8874320662153 77.59549098196393 +1405.6498334213331 77.43519038076153 +1492.2664198479627 77.27488977955912 +1578.737122652863 77.11458917835671 +1665.0618750414878 76.95428857715432 +1751.2406104727224 76.79398797595191 +1837.2732602787971 76.6336873747495 +1923.1597553096826 76.47338677354709 +2008.9000263033672 76.3130861723447 +2094.494003885416 76.15278557114229 +2179.9416185684527 75.99248496993988 +2265.242800751712 75.83218436873747 +2350.3974807205454 75.67188376753508 +2435.4055886459696 75.51158316633267 +2520.267054584132 75.35128256513026 +2604.9818084758526 75.19098196392785 +2689.549780146124 75.03068136272545 +2773.9708993036065 74.87038076152305 +2858.2450955401596 74.71008016032064 +2942.372298330293 74.54977955911824 +3026.35243703069 74.38947895791583 +3110.185440879683 74.22917835671343 +3193.87123899677 74.06887775551102 +3277.4097603820524 73.90857715430862 +3360.8009339157447 73.74827655310621 +3444.0446883576356 73.58797595190381 +3527.140952346588 73.4276753507014 +3610.0896543999665 73.267374749499 +3692.8907229131287 73.10707414829659 +3775.544086158874 72.9467735470942 +3858.049672286929 72.78647294589179 +3940.4074093233567 72.62617234468938 +4022.6172251700373 72.46587174348697 +4104.679047604098 72.30557114228458 +4186.592804277384 72.14527054108217 +4268.358422715854 71.98496993987976 +4349.975830319044 71.82466933867735 +4431.4449543594865 71.66436873747494 +4512.765721982134 71.50406813627255 +4593.938060203806 71.34376753507014 +4674.961895912566 71.18346693386773 +4755.837156951992 71.02316633266533 +4836.563772475164 70.86286573146293 +4917.141670412023 70.70256513026052 +4997.57077711412 70.54226452905812 +5077.851018801288 70.38196392785571 +5157.982321561019 70.22166332665331 +5237.964611347876 70.0613627254509 +5317.797813982838 69.9010621242485 +5397.481855152708 69.74076152304609 +5477.016660409467 69.5804609218437 +5556.402155169678 69.42016032064129 +5635.638264713804 69.25985971943888 +5714.724914185601 69.09955911823647 +5793.662028591454 68.93925851703408 +5872.44953279976 68.77895791583167 +5951.08735154023 68.61865731462926 +6029.575409403259 68.45835671342685 +6107.913630839253 68.29805611222444 +6186.101940157955 68.13775551102205 +6264.140261527799 67.97745490981964 +6342.028518975188 67.81715430861723 +6419.766636383837 67.65685370741483 +6497.354537494074 67.49655310621243 +6574.792145902167 67.33625250501002 +6652.079385059587 67.17595190380761 +6729.21617827233 67.0156513026052 +6806.202448700188 66.85535070140281 +6883.03811935607 66.6950501002004 +6959.723113105229 66.534749498998 +7036.2573526645665 66.37444889779559 +7112.64076060189 66.2141482965932 +7188.873259335194 66.05384769539079 +7264.954771131882 65.89354709418838 +7340.885218108038 65.73324649298597 +7416.664522227663 65.57294589178358 +7492.292607772306 65.41264529058117 +7567.769399063696 65.25234468937876 +7643.094817789836 65.09204408817635 +7718.268785280763 64.93174348697394 +7793.291222710537 64.77144288577155 +7868.162051096477 64.61114228456914 +7942.88119129832 64.45084168336673 +8017.448564017446 64.29054108216432 +8091.864089796049 64.13024048096193 +8166.127689016349 63.969939879759515 +8240.23928189972 63.80963927855711 +8314.198788505895 63.649338677354706 +8388.006128732124 63.4890380761523 +8461.661222312308 63.3287374749499 +8535.163988816179 63.16843687374749 +8608.514347648405 63.00813627254509 +8681.71221804776 62.84783567134268 +8754.75751908622 62.68753507014028 +8827.650169668112 62.52723446893787 +8900.390088529193 62.36693386773547 +8972.977194235795 62.20663326653306 +9045.411405183882 62.04633266533066 +9117.692639598179 61.88603206412825 +9189.820815531219 61.72573146292585 +9261.795850862447 61.56543086172344 +9333.617663297271 61.405130260521034 +9405.28617036612 61.24482965931863 +9476.801289423514 61.084529058116225 +9548.162937647083 60.92422845691382 +9619.371032036623 60.763927855711415 +9690.4254894131 60.603627254509014 +9761.326226726673 60.443326653306606 +9832.07814167799 60.283026052104205 +9902.686777207335 60.1227254509018 +9973.152615507579 59.962424849699396 +10043.475413403903 59.80212424849699 +10113.654927897724 59.641823647294586 +10183.690916168698 59.48152304609218 +10253.583135576691 59.32122244488978 +10323.33134366378 59.16092184368737 +10392.935298156212 59.00062124248497 +10462.394756966409 58.84032064128256 +10531.709478194929 58.68002004008016 +10600.879220132467 58.51971943887775 +10669.903741261809 58.35941883767535 +10738.782800259836 58.19911823647294 +10807.516155999478 58.03881763527053 +10876.103567551692 57.87851703406813 +10944.544794187457 57.718216432865724 +11012.839595379712 57.55791583166332 +11080.987730805355 57.397615230460914 +11148.988960347187 57.23731462925851 +11216.843044095905 57.077014028056105 +11284.549742352037 56.916713426853704 +11352.108815627931 56.756412825651296 +11419.52002464969 56.596112224448895 +11486.783130359152 56.43581162324649 +11553.897893915826 56.275511022044086 +11620.864076698866 56.11521042084168 +11687.681440309 55.954909819639276 +11754.349746570493 55.79460921843687 +11820.868759616935 55.63430861723447 +11887.23824443768 55.47400801603206 +11953.457964133342 55.31370741482966 +12019.52768137335 55.15340681362725 +12085.447159060515 54.99310621242485 +12151.216160332975 54.83280561122244 +12216.834448566113 54.67250501002003 +12282.301787374483 54.51220440881763 +12347.617940613743 54.35190380761522 +12412.782672382551 54.19160320641282 +12477.795747024496 54.03130260521041 +12542.65692912999 53.87100200400801 +12607.36598353819 53.710701402805604 +12671.92267533888 53.5504008016032 +12736.326769874388 53.390100200400795 +12800.578032741456 53.229799599198394 +12864.676229793145 53.069498997995986 +12928.621127140701 52.909198396793585 +12992.412491155448 52.748897795591176 +13056.050088470643 52.588597194388775 +13119.533685983364 52.42829659318637 +13182.863050856347 52.267995991983966 +13246.037950519867 52.10769539078156 +13309.058152673564 51.94739478957916 +13371.923425288314 51.78709418837675 +13434.633536608044 51.62679358717435 +13497.188255151585 51.46649298597194 +13559.587351555727 51.30619238476954 +13621.830597498376 51.14589178356713 +13683.917763059015 50.98559118236472 +13745.848617799324 50.82529058116232 +13807.622931565193 50.66498997995991 +13869.240474488495 50.50468937875751 +13930.7010169889 50.3443887775551 +13992.004329775633 50.1840881763527 +14053.150183849271 50.023787575150294 +14114.138350503492 49.86348697394789 +14174.968601326851 49.703186372745485 +14235.640708204515 49.542885771543084 +14296.154443320025 49.382585170340676 +14356.509579157013 49.222284569138274 +14416.705888500946 49.061983967935866 +14476.743144440832 48.901683366733465 +14536.621120370943 48.74138276553106 +14596.3395899925 48.581082164328656 +14655.898327315384 48.42078156312625 +14715.297106659802 48.26048096192385 +14774.535702657975 48.10018036072144 +14833.613890255787 47.93987975951904 +14892.531444714456 47.77957915831663 +14951.288141612165 47.61927855711422 +15009.883756845704 47.45897795591182 +15068.318068481985 47.29867735470941 +15126.590855515253 47.13837675350701 +15184.701895372782 46.9780761523046 +15242.650965161007 46.8177755511022 +15300.437842313295 46.65747494989979 +15358.062304591504 46.49717434869739 +15415.52413008756 46.336873747494984 +15472.82309722499 46.17657314629258 +15529.958984760464 46.016272545090175 +15586.931571785317 45.85597194388777 +15643.740637727069 45.695671342685365 +15700.385962350905 45.535370741482964 +15756.86732576118 45.375070140280556 +15813.18450840288 45.214769539078155 +15869.337291063082 45.05446893787575 +15925.325454872405 44.894168336673346 +15981.14878130644 44.73386773547094 +16036.807052187156 44.57356713426854 +16092.300049684323 44.41326653306613 +16147.627556316882 44.25296593186372 +16202.789354954324 44.09266533066132 +16257.78522881806 43.93236472945891 +16312.614961482743 43.77206412825651 +16367.278338572121 43.6117635270541 +16421.775146659926 43.4514629258517 +16476.10517093916 43.29116232464929 +16530.26819632399 43.13086172344689 +16584.264008088703 42.97056112224448 +16638.092391868966 42.81026052104208 +16691.753133663045 42.649959919839674 +16745.24601983302 42.48965931863727 +16798.570837105985 42.329358717434864 +16851.72737257521 42.16905811623246 +16904.715413701313 42.008757515030055 +16957.53474831338 41.848456913827654 +17010.185164610113 41.688156312625246 +17062.66645116089 41.527855711422845 +17114.978396906878 41.36755511022044 +17167.12079116207 41.207254509018036 +17219.093423614337 41.04695390781563 +17270.896084326432 40.88665330661322 +17322.528563736996 40.72635270541082 +17373.990652661538 40.56605210420841 +17425.282142293363 40.40575150300601 +17476.40282530431 40.2454509018036 +17527.352495789673 40.0851503006012 +17578.13094707866 39.92484969939879 +17628.737971791452 39.76454909819639 +17679.173362930997 39.60424849699398 +17729.43691388378 39.44394789579158 +17779.528418420647 39.28364729458917 +17829.447670697547 39.12334669338677 +17879.194465256292 38.96304609218436 +17928.76859702525 38.80274549098196 +17978.169861320046 38.642444889779554 +18027.39805384422 38.48214428857715 +18076.452970689865 38.321843687374745 +18125.33440833822 38.161543086172344 +18174.042163660266 38.001242484969936 +18222.576033917256 37.840941883767535 +18270.93581676125 37.68064128256513 +18319.1213102356 37.52034068136272 +18367.13231277541 37.36004008016032 +18414.96862320797 37.19973947895791 +18462.630042597983 37.03943887775551 +18510.1163724889 36.8791382765531 +18557.427412922993 36.7188376753507 +18604.56296420102 36.55853707414829 +18651.522827018238 36.39823647294589 +18698.30680246465 36.23793587174348 +18744.91469202519 36.07763527054108 +18791.34629757993 35.91733466933867 +18837.60142140418 35.75703406813627 +18883.67986616861 35.59673346693386 +18929.581434939315 35.43643286573146 +18975.305931177838 35.27613226452905 +19020.85315874116 35.11583166332665 +19066.222921881657 34.955531062124244 +19111.41502524701 34.79523046092184 +19156.42927388009 34.634929859719435 +19201.26547321878 34.474629258517034 +19245.923429095787 34.314328657314626 +19290.402949315572 34.15402805611222 +19334.703842236628 33.993727454909816 +19378.825914981393 33.83342685370741 +19422.768974853712 33.67312625250501 +19466.5328295514 33.5128256513026 +19510.11728716576 33.3525250501002 +19553.522156181112 33.19222444889779 +19596.747245474213 33.03192384769539 +19639.7923643137 32.87162324649298 +19682.657322359435 32.71132264529058 +19725.341929661827 32.55102204408817 +19767.845996661086 32.39072144288577 +19810.16933418647 32.23042084168336 +19852.311753455422 32.07012024048096 +19894.273066072717 31.909819639278556 +19936.053084029518 31.74951903807615 +19977.65162007975 31.589218436873747 +20019.068488540142 31.428917835671342 +20060.303503677234 31.268617234468937 +20101.35647890562 31.108316633266533 +20142.227228021817 30.948016032064128 +20182.915565203002 30.787715430861724 +20223.421305005748 30.62741482965932 +20263.74426236464 30.467114228456914 +20303.88425259088 30.30681362725451 +20343.841091370825 30.146513026052105 +20383.614594764447 29.9862124248497 +20423.20457920377 29.825911823647296 +20462.610861491215 29.66561122244489 +20501.83325879791 29.505310621242486 +20540.87158866192 29.345010020040082 +20579.725668986448 29.184709418837677 +20618.395319228395 29.02440881763527 +20656.8803593017 28.864108216432864 +20695.180608230246 28.70380761523046 +20733.295885241114 28.543507014028055 +20771.22600991766 28.38320641282565 +20808.970802197342 28.222905811623246 +20846.530082369467 28.06260521042084 +20883.903671072887 27.902304609218437 +20921.091389293622 27.742004008016032 +20958.093058362436 27.581703406813627 +20994.90849995233 27.421402805611223 +21031.537536075986 27.261102204408818 +21067.979989083153 27.100801603206413 +21104.235681657952 26.94050100200401 +21140.304437616338 26.780200400801604 +21176.186081343603 26.6198997995992 +21211.88043668886 26.459599198396795 +21247.387327522483 26.29929859719439 +21282.706578036294 26.138997995991986 +21317.83801274053 25.97869739478958 +21352.78145646074 25.818396793587176 +21387.53673433464 25.65809619238477 +21422.103671808913 25.497795591182363 +21456.482094635943 25.33749498997996 +21490.671828870523 25.177194388777554 +21524.672700866493 25.01689378757515 +21558.484537273347 24.856593186372745 +21592.10716558754 24.69629258517034 +21625.540413804978 24.535991983967936 +21658.784109587246 24.37569138276553 +21691.838080602916 24.215390781563126 +21724.702154800354 24.05509018036072 +21757.37616040413 23.894789579158317 +21789.859925911405 23.734488977955913 +21822.15328008834 23.574188376753508 +21854.256051966448 23.413887775551103 +21886.168070838994 23.2535871743487 +21917.889166257373 23.093286573146294 +21949.419168027533 22.93298597194389 +21980.757906537732 22.772685370741485 +22011.905212556205 22.61238476953908 +22042.860916696147 22.452084168336675 +22073.6248496121 22.29178356713427 +22104.196842197834 22.131482965931863 +22134.576725583083 21.971182364729458 +22164.76433113039 21.810881763527053 +22194.75949043207 21.65058116232465 +22224.5620353073 21.490280561122244 +22254.171797799383 21.32997995991984 +22283.588610173167 21.169679358717435 +22312.812305012092 21.00937875751503 +22341.84271514907 20.849078156312626 +22370.679673463346 20.68877755511022 +22399.323012947043 20.528476953907816 +22427.77256680687 20.36817635270541 +22456.028168463177 20.207875751503007 +22484.090377353667 20.047575150300602 +22511.960285171917 19.887274549098198 +22539.638273459033 19.726973947895793 +22567.12420655802 19.56667334669339 +22594.417947397782 19.406372745490984 +22621.519357466397 19.24607214428858 +22648.42829678365 19.085771543086175 +22675.1446238728 18.92547094188377 +22701.668195731527 18.76517034068136 +22727.998867802104 18.604869739478957 +22754.136493940645 18.444569138276552 +22780.080926385515 18.284268537074148 +22805.83201572478 18.123967935871743 +22831.389610862698 17.96366733466934 +22856.753558985223 17.803366733466934 +22881.92370552446 17.64306613226453 +22906.899894122027 17.482765531062125 +22931.681966591306 17.32246492985972 +22956.26976287851 17.162164328657315 +22980.66312102252 17.00186372745491 +23004.86187711347 16.841563126252506 +23028.865865249976 16.6812625250501 +23052.674917494995 16.520961923847697 +23076.288863830232 16.360661322645292 +23099.70753210905 16.200360721442888 +23122.930748007773 16.040060120240483 +23145.958334975374 15.879759519038075 +23168.790114181415 15.71945891783567 +23191.4259044622 15.559158316633265 +23213.865522265034 15.39885771543086 +23236.108781590498 15.238557114228456 +23258.155493932674 15.078256513026052 +23280.005468217187 14.917955911823647 +23301.65851073696 14.757655310621242 +23323.114425085612 14.597354709418838 +23344.3730120883 14.437054108216431 +23365.43406972997 14.276753507014027 +23386.2973930808 14.116452905811622 +23406.96277421875 13.956152304609217 +23427.430002149023 13.795851703406813 +23447.69886272029 13.635551102204408 +23467.76913853752 13.475250501002003 +23487.64060887116 13.314949899799599 +23507.313049562577 13.154649298597194 +23526.786232925428 12.99434869739479 +23546.059927642793 12.834048096192385 +23565.133898659817 12.673747494989978 +23584.007907071562 12.513446893787574 +23602.681710005818 12.35314629258517 +23621.155060500536 12.192845691382765 +23639.427707375573 12.03254509018036 +23657.499395098344 11.872244488977955 +23675.369863643053 11.71194388777555 +23693.038848343025 11.551643286573146 +23710.506079735707 11.391342685370741 +23727.771283399834 11.231042084168337 +23744.83417978423 11.07074148296593 +23761.69448402763 10.910440881763526 +23778.351905768915 10.750140280561121 +23794.806148947035 10.589839679358716 +23811.056911589865 10.429539078156312 +23827.103885591154 10.269238476953907 +23842.94675647465 10.108937875751502 +23858.585203144383 9.948637274549098 +23874.018897620022 9.788336673346693 +23889.247504756044 9.628036072144289 +23904.270681943366 9.467735470941884 +23919.08807879199 9.307434869739478 +23933.699336792928 9.147134268537073 +23948.104088957632 8.986833667334668 +23962.3019594328 8.826533066132264 +23976.29256308832 8.666232464929859 +23990.07550507575 8.505931863727454 +24003.650380354502 8.34563126252505 +24017.01677318239 8.185330661322645 +24030.17425656702 8.02503006012024 +24043.122391673813 7.864729458917835 +24055.860727185976 7.70442885771543 +24068.38879861121 7.544128256513026 +24080.706127528967 7.383827655310621 +24092.812220771455 7.2235270541082155 +24104.70656953037 7.063226452905811 +24116.3886483803 6.902925851703406 +24127.857914208187 6.742625250501002 +24139.11380503674 6.582324649298597 +24150.155738727517 6.422024048096192 +24160.983111547208 6.261723446893787 +24171.5952965777 6.101422845691382 +24181.991641947126 5.9411222444889775 +24192.171468855046 5.780821643286573 +24202.134069359803 5.620521042084168 +24211.878703890125 5.460220440881763 +24221.40459843549 5.299919839679358 +24230.710941360743 5.1396192384769535 +24239.796879778994 4.979318637274549 +24248.661515402888 4.819018036072144 +24257.30389977678 4.658717434869739 +24265.723028770444 4.498416833667334 +24273.91783618728 4.338116232464929 +24281.887186305154 4.177815631262525 +24289.629865123665 4.01751503006012 +24297.14457003535 3.857214428857715 +24304.429897566297 3.6969138276553104 +24311.484328739774 3.5366132264529053 +24318.306211499017 3.3763126252505007 +24324.89373947591 3.216012024048096 +24331.24492620372 3.055711422845691 +24337.357573637837 2.8954108216432863 +24343.22923356628 2.7351102204408813 +24348.857160170617 2.5748096192384766 +24354.238251675895 2.414509018036072 +24359.368978806957 2.254208416833667 +24364.245297891404 2.0939078156312623 +24368.8625474592 1.9336072144288576 +24373.21533026121 1.7733066132264528 +24377.297390255782 1.6130060120240481 +24381.10151147707 1.4527054108216433 +24384.619503339545 1.2924048096192384 +24387.842415530587 1.1321042084168336 +24390.761283551856 0.9718036072144288 +24393.36900895547 0.8115030060120241 +24395.664536365563 0.6512024048096192 +24397.661578266343 0.4909018036072144 +24399.407357268974 0.3306012024048096 +24401.03758108511 0.1703006012024048 +24403.491135119653 0.01 diff --git a/ELoss/Eloss.cpp b/ELoss/Eloss.cpp new file mode 100644 index 0000000..8978810 --- /dev/null +++ b/ELoss/Eloss.cpp @@ -0,0 +1,248 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// ROOT +#include "TFile.h" +#include "TTree.h" +#include "TH1D.h" +#include "TH2D.h" +#include "TCanvas.h" + +// Catima +#include + +using namespace std; + +/* ========================= + GLOBAL STRUCTURES +========================= */ + +struct Particle { + int z; + double mass_u; + double emax; + string name; +}; + +map particles = { + {"alpha", {2, 4.0026, 40, "alpha"}}, + {"proton", {1, 1.0078, 20, "proton"}}, + {"deuteron", {1, 2.0141, 30, "deuteron"}} +}; + +/* ========================= + INTERPOLATION STORAGE +========================= */ + +struct EnergyTable { + vector x; + vector E; +}; + +map table_cache; + +/* Linear interpolation */ +double interp(const vector& x, const vector& y, double xi) { + if (xi <= x.front()) return y.front(); + if (xi >= x.back()) return y.back(); + + auto it = upper_bound(x.begin(), x.end(), xi); + int i = distance(x.begin(), it) - 1; + + double x0 = x[i], x1 = x[i+1]; + double y0 = y[i], y1 = y[i+1]; + + return y0 + (y1 - y0) * (xi - x0) / (x1 - x0); +} + +/* ========================= + ENERGY TABLE GENERATION +========================= */ + +void make_E_vs_x(int z, double mass_u, double emax, string label, int npoints, double P_torr, double T) { + + double R = 8.3144; + + double p_pa = P_torr * 133.322; + double molar_density = p_pa / (R * T); + + double m_he = 4.0026; + double m_c = 12.0; + double m_o = 15.9949; + + double m_mix = 0.96*m_he + 0.04*(m_c + 2*m_o); + + double rho = (molar_density * m_mix) / 1e6; + + catima::Material gas({ + {m_he, 2, 0.96}, + {m_c, 6, 0.04}, + {m_o, 8, 0.08} + }); + gas.density(rho); + + catima::Projectile proj(mass_u, z); + + vector E(npoints); + vector S(npoints); + + for (int i = 0; i < npoints; i++) { + E[i] = 0.01 + i * (emax / npoints); + + proj.T(E[i] / mass_u); + S[i] = catima::dedx(proj, gas) * rho; + } + + reverse(E.begin(), E.end()); + reverse(S.begin(), S.end()); + + vector x(npoints, 0.0); + + for (int i = 1; i < npoints; i++) { + double invS = 1.0 / S[i]; + x[i] = x[i-1] + 0.5 * (invS + 1.0/S[i-1]) * (E[i] - E[i-1]); + } + + ofstream out("E_vs_x_" + label + ".dat"); + for (int i = 0; i < npoints; i++) { + out << x[i] << "\t" << E[i] << "\n"; + } + + cout << "Saved E_vs_x_" << label << ".dat\n"; +} + +/* ========================= + LOAD TABLE +========================= */ + +EnergyTable load_table(string fname) { + EnergyTable t; + ifstream in(fname); + + double x, E; + while (in >> x >> E) { + t.x.push_back(x); + t.E.push_back(E); + } + return t; +} + +/* ========================= + GET TABLE +========================= */ + +EnergyTable& get_table(string particle) { + if (!table_cache.count(particle)) { + table_cache[particle] = load_table("E_vs_x_" + particle + ".dat"); + } + return table_cache[particle]; +} + +/* ========================= + ENERGY FUNCTIONS +========================= */ + +double energy_loss(string p, double Ei, double dx) { + auto &t = get_table(p); + + double xi = interp(t.E, t.x, Ei); + double xf = xi + dx; + + double Ef = interp(t.x, t.E, xf); + return max(Ef, 0.0); +} + +double energy_reconstruction(string p, double Ef, double dx) { + auto &t = get_table(p); + + double xf = interp(t.E, t.x, Ef); + double xi = xf - dx; + + double Ei = interp(t.x, t.E, xi); + return max(Ei, 0.0); +} + +double energy_distance(string p, double Ei, double Ef) { + auto &t = get_table(p); + + double xi = interp(t.E, t.x, Ei); + double xf = interp(t.E, t.x, Ef); + + return fabs(xf - xi); +} + +/* ========================= + ROOT FILE ANALYSIS +========================= */ + +void process_file(string filename) { + + TFile f(filename.c_str()); + TTree *tree = (TTree*)f.Get("tree"); + + double Tb, thetab, sx3Z; + + tree->SetBranchAddress("Tb", &Tb); + tree->SetBranchAddress("thetab", &thetab); + tree->SetBranchAddress("sx3Z", &sx3Z); + + vector Ei, theta, sx3; + + Long64_t n = tree->GetEntries(); + + for (Long64_t i = 0; i < n; i++) { + tree->GetEntry(i); + + double th = thetab * M_PI / 180.0; + if (sin(th) == 0) continue; + + Ei.push_back(Tb); + theta.push_back(th); + sx3.push_back(sx3Z); + } + + cout << "Processed " << Ei.size() << " events\n"; +} + +/* ========================= + MAIN CLI (simplified) +========================= */ + +int main() { + + string cmd; + + cout << "C++ PCEnergy Shell\n"; + + while (true) { + cout << ">> "; + getline(cin, cmd); + + if (cmd == "exit") break; + + if (cmd.rfind("make table", 0) == 0) { + string name = cmd.substr(11); + auto p = particles[name]; + + make_E_vs_x(p.z, p.mass_u, p.emax, p.name, 500, 400, 293.15); + } + + else if (cmd.rfind("energy loss", 0) == 0) { + cout << "Use API call version in compiled mode\n"; + } + + else { + cout << "Unknown command\n"; + } + } + + return 0; +} diff --git a/ELoss/PCEnergyAnalysis.py b/ELoss/PCEnergyAnalysis.py index 29f85b9..8fa136d 100644 --- a/ELoss/PCEnergyAnalysis.py +++ b/ELoss/PCEnergyAnalysis.py @@ -1345,46 +1345,89 @@ class MyInteractiveApp(cmd.Cmd): def do_dual_plotter(self, arg): + args = shlex.split(arg) - if len(args) < 2: - try: - args = ['SimAnasenProton.root', 'SimAnasenAlpha.root'] - except: - print("Usage: make dual plots proton_data.root alpha_data.root") - return + # Default files if none provided + if len(args) == 0: + files = [ + "SimAnasenProton.root", + "SimAnasenAlpha.root" + ] + else: + files = args - file1 = args[0] - file2 = args[1] - #tree1_name = args[2] if len(args) > 2 else 'tree2' - #tree2_name = args[3] if len(args) > 3 else 'tree1' outdir = "dual_plots" - - # load both trees for file1 and combine their arrays into a single dataset - data1_tree1 = process_file(os.path.join("..", "Armory", file1), "tree1") - data1_tree2 = process_file(os.path.join("..", "Armory", file1), "tree1") - # concatenate matching array entries - data1 = {"particle": f"{data1_tree1['particle']}_combined"} - for key in data1_tree1: - if key == "particle": - continue - try: - data1[key] = np.concatenate([data1_tree1[key], data1_tree2[key]]) - except Exception: - # fallback: prefer tree1 value if concat fails - data1[key] = data1_tree1[key] - - data2 = process_file(os.path.join("..", "Armory", file2), "tree1") - - #print(f"File one {file1} ({tree1_name}) length {len(data1['Ei'])} \nFile two {file2} ({tree2_name}) length {len(data2['Ei'])}") os.makedirs(outdir, exist_ok=True) print(f"Saving plots to: {outdir}") - #Overlay histogram: Elost - plt.figure(figsize=(8,6)) - plt.hist(data1["Elost"],bins=200,histtype='step',linewidth=2,density=True,label=data1["particle"]) - plt.hist(data2["Elost"],bins=200,histtype='step',linewidth=2,density=True,label=data2["particle"]) + datasets = [] + + for file in files: + + try: + # If you want to combine tree1 + tree2: + tree1 = process_file( + os.path.join("..", "Armory", file), + "tree1" + ) + + try: + tree2 = process_file( + os.path.join("..", "Armory", file), + "tree2" + ) + + data = { + "particle": + f"{tree1['particle']}_combined" + } + + for key in tree1: + + if key == "particle": + continue + + try: + data[key] = np.concatenate( + [tree1[key], tree2[key]] + ) + except Exception: + data[key] = tree1[key] + + except Exception: + data = tree1 + + datasets.append(data) + + print( + f"Loaded {file} " + f"({len(data['Ei'])} events)" + ) + + except Exception as e: + print(f"Failed to load {file}: {e}") + + if len(datasets) == 0: + print("No valid datasets loaded.") + return + + # -------------------------------------------------- + # Elost overlay + # -------------------------------------------------- + + plt.figure(figsize=(8, 6)) + + for data in datasets: + plt.hist( + data["Elost"], + bins=200, + histtype="step", + linewidth=2, + density=True, + label=data["particle"] + ) plt.xlabel("Energy Loss (MeV)") plt.ylabel("Normalized Counts") @@ -1393,194 +1436,218 @@ class MyInteractiveApp(cmd.Cmd): plt.grid(True) plt.tight_layout() - plt.savefig(f"{outdir}/Elost_overlay.png", dpi=300) + plt.savefig( + f"{outdir}/Elost_overlay.png", + dpi=300 + ) + plt.show() - #Overlay histogram: sx3Z - plt.figure(figsize=(8,6)) - plt.hist(data1["sx3Z"],bins=150,histtype='step',linewidth=2,density=True,label=data1["particle"]) - plt.hist(data2["sx3Z"],bins=150,histtype='step',linewidth=2,density=True,label=data2["particle"]) + # -------------------------------------------------- + # SX3 position overlay + # -------------------------------------------------- + + plt.figure(figsize=(8, 6)) + + for data in datasets: + plt.hist( + data["sx3Z"], + bins=150, + histtype="step", + linewidth=2, + density=True, + label=data["particle"] + ) + plt.xlabel("SX3 Z") plt.ylabel("Normalized Counts") plt.title("SX3 Position Comparison") plt.legend() plt.grid(True) plt.tight_layout() - plt.savefig(f"{outdir}/sx3Z_overlay.png", dpi=300) + + plt.savefig( + f"{outdir}/sx3Z_overlay.png", + dpi=300 + ) + plt.show() - try: - #Side-by-side 2D plots - fig, axes = plt.subplots(1, 2, figsize=(14,6)) - - h1 = axes[0].hist2d(data1["sx3Z"],data1["Elost"],bins=200) - - axes[0].set_title(f'{data1["particle"]} Elost vs SX3') - axes[0].set_xlabel("SX3 Z") - axes[0].set_ylabel("Energy Loss (MeV)") - - h2 = axes[1].hist2d(data2["sx3Z"],data2["Elost"],bins=200) - - axes[1].set_title(f'{data2["particle"]} Elost vs SX3') - axes[1].set_xlabel("SX3 Z") - axes[1].set_ylabel("Energy Loss (MeV)") - - fig.colorbar(h1[3], ax=axes[0], label="Counts") - fig.colorbar(h2[3], ax=axes[1], label="Counts") - - plt.tight_layout() - - plt.savefig(f"{outdir}/Elost_vs_sx3_comparison.png", dpi=300) - plt.show() - except: - print("Error with side-by-side plots") - - #EA vs Esx3 overlay scatter - plt.figure(figsize=(8,6)) - plt.scatter(data1["EA"],data1["Esx3"],s=1,alpha=0.3,label=data1["particle"]) - plt.scatter(data2["EA"],data2["Esx3"],s=1,alpha=0.3,label=data2["particle"]) + + # -------------------------------------------------- + # Individual Elost vs SX3 plots + # -------------------------------------------------- + + n = len(datasets) + + fig, axes = plt.subplots( + 1, + n, + figsize=(7 * n, 6) + ) + + if n == 1: + axes = [axes] + + for ax, data in zip(axes, datasets): + + h = ax.hist2d( + data["sx3Z"], + data["Elost"], + bins=200 + ) + + ax.set_title( + f'{data["particle"]}\nElost vs SX3' + ) + + ax.set_xlabel("SX3 Z") + ax.set_ylabel("Energy Loss (MeV)") + + fig.colorbar( + h[3], + ax=ax, + label="Counts" + ) + + plt.tight_layout() + + plt.savefig( + f"{outdir}/Elost_vs_sx3_comparison.png", + dpi=300 + ) + + plt.show() + + # -------------------------------------------------- + # EA vs Esx3 overlay scatter + # -------------------------------------------------- + + plt.figure(figsize=(8, 6)) + + for data in datasets: + + plt.scatter( + data["EA"], + data["Esx3"], + s=1, + alpha=0.3, + label=data["particle"] + ) + plt.xlabel("EA (MeV)") plt.ylabel("Esx3 (MeV)") plt.title("Anode vs SX3 Energy") plt.legend() plt.grid(True) plt.tight_layout() - plt.savefig(f"{outdir}/EA_vs_Esx3_overlay.png", dpi=300) - plt.show() - - #PCE vs SiE - - mask1 = data1["Esx3"] > 1 - mask2 = data2["Esx3"] > 1 - - thetab1 = np.deg2rad(data1["thetab"][mask1]) - thetab2 = np.deg2rad(data2["thetab"][mask2]) - - #theta smear (spatial uncertainty) - if False: - sigma = 0.2 * np.sqrt(np.maximum(thetab1, 0)) - - thetab1 += np.random.normal(0,sigma,len(thetab1)) - thetab1 += np.random.normal(0,0.02*np.sqrt(thetab1),len(thetab1)) - - sigma = 0.2 * np.sqrt(np.maximum(thetab2, 0)) - thetab2 += np.random.normal(0,sigma,len(thetab2)) - thetab2 += np.random.normal(0,0.02*np.sqrt(thetab2),len(thetab2)) - - combined_Esx3 = np.concatenate([ - (data1["Esx3"][mask1]), - data2["Esx3"][mask2] - ]) - combined_Eprop = np.concatenate([ - data1["Eprop"][mask1] * np.sin(thetab1) * 3, - data2["Eprop"][mask2] * np.sin(thetab2) * 3 - ]) - - combined_Esx3 = ( - combined_Esx3 - + np.random.normal(0,0.08,len(combined_Esx3)) + + plt.savefig( + f"{outdir}/EA_vs_Esx3_overlay.png", + dpi=300 ) - - #Artifical smear - if False: - sigma = 0.02 * np.sqrt(np.maximum(combined_Eprop, 0)) - - combined_Eprop += np.random.normal( - 0, - sigma, - len(combined_Eprop) + + plt.show() + + # -------------------------------------------------- + # Combined PCE vs SX3 + # -------------------------------------------------- + + all_Esx3 = [] + all_Eprop = [] + + for data in datasets: + + mask = data["Esx3"] > 1 + + thetab = np.deg2rad( + data["thetab"][mask] ) - - combined_Eprop += np.random.normal( - 0, - 0.02*np.sqrt(combined_Eprop), - len(combined_Eprop) + + all_Esx3.append( + data["Esx3"][mask] ) - - mask = (np.isfinite(combined_Esx3)& np.isfinite(combined_Eprop)) + + all_Eprop.append( + data["Eprop"][mask] + * np.sin(thetab) + * 3 + ) + + combined_Esx3 = np.concatenate(all_Esx3) + combined_Eprop = np.concatenate(all_Eprop) + + combined_Esx3 += np.random.normal( + 0, + 0.08, + len(combined_Esx3) + ) + + mask = ( + np.isfinite(combined_Esx3) + & + np.isfinite(combined_Eprop) + ) + combined_Esx3 = combined_Esx3[mask] combined_Eprop = combined_Eprop[mask] - - #combined_Eprop = combined_Eprop * .686 - - plt.figure(figsize=(8,6)) + + plt.figure(figsize=(8, 6)) + plt.hist2d( combined_Esx3, combined_Eprop, bins=200 ) + plt.xlabel("SX3 Energy (MeV)") plt.ylabel("PCEnergy x Sin(theta)") - #plt.xlim(0,30) - #plt.ylim(0,0.45) plt.colorbar(label="Counts") + plt.tight_layout() - plt.savefig(f"{outdir}/Eprop_vs_Esx3.png", dpi=300) + + plt.savefig( + f"{outdir}/Eprop_vs_Esx3.png", + dpi=300 + ) + plt.show() - - plt.figure(figsize=(14,6), facecolor='white') + + plt.figure( + figsize=(14, 6), + facecolor="white" + ) + plt.hist2d( combined_Esx3, combined_Eprop, - bins=[500,500], - #range=[[0,35],[0,0.6]], + bins=[500, 500], cmap=yellow_jet, - cmin=1) - plt.margins(0) + cmin=1 + ) + plt.xlabel("SX3 Energy (MeV)") plt.ylabel("PCEnergy x Sin(theta)") - #plt.xlim(0,35) - #plt.ylim(0,0.6) + cbar = plt.colorbar() cbar.set_label("Counts") + plt.minorticks_on() plt.grid(False) + plt.tight_layout() + plt.savefig( f"{outdir}/ROOT_style_plot.png", dpi=300, - facecolor='white' + facecolor="white" ) + plt.show() - if False: - plt.figure(figsize=(7,6)) - plt.hist2d( - combined_Esx3, - combined_Eprop, - bins=100, - range=[[0,30],[0,0.45]], - cmap='viridis' - ) - - mask = data1["Esx3"] > 0 - power_fit_and_plot( - data1["Esx3"][mask], - data1["Eprop"][mask], - label=data1["particle"], - color='red' - ) - mask2 = data2["Esx3"] > 0 - power_fit_and_plot( - data2["Esx3"][mask2], - data2["Eprop"][mask2], - label=data2["particle"], - color='cyan' - ) - - plt.ylabel("PCEnergy") - plt.xlabel("SX3 Energy (MeV)") - plt.title( - f'{data1["particle"]} + {data2["particle"]} ' - 'Energy Propagation Difference vs SX3 Energy' - ) - plt.colorbar(label="Counts") - #plt.xlim(0,30) - #plt.ylim(0,0.45) - plt.legend() - plt.tight_layout() - plt.savefig(f"{outdir}/Combined_Eprop_vs_Esx3_fit.png",dpi=300) - plt.show() - - print("Dual plotting complete.") + + print( + f"Completed plotting " + f"{len(datasets)} datasets." + ) #exec(open("PCEnergyAnalysis.py").read()) diff --git a/ELoss/deuteron_tree1_plots.zip b/ELoss/deuteron_tree1_plots.zip new file mode 100644 index 0000000..0b62005 Binary files /dev/null and b/ELoss/deuteron_tree1_plots.zip differ