python 2.7 - Three-term Gaussian fit to data in pyROOT -


i tried fit three-term gaussian function data using following code:

import root #from root import tf1 import numpy np  data = np.loadtxt('v_lambda_n.dat') r = data[:, 0] v = data[:, 1]  graph = root.tgraph()  in range(len(v)):     graph.setpoint(i, r[i], v[i])  def myfunc(x, p):     return p[0]*np.exp(-(x/p[1])**2) + p[1]*np.exp(-(x/p[2])**2) + p[2]*np.exp(-(x/p[3])**2)   func=root.tf1("func", myfunc, 0.0e-15,4e-15, 4) func.setparameters(-1.0, -1.0, 1.0, 1.0)  graph.fit(func)  canvas = root.tcanvas("name", "title", 1024, 768) graph.getxaxis().settitle("r") # set x-axis title graph.getyaxis().settitle("v") # set y-axis title graph.draw("ap") 

i got following error:

typeerror: none of 2 overloaded methods succeeded. full details:   tfitresultptr tgraph::fit(const char* formula, const char* option = "", const char* goption = "", double xmin = 0, double xmax = 0) =>     not convert argument 1 (expected string or unicode object, tf1 found)   tfitresultptr tgraph::fit(tf1* f1, const char* option = "", const char* goption = "", double xmin = 0, double xmax = 0) =>     tfn python function call failed (c++ exception of type runtime_error) 

how may fix error? seems complaining class object "func". here data

 r          v  0.1700    192.8424  0.1800    168.5586  0.1900    147.4645  0.2000    128.8915  0.2100    112.3266  0.2200     97.3737  0.2300     83.7266  0.2400     71.1502  0.2500     59.4669  0.2600     48.5469  0.2700     38.3009  0.2800     28.6740  0.2900     19.6411  0.3000     11.2018  0.3100      3.3759  0.3200     -3.8022  0.3300    -10.2887  0.3400    -16.0363  0.3500    -21.0003  0.3600    -25.1442  0.3700    -28.4448  0.3800    -30.8960  0.3900    -32.5114  0.4000    -33.3251  0.4100    -33.3908  0.4200    -32.7797  0.4300    -31.5765  0.4400    -29.8754  0.4500    -27.7754  0.4600    -25.3755  0.4700    -22.7709  0.4800    -20.0496  0.4900    -17.2902  0.5000    -14.5601  0.5100    -11.9151  0.5200     -9.3994  0.5300     -7.0462  0.5400     -4.8785  0.5500     -2.9108  0.5600     -1.1499  0.5700      0.4033  0.5800      1.7530  0.5900      2.9069  0.6000      3.8756  0.6100      4.6715  0.6200      5.3081  0.6300      5.7995  0.6400      6.1599  0.6500      6.4034  0.6600      6.5436  0.6700      6.5934  0.6800      6.5651  0.6900      6.4700  0.7000      6.3186  0.7100      6.1206  0.7200      5.8847  0.7300      5.6189  0.7400      5.3303  0.7500      5.0252  0.7600      4.7092  0.7700      4.3874  0.7800      4.0639  0.7900      3.7426  0.8000      3.4266  0.8100      3.1185  0.8200      2.8207  0.8300      2.5348  0.8400      2.2624  0.8500      2.0046  0.8600      1.7620  0.8700      1.5352  0.8800      1.3245  0.8900      1.1298  0.9000      0.9512  0.9100      0.7882  0.9200      0.6405  0.9300      0.5076  0.9400      0.3887  0.9500      0.2832  0.9600      0.1904  0.9700      0.1094  0.9800      0.0395  0.9900     -0.0202  1.0000     -0.0705  1.0100     -0.1122  1.0200     -0.1460  1.0300     -0.1729  1.0400     -0.1934  1.0500     -0.2083  1.0600     -0.2183  1.0700     -0.2240  1.0800     -0.2260  1.0900     -0.2248  1.1000     -0.2209  1.1100     -0.2148  1.1200     -0.2068  1.1300     -0.1974  1.1400     -0.1869  1.1500     -0.1755  1.1600     -0.1636  1.1700     -0.1514  1.1800     -0.1390  1.1900     -0.1266  1.2000     -0.1144  1.2100     -0.1024  1.2200     -0.0909  1.2300     -0.0798  1.2400     -0.0692  1.2500     -0.0592  1.2600     -0.0498  1.2700     -0.0410  1.2800     -0.0328  1.2900     -0.0252  1.3000     -0.0183  1.3100     -0.0120  1.3200     -0.0062  1.3300     -0.0010  1.3400      0.0037  1.3500      0.0078  1.3600      0.0115  1.3700      0.0147  1.3800      0.0175  1.3900      0.0199  1.4000      0.0219  1.4100      0.0236  1.4200      0.0250  1.4300      0.0262  1.4400      0.0270  1.4500      0.0277  1.4600      0.0281  1.4700      0.0284  1.4800      0.0285  1.4900      0.0285  1.5000      0.0284  1.5100      0.0281  1.5200      0.0278  1.5300      0.0273  1.5400      0.0269  1.5500      0.0263  1.5600      0.0258  1.5700      0.0251  1.5800      0.0245  1.5900      0.0239  1.6000      0.0232  1.6100      0.0225  1.6200      0.0219  1.6300      0.0212  1.6400      0.0205  1.6500      0.0199  1.6600      0.0192  1.6700      0.0186  1.6800      0.0180  1.6900      0.0174  1.7000      0.0168  1.7100      0.0162  1.7200      0.0157  1.7300      0.0152  1.7400      0.0147  1.7500      0.0142  1.7600      0.0137  1.7700      0.0133  1.7800      0.0128  1.7900      0.0124  1.8000      0.0120  1.8100      0.0116  1.8200      0.0113  1.8300      0.0109  1.8400      0.0106  1.8500      0.0103  1.8600      0.0099  1.8700      0.0096  1.8800      0.0094  1.8900      0.0091  1.9000      0.0088  1.9100      0.0086  1.9200      0.0083  1.9300      0.0081  1.9400      0.0079  1.9500      0.0076  1.9600      0.0074  1.9700      0.0072  1.9800      0.0070  1.9900      0.0068  2.0000      0.0066  2.0100      0.0065  2.0200      0.0063  2.0300      0.0061  2.0400      0.0060  2.0500      0.0058  2.0600      0.0057  2.0700      0.0055  2.0800      0.0054  2.0900      0.0052  2.1000      0.0051  2.1100      0.0050  2.1200      0.0048  2.1300      0.0047  2.1400      0.0046  2.1500      0.0045  2.1600      0.0043  2.1700      0.0042  2.1800      0.0041  2.1900      0.0040  2.2000      0.0039  2.2100      0.0038  2.2200      0.0037  2.2300      0.0036  2.2400      0.0035  2.2500      0.0034  2.2600      0.0033  2.2700      0.0033  2.2800      0.0032  2.2900      0.0031  2.3000      0.0030  2.3100      0.0029  2.3200      0.0029  2.3300      0.0028  2.3400      0.0027  2.3500      0.0026  2.3600      0.0026  2.3700      0.0025  2.3800      0.0024  2.3900      0.0023  2.4000      0.0023  2.4100      0.0022  2.4200      0.0021  2.4300      0.0021  2.4400      0.0020  2.4500      0.0019  2.4600      0.0019  2.4700      0.0018  2.4800      0.0017  2.4900      0.0017  2.5000      0.0016  2.5100      0.0016  2.5200      0.0015  2.5300      0.0014  2.5400      0.0014  2.5500      0.0013  2.5600      0.0013  2.5700      0.0012  2.5800      0.0011  2.5900      0.0011  2.6000      0.0010  2.6100      0.0010  2.6200      0.0009  2.6300      0.0009  2.6400      0.0008  2.6500      0.0007  2.6600      0.0007  2.6700      0.0006  2.6800      0.0006  2.6900      0.0005  2.7000      0.0005  2.7100      0.0004  2.7200      0.0004  2.7300      0.0003  2.7400      0.0003  2.7500      0.0003  2.7600      0.0002  2.7700      0.0002  2.7800      0.0001  2.7900      0.0001  2.8000      0.0001  2.8100      0.0000  2.8200     -0.0000  2.8300     -0.0001  2.8400     -0.0001  2.8500     -0.0001  2.8600     -0.0001  2.8700     -0.0002  2.8800     -0.0002  2.8900     -0.0002  2.9000     -0.0002  2.9100     -0.0003  2.9200     -0.0003  2.9300     -0.0003  2.9400     -0.0003  2.9500     -0.0004  2.9600     -0.0004  2.9700     -0.0004  2.9800     -0.0004  2.9900     -0.0004  3.0000     -0.0004  3.0100     -0.0004  3.0200     -0.0004  3.0300     -0.0005  3.0400     -0.0005  3.0500     -0.0005  3.0600     -0.0005  3.0700     -0.0005  3.0800     -0.0005  3.0900     -0.0005  3.1000     -0.0005  3.1100     -0.0005  3.1200     -0.0005  3.1300     -0.0005  3.1400     -0.0005  3.1500     -0.0005  3.1600     -0.0006  3.1700     -0.0006  3.1800     -0.0006  3.1900     -0.0006  3.2000     -0.0006  3.2100     -0.0006  3.2200     -0.0006  3.2300     -0.0006  3.2400     -0.0006  3.2500     -0.0006  3.2600     -0.0007  3.2700     -0.0007  3.2800     -0.0007  3.2900     -0.0007  3.3000     -0.0007  3.3100     -0.0007  3.3200     -0.0008  3.3300     -0.0008  3.3400     -0.0008  3.3500     -0.0008  3.3600     -0.0008  3.3700     -0.0008  3.3800     -0.0009  3.3900     -0.0009  3.4000     -0.0009  3.4100     -0.0009  3.4200     -0.0010  3.4300     -0.0010  3.4400     -0.0010  3.4500     -0.0010  3.4600     -0.0010  3.4700     -0.0011  3.4800     -0.0011  3.4900     -0.0011  3.5000     -0.0011  3.5100     -0.0011  3.5200     -0.0012  3.5300     -0.0012  3.5400     -0.0012  3.5500     -0.0012  3.5600     -0.0012  3.5700     -0.0013  3.5800     -0.0013  3.5900     -0.0013  3.6000     -0.0013  3.6100     -0.0013  3.6200     -0.0013  3.6300     -0.0013  3.6400     -0.0013  3.6500     -0.0014  3.6600     -0.0014  3.6700     -0.0014  3.6800     -0.0014  3.6900     -0.0014  3.7000     -0.0014  3.7100     -0.0014  3.7200     -0.0014  3.7300     -0.0014  3.7400     -0.0014  3.7500     -0.0014  3.7600     -0.0014  3.7700     -0.0014  3.7800     -0.0014  3.7900     -0.0014  3.8000     -0.0014  3.8100     -0.0014  3.8200     -0.0014  3.8300     -0.0014  3.8400     -0.0014  3.8500     -0.0014  3.8600     -0.0013  3.8700     -0.0013  3.8800     -0.0013  3.8900     -0.0013  3.9000     -0.0013  3.9100     -0.0013  3.9200     -0.0013  3.9300     -0.0013  3.9400     -0.0013  3.9500     -0.0013  3.9600     -0.0013  3.9700     -0.0013  3.9800     -0.0013  3.9900     -0.0013  4.0000     -0.0013 

here coefficients get, along graph of fit:

p[0] =  1.5810626020436172e+04 p[1] = -2.5558082863192549e-01 p[2] = -1.5386798252451177e+04 p[3] = -2.5799976733673363e-01 

plot


Comments

Popular posts from this blog

'hasOwnProperty' in javascript -

python - ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'> -

Command prompt result in label. Python 2.7 -