x = np.array([6.88073000e+00, 6.93807000e+00, 7.33945000e+00, 7.91284000e+00, 8.25688000e+00, 8.48624000e+00, 9.11697000e+00, 9.74771000e+00, 1.05505000e+01, 1.14106000e+01, 1.23853000e+01, 1.33028000e+01, 1.41628000e+01, 1.47362000e+01, 1.49083000e+01, 1.49083000e+01, 1.49656000e+01, 1.56537000e+01, 1.63991000e+01, 1.72592000e+01, 1.82913000e+01, 1.91514000e+01, 1.97821000e+01, 1.98968000e+01, 2.12156000e+01, 2.26491000e+01, 2.97592000e+01, 3.00459000e+01, 3.19954000e+01, 3.51491000e+01, 3.83028000e+01, 4.18578000e+01, 4.67890000e+01, 5.36697000e+01, 1.00057000e+02]) y = np.array([4.17071000e-02, 8.43841000e-02, 1.10572000e-01, 1.29971000e-01, 1.41610000e-01, 1.55189000e-01, 1.70708000e-01, 1.84287000e-01, 1.97866000e-01, 2.07565000e-01, 2.16295000e-01, 2.22114000e-01, 2.28904000e-01, 2.32784000e-01, 2.38603000e-01, 2.49273000e-01, 2.54122000e-01, 2.60912000e-01, 2.66731000e-01, 2.73521000e-01, 2.79340000e-01, 2.84190000e-01, 2.86130000e-01, 3.23957000e-01, 3.32687000e-01, 3.40446000e-01, 3.80213000e-01, 3.90883000e-01, 4.02522000e-01, 4.15131000e-01, 4.23860000e-01, 4.31620000e-01, 4.41319000e-01, 4.52958000e-01, 5.19884000e-01]) Efficiency_interp = interp1d(x, y) def Efficiency(e): return Efficiency_interp(e) if e >= Ethreshold else 0. def Efficiency_ER(er): return np.ones_like(er) Exposure = 140.2 ERecoilList = np.array([8.2, 9.5, 12.3]) mu_BKG_i = np.array([0.0185176, 0.0203303, 0.0217355]) NBKG = 0.7 BinEdges = np.array([7, 9, 11, 13]) BinData = np.array([len([e for e in ERecoilList
num_target_nuclides = target_nuclide_mass_list.size def QuenchingFactor(e): return np.ones_like(e) Ethreshold = 1.63799 Emaximum = 10.0011 ERmaximum = 10.0011 Efficiency_interp = \ interp1d(np.array([1.63799, 1.93525, 2.35928, 2.37871, 3.12938, 3.15831, 3.8895, 3.90877, 4.2841, 4.30358, 4.63016, 4.64942, 5.38539, 5.4095, 5.78968, 6.15036, 6.16481, 6.8911, 6.92511, 9.16257, 9.18213, 10.0011]), np.array([0.044225, 0.071339, 0.086737, 0.105692, 0.112107, 0.196045, 0.19975, 0.260222, 0.26388, 0.268395, 0.275658, 0.339739, 0.366008, 0.43731, 0.44819, 0.459066, 0.506, 0.514216, 0.543101, 0.544292, 0.529854, 0.532668])) def Efficiency(e, er): return np.ones_like(er) def Efficiency_ER(e): return Efficiency_interp(e) if Ethreshold <= e < Emaximum else np.array(0.) Exposure = 577. ERecoilList = np.array([1.7, 1.8, 1.9, 1.9, 2.3, 2.7, 3.0, 5.8, 7.0, 7.8, 9.4])
3.19954000e+01, 3.51491000e+01, 3.83028000e+01, 4.18578000e+01, 4.67890000e+01, 5.36697000e+01, 1.00057000e+02 ]) y = np.array([ 4.17071000e-02, 8.43841000e-02, 1.10572000e-01, 1.29971000e-01, 1.41610000e-01, 1.55189000e-01, 1.70708000e-01, 1.84287000e-01, 1.97866000e-01, 2.07565000e-01, 2.16295000e-01, 2.22114000e-01, 2.28904000e-01, 2.32784000e-01, 2.38603000e-01, 2.49273000e-01, 2.54122000e-01, 2.60912000e-01, 2.66731000e-01, 2.73521000e-01, 2.79340000e-01, 2.84190000e-01, 2.86130000e-01, 3.23957000e-01, 3.32687000e-01, 3.40446000e-01, 3.80213000e-01, 3.90883000e-01, 4.02522000e-01, 4.15131000e-01, 4.23860000e-01, 4.31620000e-01, 4.41319000e-01, 4.52958000e-01, 5.19884000e-01 ]) Efficiency_interp = interp1d(x, y) def Efficiency(e): return Efficiency_interp(e) if e >= Ethreshold else 0. def Efficiency_ER(er): return np.ones_like(er) Exposure = 140.2 ERecoilList = np.array([8.2, 9.5, 12.3]) mu_BKG_i = np.array([0.0185176, 0.0203303, 0.0217355]) NBKG = 0.7
np.array([[5./2, 0.309 * np.sqrt(21./10 / pi), .075 * np.sqrt(21./10 / pi)], [7./2, -.370 * np.sqrt(18./7 / pi), .003 * np.sqrt(18./7 / pi)]]) target_nuclide_mass_list = np.array([118.211, 123.801]) num_target_nuclides = target_nuclide_mass_list.size def QuenchingFactor(e): return 0.05 * np.ones_like(e) Ethreshold = 3 Emaximum = 11 ERmaximum = 300. def Efficiency_ER(er): return np.ones_like(er) Efficiency_interp = interp1d(np.array([3., 10., 11.]), np.array([0.3, 1.1, 1.1])) def Efficiency(e): return Efficiency_interp(e) if Ethreshold <= e < Emaximum \ else np.array(0.) Exposure = 24524.3 ERecoilList = np.array([]) BinSize = 1 BinEdges = np.array(range(Ethreshold, Emaximum + BinSize)) BinEdges_left = BinEdges[:-1] BinEdges_right = BinEdges[1:] BinData = np.array([0., 0., 0., 0., 0., 0.006678, 0.007997, 0.005212]) BinError = np.array([0.008209, 0.007622, 0.007036, 0.003078, 0.007622, 0.002345, 0.011286, 0.010114]) Expected_limit = np.array([0.016759777, 0.016871508, 0.014636871, 0.008156424,
target_nuclide_AZC_list = \ np.array([[124, 54, 0.0008966], [126, 54, 0.0008535], [128, 54, 0.018607], [129, 54, 0.25920], [130, 54, 0.040280], [131, 54, 0.21170], [132, 54, 0.27035], [134, 54, 0.10644], [136, 54, 0.09168]]) target_nuclide_JSpSn_list = \ np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [1./2, 0.010 * np.sqrt(3./2 / pi), .329 * np.sqrt(3./2 / pi)], [0, 0, 0], [3./2, -0.009 * np.sqrt(5./2 / pi), -.272 * np.sqrt(5./2 / pi)], [0, 0, 0], [0, 0, 0], [0, 0, 0]]) target_nuclide_mass_list = np.array([115.418, 117.279, 119.141, 120.074, 121.004, 121.937, 122.868, 124.732, 126.597]) num_target_nuclides = target_nuclide_mass_list.size QuenchingFactor = \ interp1d(np.array([0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 40, 1000]), np.array([0, 0.394922, 0.714621, 0.861934, 0.944993, 1.01551, 1.08134, 1.13507, 1.19417, 1.23701, 1.28068, 1.31812, 1.35872, 1.4, 1.4])) Ethreshold = 2. Emaximum = 30. ERmaximum = 36. def Efficiency_ER(er): try: len(er) except TypeError: er = [er] return np.array([1. if e >= 3. else 0. for e in er]) Efficiency_interp = \ interp1d(np.array([0.700414, 0.768683, 0.830262, 0.884938, 0.960924, 1.01607,
def QuenchingFactor(e): return 0.05 * np.ones_like(e) Ethreshold = 3 Emaximum = 11 ERmaximum = 300. def Efficiency_ER(er): return np.ones_like(er) Efficiency_interp = interp1d(np.array([3., 10., 11.]), np.array([0.3, 1.1, 1.1])) def Efficiency(e): return Efficiency_interp(e) if Ethreshold <= e < Emaximum \ else np.array(0.) Exposure = 24524.3 ERecoilList = np.array([]) BinSize = 1 BinEdges = np.array(range(Ethreshold, Emaximum + BinSize)) BinEdges_left = BinEdges[:-1] BinEdges_right = BinEdges[1:] BinData = np.array([0., 0., 0., 0., 0., 0.006678, 0.007997, 0.005212])
np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [1./2, 0.010 * np.sqrt(3./2 / pi), .329 * np.sqrt(3./2 / pi)], [0, 0, 0], [3./2, -0.009 * np.sqrt(5./2 / pi), -.272 * np.sqrt(5./2 / pi)], [0, 0, 0], [0, 0, 0], [0, 0, 0]]) target_nuclide_mass_list = np.array([115.418, 117.279, 119.141, 120.074, 121.004, 121.937, 122.868, 124.732, 126.597]) num_target_nuclides = target_nuclide_mass_list.size x = np.array([0., 0.395837, 0.431065, 0.451241, 0.473339, 0.582546, 0.7747, 0.995997, 1.09303, 1.18078, 1.30024, 1.41681, 1.4783, 1.6948, 1.76781, 1.9004, 2.01954, 2.14444, 2.23187 ]) y = np.array([0., 0.0745321, 0.0792141, 0.0831369, 0.0941459, 0.0999667, 0.116417, 0.144003, 0.147293, 0.154252, 0.159694, 0.169311, 0.17665, 0.191076, 0.194872, 0.198035, 0.197403, 0.2, 0.2]) QuenchingFactor_interp = interp1d(x, y) def QuenchingFactor(e_list): # Absolutely no clue what this is... Ly = 2.28 Snr = 0.95 See = 0.58 try: len(e_list) except TypeError: e_list = [e_list] q = np.array([0. if e < 1 \ else QuenchingFactor_interp(np.log10(e)) if e < 10**2.23187 \ else 0.2 for e in e_list]) return Ly * Snr / See * q