better RRF labelling, and proper class variable naming.
This commit is contained in:
parent
fd655e720b
commit
782eb4e1a4
@ -420,25 +420,27 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
|
||||
fRRFText = new TString("RRF: ");
|
||||
rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit;
|
||||
rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
|
||||
TString rrfFreqStr("");
|
||||
rrfFreqStr.Form("%.5g", rrfFreq);
|
||||
if (rrfUnitTag == RRF_UNIT_kHz) {
|
||||
*fRRFText += TString("#nu_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += TString(" (kHz)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_MHz) {
|
||||
*fRRFText += TString("#nu_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (MHz)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_Mcs) {
|
||||
*fRRFText += TString("#omega_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (Mc/s)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_G) {
|
||||
*fRRFText += TString("B_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (G)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_T) {
|
||||
*fRRFText += TString("B_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (T)");
|
||||
}
|
||||
*fRRFText += TString(", RRF packing = ");
|
||||
@ -447,25 +449,27 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
|
||||
fRRFText = new TString("RRF: ");
|
||||
rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag();
|
||||
rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data());
|
||||
TString rrfFreqStr("");
|
||||
rrfFreqStr.Form("%.5g", rrfFreq);
|
||||
if (rrfUnitTag == RRF_UNIT_kHz) {
|
||||
*fRRFText += TString("#nu_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (kHz)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_MHz) {
|
||||
*fRRFText += TString("#nu_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (MHz)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_Mcs) {
|
||||
*fRRFText += TString("#omega_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (Mc/s)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_G) {
|
||||
*fRRFText += TString("B_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (G)");
|
||||
} else if (rrfUnitTag == RRF_UNIT_T) {
|
||||
*fRRFText += TString("B_{RRF} = ");
|
||||
*fRRFText += rrfFreq;
|
||||
*fRRFText += rrfFreqStr;
|
||||
*fRRFText += TString(" (T)");
|
||||
}
|
||||
*fRRFText += TString(", RRF packing = ");
|
||||
@ -6156,6 +6160,11 @@ void PMusrCanvas::PlotAverage(Bool_t unzoom)
|
||||
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();
|
||||
|
||||
fMainCanvas->cd();
|
||||
|
@ -580,6 +580,12 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his
|
||||
Double_t freqMax = GetMainFrequency(rawNt);
|
||||
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.
|
||||
|
||||
// 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)
|
||||
{
|
||||
// endBin is estimated such that the number of full cycles (according to the maximum frequency of the data)
|
||||
// is approximately the time N0EstimateEndTime.
|
||||
Int_t endBin = (Int_t)round(N0EstimateEndTime / fTimeResolution * ceil(freqMax)/freqMax);
|
||||
// is approximately the time fN0EstimateEndTime.
|
||||
Int_t endBin = (Int_t)round(fN0EstimateEndTime / fTimeResolution * ceil(freqMax)/freqMax);
|
||||
|
||||
Double_t n0 = 0.0;
|
||||
Double_t wN = 0.0;
|
||||
|
@ -58,7 +58,7 @@ class PRunSingleHistoRRF : public PRunBase
|
||||
virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo);
|
||||
|
||||
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
|
||||
Double_t fBackground; ///< needed if background range is given (units: 1/bin)
|
||||
|
Loading…
x
Reference in New Issue
Block a user