Use seconds time scale for bNMR relaxation data. This is needed to avoid divergence due to large numbers.

This commit is contained in:
salman 2015-04-01 16:14:23 +02:00
parent 4e0da5f4e9
commit 3a34d3b8ed
3 changed files with 40 additions and 19 deletions

View File

@ -180,8 +180,8 @@ PMusrCanvas::PMusrCanvas()
* \param wtopy top y coordinate (in pixels) to place the canvas. * \param wtopy top y coordinate (in pixels) to place the canvas.
* \param ww width (in pixels) of the canvas. * \param ww width (in pixels) of the canvas.
* \param wh height (in pixels) of the canvas. * \param wh height (in pixels) of the canvas.
* \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a * \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a graphical output file is requested.
* graphical output file is wished. * \param fourier flag: if set true, the canvas will show the fourier transform of the data according to the msr file.
*/ */
PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title, PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
@ -233,8 +233,8 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
* \param fourierDefault structure holding the pre-defined settings for a Fourier transform * \param fourierDefault structure holding the pre-defined settings for a Fourier transform
* \param markerList pre-defined list of markers * \param markerList pre-defined list of markers
* \param colorList pre-defined list of colors * \param colorList pre-defined list of colors
* \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a * \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a graphical output file is wished.
* graphical output file is wished. * \param fourier flag: if set true, the canvas will show the fourier transform of the data according to the msr file.
*/ */
PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title, PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
@ -3660,7 +3660,7 @@ void PMusrCanvas::HandleFourierDifference()
if (fData[0].diffFourierRe == 0) { if (fData[0].diffFourierRe == 0) {
// calculate all the Fourier differences // calculate all the Fourier differences
Double_t dval, dvalx; Double_t dval, dvalx;
TString name; TString name,setup;
Int_t theoBin; Int_t theoBin;
for (UInt_t i=0; i<fData.size(); i++) { for (UInt_t i=0; i<fData.size(); i++) {
// create difference histos // create difference histos
@ -4648,7 +4648,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
fDataTheoryPad->SetLogy(1); fDataTheoryPad->SetLogy(1);
// set x-axis label // set x-axis label
fHistoFrame->GetXaxis()->SetTitle("time (#mus)"); PMsrRunList runs = *fMsrHandler->GetMsrRunList();
TString setup = fRunList->GetSetup(*runs[0].GetRunName());
if (strcmp(setup, "TRIUMF/BNQR") || strcmp(setup, "TRIUMF/BNMR")) {
fHistoFrame->GetXaxis()->SetTitle("time (s)");
} else {
fHistoFrame->GetXaxis()->SetTitle("time (#mus)");
}
// set y-axis label // set y-axis label
TString yAxisTitle; TString yAxisTitle;
PMsrRunList *runList = fMsrHandler->GetMsrRunList(); PMsrRunList *runList = fMsrHandler->GetMsrRunList();
@ -4927,7 +4934,13 @@ void PMusrCanvas::PlotDifference(Bool_t unzoom)
fHistoFrame->SetBins(noOfPoints, dataXmin, dataXmax); fHistoFrame->SetBins(noOfPoints, dataXmin, dataXmax);
// set x-axis label // set x-axis label
fHistoFrame->GetXaxis()->SetTitle("time (#mus)"); PMsrRunList runs = *fMsrHandler->GetMsrRunList();
TString setup = fRunList->GetSetup(*runs[0].GetRunName());
if (strcmp(setup, "TRIUMF/BNQR") || strcmp(setup, "TRIUMF/BNMR")) {
fHistoFrame->GetXaxis()->SetTitle("time (s)");
} else {
fHistoFrame->GetXaxis()->SetTitle("time (#mus)");
}
// set y-axis label // set y-axis label
fHistoFrame->GetYaxis()->SetTitleOffset(1.3); fHistoFrame->GetYaxis()->SetTitleOffset(1.3);
fHistoFrame->GetYaxis()->SetTitle("data-theory"); fHistoFrame->GetYaxis()->SetTitle("data-theory");
@ -5911,7 +5924,13 @@ void PMusrCanvas::PlotAverage(Bool_t unzoom)
// define x-axis title // define x-axis title
TString xAxisTitle(""); TString xAxisTitle("");
if (fCurrentPlotView == PV_DATA) { if (fCurrentPlotView == PV_DATA) {
xAxisTitle = TString("time (#mus)"); PMsrRunList runs = *fMsrHandler->GetMsrRunList();
TString setup = fRunList->GetSetup(*runs[0].GetRunName());
if (strcmp(setup, "TRIUMF/BNQR") || strcmp(setup, "TRIUMF/BNMR")) {
xAxisTitle = TString("time (s)");
} else {
xAxisTitle = TString("time (#mus)");
}
} else { // all the Fourier } else { // all the Fourier
if (fFourier.fUnits == FOURIER_UNIT_GAUSS) { if (fFourier.fUnits == FOURIER_UNIT_GAUSS) {
xAxisTitle = TString("Field (G)"); xAxisTitle = TString("Field (G)");

View File

@ -3006,8 +3006,10 @@ Bool_t PRunDataHandler::ReadMudFile()
setup += TString(str) + TString("/"); setup += TString(str) + TString("/");
if (TString(str) == "BNQR" || TString(str) == "BNMR") { if (TString(str) == "BNQR" || TString(str) == "BNMR") {
cerr << "PRunDataHandler::ReadMudFile: **INFORMATION** this run was performed on " << str << endl; cerr << "PRunDataHandler::ReadMudFile: **INFORMATION** this run was performed on " << str << endl;
// identified BNMR/BNQR, correct time resolution. // identified BNMR/BNQR, do not change multiplier.
timeResMultiplier = 1.0e15; // Change x label in PMusrCanvas instead.
// I am keeping this here for now for possible future use.
// timeResMultiplier = 1.0e9;
} }
} }
success = MUD_getApparatus( fh, str, sizeof(str) ); success = MUD_getApparatus( fh, str, sizeof(str) );

View File

@ -4,10 +4,10 @@
FITPARAMETER FITPARAMETER
############################################################### ###############################################################
# No Name Value Err Min Max # No Name Value Err Min Max
1 Alphap 1.11662 0.001 none 1 Alphap 1.11662 0.00020 none
2 Asyp 0.025 0.001 none 2 Asyp 0.03077 0.00038 none
3 T 1e6 0 none 3 T 1 0 none
4 Rlx 1e-6 0.020 none 4 Rlx 0.969 0.020 none
5 Pos 1 0 none 5 Pos 1 0 none
6 Neg -1 0 none 6 Neg -1 0 none
@ -15,7 +15,7 @@ FITPARAMETER
THEORY THEORY
############################################################### ###############################################################
asymmetry fun1 asymmetry fun1
userFcn /usr/local/lib/libBNMR.so ExpRlx 3 4 userFcn .libs/libBNMR.so ExpRlx 3 4
############################################################### ###############################################################
FUNCTIONS FUNCTIONS
@ -32,7 +32,7 @@ data 11 799 11 799
background 800 900 800 900 # estimated bkg: 416.9700 / 465.7600 background 800 900 800 900 # estimated bkg: 416.9700 / 465.7600
t0 0.0 0.0 t0 0.0 0.0
map 2 5 0 0 0 0 0 0 0 0 map 2 5 0 0 0 0 0 0 0 0
fit 5e5 8e6 fit 0.5 8
packing 5 packing 5
RUN 045674 BNMR TRIUMF MUD (name beamline institute data-file-format) RUN 045674 BNMR TRIUMF MUD (name beamline institute data-file-format)
@ -44,7 +44,7 @@ data 11 799 11 799
background 800 900 800 900 # estimated bkg: 430.9200 / 479.4500 background 800 900 800 900 # estimated bkg: 430.9200 / 479.4500
t0 0.0 0.0 t0 0.0 0.0
map 2 6 0 0 0 0 0 0 0 0 map 2 6 0 0 0 0 0 0 0 0
fit 5e5 8e6 fit 0.5 8
packing 5 packing 5
@ -62,12 +62,12 @@ use_fit_ranges
############################################################### ###############################################################
FOURIER FOURIER
units MHz # units either 'Gauss', 'MHz', or 'Mc/s' units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12 fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
phase 8 phase 8
#range FRQMIN FRQMAX #range FRQMIN FRQMAX
############################################################### ###############################################################
STATISTIC --- 2014-11-14 16:37:41 STATISTIC --- 2015-04-01 16:12:07
chisq = 372.2, NDF = 295, chisq/NDF = 1.261744 chisq = 372.2, NDF = 295, chisq/NDF = 1.261744