defwrite_fits_dep(energy,en_primary,theta,phi,type,en_dep_noisy,en_dep,name_id,pos_id,x_pixel,y_pixel):# ! è qui che decido quali informazioni sulla simulazione voglio nei file fits_dep
# Funzione che prende in input un singolo file FITS da processare.
# Funzione che prende in input un singolo file FITS da processare.
defget_data(files):
defget_data(files):
# Estrazione di energia, theta e phi dal nome del file
# Estrazione di energia, theta e phi dal nome del file
...
@@ -54,7 +56,7 @@ def get_data(files):
...
@@ -54,7 +56,7 @@ def get_data(files):
theta=float(name_parts[2])
theta=float(name_parts[2])
phi=float(name_parts[3])
phi=float(name_parts[3])
# Apertura del file fits e lettura dei dati
# Apertura del file fits e lettura dei dati # ! in base alle info che voglio nel fits_dep qui devo richiamare le info
withpyfits.open(files)ashdul:
withpyfits.open(files)ashdul:
data=hdul[1].data
data=hdul[1].data
tot_events=len(data)
tot_events=len(data)
...
@@ -63,7 +65,10 @@ def get_data(files):
...
@@ -63,7 +65,10 @@ def get_data(files):
scint_id_col=data['Scint_ID']
scint_id_col=data['Scint_ID']
scint_id=scint_id_col[scint_id_col!=-1000]
scint_id=scint_id_col[scint_id_col!=-1000]
energy=data['En_Primary'][0]
energy=data['En_Primary'][0]
en_primary=data['En_Primary']
en_dep=data['En_dep']
en_dep=data['En_dep']
x_pixel=data['X_Pixel']
y_pixel=data['Y_Pixel']
X_en_dep=en_dep[scint_id_col==-1000]
X_en_dep=en_dep[scint_id_col==-1000]
S_en_dep=en_dep[scint_id_col!=-1000]
S_en_dep=en_dep[scint_id_col!=-1000]
eventi_X=(scint_id_col==-1000).sum()
eventi_X=(scint_id_col==-1000).sum()
...
@@ -74,16 +79,16 @@ def get_data(files):
...
@@ -74,16 +79,16 @@ def get_data(files):
X_en_dep_noisy=[add_noise_X(X_dep)forX_depinX_en_dep]# list comprehension di Python, una struttura compatta che consente di applicare una funzione a ciascun elemento di un array o di una lista, creando direttamente un nuovo array con i risultati.
X_en_dep_noisy=[add_noise_X(X_dep)forX_depinX_en_dep]# list comprehension di Python, una struttura compatta che consente di applicare una funzione a ciascun elemento di un array o di una lista, creando direttamente un nuovo array con i risultati.