fixed wrong theory handling when dumping data

This commit is contained in:
nemu
2009-05-27 13:45:27 +00:00
parent 571a048657
commit b257bb6c77

View File

@ -273,9 +273,11 @@ void musrfit_write_ascii(TString fln, PRunData *data, int runCounter)
f << "% number of data values = " << data->fValue.size() << endl; f << "% number of data values = " << data->fValue.size() << endl;
f << "% time (us), value, error, theory" << endl; f << "% time (us), value, error, theory" << endl;
double time; double time;
unsigned int idx;
for (unsigned int i=0; i<data->fValue.size(); i++) { for (unsigned int i=0; i<data->fValue.size(); i++) {
time = data->fDataTimeStart + (double)i*data->fDataTimeStep; time = data->fDataTimeStart + (double)i*data->fDataTimeStep;
f << time << ", " << data->fValue[i] << ", " << data->fError[i] << ", " << data->fTheory[i] << endl; idx = static_cast<unsigned int>((time - data->fTheoryTimeStart)/data->fTheoryTimeStep);
f << time << ", " << data->fValue[i] << ", " << data->fError[i] << ", " << data->fTheory[idx] << endl;
} }
// close file // close file
@ -380,10 +382,14 @@ void musrfit_write_root(TFile &f, TString fln, PRunData *data, int runCounter)
TH1F *htheo = new TH1F("htheo", "run theory", data->fValue.size(), start, end); TH1F *htheo = new TH1F("htheo", "run theory", data->fValue.size(), start, end);
// fill data // fill data
double time;
unsigned int idx;
for (unsigned int i=0; i<data->fValue.size(); i++) { for (unsigned int i=0; i<data->fValue.size(); i++) {
hdata->SetBinContent(i, data->fValue[i]); hdata->SetBinContent(i, data->fValue[i]);
hdata->SetBinError(i, data->fError[i]); hdata->SetBinError(i, data->fError[i]);
htheo->SetBinContent(i, data->fTheory[i]); time = data->fDataTimeStart + (double)i*data->fDataTimeStep;
idx = static_cast<unsigned int>((time - data->fTheoryTimeStart)/data->fTheoryTimeStep);
htheo->SetBinContent(i, data->fTheory[idx]);
} }
hdata->SetMarkerStyle(20); hdata->SetMarkerStyle(20);