예제 #1
0
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
예제 #2
0
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
0
    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
예제 #4
0
    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,
예제 #5
0
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,
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])
예제 #7
0

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])
예제 #8
0
    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