Skip to content

Commit ecae9ec

Browse files
authored
Merge pull request #3 from cta-observatory/processing_refactoring
Refactor : draft processing classes and bkg method classes
2 parents 69ab096 + 62432c4 commit ecae9ec

File tree

5 files changed

+1247
-357
lines changed

5 files changed

+1247
-357
lines changed

examples/config_example.yaml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,39 @@
11
data:
2-
mask: '/media/data/X-ray/Data/MAGIC/WinterSchool2015/Sample1/Crab/MyMelibea/20*.root'
2+
mask: '/Users/mstrzys/Documents/Sandbox/Template_bkg_test/20150625/20*.root'
33
cuts: '(MHillas_1.fSize>100) & (MHadronness.fHadronness < 0.5) & (MStereoPar.fValid == 1)'
44

5-
#mode: 'stacked_wobble'
6-
mode: 'stacked_exclusion'
5+
# mode: 'stacked_wobble'
6+
mode: 'runwise_exclusion'
77

88
output:
9-
directory: 'out/'
9+
directory: '/Users/mstrzys/Documents/Sandbox/Template_bkg_test/20150625/'
1010
prefix: ''
1111
overwrite: True
1212

13+
run_matching:
14+
time_delta: '0.2 hour'
15+
pointing_delta: '2 deg'
16+
1317
binning:
1418
mode: 'rectangular'
1519
extension:
1620
x:
1721
min: '-1.5 deg'
1822
max: '1.5 deg'
19-
n: 10
23+
nbins: 10
2024
y:
2125
min: '-1.5 deg'
2226
max: '1.5 deg'
23-
n: 10
27+
nbins: 10
2428
energy:
2529
min: '100 GeV'
2630
max: '10 TeV'
27-
n: 1
31+
nbins: 1
2832

2933
exclusion_regions:
3034
# type: list
3135
# - {type: 'circle', x: 83.633080, y: 22.014500, rad: 0.2, unit: 'deg', frame: 'icrs'}
3236
- 'icrs; circle(83.633080, 22.014500, 0.2d)'
3337
- 'icrs; circle(83.133080, 22.414500, 0.2d)'
3438

35-
run_matching: {val: 1, unit: 'arcmin'}
39+
# run_matching: {val: 1, unit: 'arcmin'}

src/pybkgmodel/data.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
def find_run_neighbours(target_run, run_list, time_delta, pointing_delta):
1313
"""
14-
Returns the nieghbours of the specified run.
14+
Returns the neighbours of the specified run.
1515
1616
Parameters
1717
----------
@@ -42,7 +42,7 @@ def find_run_neighbours(target_run, run_list, time_delta, pointing_delta):
4242

4343
class EventSample:
4444
def __init__(
45-
self,
45+
self,
4646
event_ra, event_dec, event_energy,
4747
pointing_ra, pointing_dec, pointing_az, pointing_zd,
4848
mjd, delta_t
@@ -57,51 +57,51 @@ def __init__(
5757
self.__mjd = mjd
5858
self.__delta_t = delta_t
5959
self.__eff_obs_time = self.calc_eff_obs_time()
60-
60+
6161
@property
6262
def delta_t(self):
6363
return self.__delta_t
64-
64+
6565
@property
6666
def eff_obs_time(self):
6767
return self.__eff_obs_time
68-
68+
6969
@property
7070
def event_ra(self):
7171
return self.__event_ra
72-
72+
7373
@property
7474
def event_dec(self):
7575
return self.__event_dec
76-
76+
7777
@property
7878
def event_energy(self):
7979
return self.__event_energy
80-
80+
8181
@property
8282
def pointing_ra(self):
8383
return self.__pointing_ra
84-
84+
8585
@property
8686
def pointing_dec(self):
8787
return self.__pointing_dec
88-
88+
8989
@property
9090
def pointing_az(self):
9191
return self.__pointing_az
92-
92+
9393
@property
9494
def pointing_zd(self):
9595
return self.__pointing_zd
96-
96+
9797
@property
9898
def pointing_alt(self):
9999
return 90 * u.deg - self.pointing_zd
100-
100+
101101
@property
102102
def mjd(self):
103103
return self.__mjd
104-
104+
105105
def calc_eff_obs_time(self):
106106
mjd_sorted = numpy.sort(self.__mjd)
107107
time_diff = numpy.diff(mjd_sorted)
@@ -218,7 +218,7 @@ def get_obs_id(cls, file_name):
218218
obs_id = int(parsed[0])
219219
else:
220220
raise RuntimeError(f'Can not find observations ID in {file_name}')
221-
221+
222222
return obs_id
223223

224224
@classmethod
@@ -299,7 +299,7 @@ def load_events(cls, file_name, cuts):
299299
for key in data_names_mapping:
300300
name = data_names_mapping[key]
301301
event_data[name] = data[key]
302-
302+
303303
event_data['gammaness'] = 1 - data['MHadronness.fHadronness']
304304

305305
is_mc = 'MMcEvt_1.' in input_file['Events']
@@ -335,10 +335,10 @@ def load_events(cls, file_name, cuts):
335335
name = data_names_mapping[key]
336336
event_data[name] = numpy.zeros(0)
337337
event_data['mjd'] = numpy.zeros(0)
338-
338+
339339
finite = [numpy.isfinite(event_data[key]) for key in event_data]
340340
all_finite = numpy.prod(finite, axis=0, dtype=bool)
341-
341+
342342
for key in event_data:
343343
event_data[key] = event_data[key][all_finite]
344344

@@ -381,9 +381,9 @@ def get_obs_id(cls, file_name):
381381
obs_id = int(parsed[0])
382382
else:
383383
raise RuntimeError(f'Can not find observations ID in {file_name}')
384-
384+
385385
return obs_id
386-
386+
387387
@classmethod
388388
def load_events(cls, file_name, cuts):
389389
"""
@@ -481,17 +481,17 @@ def load_events(cls, file_name, cuts):
481481
for key in data_names_mapping:
482482
name = data_names_mapping[key]
483483
event_data[name] = numpy.zeros(0)
484-
484+
485485
finite = [numpy.isfinite(event_data[key]) for key in event_data if event_data[key] is not None]
486486
all_finite = numpy.prod(finite, axis=0, dtype=bool)
487487

488488
for key in event_data:
489489
if event_data[key] is not None:
490490
event_data[key] = event_data[key][all_finite]
491-
491+
492492
if key in data_units:
493493
event_data[key] = event_data[key] * data_units[key]
494-
494+
495495
event_sample = EventSample(
496496
event_data['event_ra'],
497497
event_data['event_dec'],
@@ -520,7 +520,7 @@ def __init__(self, file_name):
520520
events = LstEventFile(file_name)
521521
else:
522522
raise RuntimeError(f"Unsupported file format for '{file_name}'.")
523-
523+
524524
if len(events.mjd) != 0:
525525
evt_selection = [events.mjd.argmin(), events.mjd.argmax()]
526526
time = astropy.time.Time(events.mjd[evt_selection], format='mjd')
@@ -534,7 +534,7 @@ def __init__(self, file_name):
534534
self.__obs_id = events.obs_id
535535
self.__tel_pointing_start = pstart
536536
self.__tel_pointing_stop = pstop
537-
537+
538538
def __repr__(self):
539539
print(
540540
f"""{type(self).__name__} instance

0 commit comments

Comments
 (0)