ATLAS Offline Software
CtbPhotonESpectrum.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 from __future__ import print_function
4 
5 import math
6 from G4AtlasApps.atlas_utilhisto import HistoAtHistoSvc
8  """
9  This Photon Energy spectrum data was produced by T. Koffas.
10 
11  """
12  def __init__(self,run_number):
13  self.run_number=run_number
14  self.init_Par()
15 
16  def build_efunction(self,theApp):
17  """
18  build spectrum for electron energy calculation. needed by SingleParticleGenerator
19 
20  """
21 
22  nbins=120000*0.01
23  self.e_spectrum=HistoAtHistoSvc('espectrum')
24  self.e_spectrum.book_histo(theApp,int(nbins),0,120000)
25  e_spectrumaxis=self.e_spectrum.HistoSvcEntry.axis()
26  for i in range(e_spectrumaxis.bins()):
27  x=(e_spectrumaxis.binUpperEdge(i)+e_spectrumaxis.binLowerEdge(i))/2.
28  y = 180000-x
29  self.e_spectrum.HistoSvcEntry.fill(x,y)
30 
31  def init_Par(self):
32 
33  if(self.run_number==2777):
34  self.norm= 106660.
35  self.histoRange=[0.,80000.]
36  self.npar=15
37  self.ndim=1
38  self.imqfun=2
39  self.vconst=2.
40  self.sigvmi=[0.]
41  self.sigvt=[200.]
42  self.sigv=[0.1049999967217, 0.2949999868870, 0.4650000035763,
43  0.4849999845028, 0.000000000000, 1.000000000000,
44  0.2999999932945e-1, 0.1899999976158, 0.3299999833107,
45  0.3499999940395, 0.3899999856949, 0.4099999964237,
46  0.5399999618530, 0.5799999833107, 0.6800000071526]
47  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
48  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
49  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
50  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
51  0.7999999821186e-1, 0.7999999821186e-1, 0.1599999964237]
52  self.siga=[-2.598207731747, 4.312246446869, -31.46227216602,
53  40.90442603333, 10.19151770072, 10.28616655621,
54  -2.329979537579, 1.368288158710, 26.47073822099,
55  -88.11523715853, -21.79638506140, 79.09065390897,
56  -114.5304311642, 115.7673575446, -34.35996528351]
57  self.photon=0.
58 
59  elif(self.run_number==2857):
60  self.norm=365664.
61  self.histoRange=[0.,80000.]
62  self.npar=17
63  self.ndim=1
64  self.imqfun=2
65  self.vconst=2.
66  self.sigvmi=[0.]
67  self.sigvt=[200.]
68  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.7499999552965e-1,
69  0.1949999928474, 0.2249999940395, 0.2549999952316,
70  0.2750000059605, 0.3050000071526, 0.3149999976158,
71  0.3249999880791, 0.3349999785423, 0.000000000000,
72  1.000000000000, 0.1299999952316, 0.1700000017881,
73  0.3799999952316, 0.5199999809265]
74  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
75  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
76  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
77  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
78  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
79  0.7999999821186e-1, 0.1599999964237]
80  self.siga=[-1476.889556520, 764.5997024809, 20.39032204037,
81  13.93251046364, -17.19068470999, -10.30051418087,
82  -23.91052791023, -87.05159048677, 164.6286518027,
83  -286.9730931994, 204.9446308145, 689.8503539772,
84  3.411995820446, 2.781409973380, 11.14755985026,
85  26.68922609713, -7.732407966270]
86  self.photon=0.
87  elif(self.run_number==2775):
88  self.norm=108259.
89  self.histoRange=[0.,100000.]
90  self.npar=13
91  self.ndim=1
92  self.imqfun=2
93  self.vconst=2.
94  self.sigvmi=[0.]
95  self.sigvt=[200.]
96  self.sigv=[0.1499999966472e-1, 0.9499999880791e-1, 0.2049999982119,
97  0.3349999785423, 0.3649999797344, 0.3949999809265,
98  0.000000000000, 1.000000000000, 0.1299999952316,
99  0.2899999916553, 0.4599999785423, 0.5999999642372,
100  0.6800000071526]
101  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
102  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
103  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
104  0.3999999910593e-1, 0.7999999821186e-1, 0.1599999964237,
105  0.1599999964237]
106  self.siga=[-152.7190885954, 35.48247587761, 8.104305042246,
107  -19.62208011139, -30.12432826417, 14.52757428360,
108  139.7616185499, -7.526751401043, -24.98750743251,
109  0.1701115668216, 59.16559249394, -172.1215214067,
110  140.1786981310]
111  self.photon=0.
112 
113  elif(self.run_number==2778):
114 
115  self.norm=102392.
116  self.histoRange=[0.,100000.]
117  self.npar=13
118  self.ndim=1
119  self.imqfun=2
120  self.vconst=2.
121  self.sigvmi=[0.]
122  self.sigvt=[200.]
123  self.sigv=[0.8500000089407e-1, 0.3849999904633, 0.000000000000,
124  1.000000000000, 0.2500000000000, 0.2899999916553,
125  0.3299999833107, 0.3499999940395, 0.4099999964237,
126  0.4299999773502, 0.5699999928474, 0.1799999922514,
127  0.5000000000000]
128  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
129  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
130  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
131  0.3999999910593e-1, 0.3999999910593e-1, 0.7999999821186e-1,
132  0.7999999821186e-1]
133  self.siga=[6.516935638161, -51.53242538090, -5.985440975344,
134  10.71717088688, 9.487970703482, -6.754409720428,
135  19.63931783482, -84.51171037399, 256.1127676640,
136  -213.4994667573, -62.16238932562, -8.460112041532,
137  110.7723886847]
138  self.photon=0.
139  elif(self.run_number==2779):
140 
141  self.norm=74268.9
142  self.histoRange=[0.,120000.]
143  self.npar=14
144  self.ndim=1
145  self.imqfun=2
146  self.vconst=2.
147  self.sigvmi=[0.]
148  self.sigvt=[200.]
149  self.sigv=[0.1149999946356, 0.4249999821186, 0.4549999833107,
150  0.000000000000, 1.000000000000, 0.3299999833107,
151  0.3499999940395, 0.3899999856949, 0.4899999797344,
152  0.2199999988079, 0.2599999904633, 0.5399999618530,
153  0.5799999833107, 0.7599999904633]
154  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
155  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
156  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
157  0.7999999821186e-1, 0.7999999821186e-1, 0.7999999821186e-1,
158  0.7999999821186e-1, 0.1599999964237]
159  self.siga=[17.29220352013, 21.62634261800, -41.90599447647,
160  0.7481309185077, 3.021035997494, -10.43705744186,
161  29.71680574492, -58.10556048829, 66.30307584860,
162  -73.74468119486, 74.04344297681, -100.2089558151,
163  70.93218554771, -1.739743452950]
164  self.photon=0.
165 
166  elif(self.run_number==2780):
167 
168  self.norm=33537.1
169  self.histoRange=[0.,120000.]
170  self.npar=16
171  self.ndim=1
172  self.imqfun=2
173  self.vconst=2.
174  self.sigvmi=[0.]
175  self.sigvt=[200.]
176  self.sigv=[0.1649999916553, 0.1850000023842, 0.2649999856949,
177  0.2750000059605, 0.4849999845028, 0.4949999749660,
178  0.5049999952316, 0.000000000000, 1.000000000000,
179  0.7000000029802e-1, 0.2099999934435, 0.3100000023842,
180  0.3299999833107, 0.3499999940395, 0.4199999868870,
181  0.5799999833107]
182  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
183  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
184  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
185  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
186  0.3999999910593e-1, 0.3999999910593e-1, 0.7999999821186e-1,
187  0.7999999821186e-1]
188  self.siga=[3.356677438944, 23.58548892063, 15.12208325199,
189  -0.9603672617075e-1, -116.8541776068, 264.2275243155,
190  -175.7529308476, 0.2876695377515, -4.588616194708,
191  5.905855988647, -30.43429532578, -108.3487244593,
192  157.3446310493, -95.12081690181, 17.66927586646,
193  38.74929437616]
194  self.photon=0.
195 
196  elif(self.run_number==2782):
197 
198  self.norm=26260.
199  self.histoRange=[0.,120000.]
200  self.npar=11
201  self.ndim=1
202  self.imqfun=2
203  self.vconst=2.
204  self.sigvmi=[0.]
205  self.sigvt=[200.]
206  self.sigv=[0.3349999785423, 0.000000000000, 1.000000000000,
207  0.4999999701977e-1, 0.7000000029802e-1, 0.2500000000000,
208  0.5099999904633, 0.3799999952316, 0.4199999868870,
209  0.4599999785423, 0.5999999642372]
210  self.sigdel=[0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
211  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
212  0.3999999910593e-1, 0.7999999821186e-1, 0.7999999821186e-1,
213  0.7999999821186e-1, 0.1599999964237]
214  self.siga=[11.20566522025, -61.27536363253, 348.9016798262,
215  -195.3058604642, 168.0898330379, 11.60328335659,
216  211.6019990459, -146.3760941543, 342.2693244055,
217  -181.6180788787, -760.5425686748]
218  self.photon=0.
219 
220  elif(self.run_number==2783):
221 
222  self.norm=90556.1
223  self.histoRange=[0.,120000.]
224  self.npar=12
225  self.ndim=1
226  self.imqfun=2
227  self.vconst=2.
228  self.sigvmi=[0.]
229  self.sigvt=[200.]
230  self.sigv=[0.3500000014901e-1, 0.4499999806285e-1, 0.5349999666214,
231  0.000000000000, 1.000000000000, 0.1299999952316,
232  0.2699999809265, 0.3499999940395, 0.4299999773502,
233  0.4699999988079, 0.5699999928474, 0.2199999988079]
234  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
235  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
236  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
237  0.3999999910593e-1, 0.3999999910593e-1, 0.7999999821186e-1]
238  self.siga=[-29.97494565479, 8.580860883212, 15.94534847282,
239  16.42709945331, 8.943015973389, 13.21214962226,
240  0.3946416587598, -27.87273713360, 12.46518115880,
241  -15.10349393620, -11.27854893653, -7.434229895740]
242  self.photon=0.
243 
244  elif(self.run_number==2787):
245 
246  self.norm=86892.7
247  self.histoRange=[0.,120000.]
248  self.npar=12
249  self.ndim=1
250  self.imqfun=2
251  self.vconst=2.
252  self.sigvmi=[0.]
253  self.sigvt=[200.]
254  self.sigv=[0.1149999946356, 0.1749999970198, 0.2349999994040,
255  0.2449999898672, 0.4449999928474, 0.000000000000,
256  1.000000000000, 0.1499999910593, 0.3100000023842,
257  0.4099999964237, 0.4899999797344, 0.5999999642372]
258  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
259  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
260  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
261  0.3999999910593e-1, 0.3999999910593e-1, 0.1599999964237]
262  self.siga=[-7.443799486777, -23.64896935054, 21.92079286120,
263  -23.38613822431, 2.103280281472, 0.1247256994986,
264  -3.834375941567, 38.58029285821, -18.43729353296,
265  -12.25021831672, -4.592136450460, 25.52617404017]
266  self.photon=0.
267 
268  elif(self.run_number==2788):
269 
270  self.norm=32626.3
271  self.histoRange=[0.,120000.]
272  self.npar=14
273  self.ndim=1
274  self.imqfun=2
275  self.vconst=2.
276  self.sigvmi=[0.]
277  self.sigvt=[200.]
278  self.sigv=[0.1149999946356, 0.1550000011921, 0.4949999749660,
279  0.000000000000, 1.000000000000, 0.1899999976158,
280  0.2500000000000, 0.3899999856949, 0.4299999773502,
281  0.4499999880791, 0.4699999988079, 0.2999999821186,
282  0.3400000035763, 0.5999999642372]
283  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
284  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
285  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
286  0.3999999910593e-1, 0.3999999910593e-1, 0.7999999821186e-1,
287  0.7999999821186e-1, 0.1599999964237]
288  self.siga=[23.78032101273, -21.06622156703, -80.60419831813,
289  -5.345549886721, 10.88385344309, 13.35888855702,
290  20.04332384024, -68.84217172149, 295.3031052539,
291  -561.9346170998, 403.6825634406, -103.6863168573,
292  75.86517108612, -16.23657006050]
293 
294  elif(self.run_number==2800):
295 
296  self.norm=224213.
297  self.histoRange=[0.,100000.]
298  self.npar=17
299  self.ndim=1
300  self.imqfun=2
301  self.vconst=2.
302  self.sigvmi=[0.]
303  self.sigvt=[200.]
304  self.sigv=[0.1550000011921, 0.1649999916553, 0.2750000059605,
305  0.3249999880791, 0.3649999797344, 0.3750000000000,
306  0.4050000011921, 0.4449999928474, 0.000000000000,
307  1.000000000000, 0.2999999932945e-1, 0.7000000029802e-1,
308  0.1099999994040, 0.1299999952316, 0.2500000000000,
309  0.5000000000000, 0.5999999642372]
310  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
311  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
312  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
313  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
314  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
315  0.7999999821186e-1, 0.1599999964237]
316  self.siga=[-41.10183674935, -28.50234184014, 6.236835692289,
317  -41.27211108041, -98.44217454651, 102.7482656638,
318  -15.10321437470, -19.44683645259, 146.7377763838,
319  53.70586532227, -346.4598447219, 325.4542527234,
320  -379.0210469959, 321.1164462638, 8.979821125991,
321  133.3091769018, -160.2055635596]
322 
323  elif(self.run_number==2801):
324 
325  self.norm=218226.
326  self.histoRange=[0.,100000.]
327  self.npar=18
328  self.ndim=1
329  self.imqfun=2
330  self.vconst=2.
331  self.sigvmi=[0.]
332  self.sigvt=[200.]
333  self.sigv=[0.7499999552965e-1, 0.8500000089407e-1, 0.9499999880791e-1,
334  0.2549999952316, 0.2750000059605, 0.2849999964237,
335  0.3050000071526, 0.3249999880791, 0.3649999797344,
336  0.3849999904633, 0.000000000000, 1.000000000000,
337  0.2299999892712, 0.4299999773502, 0.4499999880791,
338  0.1400000005960, 0.1799999922514, 0.5000000000000]
339  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
340  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
341  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
342  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
343  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
344  0.7999999821186e-1, 0.7999999821186e-1, 0.7999999821186e-1]
345  self.siga=[-275.5751767152, 405.3660045871, -142.0390735360,
346  -0.4013255184139, 42.34742413022, -41.61237605284,
347  9.631536780440, -35.21700244100, -59.31407735828,
348  94.99078479574, 9.167685581621, 12.10754430083,
349  31.73911341565, -222.5841528838, 225.6090538173,
350  58.30287834242, -84.48209471067, -47.79953770925]
351 
352  elif(self.run_number==2816):
353 
354  self.norm=177540.
355  self.histoRange=[0.,100000.]
356  self.npar=17
357  self.ndim=1
358  self.imqfun=2
359  self.vconst=2.
360  self.sigvmi=[0.]
361  self.sigvt=[200.]
362  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.3500000014901e-1,
363  0.1049999967217, 0.1749999970198, 0.2949999868870,
364  0.3149999976158, 0.3449999988079, 0.000000000000,
365  1.000000000000, 0.2299999892712, 0.2500000000000,
366  0.2699999809265, 0.3700000047684, 0.3899999856949,
367  0.4099999964237, 0.5199999809265]
368  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
369  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
370  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
371  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
372  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
373  0.3999999910593e-1, 0.1599999964237]
374  self.siga=[-1478.961204434, 669.7288727422, 95.11290229111,
375  9.129502913175, -15.56759808340, -28.43015754184,
376  -34.71875506183, -34.34197908192, 707.5343760639,
377  3.978721280463, 47.74933177064, -29.37653388655,
378  12.49300040335, 280.5398610170, -476.8020081099,
379  282.4206989620, -15.68947383459]
380 
381  elif(self.run_number==2819):
382 
383  self.norm=144575.
384  self.histoRange=[0.,100000.]
385  self.npar=14
386  self.ndim=1
387  self.imqfun=2
388  self.vconst=2.
389  self.sigvmi=[0.]
390  self.sigvt=[200.]
391  self.sigv=[0.1499999966472e-1, 0.3500000014901e-1, 0.4499999806285e-1,
392  0.2349999994040, 0.2949999868870, 0.3349999785423,
393  0.000000000000, 1.000000000000, 0.1099999994040,
394  0.1700000017881, 0.2099999934435, 0.2699999809265,
395  0.3899999856949, 0.4599999785423]
396  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
397  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
398  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
399  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
400  0.3999999910593e-1, 0.7999999821186e-1]
401  self.siga=[-724.6348804428, 225.3655327922, 15.74261061397,
402  7.589271400057, -42.15673808647, 15.80542601610,
403  482.7328168033, -2.039834251557, 9.149511231159,
404  -31.60321406196, 29.81363270503, -10.37601541331,
405  -20.34542464681, 38.97789286480]
406 
407  elif(self.run_number==2824):
408 
409  self.norm=39627.5
410  self.histoRange=[0.,100000.]
411  self.npar=11
412  self.ndim=1
413  self.imqfun=2
414  self.vconst=2.
415  self.sigvmi=[0.]
416  self.sigvt=[200.]
417  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.000000000000,
418  1.000000000000, 0.2299999892712, 0.2899999916553,
419  0.3299999833107, 0.3499999940395, 0.3700000047684,
420  0.3899999856949, 0.1799999922514]
421  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
422  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
423  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
424  0.3999999910593e-1, 0.7999999821186e-1]
425  self.siga=[-1665.948927868, 956.0166997358, 686.3601622101,
426  20.53682565793, 37.39182497894, -30.61264971416,
427  -348.7119836566, 844.4451947885, -746.5546346311,
428  209.2482941417, -17.92290565721]
429 
430  elif(self.run_number==2841):
431 
432  self.norm=138074.
433  self.histoRange=[0.,100000.]
434  self.npar=16
435  self.ndim=1
436  self.imqfun=2
437  self.vconst=2.
438  self.sigvmi=[0.]
439  self.sigvt=[200.]
440  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.6499999761581e-1,
441  0.1449999958277, 0.1550000011921, 0.1649999916553,
442  0.2849999964237, 0.000000000000, 1.000000000000,
443  0.2299999892712, 0.2500000000000, 0.3299999833107,
444  0.3499999940395, 0.3899999856949, 0.4099999964237,
445  0.4299999773502]
446  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
447  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
448  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
449  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
450  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
451  0.3999999910593e-1]
452  self.siga=[-1783.583303722, 887.5309854665, 28.54279722093,
453  -21.41393020411, 53.34201407571, -43.01173497038,
454  -44.17894865823, 866.2679083250, 0.3572528605633,
455  9.456034723727, 32.10710425315, -163.7857853731,
456  348.9910953744, -797.4507692247, 897.2987753409,
457  -275.8354725111]
458 
459  elif(self.run_number==2845):
460 
461  self.norm=128685.
462  self.histoRange=[0.,100000.]
463  self.npar=14
464  self.ndim=1
465  self.imqfun=2
466  self.vconst=2.
467  self.sigvmi=[0.]
468  self.sigvt=[200.]
469  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.2750000059605,
470  0.3050000071526, 0.3149999976158, 0.3349999785423,
471  0.000000000000, 1.000000000000, 0.7000000029802e-1,
472  0.1499999910593, 0.2099999934435, 0.2299999892712,
473  0.2500000000000, 0.4099999964237]
474  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
475  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
476  0.1999999994950e-5, 0.1999999994950e-5, 0.3999999910593e-1,
477  0.3999999910593e-1, 0.3999999910593e-1, 0.3999999910593e-1,
478  0.3999999910593e-1, 0.3999999910593e-1]
479  self.siga=[-1985.627136741, 1004.357358350, -16.62279680803,
480  -93.29194959448, 72.38371779190, -7.159641402214,
481  933.5811605472, 11.66754462223, 41.19910037717,
482  -15.96327198670, -18.54381900793, 47.19495299197,
483  1.088200065103, -6.254592085301]
484 
485  elif(self.run_number==2851):
486 
487  self.norm=215917.
488  self.histoRange=[0.,100000.]
489  self.npar=13
490  self.ndim=1
491  self.imqfun=2
492  self.vconst=2.
493  self.sigvmi=[0.]
494  self.sigvt=[200.]
495  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.2049999982119,
496  0.2449999898672, 0.2849999964237, 0.3249999880791,
497  0.3349999785423, 0.3849999904633, 0.000000000000,
498  1.000000000000, 0.1700000017881, 0.4099999964237,
499  0.9999999403954e-1]
500  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
501  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
502  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
503  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
504  0.7999999821186e-1]
505  self.siga=[-2926.920619385, 1507.245803789, 27.89974527771,
506  6.379645919377, -31.54627305387, -68.09751580845,
507  66.05837205639, -70.96044401490, 1380.511740982,
508  -2.127957640269, -47.15506060408, 87.50411712368,
509  62.72988480687]
510 
511  elif(self.run_number==2856):
512 
513  self.norm=24321.8
514  self.histoRange=[0.,80000.]
515  self.npar=9
516  self.ndim=1
517  self.imqfun=2
518  self.vconst=2.
519  self.sigvmi=[0.]
520  self.sigvt=[200.]
521  self.sigv=[0.1449999958277, 0.3449999988079, 0.000000000000,
522  1.000000000000, 0.2999999932945e-1, 0.4999999701977e-1,
523  0.1899999976158, 0.2899999916553, 0.4199999868870]
524  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999994950e-5,
525  0.1999999994950e-5, 0.3999999910593e-1, 0.3999999910593e-1,
526  0.3999999910593e-1, 0.3999999910593e-1, 0.7999999821186e-1]
527  self.siga=[-15.96763887470, 13.51097731847, 1.133479758950,
528  40.30017423767, -117.4878517738, 77.92411474580,
529  27.63971808535, -43.56847012954, -82.90815383861]
530 
531  elif(self.run_number==2859):
532 
533  self.norm=268734.
534  self.histoRange=[0.,80000.]
535  self.npar=17
536  self.ndim=1
537  self.imqfun=2
538  self.vconst=2.
539  self.sigvmi=[0.]
540  self.sigvt=[200.]
541  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.4499999806285e-1,
542  0.1550000011921, 0.1949999928474, 0.2149999886751,
543  0.2349999994040, 0.2649999856949, 0.2849999964237,
544  0.3050000071526, 0.3149999976158, 0.3249999880791,
545  0.3549999892712, 0.000000000000, 1.000000000000,
546  0.1099999994040, 0.4299999773502]
547  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
548  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
549  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
550  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
551  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
552  0.3999999910593e-1, 0.3999999910593e-1]
553  self.siga=[-1782.346018223, 883.0987992968, 46.06261226632,
554  4.044193514732, 14.58078800499, -0.9473677905354,
555  -7.858339232289, -30.23179142322, 13.29180754567,
556  -198.6122744236, 339.8974459981, -266.8646685248,
557  134.4623866882, 841.0564546676, 5.338112193602,
558  11.27299683070, -20.57263997444]
559 
560  elif(self.run_number==2860):
561 
562  self.norm=366907.
563  self.histoRange=[0.,80000.]
564  self.npar=19
565  self.ndim=1
566  self.imqfun=2
567  self.vconst=2.
568  self.sigvmi=[0.]
569  self.sigvt=[200.]
570  self.sigv=[0.1499999966472e-1, 0.2499999850988e-1, 0.1049999967217,
571  0.1149999946356, 0.2049999982119, 0.2249999940395,
572  0.2449999898672, 0.2649999856949, 0.2849999964237,
573  0.3149999976158, 0.3249999880791, 0.3349999785423,
574  0.3449999988079, 0.000000000000, 1.000000000000,
575  0.1700000017881, 0.3700000047684, 0.5999999642372,
576  0.6800000071526]
577  self.sigdel=[0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
578  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
579  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
580  0.1999999955297e-1, 0.1999999955297e-1, 0.1999999955297e-1,
581  0.1999999955297e-1, 0.1999999994950e-5, 0.1999999994950e-5,
582  0.3999999910593e-1, 0.3999999910593e-1, 0.1599999964237,
583  0.1599999964237]
584  self.siga=[-1980.592349838, 1074.673853627, 50.33332589102,
585  -41.20804315428, 5.299796500432, -0.9852921451069,
586  -19.94209720792, -9.840014806111, -17.03063739502,
587  -177.9149975125, 317.5291443167, -344.9206249079,
588  226.2995897249, 879.5401944367, 65.92211795654,
589  23.49930221282, -31.62748808614, 266.0833027776,
590  -312.7757961452]
591 
592 
593  else:
594  raise RuntimeError('ERROR: CTB_G4Sim::CtbPhotonESpectrum.py\
595  There is not energy spectrum for this run !!!')
596 
597 
598  def function(self,v):
599  self.photon=0
600  for j in range(self.npar):
601  hqdj=0.
602  for i in range(self.ndim):
603  vv = (v - self.sigvmi[i])/self.sigvt[i]
604  hqdj = hqdj + (vv - self.sigv[j])*(vv - self.sigv[j])
605  hqdj = hqdj + self.sigdel[j] * self.sigdel[j]
606  hqdj = math.sqrt(hqdj)
607  self.photon = self.photon + self.siga[j] * hqdj
608  if self.imqfun==2:
609  self.photon = self.vconst*math.exp(self.photon)
610  self.photon = self.photon /self.norm
611  return self.photon
612 
613  def build_spectrum(self,theApp):
614  nbins=(self.histoRange[1]-self.histoRange[0])*0.01
615  print (theApp,nbins,self.histoRange[0],self.histoRange[1])
616  p_espectrum=HistoAtHistoSvc(repr(self.run_number))
617  p_espectrum.book_histo(theApp,int(nbins),self.histoRange[0],self.histoRange[1])
618  p_espectrumaxis=p_espectrum.HistoSvcEntry.axis()
619  for i in range(p_espectrumaxis.bins()):
620  x=(p_espectrumaxis.binUpperEdge(i)+p_espectrumaxis.binLowerEdge(i))/2.
621  y = self.function(0.1*i)
622  print (x,y)
623  p_espectrum.HistoSvcEntry.fill(x,y)
624  return p_espectrum
625 
python.CtbPhotonESpectrum.Photon_Energy_spectrum.imqfun
imqfun
Definition: CtbPhotonESpectrum.py:38
python.CtbPhotonESpectrum.Photon_Energy_spectrum.sigv
sigv
Definition: CtbPhotonESpectrum.py:42
python.CtbPhotonESpectrum.Photon_Energy_spectrum.sigvt
sigvt
Definition: CtbPhotonESpectrum.py:41
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
python.CtbPhotonESpectrum.Photon_Energy_spectrum.siga
siga
Definition: CtbPhotonESpectrum.py:52
python.CtbPhotonESpectrum.Photon_Energy_spectrum.function
def function(self, v)
Definition: CtbPhotonESpectrum.py:598
python.CtbPhotonESpectrum.Photon_Energy_spectrum.build_efunction
def build_efunction(self, theApp)
Definition: CtbPhotonESpectrum.py:16
python.CtbPhotonESpectrum.Photon_Energy_spectrum.sigdel
sigdel
Definition: CtbPhotonESpectrum.py:47
python.CtbPhotonESpectrum.Photon_Energy_spectrum.init_Par
def init_Par(self)
Definition: CtbPhotonESpectrum.py:31
python.CtbPhotonESpectrum.Photon_Energy_spectrum.e_spectrum
e_spectrum
Definition: CtbPhotonESpectrum.py:23
python.CtbPhotonESpectrum.Photon_Energy_spectrum.vconst
vconst
Definition: CtbPhotonESpectrum.py:39
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
PyAthena::repr
std::string repr(PyObject *o)
returns the string representation of a python object equivalent of calling repr(o) in python
Definition: PyAthenaUtils.cxx:106
python.CtbPhotonESpectrum.Photon_Energy_spectrum.__init__
def __init__(self, run_number)
Definition: CtbPhotonESpectrum.py:12
python.CtbPhotonESpectrum.Photon_Energy_spectrum.npar
npar
Definition: CtbPhotonESpectrum.py:36
python.CtbPhotonESpectrum.Photon_Energy_spectrum.photon
photon
Definition: CtbPhotonESpectrum.py:57
python.CtbPhotonESpectrum.Photon_Energy_spectrum.norm
norm
Definition: CtbPhotonESpectrum.py:34
python.CtbPhotonESpectrum.Photon_Energy_spectrum.build_spectrum
def build_spectrum(self, theApp)
Definition: CtbPhotonESpectrum.py:613
python.CtbPhotonESpectrum.Photon_Energy_spectrum.run_number
run_number
Definition: CtbPhotonESpectrum.py:13
python.CtbPhotonESpectrum.Photon_Energy_spectrum
Definition: CtbPhotonESpectrum.py:7
python.CtbPhotonESpectrum.Photon_Energy_spectrum.histoRange
histoRange
Definition: CtbPhotonESpectrum.py:35
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
python.CtbPhotonESpectrum.Photon_Energy_spectrum.sigvmi
sigvmi
Definition: CtbPhotonESpectrum.py:40
python.CtbPhotonESpectrum.Photon_Energy_spectrum.ndim
ndim
Definition: CtbPhotonESpectrum.py:37
pickleTool.object
object
Definition: pickleTool.py:30