Coverage for orcasong/bin_edges.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2024-10-03 18:23 +0000

1""" 

2Binnings used for some existing detector configurations. 

3 

4These are made for the specific given runs. They might not be 

5applicable to other data, and could cause errors or produce unexpected 

6results when used on data other then the specified. 

7""" 

8 

9import numpy as np 

10 

11 

12def get_4line_bin_edges_list(time_resolution="low"): 

13 """ 

14 Designed for four line detector. 

15 

16 XYZ/PM : 1 dom per bin 

17 Time: 

18 low: 

19 100 bins, 6 ns/bin 

20 mchits cut off (left/right): 1.34%, 4.20% 

21 high: 

22 300 bins, 3.33 ns/bin 

23 mchits cut off (left/right): 0.6%, 0.73% 

24 

25 """ 

26 time_resolutions = { 

27 "low": np.linspace(-50, 550, 100 + 1), 

28 "high": np.linspace(-100, 900, 300 + 1), 

29 } 

30 

31 return [ 

32 ["pos_x", np.array([-2 - 30, -2, -2 + 30])], 

33 ["pos_y", np.array([3.7 - 30, 3.7, 3.7 + 30])], 

34 ["pos_z", np.linspace(24, 198, 19)], 

35 ["time", time_resolutions[time_resolution]], 

36 ["channel_id", np.linspace(-0.5, 30.5, 31 + 1)], 

37 ] 

38 

39 

40def get_edges_2017_ztc(): 

41 """ 

42 Designed for the 2017 runs with the one line detector. 

43 

44 Will produce (18, 100, 31) 3d data, with dimensions ztc. 

45 

46 Z binning: 9.45 meters each 

47 Time binning: 6 ns each 

48 Channel id binning: 1 DOM per bin 

49 

50 """ 

51 bin_edges_list = [ 

52 ["pos_z", np.linspace(26, 198, 18 + 1)], 

53 ["time", np.linspace(-50, 550, 100 + 1)], 

54 ["channel_id", np.linspace(-0.5, 30.5, 31 + 1)], 

55 ] 

56 return bin_edges_list