improved y-axis scaling for Fourier. Fix of wrong WARNING for use_fit_ranges
This commit is contained in:
@ -22,6 +22,8 @@ NEW integration of a few external musrfit plug-ins into the standard build proce
|
|||||||
NEW default estimates for 'data' and 'background' entries in RUN blocks
|
NEW default estimates for 'data' and 'background' entries in RUN blocks
|
||||||
NEW directory with some msr- and data-files for quick testing of new musrfit installations
|
NEW directory with some msr- and data-files for quick testing of new musrfit installations
|
||||||
NEW option to musrt0: the key 'T' will set the t0 cursor to the maximum of the histogram
|
NEW option to musrt0: the key 'T' will set the t0 cursor to the maximum of the histogram
|
||||||
|
FIXED wrong WARNING message for use_fit_ranges
|
||||||
|
FIXED bug in event handling leading to crash for non-muSR when switching between view and difference view
|
||||||
FIXED chisq/maxLH lables in the statistics block are properly handled now (MUSR-148)
|
FIXED chisq/maxLH lables in the statistics block are properly handled now (MUSR-148)
|
||||||
FIXED y-unzoom failure for musrt0 (MUSR-77)
|
FIXED y-unzoom failure for musrt0 (MUSR-77)
|
||||||
FIXED fitting issue for boundaries none/none (MUSR-136)
|
FIXED fitting issue for boundaries none/none (MUSR-136)
|
||||||
@ -50,6 +52,7 @@ FIXED warning messages
|
|||||||
FIXED db data tag reading error
|
FIXED db data tag reading error
|
||||||
FIXED usage of BOOST >= 1.38.0
|
FIXED usage of BOOST >= 1.38.0
|
||||||
FIXED the extraction of the time resolution for the mud data format, since MUD_getHistFsPerBin seems sometimes to return just crap.
|
FIXED the extraction of the time resolution for the mud data format, since MUD_getHistFsPerBin seems sometimes to return just crap.
|
||||||
|
CHANGED improved y-range scaling for Fourier
|
||||||
CHANGED musredit: change into the msr-file directory before calling musrview. This is needed if userFcn's are using startup XMLs.
|
CHANGED musredit: change into the msr-file directory before calling musrview. This is needed if userFcn's are using startup XMLs.
|
||||||
CHANGED musredit: improved file system watcher notification mechanism to prevent multiple user notifications.
|
CHANGED musredit: improved file system watcher notification mechanism to prevent multiple user notifications.
|
||||||
CHANGED fit range decimal precision handling of PMsrHandler improved (MUSR-150 request). It is now
|
CHANGED fit range decimal precision handling of PMsrHandler improved (MUSR-150 request). It is now
|
||||||
|
@ -3472,7 +3472,9 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines)
|
|||||||
param.fYmax.push_back((Double_t)str.Atof());
|
param.fYmax.push_back((Double_t)str.Atof());
|
||||||
else
|
else
|
||||||
error = true;
|
error = true;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
if ((tokens->GetEntries() != 1) && (tokens->GetEntries() != 3)) {
|
||||||
cerr << endl << ">> PMsrHandler::HandlePlotEntry: **WARNING** use_fit_ranges with undefined additional parameters in line " << iter1->fLineNo;
|
cerr << endl << ">> PMsrHandler::HandlePlotEntry: **WARNING** use_fit_ranges with undefined additional parameters in line " << iter1->fLineNo;
|
||||||
cerr << endl << ">> Will ignore this PLOT block command line, sorry.";
|
cerr << endl << ">> Will ignore this PLOT block command line, sorry.";
|
||||||
cerr << endl << ">> Proper syntax: use_fit_ranges [ymin ymax]";
|
cerr << endl << ">> Proper syntax: use_fit_ranges [ymin ymax]";
|
||||||
|
@ -3408,9 +3408,15 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set y-range
|
// set y-range
|
||||||
// first find minimum/maximum of all histos
|
// first find minimum/maximum of all histos and theories
|
||||||
ymin = GetMinimum(fData[0].dataFourierRe);
|
ymin = GetMinimum(fData[0].dataFourierRe);
|
||||||
ymax = GetMaximum(fData[0].dataFourierRe);
|
ymax = GetMaximum(fData[0].dataFourierRe);
|
||||||
|
binContent = GetMinimum(fData[0].theoryFourierRe);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[0].theoryFourierRe);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
for (UInt_t i=1; i<fData.size(); i++) {
|
for (UInt_t i=1; i<fData.size(); i++) {
|
||||||
binContent = GetMinimum(fData[i].dataFourierRe);
|
binContent = GetMinimum(fData[i].dataFourierRe);
|
||||||
if (binContent < ymin)
|
if (binContent < ymin)
|
||||||
@ -3418,6 +3424,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
binContent = GetMaximum(fData[i].dataFourierRe);
|
binContent = GetMaximum(fData[i].dataFourierRe);
|
||||||
if (binContent > ymax)
|
if (binContent > ymax)
|
||||||
ymax = binContent;
|
ymax = binContent;
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierRe);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierRe);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
||||||
@ -3463,6 +3475,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
// first find minimum/maximum of all histos
|
// first find minimum/maximum of all histos
|
||||||
ymin = GetMinimum(fData[0].dataFourierIm);
|
ymin = GetMinimum(fData[0].dataFourierIm);
|
||||||
ymax = GetMaximum(fData[0].dataFourierIm);
|
ymax = GetMaximum(fData[0].dataFourierIm);
|
||||||
|
binContent = GetMinimum(fData[0].theoryFourierIm);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[0].theoryFourierIm);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
for (UInt_t i=1; i<fData.size(); i++) {
|
for (UInt_t i=1; i<fData.size(); i++) {
|
||||||
binContent = GetMinimum(fData[i].dataFourierIm);
|
binContent = GetMinimum(fData[i].dataFourierIm);
|
||||||
if (binContent < ymin)
|
if (binContent < ymin)
|
||||||
@ -3470,6 +3488,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
binContent = GetMaximum(fData[i].dataFourierIm);
|
binContent = GetMaximum(fData[i].dataFourierIm);
|
||||||
if (binContent > ymax)
|
if (binContent > ymax)
|
||||||
ymax = binContent;
|
ymax = binContent;
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierIm);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierIm);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
||||||
@ -3533,6 +3557,21 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
if (binContent > ymax)
|
if (binContent > ymax)
|
||||||
ymax = binContent;
|
ymax = binContent;
|
||||||
}
|
}
|
||||||
|
// theory part min/max
|
||||||
|
for (UInt_t i=0; i<fData.size(); i++) {
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierRe);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierRe);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierIm);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierIm);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
|
}
|
||||||
|
|
||||||
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
||||||
|
|
||||||
@ -3580,9 +3619,15 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set y-range
|
// set y-range
|
||||||
// first find minimum/maximum of all histos
|
// first find minimum/maximum of all histos and theory
|
||||||
ymin = GetMinimum(fData[0].dataFourierPwr);
|
ymin = GetMinimum(fData[0].dataFourierPwr);
|
||||||
ymax = GetMaximum(fData[0].dataFourierPwr);
|
ymax = GetMaximum(fData[0].dataFourierPwr);
|
||||||
|
binContent = GetMinimum(fData[0].theoryFourierPwr);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[0].theoryFourierPwr);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
for (UInt_t i=1; i<fData.size(); i++) {
|
for (UInt_t i=1; i<fData.size(); i++) {
|
||||||
binContent = GetMinimum(fData[i].dataFourierPwr);
|
binContent = GetMinimum(fData[i].dataFourierPwr);
|
||||||
if (binContent < ymin)
|
if (binContent < ymin)
|
||||||
@ -3590,6 +3635,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
binContent = GetMaximum(fData[i].dataFourierPwr);
|
binContent = GetMaximum(fData[i].dataFourierPwr);
|
||||||
if (binContent > ymax)
|
if (binContent > ymax)
|
||||||
ymax = binContent;
|
ymax = binContent;
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierPwr);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierPwr);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
||||||
@ -3633,6 +3684,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
// first find minimum/maximum of all histos
|
// first find minimum/maximum of all histos
|
||||||
ymin = GetMinimum(fData[0].dataFourierPhase);
|
ymin = GetMinimum(fData[0].dataFourierPhase);
|
||||||
ymax = GetMaximum(fData[0].dataFourierPhase);
|
ymax = GetMaximum(fData[0].dataFourierPhase);
|
||||||
|
binContent = GetMinimum(fData[0].theoryFourierPhase);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[0].theoryFourierPhase);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
for (UInt_t i=1; i<fData.size(); i++) {
|
for (UInt_t i=1; i<fData.size(); i++) {
|
||||||
binContent = GetMinimum(fData[i].dataFourierPhase);
|
binContent = GetMinimum(fData[i].dataFourierPhase);
|
||||||
if (binContent < ymin)
|
if (binContent < ymin)
|
||||||
@ -3640,6 +3697,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
|||||||
binContent = GetMaximum(fData[i].dataFourierPhase);
|
binContent = GetMaximum(fData[i].dataFourierPhase);
|
||||||
if (binContent > ymax)
|
if (binContent > ymax)
|
||||||
ymax = binContent;
|
ymax = binContent;
|
||||||
|
binContent = GetMinimum(fData[i].theoryFourierPhase);
|
||||||
|
if (binContent < ymin)
|
||||||
|
ymin = binContent;
|
||||||
|
binContent = GetMaximum(fData[i].theoryFourierPhase);
|
||||||
|
if (binContent > ymax)
|
||||||
|
ymax = binContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
fHistoFrame = fDataTheoryPad->DrawFrame(xmin, 1.05*ymin, xmax, 1.05*ymax);
|
||||||
|
Reference in New Issue
Block a user