Skip to content

Commit

Permalink
Handle fluctuations in small testing sample.
Browse files Browse the repository at this point in the history
  • Loading branch information
robertdstein committed Jul 21, 2020
1 parent 97181e5 commit 66ca7b8
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 44 deletions.
5 changes: 3 additions & 2 deletions flarestack/core/results.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import sys
import logging

class OverfluctuationError(Exception):
pass

class ResultsHandler(object):

Expand Down Expand Up @@ -386,11 +388,10 @@ def find_overfluctuations(self, ts_val, savepath):
x_acc.append(float(scale))
yerr.append(1./np.sqrt(float(len(ts_array))))


self.make_plots(scale)

if len(np.where(np.array(y) < 0.95)[0]) < 2:
raise Exception(f"Not enough points with overfluctuations under 95%, lower injection scale!")
raise OverfluctuationError(f"Not enough points with overfluctuations under 95%, lower injection scale!")

x = np.array(x_acc)

Expand Down
89 changes: 47 additions & 42 deletions tests/test_full_analysis_chain.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from flarestack.data.public import icecube_ps_3_year
from flarestack.core.unblinding import create_unblinder
from flarestack.analyses.tde.shared_TDE import tde_catalogue_name
from flarestack import analyse, ResultsHandler
from flarestack import analyse, ResultsHandler, OverfluctuationError

logging.getLogger().setLevel("INFO")

Expand All @@ -24,59 +24,64 @@ def test_full_chain(self):

base_name = "tests/test_analysis_chain"

for j, gamma in enumerate([2.0, 2.5]):
# Initialise Injectors/LLHs
try:

inj_dict = {
"injection_sig_time_pdf": {
"time_pdf_name": "steady"
},
"injection_energy_pdf": {
"energy_pdf_name": "power_law",
"gamma": gamma
for j, gamma in enumerate([2.0, 2.5]):
# Initialise Injectors/LLHs

inj_dict = {
"injection_sig_time_pdf": {
"time_pdf_name": "steady"
},
"injection_energy_pdf": {
"energy_pdf_name": "power_law",
"gamma": gamma
}
}
}

llh_dict = {
"llh_name": "standard",
"llh_sig_time_pdf": {
"time_pdf_name": "steady"
},
"llh_bkg_time_pdf": {
"time_pdf_name": "steady",
},
"llh_energy_pdf": {
"energy_pdf_name": "power_law"

llh_dict = {
"llh_name": "standard",
"llh_sig_time_pdf": {
"time_pdf_name": "steady"
},
"llh_bkg_time_pdf": {
"time_pdf_name": "steady",
},
"llh_energy_pdf": {
"energy_pdf_name": "power_law"
}
}
}

# Test three declinations
# Test three declinations

mh_dict = {
"name": f"{base_name}/{gamma}/",
"mh_name": "fixed_weights",
"dataset": icecube_ps_3_year.get_seasons("IC86-2011"),
"catalogue": catalogue,
"inj_dict": inj_dict,
"llh_dict": llh_dict,
"n_steps": 5,
"n_trials": 10,
"scale": [3., 500.][j]
}

mh_dict = {
"name": f"{base_name}/{gamma}/",
"mh_name": "fixed_weights",
"dataset": icecube_ps_3_year.get_seasons("IC86-2011"),
"catalogue": catalogue,
"inj_dict": inj_dict,
"llh_dict": llh_dict,
"n_steps": 5,
"n_trials": 10,
"scale": [3., 500.][j]
}
analyse(mh_dict, n_cpu=24, cluster=False)

analyse(mh_dict, n_cpu=24, cluster=False)
rh = ResultsHandler(mh_dict)

rh = ResultsHandler(mh_dict)
# Deliberately test a second time, to see performance once results have been combined

# Deliberately test a second time, to see performance once results have been combined
rh = ResultsHandler(mh_dict)

rh = ResultsHandler(mh_dict)
ub_dict = dict(mh_dict)

ub_dict = dict(mh_dict)
ub_dict["background_ts"] = base_name

ub_dict["background_ts"] = base_name
ub = create_unblinder(ub_dict, full_plots=True, scan_2d=True)

ub = create_unblinder(ub_dict, full_plots=True, scan_2d=True)
except OverfluctuationError:
pass

if __name__ == '__main__':
unittest.main()

0 comments on commit 66ca7b8

Please sign in to comment.