Visualizzazione post con etichetta germanio. Mostra tutti i post
Visualizzazione post con etichetta germanio. Mostra tutti i post

venerdì 2 maggio 2008

Cross Section Rame

Il file crosssectionCu.C analizza i dati di Laura dell'assorbimento dei raggi gamma nel rame.
I valori teorici sono presi dal solito sito del Nist (vanno presi in barn/molecule e non in cm^2/g per evitare ordini di grandezza di errrore!) e stoccati nel file NISTCu.data

I plot significativi uscenti sono conteggi vs mm


e cross section vs energy
(c'è un errore nel titolo, che ho già corretto nel file)


Si può vedere che il dato a 1620Kev si discosta clamorosamente. Il problema è che come si vede nel primo plot abbiamo pochissimi conteggi per tale linea, quindi l'accuratezza sul fattore di assorbimento mu è minima, è una linea che non si può far altro che scartare.

H20 e fondi

Ho scritto anche il file crosssectionH2O.C su modello di quello del Pb, così da poter confrontare i valori trovati della cross section con quelli attesi scaricati dal sito del NIST (file NIST.data)

Inoltre Laura ha aggiunto altre linee, ecco conteggi vs cm di H20



Togliendo i fondi di radioattività naturale (provenienti dagli atomi della catena del Th che gironzolano nell'aria) le misure migliorano significativamente.

Questo plot è ricavato con la procedura standard

In questo secondo ho invece sottratto il fondo (con un breve ciclo for) dalle righe, ecco il risultato.



RELAZIONE
We put a hollow cylinder directly on the HPGe and gradually filled it with water.
Figure XXX shows for varius energy peaks the relationship between the rate and the amount of water the gamma ray passes through.
It's also evident that the natural peak of Potassium isn't affeceted by the presence of water.

As explained before, from the fit parameters we were able to get the cross section vs Energy. It's interesting that at this range of Energy the total cross section
sigma(total) = sigma(photoelectric) + sigma(compton) + sigma(pp)
is dominated by the Compton process, so we gave a nice estimation of the Compton cross section for water.

martedì 29 aprile 2008

Assorbimento e Cross Section Pb

UPDATE 1 MAGGIO modificato il programma crosssection.C, ora fornisce in più la sezione d'urto corretta, in un nuovo post spiegherò come funziona. M.
UPDATE 2 MAGGIO bisogna togliere i fondi dalle righe, aggiungere le nuove linee prese da Laura e magari aggiungere pure dei valori teorici presi dal sito del NIST. il tutto verrà bello e splendente come nei post successivi su Pb e H2O. ciao, M.

Idem per il Pb. Conteggi vs mm di pb, e "qualcosa proporzionale alla sezione d'urto"



Ecco la sezione d'urto con il nuovo programma crosssection.C


La riga naturale a 1460Kev va ovviamente eliminata in quanto non significativa.

Ricetta per la sezione d'urto

Sono stati completate le analisi dati per gli assorbimenti. Queste sono state fatte utilizzando il programma assorbimento_xxxx.C, uno per ogni tipo di materiale assorbente (due per l'acqua, uno per ogni set di misure).
Per ogni materiale si sono scelte un certo numero di righe ed ognuna di essa è stata fittata con FitMattia.C per ogni misura con un diverso spessore di materiale assorbente.
Nel programma bisogna inserire manualmente nei corrispondenti array gli spessori di assorbente per ogni misura, il valore di ogni riga (l'integrale della gaussiana) corrispondente ai diversi spessori (e cioè alle diverse misure) e l'energia delle diverse righe. Per ogni array bisogna mettere anche i corrispondenti errori. Bisogna anche ricordarsi di editare anche la legenda e i titoli dei grafici.
Il programma fa quindi un multigraph in cui c'é un grafico per ogni riga che viene fittato con una gaussiana. Il valore del coefficiente dell'esponenziale ottenuto è il mu di quel materiale per quella energia ( mu - sez_d'urto ). I mu poi vengono messi tutti in un grafico in funzione dell'energia.
In tutte le misure si è inserita anche la riga a 1460.8, che è la riga naturale del potassio-40: questa non dipende dallo spessore e infatti si ottiene un mu (e quindi anche una sezione d'urto) compatibile con lo zero.

Programmini utili

Ci sono due nuovi programmi utili per l'elaborazione dati aggiunti alla libreria del magnifico gruppo gamma.

1) conversione.C

Funzione-> Converte i parametri della gaussiana ottenuta facendo il fit di un picco di energia con FitMattia.C (ovvero il fit con la posizione del picco e l'FWHM della riga espressi in canali) in energia; trasforma quindi peak_position, err_peak_position, FWHM, err_FWHM in valori di energia(keV con la calibrazione solita).

Opzioni-> Prima dell'inserimento del nome del file da convertire richiede se si vogliono impostare manualmente i parametri a, b, erra, errb per la conversione con la formula E = a + b * Ch, che altrimenti sono già inizializzati come in FitMattia2.C (a = -5.985767; b = 0.3956633; erra =0 ; errb = 0).

Input-> Il file che si manda in input deve contenere rigorosamente solo righe del tipo:
peak_height // err_peak_height // peak_position // err_peak_position // FWHM // err_FWHM
ovviamente senza il "//" che serve solo per evidenziare bene sopra. Il file può avere quante righe si vuole.
N.B. Fare bene attenzione a non lasciare degli spazi alla fine delle righe, altrimenti rischia di fare errori, in particolare nell'ultima riga (mi è successo che la stampasse due volte convertita visto che non trovava l'eof() ).

Output-> Per ogni riga del file in input viene creata una riga corrispondente nel file in output (conversione.data), salvato nella stessa cartella. Le righe quindi si corrisponderanno da un file all'altro (la riga 1 dell'input viene convertita nella riga 1 dell'output, ecc).

Problema-> Nella mia prova le conversioni corrispondevano ai fit fatti direttamente con FitMattia2.C, tranne che per l'err_FWHM che mi veniva il doppio. Forse è un caso perché ho fatto poche prove, comunque il programma andrebbe testato un po' meglio.

2)integrazione.C

Funzione-> prende una riga del tipo
peak_height // err_peak_height // peak_position // err_peak_position // FWHM // err_FWHM
con i parametri di una gaussiana di un picco di energia ottenuta con FitMattia.C (eventualmente dovrebbe funzionare anche con righe ottenute con FitMattia2.C) e dà l'integrale della gaussiana (cioè nel nostro caso il numero totale dei conteggi) e l'errore dei conteggi (per ora solo quelli di conteggio, cioè la radice dei conteggi).Le formule per ottenerlo sono:

integrale = sqrt(2*pigreco) * sigma * peak_height
sigma = FWHM/(2*sqrt(2*log(2)))

Input->Il file che si manda in input deve contenere rigorosamente solo righe del tipo:
peak_height // err_peak_height // peak_position // err_peak_position // FWHM // err_FWHM
ovviamente senza il "//" che serve solo per evidenziare bene sopra. Il file può avere quante righe si vuole.
N.B. Fare bene attenzione a non lasciare degli spazi alla fine delle righe, altrimenti rischia di fare errori, in particolare nell'ultima riga.

Output-> Per ogni riga del file in input viene creata una riga corrispondente nel file in output (conversione.data), salvato nella stessa cartella. Le righe quindi si corrisponderanno da un file all'altro (la riga 1 dell'input viene convertita nella riga 1 dell'output, ecc).

Problema-> Bisognerebbe ragionare un attimo su un modo migliore di dare l'errore.

sabato 26 aprile 2008

Studio di Linearità per rilevatore HPGe

Per il nostro rilevatore al Germanio ho effettuato lo studio di linearità, con un po' di linee del torio e del radio, le stesse utilizzate per la calibrazione energia contro canale. Il file linearita.C si piglia in ingresso valore teorico, valore misurato + errore, fwhm + errore e fa il rapporto dell'errore/valore teorico per poi plottarlo (i dati sono contenuti in linearita.data).

Et voilà.

martedì 22 aprile 2008

il fattore di Fano, e altre storie

Il fattore di Fano, che indica la deviazione dall'idealità poissoniana del processo, calcolato come
F= b^2 / W*2.35^2 , ove W è l'energia necessaria per la produzione di una coppia (2.9eV per il Germanio)

F = 0.0716109 errF 0.00194971 con il calcolo con tutti e tre i parametri liberi
F = 0.0981652 errF 0.00125555 con il calcolo fissando il parametro a=par[1]

nel post precedente si nota una grande deviazione per la linea attorno ai 2100 volt: in tale punto si sovrappongono infatti la fuga della linea del tallio a 2614 volt ed una linea del decadimento deli figli del torio: dato da buttare.

lunedì 21 aprile 2008

Studio di Risoluzione

Effettuato studio di risoluzione per il rilevatore al germanio

La risoluzione è data dalla somma di un termine elettronico, un termine stocastico ed uno costante. Il programma di riferimento è risoluzione.C.

R = FWHM / E = a/sqrt(E) + b/E + c
(la somma è da intendersi in quadratura)

Il termine di nostro interesse sarà b, legato al fattore di Fano, che calcoleremo nel prossimo post.



In energia.data ci sono una ventina di picchi e fwhm corrispettive presi con FitMattia2.C da torio1.Spe, esposto per un'ora e mezza. Per avere più picchi (cosa da fare!!!!!) abbiamo anche torio3.Spe con tempo di esposizione di 3 ore ed è in corso anche una misura del campione di Radio, che riprenderemo mercoledì.

Secondo approccio

Poichè i dati presi con l'impulsatore risentono del solo termine elettronico, si è preso il parametro a=P[o] direttamente da imp003.Spe e lo si è fissato nel fit precendete di risoluzione.C


Il risultato per b=P[1] è leggermente diverso e questo comporta una diversa valutazione del fattore di Fano, su cui torneremo nel prossimo post.

Nuova Calibrazione

Avendo cambiato lo shaping time, si è dovuto anche ricalibrare Energia contro Canale.

Vediamo i grafici (dati contenuti in gercal3.data) per la cui spiegazione si rimanda a http://terzoannolab.blogspot.com/2008/04/canali-vs-energia-per-germanio.html


Abbiamo quindi i nuovi valori, inseriti anche in FitMattia2.C
float a= -5.985767;
float b= 0.3956633;

EDITED 15 MAGGIO: nuovo grafico con più punti

i parametri a e b sono cambiati, ma di molto poco

Impulsatore

Stamattina siamo riusciti a far funzionare l'impulsatore.
I file Impulsatore/imp***.Spe contengono un segnale a spada con i soliti diversi shaping time. qui si vede in modo molto più evidente che il minimo si trova a 3microsecondi. Nella misura precedente si poteva discutere sullo step 2 o 3.

D'ora in poi tutte le misure con il rilevatore al Germanio dovranno essere fatte a Shaping Time 3microsec




giovedì 17 aprile 2008

Riconoscimento Righe

Per il futuro pubblichiamo anche le righe test utilizzate per il fit a 2microsecondi di shaping time.
(non ho idea del perchè questo file sia stato salvato così male, ma mi sembra si riescano a leggere comunque i numeri)


Canali vs Energia per Germanio

Trovata ottima corrispondenza Canali vs Energia per il rilevatore al Germanio. Utilizzata sorgente di Torio con shaping time di 2 microsecondi e amplificazione 50.

Ecco i parametri per il fit E=p0 + p1*Ch


Jack ed io abbiamo notato che la valutazione sul chiquadro avviene sballatissima qualora diamo a ROOT le incertezze su x e non su y. Per verificare la bontà della nostra regressione lineare abbiamo quindi provveduto anche ad un fit inverso, Ch=Ch(E), con il seguente invidiabile risultato del chiquadro.