better RRF labelling, and proper class variable naming.

This commit is contained in:
suter_a 2016-01-14 13:18:06 +01:00
parent fd655e720b
commit 782eb4e1a4
3 changed files with 27 additions and 12 deletions

View File

@ -420,25 +420,27 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
fRRFText = new TString("RRF: "); fRRFText = new TString("RRF: ");
rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit; rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit;
rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
TString rrfFreqStr("");
rrfFreqStr.Form("%.5g", rrfFreq);
if (rrfUnitTag == RRF_UNIT_kHz) { if (rrfUnitTag == RRF_UNIT_kHz) {
*fRRFText += TString("#nu_{RRF} = "); *fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreq;
*fRRFText += TString(" (kHz)"); *fRRFText += TString(" (kHz)");
} else if (rrfUnitTag == RRF_UNIT_MHz) { } else if (rrfUnitTag == RRF_UNIT_MHz) {
*fRRFText += TString("#nu_{RRF} = "); *fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (MHz)"); *fRRFText += TString(" (MHz)");
} else if (rrfUnitTag == RRF_UNIT_Mcs) { } else if (rrfUnitTag == RRF_UNIT_Mcs) {
*fRRFText += TString("#omega_{RRF} = "); *fRRFText += TString("#omega_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (Mc/s)"); *fRRFText += TString(" (Mc/s)");
} else if (rrfUnitTag == RRF_UNIT_G) { } else if (rrfUnitTag == RRF_UNIT_G) {
*fRRFText += TString("B_{RRF} = "); *fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (G)"); *fRRFText += TString(" (G)");
} else if (rrfUnitTag == RRF_UNIT_T) { } else if (rrfUnitTag == RRF_UNIT_T) {
*fRRFText += TString("B_{RRF} = "); *fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (T)"); *fRRFText += TString(" (T)");
} }
*fRRFText += TString(", RRF packing = "); *fRRFText += TString(", RRF packing = ");
@ -447,25 +449,27 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
fRRFText = new TString("RRF: "); fRRFText = new TString("RRF: ");
rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag(); rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag();
rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data()); rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data());
TString rrfFreqStr("");
rrfFreqStr.Form("%.5g", rrfFreq);
if (rrfUnitTag == RRF_UNIT_kHz) { if (rrfUnitTag == RRF_UNIT_kHz) {
*fRRFText += TString("#nu_{RRF} = "); *fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (kHz)"); *fRRFText += TString(" (kHz)");
} else if (rrfUnitTag == RRF_UNIT_MHz) { } else if (rrfUnitTag == RRF_UNIT_MHz) {
*fRRFText += TString("#nu_{RRF} = "); *fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (MHz)"); *fRRFText += TString(" (MHz)");
} else if (rrfUnitTag == RRF_UNIT_Mcs) { } else if (rrfUnitTag == RRF_UNIT_Mcs) {
*fRRFText += TString("#omega_{RRF} = "); *fRRFText += TString("#omega_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (Mc/s)"); *fRRFText += TString(" (Mc/s)");
} else if (rrfUnitTag == RRF_UNIT_G) { } else if (rrfUnitTag == RRF_UNIT_G) {
*fRRFText += TString("B_{RRF} = "); *fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (G)"); *fRRFText += TString(" (G)");
} else if (rrfUnitTag == RRF_UNIT_T) { } else if (rrfUnitTag == RRF_UNIT_T) {
*fRRFText += TString("B_{RRF} = "); *fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreq; *fRRFText += rrfFreqStr;
*fRRFText += TString(" (T)"); *fRRFText += TString(" (T)");
} }
*fRRFText += TString(", RRF packing = "); *fRRFText += TString(", RRF packing = ");
@ -6156,6 +6160,11 @@ void PMusrCanvas::PlotAverage(Bool_t unzoom)
break; break;
} }
// check if RRF and if yes show a label
if ((fRRFText != 0) && (fRRFLatexText != 0)) {
fRRFLatexText->DrawLatex(0.1, 0.92, fRRFText->Data());
}
fDataTheoryPad->Update(); fDataTheoryPad->Update();
fMainCanvas->cd(); fMainCanvas->cd();

View File

@ -580,6 +580,12 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his
Double_t freqMax = GetMainFrequency(rawNt); Double_t freqMax = GetMainFrequency(rawNt);
cout << "info> freqMax=" << freqMax << " (MHz)" << endl; cout << "info> freqMax=" << freqMax << " (MHz)" << endl;
// "optimal packing"
Double_t optNoPoints = 8;
if (freqMax < 271.0) // < 271 MHz, i.e ~ 2T
optNoPoints = 5;
cout << "info> optimal packing: " << (Int_t)(1.0 / (fTimeResolution*(freqMax - fMsrInfo->GetMsrGlobal()->GetRRFFreq("MHz"))) / optNoPoints);
// initially fForward is the "raw data set" (i.e. grouped histo and raw runs already added) to be fitted. This means fForward = N(t) at this point. // initially fForward is the "raw data set" (i.e. grouped histo and raw runs already added) to be fitted. This means fForward = N(t) at this point.
// 1) check how the background shall be handled // 1) check how the background shall be handled
@ -1108,8 +1114,8 @@ Double_t PRunSingleHistoRRF::GetMainFrequency(PDoubleVector &data)
Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0, Double_t freqMax) Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0, Double_t freqMax)
{ {
// endBin is estimated such that the number of full cycles (according to the maximum frequency of the data) // endBin is estimated such that the number of full cycles (according to the maximum frequency of the data)
// is approximately the time N0EstimateEndTime. // is approximately the time fN0EstimateEndTime.
Int_t endBin = (Int_t)round(N0EstimateEndTime / fTimeResolution * ceil(freqMax)/freqMax); Int_t endBin = (Int_t)round(fN0EstimateEndTime / fTimeResolution * ceil(freqMax)/freqMax);
Double_t n0 = 0.0; Double_t n0 = 0.0;
Double_t wN = 0.0; Double_t wN = 0.0;

View File

@ -58,7 +58,7 @@ class PRunSingleHistoRRF : public PRunBase
virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo); virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo);
private: private:
static const Double_t N0EstimateEndTime = 1.0; ///< end time in (us) over which N0 is estimated. Should eventually be estimated automatically ... static const Double_t fN0EstimateEndTime = 1.0; ///< end time in (us) over which N0 is estimated. Should eventually be estimated automatically ...
UInt_t fNoOfFitBins; ///< number of bins to be fitted UInt_t fNoOfFitBins; ///< number of bins to be fitted
Double_t fBackground; ///< needed if background range is given (units: 1/bin) Double_t fBackground; ///< needed if background range is given (units: 1/bin)