Hi rooters,
I've met a strange problem:
I wrote a function called changedfitf to do PMT calibration. When I set the TH1F's range from 0 to 300 and then use:
TF1 *myfunc = new TF1("myfunc",changedfitf,0,300,9);
It can work very well:
------------------------Changed Pmt Full Model Fit-------------------------The zero bin num is 10 the max non zero bin is 198 the max_content_bin_X=44.5
Threshold = 6.01237 Thresigma = 1.336089 #sigma_{Thre} 3.03582e+00 1.31803e-01 -6.48437e-07 5.15239e-05
===============================Fitting==========================
=================================TF1==========================
FCN=168.433 FROM MIGRAD STATUS=CONVERGED 1313 CALLS 1314 TOTAL EDM=3.6852e-11 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 2.3 per cent EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 #mu 1.09114e-01 2.87723e-03 -6.40448e-08 -6.05769e-03 2 Q_{0} 0.00000e+00 fixed 3 #sigma_{0} 3.85062e+00 fixed 4 Q_{1} 4.50307e+01 1.80311e-01 2.74274e-06 -1.42659e-04 5 #sigma_{1} 1.34602e+01 3.09561e-02 7.94038e-05** at limit ** 6 W 7.63768e-02 5.74221e-03 -5.65470e-07 -6.53761e-05 7 #alpha 9.43000e-02 6.93699e-03 6.21250e-08 6.44549e-04 8 Thre 1.43637e+01 2.69871e-01 -1.03166e-06 -2.27925e-05
---------------------------------Completed!---------------------------------
But when I set the TH1F's range from 0 to 1000 and then use:
TF1 *myfunc = new TF1("myfunc",changedfitf,0,1000,9);
It will not work:
===============================Fitting==========================
=================================TF1==========================
*** glibc detected *** malloc(): memory corruption: 0x097bce60 ***
It will break when reaching "TF1 *myfunc = new TF1("myfunc",changedfitf,0,1000,9)"
I was very confused with this problem
Can anyone help me? Thanks a lot!
-- Best regards, ZhangYiChun Institute of High Energy Physics Yuquan street 19£¬ Shijingshan district, Beijing, China EMail: yczhang_at_ihep.ac.cnReceived on Mon Oct 04 2010 - 14:29:05 CEST
This archive was generated by hypermail 2.2.0 : Mon Oct 04 2010 - 17:50:01 CEST