improved y-axis scaling for Fourier. Fix of wrong WARNING for use_fit_ranges
This commit is contained in:
@ -3472,7 +3472,9 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines)
|
||||
param.fYmax.push_back((Double_t)str.Atof());
|
||||
else
|
||||
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 << ">> Will ignore this PLOT block command line, sorry.";
|
||||
cerr << endl << ">> Proper syntax: use_fit_ranges [ymin ymax]";
|
||||
|
@ -3408,9 +3408,15 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
}
|
||||
|
||||
// set y-range
|
||||
// first find minimum/maximum of all histos
|
||||
// first find minimum/maximum of all histos and theories
|
||||
ymin = GetMinimum(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++) {
|
||||
binContent = GetMinimum(fData[i].dataFourierRe);
|
||||
if (binContent < ymin)
|
||||
@ -3418,6 +3424,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
binContent = GetMaximum(fData[i].dataFourierRe);
|
||||
if (binContent > ymax)
|
||||
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);
|
||||
@ -3463,6 +3475,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
// first find minimum/maximum of all histos
|
||||
ymin = GetMinimum(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++) {
|
||||
binContent = GetMinimum(fData[i].dataFourierIm);
|
||||
if (binContent < ymin)
|
||||
@ -3470,6 +3488,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
binContent = GetMaximum(fData[i].dataFourierIm);
|
||||
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);
|
||||
@ -3533,6 +3557,21 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
if (binContent > ymax)
|
||||
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);
|
||||
|
||||
@ -3580,9 +3619,15 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
}
|
||||
|
||||
// set y-range
|
||||
// first find minimum/maximum of all histos
|
||||
// first find minimum/maximum of all histos and theory
|
||||
ymin = GetMinimum(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++) {
|
||||
binContent = GetMinimum(fData[i].dataFourierPwr);
|
||||
if (binContent < ymin)
|
||||
@ -3590,6 +3635,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
binContent = GetMaximum(fData[i].dataFourierPwr);
|
||||
if (binContent > ymax)
|
||||
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);
|
||||
@ -3633,6 +3684,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
// first find minimum/maximum of all histos
|
||||
ymin = GetMinimum(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++) {
|
||||
binContent = GetMinimum(fData[i].dataFourierPhase);
|
||||
if (binContent < ymin)
|
||||
@ -3640,6 +3697,12 @@ void PMusrCanvas::PlotFourier(Bool_t unzoom)
|
||||
binContent = GetMaximum(fData[i].dataFourierPhase);
|
||||
if (binContent > ymax)
|
||||
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);
|
||||
|
Reference in New Issue
Block a user