Hello Rooters, I am using ROOT version 2.23/12 on Linux Is there a reason why when I call TGraph::Fit, in a loop, to fit different TGraphs with different functions I get a segmentation fault in my code?? Example FitAll(Data *d) { int i; TString title; char n[2]; float chisq,diff,ddiff; for(i=0;i<4;i++){ title="collin4"; sprintf(&n,"%i",i); title+=n; d->canvas->cd(i+1); d->func[i]->SetRange(11,300); d->graph[i]->Fit(title,"RB"); } } in my class data this is an array of 4 TGraphErrorss and 4 TF1s (named collin40,collin41,collin42,collin43) If I do this by hand, all is happy. Put it in a macro I get: root [8] FitAll(move4) ********** ** 1 **SET ERR 1 ********** ********** ** 5 **MIGRAD 5000 0.01 ********** MIGRAD MINIMIZATION HAS CONVERGED. MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX. FCN=1135.12 FROM MIGRAD STATUS=CONVERGED 346 CALLS 347 TOTAL EDM=2.94214e-08 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Amplitude 1.00000e-00 1.80924e-10 5.00000e-01 4.54747e-12 2 Movement(m) 7.37671e+00 3.42481e+00 1.28569e-03 -1.61017e-03 3 Diffusion Rate(mm-mrad/s)^2 9.03821e-06 8.37974e-06 3.15019e-09 6.57012e+02 4 Zero time(s) 1.10661e+01 3.48938e-03 3.45107e-05 -3.02434e-02 5 Constant 1.95906e+03 4.29638e+00 4.44481e-02 -4.41191e-05 FCN=1135.12 FROM MIGRAD STATUS=CONVERGED 346 CALLS 347 TOTAL EDM=2.94214e-08 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Amplitude 1.00000e-00 1.80924e-10 5.00000e-01 4.54747e-12 2 Movement(m) 7.37671e+00 3.42481e+00 1.28569e-03 -1.61017e-03 3 Diffusion Rate(mm-mrad/s)^2 9.03821e-06 8.37974e-06 3.15019e-09 6.57012e+02 4 Zero time(s) 1.10661e+01 3.48938e-03 3.45107e-05 -3.02434e-02 5 Constant 1.95906e+03 4.29638e+00 4.44481e-02 -4.41191e-05 *** Break *** segmentation violation Root > Function FitAll() busy flag cleared It crashes at the i=1 call data->graph[i]->Fit(title,"RB") All ranges, bounardaries, etc., are properly initialized. Like I said, if I do this by hand (ie, I am the for statement), all is good, if ROOT is the for statment, all is anti-good. Thanks for your help ============================================================================== Ray Fliller: rfliller@bnl.gov Office Phone: (631)-344-6124 C-A Accelerator Physics Building 911 Brookhaven National Lab Upton, NY 11973 Office: Room 211 ==============================================================================
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET