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 ww width (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
* graphical output file is wished.
* \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.
* \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,
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 markerList pre-defined list of markers
* \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
* graphical output file is wished.
* \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.
* \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,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
@ -3660,7 +3660,7 @@ void PMusrCanvas::HandleFourierDifference()
if (fData[0].diffFourierRe == 0) {
// calculate all the Fourier differences
Double_t dval, dvalx;
TString name;
TString name,setup;
Int_t theoBin;
for (UInt_t i=0; i<fData.size(); i++) {
// create difference histos
@ -4648,7 +4648,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
fDataTheoryPad->SetLogy(1);
// set x-axis label
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
TString yAxisTitle;
PMsrRunList *runList = fMsrHandler->GetMsrRunList();
@ -4927,7 +4934,13 @@ void PMusrCanvas::PlotDifference(Bool_t unzoom)
fHistoFrame->SetBins(noOfPoints, dataXmin, dataXmax);
// set x-axis label
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
fHistoFrame->GetYaxis()->SetTitleOffset(1.3);
fHistoFrame->GetYaxis()->SetTitle("data-theory");
@ -5911,7 +5924,13 @@ void PMusrCanvas::PlotAverage(Bool_t unzoom)
// define x-axis title
TString xAxisTitle("");
if (fCurrentPlotView == PV_DATA) {
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
if (fFourier.fUnits == FOURIER_UNIT_GAUSS) {
xAxisTitle = TString("Field (G)");

View File

@ -3006,8 +3006,10 @@ Bool_t PRunDataHandler::ReadMudFile()
setup += TString(str) + TString("/");
if (TString(str) == "BNQR" || TString(str) == "BNMR") {
cerr << "PRunDataHandler::ReadMudFile: **INFORMATION** this run was performed on " << str << endl;
// identified BNMR/BNQR, correct time resolution.
timeResMultiplier = 1.0e15;
// identified BNMR/BNQR, do not change multiplier.
// 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) );

View File

@ -4,10 +4,10 @@
FITPARAMETER
###############################################################
# No Name Value Err Min Max
1 Alphap 1.11662 0.001 none
2 Asyp 0.025 0.001 none
3 T 1e6 0 none
4 Rlx 1e-6 0.020 none
1 Alphap 1.11662 0.00020 none
2 Asyp 0.03077 0.00038 none
3 T 1 0 none
4 Rlx 0.969 0.020 none
5 Pos 1 0 none
6 Neg -1 0 none
@ -15,7 +15,7 @@ FITPARAMETER
THEORY
###############################################################
asymmetry fun1
userFcn /usr/local/lib/libBNMR.so ExpRlx 3 4
userFcn .libs/libBNMR.so ExpRlx 3 4
###############################################################
FUNCTIONS
@ -32,7 +32,7 @@ data 11 799 11 799
background 800 900 800 900 # estimated bkg: 416.9700 / 465.7600
t0 0.0 0.0
map 2 5 0 0 0 0 0 0 0 0
fit 5e5 8e6
fit 0.5 8
packing 5
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
t0 0.0 0.0
map 2 6 0 0 0 0 0 0 0 0
fit 5e5 8e6
fit 0.5 8
packing 5
@ -62,12 +62,12 @@ use_fit_ranges
###############################################################
FOURIER
units MHz # units either 'Gauss', 'MHz', or 'Mc/s'
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
phase 8
#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