Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Gregory Ashton
PyFstat
Commits
04eb2bc3
Commit
04eb2bc3
authored
Dec 13, 2016
by
Gregory Ashton
Browse files
Adds histograms of directed and all-sky searches in noise
parent
30fd2378
Changes
10
Hide whitespace changes
Inline
Side-by-side
Paper/AllSkyMCNoiseOnly/allsky_noise_twoF_histogram.png
0 → 100644
View file @
04eb2bc3
22.9 KB
Paper/AllSkyMCNoiseOnly/generate_data.py
0 → 100644
View file @
04eb2bc3
import
pyfstat
import
numpy
as
np
import
os
import
sys
import
time
ID
=
sys
.
argv
[
1
]
outdir
=
sys
.
argv
[
2
]
label
=
'run_{}'
.
format
(
ID
)
data_label
=
'{}_data'
.
format
(
label
)
results_file_name
=
'{}/MCResults_{}.txt'
.
format
(
outdir
,
ID
)
# Properties of the GW data
sqrtSX
=
2e-23
tstart
=
1000000000
Tspan
=
100
*
86400
tend
=
tstart
+
Tspan
# Fixed properties of the signal
F0_center
=
30
F1_center
=
1e-10
F2
=
0
tref
=
.
5
*
(
tstart
+
tend
)
VF0
=
VF1
=
100
DeltaF0
=
VF0
*
np
.
sqrt
(
3
)
/
(
np
.
pi
*
Tspan
)
DeltaF1
=
VF1
*
np
.
sqrt
(
45
/
4.
)
/
(
np
.
pi
*
Tspan
**
2
)
nsteps
=
50
run_setup
=
[((
nsteps
,
0
),
20
,
False
),
((
nsteps
,
0
),
11
,
False
),
((
nsteps
,
0
),
6
,
False
),
((
nsteps
,
0
),
3
,
False
),
((
nsteps
,
nsteps
),
1
,
False
)]
DeltaAlpha
=
0.05
DeltaDelta
=
0.05
h0
=
0
F0
=
F0_center
+
np
.
random
.
uniform
(
-
0.5
,
0.5
)
*
DeltaF0
F1
=
F1_center
+
np
.
random
.
uniform
(
-
0.5
,
0.5
)
*
DeltaF1
Alpha
=
np
.
random
.
uniform
(
0
,
2
*
np
.
pi
)
Delta
=
np
.
arccos
(
2
*
np
.
random
.
uniform
(
0
,
1
)
-
1
)
-
np
.
pi
/
2
fAlpha
=
np
.
random
.
uniform
(
0
,
1
)
Alpha_min
=
Alpha
-
DeltaAlpha
*
(
1
-
fAlpha
)
Alpha_max
=
Alpha
+
DeltaAlpha
*
fAlpha
fDelta
=
np
.
random
.
uniform
(
0
,
1
)
Delta_min
=
Delta
-
DeltaDelta
*
(
1
-
fDelta
)
Delta_max
=
Delta
+
DeltaDelta
*
fDelta
psi
=
np
.
random
.
uniform
(
-
np
.
pi
/
4
,
np
.
pi
/
4
)
phi
=
np
.
random
.
uniform
(
0
,
2
*
np
.
pi
)
cosi
=
np
.
random
.
uniform
(
-
1
,
1
)
data
=
pyfstat
.
Writer
(
label
=
data_label
,
outdir
=
outdir
,
tref
=
tref
,
tstart
=
tstart
,
F0
=
F0
,
F1
=
F1
,
F2
=
F2
,
duration
=
Tspan
,
Alpha
=
Alpha
,
Delta
=
Delta
,
h0
=
h0
,
sqrtSX
=
sqrtSX
,
psi
=
psi
,
phi
=
phi
,
cosi
=
cosi
,
detector
=
'H1,L1'
)
data
.
make_data
()
predicted_twoF
=
data
.
predict_fstat
()
startTime
=
time
.
time
()
theta_prior
=
{
'F0'
:
{
'type'
:
'unif'
,
'lower'
:
F0
-
DeltaF0
/
2.
,
'upper'
:
F0
+
DeltaF0
/
2.
},
'F1'
:
{
'type'
:
'unif'
,
'lower'
:
F1
-
DeltaF1
/
2.
,
'upper'
:
F1
+
DeltaF1
/
2.
},
'F2'
:
F2
,
'Alpha'
:
{
'type'
:
'unif'
,
'lower'
:
Alpha_min
,
'upper'
:
Alpha_max
},
'Delta'
:
{
'type'
:
'unif'
,
'lower'
:
Delta_min
,
'upper'
:
Delta_max
},
}
ntemps
=
1
log10temperature_min
=
-
1
nwalkers
=
100
mcmc
=
pyfstat
.
MCMCFollowUpSearch
(
label
=
label
,
outdir
=
outdir
,
sftfilepath
=
'{}/*{}*sft'
.
format
(
outdir
,
data_label
),
theta_prior
=
theta_prior
,
tref
=
tref
,
minStartTime
=
tstart
,
maxStartTime
=
tend
,
nwalkers
=
nwalkers
,
ntemps
=
ntemps
,
log10temperature_min
=
log10temperature_min
)
mcmc
.
run
(
run_setup
=
run_setup
,
create_plots
=
False
,
log_table
=
False
,
gen_tex_table
=
False
)
d
,
maxtwoF
=
mcmc
.
get_max_twoF
()
dF0
=
F0
-
d
[
'F0'
]
dF1
=
F1
-
d
[
'F1'
]
runTime
=
time
.
time
()
-
startTime
with
open
(
results_file_name
,
'a'
)
as
f
:
f
.
write
(
'{:1.8e} {:1.8e} {:1.8e} {:1.8e} {}
\n
'
.
format
(
dF0
,
dF1
,
predicted_twoF
,
maxtwoF
,
runTime
))
os
.
system
(
'rm {}/*{}*'
.
format
(
outdir
,
label
))
Paper/AllSkyMCNoiseOnly/generate_table.py
0 → 100644
View file @
04eb2bc3
import
pyfstat
import
numpy
as
np
outdir
=
'data'
label
=
'allsky_setup'
data_label
=
'{}_data'
.
format
(
label
)
# Properties of the GW data
sqrtSX
=
2e-23
tstart
=
1000000000
Tspan
=
100
*
86400
tend
=
tstart
+
Tspan
# Fixed properties of the signal
F0_center
=
30
F1_center
=
1e-10
F2
=
0
tref
=
.
5
*
(
tstart
+
tend
)
VF0
=
VF1
=
100
DeltaF0
=
VF0
*
np
.
sqrt
(
3
)
/
(
np
.
pi
*
Tspan
)
DeltaF1
=
VF1
*
np
.
sqrt
(
45
/
4.
)
/
(
np
.
pi
*
Tspan
**
2
)
DeltaAlpha
=
0.05
DeltaDelta
=
0.05
depth
=
100
nsteps
=
50
run_setup
=
[((
nsteps
,
0
),
20
,
False
),
((
nsteps
,
0
),
11
,
False
),
((
nsteps
,
0
),
6
,
False
),
((
nsteps
,
0
),
3
,
False
),
((
nsteps
,
nsteps
),
1
,
False
)]
h0
=
sqrtSX
/
float
(
depth
)
r
=
np
.
random
.
uniform
(
0
,
1
)
theta
=
np
.
random
.
uniform
(
0
,
2
*
np
.
pi
)
F0
=
F0_center
+
3
*
np
.
sqrt
(
r
)
*
np
.
cos
(
theta
)
/
(
np
.
pi
**
2
*
Tspan
**
2
)
F1
=
F1_center
+
45
*
np
.
sqrt
(
r
)
*
np
.
sin
(
theta
)
/
(
4
*
np
.
pi
**
2
*
Tspan
**
4
)
Alpha
=
0
Delta
=
0
psi
=
np
.
random
.
uniform
(
-
np
.
pi
/
4
,
np
.
pi
/
4
)
phi
=
np
.
random
.
uniform
(
0
,
2
*
np
.
pi
)
cosi
=
np
.
random
.
uniform
(
-
1
,
1
)
data
=
pyfstat
.
Writer
(
label
=
data_label
,
outdir
=
outdir
,
tref
=
tref
,
tstart
=
tstart
,
F0
=
F0
,
F1
=
F1
,
F2
=
F2
,
duration
=
Tspan
,
Alpha
=
Alpha
,
Delta
=
Delta
,
h0
=
h0
,
sqrtSX
=
sqrtSX
,
psi
=
psi
,
phi
=
phi
,
cosi
=
cosi
,
detector
=
'H1,L1'
)
data
.
make_data
()
predicted_twoF
=
data
.
predict_fstat
()
theta_prior
=
{
'F0'
:
{
'type'
:
'unif'
,
'lower'
:
F0
-
DeltaF0
/
2.
,
'upper'
:
F0
+
DeltaF0
/
2.
},
'F1'
:
{
'type'
:
'unif'
,
'lower'
:
F1
-
DeltaF1
/
2.
,
'upper'
:
F1
+
DeltaF1
/
2.
},
'F2'
:
F2
,
'Alpha'
:
{
'type'
:
'unif'
,
'lower'
:
Alpha
-
DeltaAlpha
/
2.
,
'upper'
:
Alpha
+
DeltaAlpha
/
2.
},
'Delta'
:
{
'type'
:
'unif'
,
'lower'
:
Delta
-
DeltaDelta
/
2.
,
'upper'
:
Delta
+
DeltaDelta
/
2.
},
}
ntemps
=
1
log10temperature_min
=
-
1
nwalkers
=
100
mcmc
=
pyfstat
.
MCMCFollowUpSearch
(
label
=
label
,
outdir
=
outdir
,
sftfilepath
=
'{}/*{}*sft'
.
format
(
outdir
,
data_label
),
theta_prior
=
theta_prior
,
tref
=
tref
,
minStartTime
=
tstart
,
maxStartTime
=
tend
,
nwalkers
=
nwalkers
,
ntemps
=
ntemps
,
log10temperature_min
=
log10temperature_min
)
mcmc
.
run
(
run_setup
)
Paper/AllSkyMCNoiseOnly/plot_data.py
0 → 100644
View file @
04eb2bc3
import
matplotlib.pyplot
as
plt
import
pandas
as
pd
import
numpy
as
np
import
os
from
tqdm
import
tqdm
from
oct2py
import
octave
import
glob
filenames
=
glob
.
glob
(
"CollectedOutput/*.txt"
)
plt
.
style
.
use
(
'paper'
)
Tspan
=
100
*
86400
def
maxtwoFinNoise
(
twoF
,
Ntrials
):
F
=
twoF
/
2.0
alpha
=
(
1
+
F
)
*
np
.
exp
(
-
F
)
a
=
Ntrials
/
2.0
*
F
*
np
.
exp
(
-
F
)
b
=
(
1
-
alpha
)
**
(
Ntrials
-
1
)
return
a
*
b
df_list
=
[]
for
fn
in
filenames
:
df
=
pd
.
read_csv
(
fn
,
sep
=
' '
,
names
=
[
'dF0'
,
'dF1'
,
'twoF_predicted'
,
'twoF'
,
'runTime'
])
df
[
'CLUSTER_ID'
]
=
fn
.
split
(
'_'
)[
1
]
df_list
.
append
(
df
)
df
=
pd
.
concat
(
df_list
)
fig
,
ax
=
plt
.
subplots
()
ax
.
hist
(
df
.
twoF
,
bins
=
50
,
histtype
=
'step'
,
color
=
'k'
,
normed
=
True
,
linewidth
=
1
)
twoFsmooth
=
np
.
linspace
(
0
,
df
.
twoF
.
max
(),
100
)
# ax.plot(twoFsmooth, maxtwoFinNoise(twoFsmooth, 8e5), '-r')
ax
.
set_xlabel
(
'$\widetilde{2\mathcal{F}}$'
)
ax
.
set_xlim
(
0
,
60
)
fig
.
tight_layout
()
fig
.
savefig
(
'allsky_noise_twoF_histogram.png'
)
Paper/AllSkyMCNoiseOnly/repeat.sh
0 → 100755
View file @
04eb2bc3
#!/bin/bash
.
/home/gregory.ashton/lalsuite-install/etc/lalapps-user-env.sh
export
PATH
=
"/home/gregory.ashton/anaconda2/bin:
$PATH
"
export
MPLCONFIGDIR
=
/home/gregory.ashton/.config/matplotlib
rm
/local/user/gregory.ashton/MCResults
*
txt
for
((
n
=
0
;
n<100
;
n++
))
do
/home/gregory.ashton/anaconda2/bin/python generate_data.py
"
$1
"
/local/user/gregory.ashton
--quite
--no-template-counting
done
cp
/local/user/gregory.ashton/MCResults
*
txt /home/gregory.ashton/PyFstat/Paper/AllSkyMCNoiseOnly/CollectedOutput
Paper/AllSkyMCNoiseOnly/submitfile
0 → 100644
View file @
04eb2bc3
Executable= repeat.sh
Arguments= $(Cluster)_$(Process)
Universe=vanilla
Input=/dev/null
accounting_group = ligo.dev.o2.cw.explore.test
Output=CollectedOutput/out.$(Process)
Error=CollectedOutput/err.$(Process)
Log=CollectedOutput/log.$(Process)
request_cpus = 1
request_memory = 16 GB
Queue 100
Paper/DirectedMCNoiseOnly/generate_data.py
0 → 100644
View file @
04eb2bc3
import
pyfstat
import
numpy
as
np
import
os
import
sys
import
time
ID
=
sys
.
argv
[
1
]
outdir
=
sys
.
argv
[
2
]
label
=
'run_{}'
.
format
(
ID
)
data_label
=
'{}_data'
.
format
(
label
)
results_file_name
=
'{}/MCResults_{}.txt'
.
format
(
outdir
,
ID
)
# Properties of the GW data
sqrtSX
=
2e-23
tstart
=
1000000000
Tspan
=
100
*
86400
tend
=
tstart
+
Tspan
# Fixed properties of the signal
F0_center
=
30
F1_center
=
1e-10
F2
=
0
Alpha
=
5e-3
Delta
=
6e-2
tref
=
.
5
*
(
tstart
+
tend
)
VF0
=
VF1
=
100
DeltaF0
=
VF0
*
np
.
sqrt
(
3
)
/
(
np
.
pi
*
Tspan
)
DeltaF1
=
VF1
*
np
.
sqrt
(
45
/
4.
)
/
(
np
.
pi
*
Tspan
**
2
)
nsteps
=
20
run_setup
=
[((
nsteps
,
0
),
20
,
False
),
((
nsteps
,
0
),
7
,
False
),
((
nsteps
,
0
),
2
,
False
),
((
nsteps
,
nsteps
),
1
,
False
)]
h0
=
0
F0
=
F0_center
+
np
.
random
.
uniform
(
-
0.5
,
0.5
)
*
DeltaF0
F1
=
F1_center
+
np
.
random
.
uniform
(
-
0.5
,
0.5
)
*
DeltaF1
psi
=
np
.
random
.
uniform
(
-
np
.
pi
/
4
,
np
.
pi
/
4
)
phi
=
np
.
random
.
uniform
(
0
,
2
*
np
.
pi
)
cosi
=
np
.
random
.
uniform
(
-
1
,
1
)
data
=
pyfstat
.
Writer
(
label
=
data_label
,
outdir
=
outdir
,
tref
=
tref
,
tstart
=
tstart
,
F0
=
F0
,
F1
=
F1
,
F2
=
F2
,
duration
=
Tspan
,
Alpha
=
Alpha
,
Delta
=
Delta
,
h0
=
h0
,
sqrtSX
=
sqrtSX
,
psi
=
psi
,
phi
=
phi
,
cosi
=
cosi
,
detector
=
'H1,L1'
)
data
.
make_data
()
predicted_twoF
=
data
.
predict_fstat
()
startTime
=
time
.
time
()
theta_prior
=
{
'F0'
:
{
'type'
:
'unif'
,
'lower'
:
F0
-
DeltaF0
/
2.
,
'upper'
:
F0
+
DeltaF0
/
2.
},
'F1'
:
{
'type'
:
'unif'
,
'lower'
:
F1
-
DeltaF1
/
2.
,
'upper'
:
F1
+
DeltaF1
/
2.
},
'F2'
:
F2
,
'Alpha'
:
Alpha
,
'Delta'
:
Delta
}
ntemps
=
1
log10temperature_min
=
-
1
nwalkers
=
100
mcmc
=
pyfstat
.
MCMCFollowUpSearch
(
label
=
label
,
outdir
=
outdir
,
sftfilepath
=
'{}/*{}*sft'
.
format
(
outdir
,
data_label
),
theta_prior
=
theta_prior
,
tref
=
tref
,
minStartTime
=
tstart
,
maxStartTime
=
tend
,
nwalkers
=
nwalkers
,
ntemps
=
ntemps
,
log10temperature_min
=
log10temperature_min
)
mcmc
.
run
(
run_setup
=
run_setup
,
create_plots
=
False
,
log_table
=
False
,
gen_tex_table
=
False
)
d
,
maxtwoF
=
mcmc
.
get_max_twoF
()
dF0
=
F0
-
d
[
'F0'
]
dF1
=
F1
-
d
[
'F1'
]
runTime
=
time
.
time
()
-
startTime
with
open
(
results_file_name
,
'a'
)
as
f
:
f
.
write
(
'{:1.8e} {:1.8e} {:1.8e} {:1.8e} {}
\n
'
.
format
(
dF0
,
dF1
,
predicted_twoF
,
maxtwoF
,
runTime
))
os
.
system
(
'rm {}/*{}*'
.
format
(
outdir
,
label
))
Paper/DirectedMCNoiseOnly/repeat.sh
0 → 100755
View file @
04eb2bc3
#!/bin/bash
.
/home/gregory.ashton/lalsuite-install/etc/lalapps-user-env.sh
export
PATH
=
"/home/gregory.ashton/anaconda2/bin:
$PATH
"
export
MPLCONFIGDIR
=
/home/gregory.ashton/.config/matplotlib
rm
/local/user/gregory.ashton/MCResults
*
txt
for
((
n
=
0
;
n<100
;
n++
))
do
/home/gregory.ashton/anaconda2/bin/python generate_data.py
"
$1
"
/local/user/gregory.ashton
--quite
--no-template-counting
done
cp
/local/user/gregory.ashton/MCResults
*
txt /home/gregory.ashton/PyFstat/Paper/DirectedMCNoiseOnly/CollectedOutput
Paper/DirectedMCNoiseOnly/submitfile
0 → 100644
View file @
04eb2bc3
Executable= repeat.sh
Arguments= $(Cluster)_$(Process)
Universe=vanilla
Input=/dev/null
accounting_group = ligo.dev.o2.cw.explore.test
Output=CollectedOutput/out.$(Process)
Error=CollectedOutput/err.$(Process)
Log=CollectedOutput/log.$(Process)
request_cpus = 1
request_memory = 8 GB
Queue 100
Paper/directed_noise_twoF_histogram.png
0 → 100644
View file @
04eb2bc3
24 KB
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment