Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. ############## Part 4 ###########################
  2.  
  3. #Energy Calibration y=mx+b in keV
  4. m = 0.4830
  5. b = 8.7016 #keV
  6.  
  7. ChannelEnergy = []
  8. AlTargetCounts = []
  9.  
  10. BGCounts = []
  11. with open('PairBackground.txt','r') as csvfile:
  12. xdata = csv.reader(csvfile)
  13. for row in xdata:
  14. BGCounts.append(float(row[0]))
  15.  
  16. with open('PairAl.txt','r') as csvfile:
  17. xdata = csv.reader(csvfile)
  18. for row in xdata:
  19. AlTargetCounts.append(float(row[0]))
  20. ChannelEnergy.append(b+m*(len(AlTargetCounts)-1))
  21. CuTargetCounts = []
  22. with open('PairCu.txt','r') as csvfile:
  23. xdata = csv.reader(csvfile)
  24. for row in xdata:
  25. CuTargetCounts.append(float(row[0]))
  26. PbTargetCounts = []
  27. with open('PairPb.txt','r') as csvfile:
  28. xdata = csv.reader(csvfile)
  29. for row in xdata:
  30. PbTargetCounts.append(float(row[0]))
  31. CoCounts = []
  32. with open('PairCo.txt','r') as csvfile:
  33. xdata = csv.reader(csvfile)
  34. for row in xdata:
  35. CoCounts.append(float(row[0]))
  36.  
  37. TimeBG = BGCounts[0]
  38. TimeAl = AlTargetCounts[0]
  39. TimeCu = CuTargetCounts[0]
  40. TimePb = PbTargetCounts[0]
  41. TimeCo = CoCounts[0]
  42. """#1018,1060
  43. for i in range(len(ChannelEnergy)):
  44. if i < 1080:
  45. BGCounts.pop(0)
  46. AlTargetCounts.pop(0)
  47. CuTargetCounts.pop(0)
  48. PbTargetCounts.pop(0)
  49. CoCounts.pop(0)
  50. ChannelEnergy.pop(0)
  51. """
  52. """
  53. plt.plot(ChannelEnergy,AlTargetCounts,label='Al Target')
  54. plt.plot(ChannelEnergy,CuTargetCounts,label='Cu Target')
  55. plt.plot(ChannelEnergy,PbTargetCounts,label='Pb Target')
  56. plt.plot(ChannelEnergy,BGCounts,label='No Target')
  57. plt.legend()
  58. """
  59. #Räknehastigheter
  60. SAl = []
  61. SCu = []
  62. SPb = []
  63. SCo = []
  64. SBG = []
  65. SCH = []
  66. for i in range(1018,1061):
  67. SAl.append(AlTargetCounts[i]/2700)
  68. SCu.append(CuTargetCounts[i]/2700)
  69. SPb.append(PbTargetCounts[i]/2700)
  70. SBG.append(BGCounts[i]/2700)
  71. SCo.append(CoCounts[i]/2700)
  72. SCH.append(ChannelEnergy[i])
  73.  
  74. #First Interval
  75. FirstAl = []
  76. FirstCu = []
  77. FirstPb = []
  78. FirstCo = []
  79. FirstBG = []
  80. FirstCH = []
  81. for i in range(0,15):
  82. FirstAl.append(SAl[i]/SBG[i])
  83. FirstCu.append(SCu[i]/SBG[i])
  84. FirstPb.append(SPb[i]/SBG[i])
  85. FirstBG.append(SBG[i])
  86. FirstCo.append(SCo[i])
  87. FirstCH.append(SCH[i])
  88. #Second Interval
  89. for i in range(34,41):
  90. FirstAl.append(SAl[i]/SBG[i])
  91. FirstCu.append(SCu[i]/SBG[i])
  92. FirstPb.append(SPb[i]/SBG[i])
  93. FirstBG.append(SBG[i])
  94. FirstCo.append(SCo[i])
  95. FirstCH.append(SCH[i])
  96.  
  97. #
  98. AvgAl = 0
  99. AvgCu = 0
  100. AvgPb = 0
  101. AvgCo = 0
  102. AvgBG = 0
  103. AvgCH = 0
  104. for i in range(len(FirstCH)):
  105. AvgAl = AvgAl + FirstAl[i]
  106. AvgCu = AvgCu + FirstCu[i]
  107. AvgPb = AvgPb + FirstPb[i]
  108.  
  109. AvgAl = AvgAl/len(FirstCH)
  110. AvgCu = AvgCu/len(FirstCH)
  111. AvgPb = AvgPb/len(FirstCH)
  112. #AvgCo = AvgCo/len(FirstCH)
  113. #AvgCH = AvgAl/len(FirstCH)
  114.  
  115. IntAl = []
  116. IntCu = []
  117. IntPb = []
  118.  
  119. for i in range(1018,1061):
  120. IntAl.append((AlTargetCounts[i]/2700)/AvgAl)
  121. IntCu.append((CuTargetCounts[i]/2700)/AvgCu)
  122. IntPb.append((PbTargetCounts[i]/2700)/AvgPb)
  123.  
  124. #print(len(IntAl))
  125. plt.plot(SCH,IntAl,label='Al')
  126. plt.plot(SCH,IntCu,label='Cu')
  127. plt.plot(SCH,IntPb,label='Pb')
  128. plt.legend()
  129. ###################### Nya Delen (Area under the graph reduction) #################################
  130. AreaUnderAl = 0
  131. AreaUnderPb = 0
  132. AreaUnderCu = 0
  133.  
  134. ASumAl = 0
  135. ASumPb = 0
  136. ASumCu = 0
  137. Antal = 0
  138. for i in range(0,17):
  139. ASumAl = ASumAl + IntAl[i]
  140. ASumPb = ASumPb + IntPb[i]
  141. ASumCu = ASumCu + IntCu[i]
  142. Antal = Antal +1
  143.  
  144. for i in range(30,43):
  145. ASumAl = ASumAl + IntAl[i]
  146. ASumPb = ASumPb + IntPb[i]
  147. ASumCu = ASumCu + IntCu[i]
  148. Antal = Antal +1
  149.  
  150. AreaUnderAl = (ASumAl/Antal)*12
  151. AreaUnderPb = (ASumPb/Antal)*12
  152. AreaUnderCu = (ASumCu/Antal)*12
  153.  
  154. NDetAl = 0
  155. NDetPb = 0
  156. NDetCu = 0
  157.  
  158.  
  159.  
  160. for i in range(17,29):
  161. NDetAl = NDetAl + IntAl[i]
  162. NDetPb = NDetPb + IntPb[i]
  163. NDetCu = NDetCu + IntCu[i]
  164.  
  165. NDetAl = NDetAl - AreaUnderAl
  166. NDetPb = NDetPb - AreaUnderPb
  167. NDetCu = NDetCu - AreaUnderCu
  168. print(NDetAl/NDetPb,'NDetAl/NDetPb')
  169. print(NDetCu/NDetPb,'NDetCu/NDetPb')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement