oslocyclotronlab / ompy_Archive_Sept2019

Archived version om ompy as of 27. Sept 2019 -- Please use this instead:
https://github.com/oslocyclotronlab/ompy/
GNU General Public License v3.0
0 stars 1 forks source link

Bug in FG for a very simple test case & multiplicities #24

Open fzeiser opened 5 years ago

fzeiser commented 5 years ago

Issue by fzeiser Thursday Jul 18, 2019 at 14:26 GMT Originally opened as https://github.com/oslocyclotronlab/ompy/issues/24


We intended to create some functions test and for the first generation method stumbled across some bug. Approach:

Create an all generation spectrum to following toy (first generations) spectrum:

+---------------+ Assuming a constant level spacing
 |||
 |||
 |||
+--v------------+
 ||    ||
 ||    ||
 ||    ||
+-v-----v-------+
 |     |     |
 |     |     |
 |     |     |
+v-----v-----v--+

Where the true fg matrix looks like:

1 1 1
1 1
1

and the all generations spectrum would look like:

3 2 1
2 1
1

We expected to get something at least reasonably close to the true fg matrix. However, there are some issues in how the multiplicity is calculated (choosing multiplicity normalization). Assuming Ex = np,linspace(0, 5e3, num=3) and Eg = Ex, one get's a strange behavior and the multiplicity for the frist Ex bin is calculated to be 0. If one sets Ex = np,linspace(500, 5e3, num=3) it got better, but still it's not correct. (Same behavior for mama)

We assume that the problem might be somewhere here: https://github.com/oslocyclotronlab/ompy/blob/95f85b98cd150d8d25da62daeab0e5a08dceb522/ompy/first_generation_method.py#L184-L187 where there is some hardcoded 200 (keV) difference that should be checked.

fzeiser commented 5 years ago

Comment by fzeiser Friday Jul 19, 2019 at 12:06 GMT


Btw: In the original implementation in Mama, both multiplicity method (withing normalization = multiplicity),so statistical and total, have the hardcoded subtraction of 200: https://github.com/oslocyclotronlab/oslo-method-software/blob/6558edba7ff1c6abd9c8b95ff23b5b533eba7cd0/mama/src/libs/gf2/figega.f#L593-L616

In ompy it's currently only for statistical. The value, 200, coincides with the hardcoded threshold ThresTot. This, again, should be a (default) parameter, not hardcoded.

fzeiser commented 5 years ago

Comment by fzeiser Tuesday Jul 23, 2019 at 12:07 GMT


Here some more information on the multiplicity information (mostly in norwegian):

Following slide explains the principal idea(s): erlend_multi.pdf (and an except of the graph):

Screenshot where the blue gammas are supposed to be statistical gammas, and the red yrast gammas (that we supposedly cannot/could not measure with the new/old setup due to threshold).

Take aways:

More info:

Mail 1

jeg tror pdf-filen skulle vise fysikken her. Det er sikkert bedre måter å programmere dette på, men ideen skulle være klar. Det hardwired tallet på 200 keV, er en detalj hvis Ex nærmer seg E_entry, som gir krøll.

Mail 2

  • Stemmer det, at vi regne ut _stat ved å da gjennomsnittet av Eg-spektrumet med Eg > E_threshold?

Ja, det er intensjonen

  • Er det riktig at vi antar her, at statistiske $\gamma$-ene har større energi en E_threshold (/yrast gammaene)?

Ja

Om vi gjør det, så er det vel ikke riktig for en del gamma fra upbend?

Med NaI brukte vi ofte E_threshold < 430 keV og vi stolte ikke på fg matrisen for E_g < 1 MeV.

Vi har vel ikke vist upend for E_g < 430 keV?

  • Hvordan estimerer vi E_entry?

Vi tenker oss hva midlere spinn i reaksjonen er, la oss si 3 hbar. I 162Dy er 2+ ved 81 keV og 4+ ved 266 keV, så entry state er et sted ved 100-200 keV.

Fint om du kan hjelpe oss å forstå det litt bedre. I utgangspunkt virker det for meg som om det er også noen "variabler" som vi kunne ta med i usikkerhetsestimeringen.

Bare spørr hvis dere lurer på noe! Det har faktisk vist seg å ha lite å si på det endelige rho og gsf hvis man passer på å bruke øvre del av matrisen.

Generelt, ville jeg bruke total multiplisietet når 2+ -> 0+ er større enn 430 keV (ikke ta denne verdien for seriøst, et sted mellom 400-500 keV, kanskje). I aktinidene, ville man tro at statistisk multiplisitet bør brukes, da man ikke ser de nederste yrast overganger. Da er det greit å sette E_g > 430 keV så vi ikke tar med rotasjonsoverganger nederst i de forskjellige rotasjonsbåndene, ikke bare i gsb, men også for ikke-yrast bånd.

Hele ideen med statistisk multiplisitet er altså å “fake” en grunntilstand som ligger høyere enn gs. Implementeringen av dette kan sikkert gjøres på forskjellige måter. Og som sagt, har dette lite å si på det endelige resultatet.

Mail 3

en ting til: Kan du forklare idéen bak ratioen som blir brukt for multiplicity+stat. normaliseringen:

It is recommended to use a sliding upper threshold when the excitation energy is lower than 1 - 2 MeV. This is performed by defining a ratio R, giving Thres=Ex*R with a lower and higher limit of 200. and 430. keV. Use R = 0.2 - 0.3.

Godt spørsmål. Jeg tenkte mye gjennom dette for lenge siden, og var kanskje litt for smart. Det kan være jeg tenkte at vi burde ha lov til å decaye inn i 2+ likevel hvis initiell Ex var så lav at det er usannsynlig å decaye inn i 4+. Dermed blir altså E_entry senket hvis initiell Ex er lav nok. Dermed blir det effektivt en uskarp terskel.

Er også opphav til "Upper threshold for nonstat. gammas”?

Skjønte ikke helt spørsmålet. Vi beholder en fast terskel på E_g.

Sånn i fra bildet som du sendte skulle jeg har tenkt at vi bare trenger en terskel, ikke en lavere og øvre?

Jeg tror godt vi kan droppe sliding threshold, i sin tid testet vi fram og tilbake det ene og det andre uten store endringer.


Noe annet: Hvordan ble den metoden testet? Dvs. hvordan kan vi finne ut om det er bedre å bruke en sliding treshold eller ikke; å bruke den ene, eller den andre E_entry, osv. Har dere noe typisk dataset hvor vi vet multiplisiteten? Om ikke vi har skrevet om det noe stedt tidligere, så hadde det sikkert vært fint å ta det med i ompy artikkelen + om ikke noe annet, så teste det på feks RAINIER spektra.

Ja, det hadde vært fint. Det har ikke vært noen systematiske tester på dette (siden jeg tviler på at det er viktig). Men fg for de laveste Ex, blir sikkert berørt av E_entry og E_threshold. Jeg tror at hvis vi undersøker et tilfelle der intensiteten av yrast-overgangene er dårlig bestemt (eller ikke observert), så kunne vi lære noe. Mao kunne en studie av fg for en aktinide være ideell i intervallet Ex = 0 - 4 MeV.

fzeiser commented 5 years ago

Comment by fzeiser Tuesday Sep 03, 2019 at 08:33 GMT


Could be related to #32: First Generation matrix

fzeiser commented 5 years ago

Comment by fzeiser Tuesday Sep 03, 2019 at 14:25 GMT


Is there an error in the all-generations spectrum above? Should it be:

and the all generations spectrum would look like:

3 1.5 1
2 1
1

(or multiples of these numbers) if we preserve the probabilities?

fzeiser commented 5 years ago

Comment by fzeiser Wednesday Sep 04, 2019 at 13:45 GMT


By the way: The all-generation matrix(es) above is (are) wrong. I shall upload some code to generate a "correct" all-generations from a first generations later.

Originally posted by @fzeiser in https://github.com/oslocyclotronlab/ompy/issues/32#issuecomment-527907088