TDCRPy 2.5.0__tar.gz → 2.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of TDCRPy might be problematic. Click here for more details.

Files changed (87) hide show
  1. {tdcrpy-2.5.0/TDCRPy.egg-info → tdcrpy-2.6.0}/PKG-INFO +1 -1
  2. {tdcrpy-2.5.0 → tdcrpy-2.6.0/TDCRPy.egg-info}/PKG-INFO +1 -1
  3. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/setup.py +1 -1
  4. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/TDCR_model_lib.py +57 -37
  5. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/LICENCE.md +0 -0
  6. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/MANIFEST.in +0 -0
  7. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/README.md +0 -0
  8. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/TDCRPy.egg-info/SOURCES.txt +0 -0
  9. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/TDCRPy.egg-info/dependency_links.txt +0 -0
  10. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/TDCRPy.egg-info/requires.txt +0 -0
  11. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/TDCRPy.egg-info/top_level.txt +0 -0
  12. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/setup.cfg +0 -0
  13. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_C-14.txt +0 -0
  14. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ca-45.txt +0 -0
  15. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Co-60.txt +0 -0
  16. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_H-3.txt +0 -0
  17. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ni-63.txt +0 -0
  18. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Pm-147.txt +0 -0
  19. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Pu-241.txt +0 -0
  20. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_S-35.txt +0 -0
  21. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-89.txt +0 -0
  22. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-90.txt +0 -0
  23. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Tc-99.txt +0 -0
  24. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/E_depose.txt +0 -0
  25. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_1_200k.txt +0 -0
  26. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_2000_10000k.txt +0 -0
  27. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_200_2000k.txt +0 -0
  28. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_1_200k.txt +0 -0
  29. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_2000_10000k.txt +0 -0
  30. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_200_2000k.txt +0 -0
  31. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_1_200k.txt +0 -0
  32. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_2000_10000k.txt +0 -0
  33. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_200_2000k.txt +0 -0
  34. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_1_200k.txt +0 -0
  35. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_2000_10000k.txt +0 -0
  36. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_200_2000k.txt +0 -0
  37. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_1_200k.txt +0 -0
  38. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_2000_10000k.txt +0 -0
  39. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_200_2000k.txt +0 -0
  40. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_1_200k.txt +0 -0
  41. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_2000_10000k.txt +0 -0
  42. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_200_2000k.txt +0 -0
  43. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Micelle/2nmfaq01.csv +0 -0
  44. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Micelle/faq01.csv +0 -0
  45. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_0.015.txt +0 -0
  46. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.1e-05.txt +0 -0
  47. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.2e-05.txt +0 -0
  48. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.3e-05.txt +0 -0
  49. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.4e-05.txt +0 -0
  50. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.5e-05.txt +0 -0
  51. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1e-05.txt +0 -0
  52. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_6e-06.txt +0 -0
  53. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_7e-06.txt +0 -0
  54. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_8e-06.txt +0 -0
  55. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyAlpha_9e-06.txt +0 -0
  56. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.006.txt +0 -0
  57. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.007.txt +0 -0
  58. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.008.txt +0 -0
  59. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.009.txt +0 -0
  60. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.01.txt +0 -0
  61. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.011.txt +0 -0
  62. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.012.txt +0 -0
  63. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.013.txt +0 -0
  64. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.014.txt +0 -0
  65. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.015.txt +0 -0
  66. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/TandataUG.txt +0 -0
  67. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/alpha_toulene.txt +0 -0
  68. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/inputVecteurAlpha.txt +0 -0
  69. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/Quenching/inputVecteurElectron.txt +0 -0
  70. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/TDCRPy.py +0 -0
  71. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/TDCRPy1.py +0 -0
  72. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/TDCRoptimize.py +0 -0
  73. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/__init__.py +0 -0
  74. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/config.toml +0 -0
  75. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/decayData/All-nuclides_BetaShape.zip +0 -0
  76. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/decayData/All-nuclides_Ensdf.zip +0 -0
  77. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/decayData/All-nuclides_PenNuc.zip +0 -0
  78. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/decayData/atom-ENDF-VII0.zip +0 -0
  79. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/decayData/photo-ENDF.zip +0 -0
  80. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/docs/_build/html/genindex.html +0 -0
  81. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/docs/_build/html/index.html +0 -0
  82. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/docs/_build/html/search.html +0 -0
  83. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/docs/_build/html/source/modules.html +0 -0
  84. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/docs/_build/html/source/tdcrpy.html +0 -0
  85. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/test/__init__.py +0 -0
  86. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/test/test_tdcrpy.py +0 -0
  87. {tdcrpy-2.5.0 → tdcrpy-2.6.0}/tdcrpy/test2.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TDCRPy
3
- Version: 2.5.0
3
+ Version: 2.6.0
4
4
  Summary: TDCR model
5
5
  Home-page: https://pypi.org/project/TDCRPy/
6
6
  Author: RomainCoulon (Romain Coulon)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TDCRPy
3
- Version: 2.5.0
3
+ Version: 2.6.0
4
4
  Summary: TDCR model
5
5
  Home-page: https://pypi.org/project/TDCRPy/
6
6
  Author: RomainCoulon (Romain Coulon)
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = "2.5.0"
5
+ VERSION = "2.6.0"
6
6
 
7
7
  DESCRIPTION = "TDCR model"
8
8
 
@@ -3056,11 +3056,11 @@ def detectProbabilitiesMC(L, e_quenching, e_quenching2, t1, evenement, extDT, me
3056
3056
  else:
3057
3057
  symm = True
3058
3058
 
3059
- alpha = 1
3059
+ mu = 0.2
3060
3060
 
3061
- if alpha < 1000:
3062
- dirichTD = np.random.dirichlet([alpha, alpha, alpha])
3063
- dirichCN = np.random.dirichlet([alpha, alpha])
3061
+ if dir_param < 1000:
3062
+ dirichTD = np.random.dirichlet([dir_param, dir_param, dir_param])
3063
+ dirichCN = np.random.dirichlet([dir_param, dir_param])
3064
3064
  else:
3065
3065
  dirichTD = [1/3, 1/3, 1/3]
3066
3066
  dirichCN = [1/2, 1/2]
@@ -3068,63 +3068,83 @@ def detectProbabilitiesMC(L, e_quenching, e_quenching2, t1, evenement, extDT, me
3068
3068
  efficiency0_S = 0; efficiency0_T = 0; efficiency0_D = 0
3069
3069
  efficiency0_AB = 0; efficiency0_BC = 0; efficiency0_AC = 0
3070
3070
  efficiency0_D2 = 0;
3071
+ n_e = np.zeros(3); n_eCN = np.zeros(2); n_e2 = np.zeros(3); n_e2CN = np.zeros(2)
3071
3072
 
3072
3073
  if symm:
3073
- n_ph = np.random.poisson(sum(np.asarray(e_quenching))*L)
3074
+ n_ph = np.random.poisson(sum(np.asarray(e_quenching))*L/mu)
3074
3075
  # TDCR
3075
3076
  n_phPMT = np.random.multinomial(n_ph, dirichTD)
3076
- if sum(n_phPMT>1)>0: efficiency0_S =1
3077
- if sum(n_phPMT>1)>1: efficiency0_D =1
3078
- if sum(n_phPMT>1)>2: efficiency0_T =1
3079
- if n_phPMT[0]>1 and n_phPMT[1]>1: efficiency0_AB =1
3080
- if n_phPMT[1]>1 and n_phPMT[2]>1: efficiency0_BC =1
3081
- if n_phPMT[0]>1 and n_phPMT[2]>1: efficiency0_AC =1
3077
+ n_e[0]=np.random.binomial(n_phPMT[0],mu)
3078
+ n_e[1]=np.random.binomial(n_phPMT[1],mu)
3079
+ n_e[2]=np.random.binomial(n_phPMT[2],mu)
3080
+ if sum(n_e>1)>0: efficiency0_S =1
3081
+ if sum(n_e>1)>1: efficiency0_D =1
3082
+ if sum(n_e>1)>2: efficiency0_T =1
3083
+ if n_e[0]>1 and n_e[1]>1: efficiency0_AB =1
3084
+ if n_e[1]>1 and n_e[2]>1: efficiency0_BC =1
3085
+ if n_e[0]>1 and n_e[2]>1: efficiency0_AC =1
3082
3086
  # C/N
3083
3087
  n_phPMT = np.random.multinomial(n_ph, dirichCN)
3084
- if sum(n_phPMT>1)>1: efficiency0_D2 =1
3088
+ n_eCN[0]=np.random.binomial(n_phPMT[0],mu)
3089
+ n_eCN[1]=np.random.binomial(n_phPMT[1],mu)
3090
+ if sum(n_e>1)>1: efficiency0_D2 =1
3085
3091
 
3086
3092
  if evenement !=1 and t1 > extDT*1e-6 and t1 < measTime*60:
3087
- n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*L)
3093
+ n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*L/mu)
3088
3094
  # TDCR
3089
3095
  n_phPMT2 = np.random.multinomial(n_ph2, dirichTD)
3090
- if sum(n_phPMT2>1)>0: efficiency0_S +=1
3091
- if sum(n_phPMT2>1)>1: efficiency0_D +=1
3092
- if sum(n_phPMT2>1)>2: efficiency0_T +=1
3093
- if n_phPMT2[0]>1 and n_phPMT2[1]>1: efficiency0_AB +=1
3094
- if n_phPMT2[1]>1 and n_phPMT2[2]>1: efficiency0_BC +=1
3095
- if n_phPMT2[0]>1 and n_phPMT2[2]>1: efficiency0_AC +=1
3096
+ n_e2[0]=np.random.binomial(n_phPMT2[0],mu)
3097
+ n_e2[1]=np.random.binomial(n_phPMT2[1],mu)
3098
+ n_e2[2]=np.random.binomial(n_phPMT2[2],mu)
3099
+ if sum(n_e2>1)>0: efficiency0_S +=1
3100
+ if sum(n_e2>1)>1: efficiency0_D +=1
3101
+ if sum(n_e2>1)>2: efficiency0_T +=1
3102
+ if n_e2[0]>1 and n_e2[1]>1: efficiency0_AB +=1
3103
+ if n_e2[1]>1 and n_e2[2]>1: efficiency0_BC +=1
3104
+ if n_e2[0]>1 and n_e2[2]>1: efficiency0_AC +=1
3096
3105
  # C/N
3097
3106
  n_phPMT2 = np.random.multinomial(n_ph2, dirichCN)
3098
- if sum(n_phPMT2>1)>1: efficiency0_D2 +=1
3107
+ n_e2CN[0]=np.random.binomial(n_phPMT2[0],mu)
3108
+ n_e2CN[1]=np.random.binomial(n_phPMT2[1],mu)
3109
+ if sum(n_e2CN>1)>1: efficiency0_D2 +=1
3099
3110
 
3100
3111
  else: # asym
3101
3112
  Lm = np.mean(L)
3102
- n_ph = np.random.poisson(sum(np.asarray((e_quenching))*Lm))
3113
+ n_ph = np.random.poisson(sum(np.asarray((e_quenching))*Lm/mu))
3103
3114
  # TDCR
3104
3115
  n_phPMT = np.random.multinomial(n_ph, [L[0]*dirichTD[0]/Lm, L[1]*dirichTD[1]/Lm, L[2]*dirichTD[2]/Lm])
3105
- if sum(n_phPMT>1)>0: efficiency0_S =1
3106
- if sum(n_phPMT>1)>1: efficiency0_D =1
3107
- if sum(n_phPMT>1)>2: efficiency0_T =1
3108
- if n_phPMT[0]>1 and n_phPMT[1]>1: efficiency0_AB =1
3109
- if n_phPMT[1]>1 and n_phPMT[2]>1: efficiency0_BC =1
3110
- if n_phPMT[0]>1 and n_phPMT[2]>1: efficiency0_AC =1
3116
+ n_e[0]=np.random.binomial(n_phPMT[0],mu)
3117
+ n_e[1]=np.random.binomial(n_phPMT[1],mu)
3118
+ n_e[2]=np.random.binomial(n_phPMT[2],mu)
3119
+ if sum(n_e>1)>0: efficiency0_S =1
3120
+ if sum(n_e>1)>1: efficiency0_D =1
3121
+ if sum(n_e>1)>2: efficiency0_T =1
3122
+ if n_e[0]>1 and n_e[1]>1: efficiency0_AB =1
3123
+ if n_e[1]>1 and n_e[2]>1: efficiency0_BC =1
3124
+ if n_e[0]>1 and n_e[2]>1: efficiency0_AC =1
3111
3125
  # C/N
3112
3126
  n_phPMT = np.random.multinomial(n_ph, [L[0]/(2*Lm), L[1]/(2*Lm)])
3113
- if sum(n_phPMT>1)>1: efficiency0_D2 =1
3127
+ n_eCN[0]=np.random.binomial(n_phPMT[0],mu)
3128
+ n_eCN[1]=np.random.binomial(n_phPMT[1],mu)
3129
+ if sum(n_eCN>1)>1: efficiency0_D2 =1
3114
3130
 
3115
3131
  if evenement !=1 and t1 > extDT*1e-6 and t1 < measTime*60:
3116
- n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*Lm)
3132
+ n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*Lm/mu)
3117
3133
  # TDCR
3118
3134
  n_phPMT2 = np.random.multinomial(n_ph2, [L[0]*dirichCN[0]/Lm, L[1]*dirichCN[1]/Lm, L[2]*dirichCN[2]/Lm])
3119
- if sum(n_phPMT2>1)>0: efficiency0_S +=1
3120
- if sum(n_phPMT2>1)>1: efficiency0_D +=1
3121
- if sum(n_phPMT2>1)>2: efficiency0_T +=1
3122
- if n_phPMT2[0]>1 and n_phPMT2[1]>1: efficiency0_AB +=1
3123
- if n_phPMT2[1]>1 and n_phPMT2[2]>1: efficiency0_BC +=1
3124
- if n_phPMT2[0]>1 and n_phPMT2[2]>1: efficiency0_AC +=1
3135
+ n_e2[0]=np.random.binomial(n_phPMT2[0],mu)
3136
+ n_e2[1]=np.random.binomial(n_phPMT2[1],mu)
3137
+ n_e2[2]=np.random.binomial(n_phPMT2[2],mu)
3138
+ if sum(n_e2>1)>0: efficiency0_S +=1
3139
+ if sum(n_e2>1)>1: efficiency0_D +=1
3140
+ if sum(n_e2>1)>2: efficiency0_T +=1
3141
+ if n_e2[0]>1 and n_e2[1]>1: efficiency0_AB +=1
3142
+ if n_e2[1]>1 and n_e2[2]>1: efficiency0_BC +=1
3143
+ if n_e2[0]>1 and n_e2[2]>1: efficiency0_AC +=1
3125
3144
  # C/N
3126
- n_phPMT2 = np.random.multinomial(n_ph2, [L[0]/(2*Lm), L[1]/(2*Lm)])
3127
- if sum(n_phPMT2>1)>1: efficiency0_D2 +=1
3145
+ n_e2CN[0]=np.random.binomial(n_phPMT2[0],mu)
3146
+ n_e2CN[1]=np.random.binomial(n_phPMT2[1],mu)
3147
+ if sum(n_e2CN>1)>1: efficiency0_D2 +=1
3128
3148
 
3129
3149
  return efficiency0_S, efficiency0_D, efficiency0_T, efficiency0_AB, efficiency0_BC, efficiency0_AC, efficiency0_D2
3130
3150
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes