From c3b5a52519442a330fcc165d88d1867eea48d71e Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Fri, 18 Dec 2015 15:34:18 +0100 Subject: [PATCH 01/17] start working on RRF. For now only work on the msr-file side is done. --- src/classes/PMsrHandler.cpp | 60 +++++++++++++++++++++- src/classes/PMusr.cpp | 100 ++++++++++++++++++++++++++++++++++++ src/include/PMusr.h | 47 +++++++++++------ 3 files changed, 188 insertions(+), 19 deletions(-) diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 8ce87844..24316616 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -612,6 +612,9 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) case MSR_FITTYPE_SINGLE_HISTO: fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl; break; + case MSR_FITTYPE_SINGLE_HISTO_RRF: + fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl; + break; case MSR_FITTYPE_ASYM: fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ; break; @@ -624,6 +627,9 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) default: break; } + } else if (sstr.BeginsWith("rrf_freq", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << left << "rrf_freq"; } else if (sstr.BeginsWith("data")) { fout.width(16); fout << left << "data"; @@ -2796,8 +2802,8 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines) TString str; TObjArray *tokens = 0; TObjString *ostr = 0; - Int_t ival; - Double_t dval; + Int_t ival = 0; + Double_t dval = 0.0; UInt_t addT0Counter = 0; // since this routine is called, a GLOBAL block is present @@ -2828,6 +2834,7 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines) if (str.IsDigit()) { Int_t fittype = str.Atoi(); if ((fittype == MSR_FITTYPE_SINGLE_HISTO) || + (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || (fittype == MSR_FITTYPE_ASYM) || (fittype == MSR_FITTYPE_MU_MINUS) || (fittype == MSR_FITTYPE_NON_MUSR)) { @@ -2839,6 +2846,55 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines) error = true; } } + } else if (iter->fLine.BeginsWith("rrf_freq", TString::kIgnoreCase)) { + if (tokens->GetEntries() < 3) { + error = true; + } else { + ostr = dynamic_cast(tokens->At(1)); + str = ostr->GetString(); + if (str.IsFloat()) { + dval = str.Atof(); + if (dval <= 0.0) + error = true; + } + if (!error) { + ostr = dynamic_cast(tokens->At(2)); + str = ostr->GetString(); + global.SetRRFFreq(dval, str.Data()); + if (global.GetRRFFreq(str.Data()) == 0.0) + error = true; + } + } + } else if (iter->fLine.BeginsWith("rrf_packing", TString::kIgnoreCase)) { + if (tokens->GetEntries() < 2) { + error = true; + } else { + ostr = dynamic_cast(tokens->At(1)); + str = ostr->GetString(); + if (str.IsDigit()) { + ival = str.Atoi(); + if (ival > 0) { + global.SetRRFPacking(ival); + } else { + error = true; + } + } else { + error = true; + } + } + } else if (iter->fLine.BeginsWith("rrf_phase", TString::kIgnoreCase)) { + if (tokens->GetEntries() < 2) { + error = true; + } else { + ostr = dynamic_cast(tokens->At(1)); + str = ostr->GetString(); + if (str.IsFloat()) { + dval = str.Atof(); + global.SetRRFPhase(dval); + } else { + error = true; + } + } } else if (iter->fLine.BeginsWith("data", TString::kIgnoreCase)) { // data if (tokens->GetEntries() < 3) { error = true; diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index 478db109..f6304d18 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -34,6 +34,8 @@ using namespace std; #include using namespace boost; +#include "TMath.h" + #include "PMusr.h" //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -708,6 +710,10 @@ void PRawRunData::SetTempError(const UInt_t idx, const Double_t errTemp) PMsrGlobalBlock::PMsrGlobalBlock() { fGlobalPresent = false; + fRRFFreq = 0.0; // rotating reference frequency in units given by fRRFUnitTag. Only needed for fittype 1 + fRRFUnitTag = RRF_UNIT_MHz; // RRF unit tag. Default: MHz + fRRFPhase = 0.0; + fRRFPacking = -1; // undefined RRF packing/rebinning fFitType = -1; // undefined fit type for (UInt_t i=0; i<4; i++) { fDataRange[i] = -1; // undefined data bin range @@ -720,6 +726,100 @@ PMsrGlobalBlock::PMsrGlobalBlock() fPacking = -1; // undefined packing/rebinning } +//-------------------------------------------------------------------------- +// GetRRFFreq (public) +//-------------------------------------------------------------------------- +/** + *

get RRF frequency value in specific units. If units is unknown, 0.0 will be returned. + * + * \param unit unit string in which the units shall be given + */ +Double_t PMsrGlobalBlock::GetRRFFreq(const char *unit) +{ + Double_t freq = 0.0; + + // check that the units given make sense + TString unitStr = unit; + Int_t unitTag = RRF_UNIT_UNDEF; + if (!unitStr.CompareTo("MHz", TString::kIgnoreCase)) + unitTag = RRF_UNIT_MHz; + else if (!unitStr.CompareTo("Mc", TString::kIgnoreCase)) + unitTag = RRF_UNIT_Mcs; + else if (!unitStr.CompareTo("T", TString::kIgnoreCase)) + unitTag = RRF_UNIT_T; + else { + cerr << endl << ">> PMsrGlobalBlock::GetRRFFreq: **ERROR** found undefined RRF unit '" << unit << "'!" << endl; + return freq; + } + + // calc the conversion factor + if (unitTag == fRRFUnitTag) + freq = fRRFFreq; + else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_Mcs)) + freq = fRRFFreq/TMath::TwoPi(); + else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_T)) + freq = fRRFFreq*GAMMA_BAR_MUON; + else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_MHz)) + freq = fRRFFreq*TMath::TwoPi(); + else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_T)) + freq = fRRFFreq*TMath::TwoPi()*GAMMA_BAR_MUON; + else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_MHz)) + freq = fRRFFreq/GAMMA_BAR_MUON; + else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_Mcs)) + freq = fRRFFreq/(TMath::TwoPi()*GAMMA_BAR_MUON); + + return freq; +} + +//-------------------------------------------------------------------------- +// SetRRFFreq (public) +//-------------------------------------------------------------------------- +/** + *

set RRF frequency value in specific units. If units is unknown, 0.0 will be set. + * + * \param RRF frequency value + * \param unit unit string in which the units shall be given + */ +void PMsrGlobalBlock::SetRRFFreq(Double_t freq, const char *unit) +{ + // check that the units given make sense + TString unitStr = unit; + Int_t unitTag = RRF_UNIT_UNDEF; + if (!unitStr.CompareTo("MHz", TString::kIgnoreCase)) + unitTag = RRF_UNIT_MHz; + else if (!unitStr.CompareTo("Mc", TString::kIgnoreCase)) + unitTag = RRF_UNIT_Mcs; + else if (!unitStr.CompareTo("T", TString::kIgnoreCase)) + unitTag = RRF_UNIT_T; + else { + cerr << endl << ">> PMsrGlobalBlock::SetRRFFreq: **ERROR** found undefined RRF unit '" << unit << "'!"; + cerr << endl << ">> Will set RRF frequency to 0.0." << endl; + fRRFFreq = 0.0; + fRRFUnitTag = RRF_UNIT_UNDEF; + } + + fRRFFreq = freq; + fRRFUnitTag = unitTag; +} + +//-------------------------------------------------------------------------- +// SetRRFPacking (public) +//-------------------------------------------------------------------------- +/** + *

set RRF packing. + * + * \param RRF packing + */ +void PMsrGlobalBlock::SetRRFPacking(Int_t pack) +{ + if (pack <= 0) { + cerr << endl << "PMsrGlobalBlock::SetRRFPacking: **WARNING** found RRF packing <= 0. Likely doesn't make any sense." << endl; + fRRFPacking = -1; // set to undefined + } + + fRRFPacking = pack; +} + //-------------------------------------------------------------------------- // GetDataRange (public) //-------------------------------------------------------------------------- diff --git a/src/include/PMusr.h b/src/include/PMusr.h index 9074a34b..155a17e2 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -52,10 +52,11 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it #define PMUSR_MSR_FILE_WRITE_ERROR -7 #define PMUSR_DATA_FILE_READ_ERROR -8 -#define PRUN_SINGLE_HISTO 0 -#define PRUN_ASYMMETRY 2 -#define PRUN_MU_MINUS 4 -#define PRUN_NON_MUSR 8 +#define PRUN_SINGLE_HISTO 0 +#define PRUN_SINGLE_HISTO_RRF 1 +#define PRUN_ASYMMETRY 2 +#define PRUN_MU_MINUS 4 +#define PRUN_NON_MUSR 8 // muon life time in (us), see PRL99, 032001 (2007) #define PMUON_LIFETIME 2.197019 @@ -92,10 +93,11 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it //------------------------------------------------------------- // msr fit type tags -#define MSR_FITTYPE_SINGLE_HISTO 0 -#define MSR_FITTYPE_ASYM 2 -#define MSR_FITTYPE_MU_MINUS 4 -#define MSR_FITTYPE_NON_MUSR 8 +#define MSR_FITTYPE_SINGLE_HISTO 0 +#define MSR_FITTYPE_SINGLE_HISTO_RRF 1 +#define MSR_FITTYPE_ASYM 2 +#define MSR_FITTYPE_MU_MINUS 4 +#define MSR_FITTYPE_NON_MUSR 8 //------------------------------------------------------------- // msr plot type tags @@ -133,11 +135,12 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it //------------------------------------------------------------- // RRF related tags -#define RRF_UNIT_kHz 0 -#define RRF_UNIT_MHz 1 -#define RRF_UNIT_Mcs 2 -#define RRF_UNIT_G 3 -#define RRF_UNIT_T 4 +#define RRF_UNIT_UNDEF -1 +#define RRF_UNIT_kHz 0 +#define RRF_UNIT_MHz 1 +#define RRF_UNIT_Mcs 2 +#define RRF_UNIT_G 3 +#define RRF_UNIT_T 4 //------------------------------------------------------------- /** @@ -542,6 +545,9 @@ class PMsrGlobalBlock { virtual ~PMsrGlobalBlock() {} virtual Bool_t IsPresent() { return fGlobalPresent; } + virtual Double_t GetRRFFreq(const char *unit); + virtual Double_t GetRRFPhase() { return fRRFPhase; } + virtual Int_t GetRRFPacking() { return fRRFPacking; } virtual Int_t GetFitType() { return fFitType; } virtual Int_t GetDataRange(UInt_t idx); virtual UInt_t GetT0BinSize() { return fT0.size(); } @@ -555,6 +561,9 @@ class PMsrGlobalBlock { virtual Int_t GetPacking() { return fPacking; } virtual void SetGlobalPresent(Bool_t bval) { fGlobalPresent = bval; } + virtual void SetRRFFreq(Double_t freq, const char *unit); + virtual void SetRRFPhase(Double_t phase) { fRRFPhase = phase; } + virtual void SetRRFPacking(Int_t pack); virtual void SetFitType(Int_t ival) { fFitType = ival; } virtual void SetDataRange(Int_t ival, Int_t idx); virtual void SetT0Bin(Double_t dval, Int_t idx=-1); @@ -566,10 +575,14 @@ class PMsrGlobalBlock { private: Bool_t fGlobalPresent; ///< flag showing if a GLOBAL block is present at all. - Int_t fFitType; ///< fit type: 0=single histo fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit - Int_t fDataRange[4]; ///< data bin range (fit type 0, 2, 4) - PDoubleVector fT0; ///< t0 bins (fit type 0, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ... - vector fAddT0; ///< addt0 bins (fit type 0, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ... + Double_t fRRFFreq; ///< RRF frequency given in units of (MHz, Mc, T) + Int_t fRRFUnitTag; ///< RRF unit tag + Double_t fRRFPhase; ///< RRF phase in (°) + Int_t fRRFPacking; ///< RRF packing + Int_t fFitType; ///< fit type: 0=single histo fit, 1=single histo RRF fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit + Int_t fDataRange[4]; ///< data bin range (fit type 0, 1, 2, 4) + PDoubleVector fT0; ///< t0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ... + vector fAddT0; ///< addt0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ... Bool_t fFitRangeInBins; ///< flag telling if fit range is given in time or in bins Double_t fFitRange[2]; ///< fit range in (us) Int_t fFitRangeOffset[2]; ///< if fit range is given in bins it can have the form fit fgb+n0 lgb-n1. This variable holds the n0 and n1. From 99864b2b82bc2169d1be5376ff108c6b6bd7b8e4 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Sat, 19 Dec 2015 20:32:07 +0100 Subject: [PATCH 02/17] some more self-consistency checks with RRF. --- src/classes/PMsrHandler.cpp | 138 +++++++++++++++++++++++++++++++++++- src/classes/PMusr.cpp | 37 ++++++++++ src/include/PMsrHandler.h | 1 + src/include/PMusr.h | 2 + 4 files changed, 177 insertions(+), 1 deletion(-) diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 24316616..284b950b 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -311,6 +311,11 @@ Int_t PMsrHandler::ReadMsrFile() if (!CheckAddRunParameters()) result = PMUSR_MSR_SYNTAX_ERROR; + // check that if RRF settings are present, the RUN block settings do correspond + if (result == PMUSR_SUCCESS) + if (!CheckRRFSettings()) + result = PMUSR_MSR_SYNTAX_ERROR; + if (result == PMUSR_SUCCESS) { CheckMaxLikelihood(); // check if the user wants to use max likelihood with asymmetry/non-muSR fit (which is not implemented) CheckLegacyLifetimecorrection(); // check if lifetimecorrection is found in RUN blocks, if yes transfer it to PLOT blocks @@ -629,7 +634,23 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) } } else if (sstr.BeginsWith("rrf_freq", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { fout.width(16); - fout << left << "rrf_freq"; + fout << left << "rrf_freq "; + fout.width(8); + fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); + fout << " " << fGlobal.GetRRFUnit(); + fout << endl; + } else if (sstr.BeginsWith("rrf_phase", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << "rrf_phase "; + fout.width(8); + fout << left << fGlobal.GetRRFPhase(); + fout << endl; + } else if (sstr.BeginsWith("rrf_packing", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << "rrf_packing "; + fout.width(8); + fout << left << fGlobal.GetRRFPacking(); + fout << endl; } else if (sstr.BeginsWith("data")) { fout.width(16); fout << left << "data"; @@ -1624,6 +1645,30 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co } } + // RRF related stuff + if ((fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) > 0.0) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << left << "rrf_freq "; + fout.width(8); + fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); + fout << " " << fGlobal.GetRRFUnit(); + fout << endl; + } + if ((fGlobal.GetRRFPhase() != 0.0) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << "rrf_phase "; + fout.width(8); + fout << left << fGlobal.GetRRFPhase(); + fout << endl; + } + if ((fGlobal.GetRRFPacking() != -1) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { + fout.width(16); + fout << "rrf_packing "; + fout.width(8); + fout << left << fGlobal.GetRRFPacking(); + fout << endl; + } + // data range if ((fGlobal.GetDataRange(0) != -1) || (fGlobal.GetDataRange(1) != -1) || (fGlobal.GetDataRange(2) != -1) || (fGlobal.GetDataRange(3) != -1)) { fout.width(16); @@ -3169,6 +3214,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) if (str.IsDigit()) { Int_t fittype = str.Atoi(); if ((fittype == MSR_FITTYPE_SINGLE_HISTO) || + (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || (fittype == MSR_FITTYPE_ASYM) || (fittype == MSR_FITTYPE_MU_MINUS) || (fittype == MSR_FITTYPE_NON_MUSR)) { @@ -5249,6 +5295,9 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity() fRuns[i].SetPacking(1); } break; + case PRUN_SINGLE_HISTO_RRF: + // STILL MISSING + break; case PRUN_ASYMMETRY: // check alpha if ((fRuns[i].GetAlphaParamNo() == -1) && !fFourierOnly) { @@ -5687,6 +5736,93 @@ void PMsrHandler::CheckMaxLikelihood() } } +//-------------------------------------------------------------------------- +// CheckRRFSettings (public) +//-------------------------------------------------------------------------- +/** + *

Make sure that if RRF settings are found in the GLOBAL section, the fit types + * in the RUN blocks correspond. + */ +Bool_t PMsrHandler::CheckRRFSettings() +{ + Bool_t result = true; + Int_t fittype = fGlobal.GetFitType(); + + // first set of tests: if RRF parameters are set, check if RRF fit is chosen. + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) != 0.0) { + if (fittype != -1) { // check if GLOBAL fittype is set + if (fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** found GLOBAL fittype " << fittype << " and"; + cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first."; + result = false; + } + } else { // GLOBAL fittype is NOT set + for (UInt_t i=0; i> PMsrHandler::CheckRRFSettings: **ERROR** found RUN with fittype " << fittype << " and"; + cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first."; + result = false; + break; + } + } + } + } else { + if (fGlobal.GetRRFPacking() != -1) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_packing, without"; + cerr << endl << ">> rrf_freq. Doesn't make any sense. Will drop rrf_packing"; + cerr << endl << endl; + fGlobal.SetRRFPacking(-1); + } + if (fGlobal.GetRRFPhase() != 0.0) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_phase, without"; + cerr << endl << ">> rrf_freq. Doesn't make any sense. Will drop rrf_phase"; + cerr << endl << endl; + fGlobal.SetRRFPhase(0.0); + } + } + + // second set of tests: if RRF fit is chosen, do I find the necessary RRF parameters? + fittype = fGlobal.GetFitType(); + if (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) { // make sure RRF freq and RRF packing are set + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == 0.0) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; + cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it."; + return false; + } + if (fGlobal.GetRRFPacking() == -1) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; + cerr << endl << ">> no RRF packing found in the GLOBAL section! Fix it."; + return false; + } + } else { + UInt_t rrfFitCounter = 0; + for (UInt_t i=0; i> PMsrHandler::CheckRRFSettings: **ERROR** #Runs (" << fRuns.size() << ") != # RRF fits found (" << rrfFitCounter << ")"; + cerr << endl << ">> This is currently not supported."; + return false; + } + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == 0.0) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; + cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it."; + return false; + } + if (fGlobal.GetRRFPacking() == -1) { + cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; + cerr << endl << ">> no RRF packing found in the GLOBAL section! Fix it."; + return false; + } + } + + return result; +} + //-------------------------------------------------------------------------- // GetGroupingString (public) //-------------------------------------------------------------------------- diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index f6304d18..f77015b1 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -802,6 +802,43 @@ void PMsrGlobalBlock::SetRRFFreq(Double_t freq, const char *unit) fRRFUnitTag = unitTag; } +//-------------------------------------------------------------------------- +// GetRRFUnit (public) +//-------------------------------------------------------------------------- +/** + *

returns RRF frequency unit. + */ +TString PMsrGlobalBlock::GetRRFUnit() +{ + TString unit; + + switch (fRRFUnitTag) { + case RRF_UNIT_UNDEF: + unit = TString("??"); + break; + case RRF_UNIT_kHz: + unit = TString("kHz"); + break; + case RRF_UNIT_MHz: + unit = TString("MHz"); + break; + case RRF_UNIT_Mcs: + unit = TString("Mc"); + break; + case RRF_UNIT_G: + unit = TString("G"); + break; + case RRF_UNIT_T: + unit = TString("T"); + break; + default: + unit = TString("??"); + break; + } + + return unit; +} + //-------------------------------------------------------------------------- // SetRRFPacking (public) //-------------------------------------------------------------------------- diff --git a/src/include/PMsrHandler.h b/src/include/PMsrHandler.h index fbc6b98b..3df7034d 100644 --- a/src/include/PMsrHandler.h +++ b/src/include/PMsrHandler.h @@ -102,6 +102,7 @@ class PMsrHandler virtual Bool_t CheckFuncs(); virtual Bool_t CheckHistoGrouping(); virtual Bool_t CheckAddRunParameters(); + virtual Bool_t CheckRRFSettings(); virtual void CheckMaxLikelihood(); virtual void GetGroupingString(Int_t runNo, TString detector, TString &groupingStr); diff --git a/src/include/PMusr.h b/src/include/PMusr.h index 155a17e2..3374558f 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -546,6 +546,8 @@ class PMsrGlobalBlock { virtual Bool_t IsPresent() { return fGlobalPresent; } virtual Double_t GetRRFFreq(const char *unit); + virtual TString GetRRFUnit(); + virtual Int_t GetRRFUnitTag() { return fRRFUnitTag; } virtual Double_t GetRRFPhase() { return fRRFPhase; } virtual Int_t GetRRFPacking() { return fRRFPacking; } virtual Int_t GetFitType() { return fFitType; } From 6ee5d76b35614ba144123d7a992054d194762459 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Mon, 21 Dec 2015 16:54:12 +0100 Subject: [PATCH 03/17] first implementation of the single histo RRF fit (no plotting yet). Seems to work but the error estimate of the RRF asymmetry seems to be too large. Needs to be checked. --- src/classes/Makefile.am | 2 + src/classes/PFitterFcn.cpp | 2 + src/classes/PMsrHandler.cpp | 9 +- src/classes/PMusr.cpp | 12 +- src/classes/PRunListCollection.cpp | 119 ++- src/classes/PRunSingleHistoRRF.cpp | 1483 ++++++++++++++++++++++++++++ src/include/PRunListCollection.h | 16 +- src/include/PRunSingleHistoRRF.h | 79 ++ src/musrfit.cpp | 30 +- 9 files changed, 1738 insertions(+), 14 deletions(-) create mode 100644 src/classes/PRunSingleHistoRRF.cpp create mode 100644 src/include/PRunSingleHistoRRF.h diff --git a/src/classes/Makefile.am b/src/classes/Makefile.am index f6c13d5d..7e70efb4 100644 --- a/src/classes/Makefile.am +++ b/src/classes/Makefile.am @@ -21,6 +21,7 @@ h_sources = \ ../include/PRunNonMusr.h \ ../include/PRunMuMinus.h \ ../include/PRunSingleHisto.h \ + ../include/PRunSingleHistoRRF.h \ ../include/PStartupHandler.h \ ../include/PTheory.h @@ -65,6 +66,7 @@ cpp_sources = \ PRunNonMusr.cpp \ PRunMuMinus.cpp \ PRunSingleHisto.cpp \ + PRunSingleHistoRRF.cpp \ PStartupHandler.cpp \ PTheory.cpp diff --git a/src/classes/PFitterFcn.cpp b/src/classes/PFitterFcn.cpp index e67ac505..ccae307c 100644 --- a/src/classes/PFitterFcn.cpp +++ b/src/classes/PFitterFcn.cpp @@ -77,11 +77,13 @@ Double_t PFitterFcn::operator()(const std::vector& par) const if (fUseChi2) { // chi square value += fRunListCollection->GetSingleHistoChisq(par); + value += fRunListCollection->GetSingleHistoRRFChisq(par); value += fRunListCollection->GetAsymmetryChisq(par); value += fRunListCollection->GetMuMinusChisq(par); value += fRunListCollection->GetNonMusrChisq(par); } else { // max likelihood value += fRunListCollection->GetSingleHistoMaximumLikelihood(par); + value += fRunListCollection->GetSingleHistoRRFMaximumLikelihood(par); value += fRunListCollection->GetAsymmetryMaximumLikelihood(par); value += fRunListCollection->GetMuMinusMaximumLikelihood(par); value += fRunListCollection->GetNonMusrMaximumLikelihood(par); diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 284b950b..3a3148d0 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -636,7 +636,13 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) fout.width(16); fout << left << "rrf_freq "; fout.width(8); - fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); + +cout << "debug> PMsrHandler::WriteMsrLogFile(): fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data())=" << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) << endl; +neededPrec = LastSignificant(fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()),10); +cout << "debug> PMsrHandler::WriteMsrLogFile(): neededPrec=" << neededPrec << endl; +fout.precision(neededPrec); + + fout << left << fixed << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); fout << " " << fGlobal.GetRRFUnit(); fout << endl; } else if (sstr.BeginsWith("rrf_phase", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { @@ -1650,6 +1656,7 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co fout.width(16); fout << left << "rrf_freq "; fout.width(8); +cout << "debug> PMsrHandler::WriteMsrFile(): fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data())=" << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) << endl; fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); fout << " " << fGlobal.GetRRFUnit(); fout << endl; diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index f77015b1..e2491b1d 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -752,21 +752,25 @@ Double_t PMsrGlobalBlock::GetRRFFreq(const char *unit) return freq; } +cout << endl << "debug> PMsrGlobalBlock::GetRRFFreq(" << unit << "): unitTag=" << unitTag << ", fRRFFreq=" << fRRFFreq; + // calc the conversion factor if (unitTag == fRRFUnitTag) freq = fRRFFreq; else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_Mcs)) freq = fRRFFreq/TMath::TwoPi(); else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_T)) - freq = fRRFFreq*GAMMA_BAR_MUON; + freq = fRRFFreq*1e4*GAMMA_BAR_MUON; // 1e4 need for T -> G since GAMMA_BAR_MUON is given in MHz/G else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_MHz)) freq = fRRFFreq*TMath::TwoPi(); else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_T)) - freq = fRRFFreq*TMath::TwoPi()*GAMMA_BAR_MUON; + freq = fRRFFreq*1e4*TMath::TwoPi()*GAMMA_BAR_MUON; // 1e4 need for T -> G since GAMMA_BAR_MUON is given in MHz/G else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_MHz)) - freq = fRRFFreq/GAMMA_BAR_MUON; + freq = fRRFFreq/GAMMA_BAR_MUON*1e-4; // 1e-4 need for G -> T since GAMMA_BAR_MUON is given in MHz/G else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_Mcs)) - freq = fRRFFreq/(TMath::TwoPi()*GAMMA_BAR_MUON); + freq = fRRFFreq/(TMath::TwoPi()*GAMMA_BAR_MUON)*1e-4; // 1e-4 need for G -> T since GAMMA_BAR_MUON is given in MHz/G + +cout << endl << "debug> PMsrGlobalBlock::GetRRFFreq(" << unit << "): freq=" << freq << endl; return freq; } diff --git a/src/classes/PRunListCollection.cpp b/src/classes/PRunListCollection.cpp index 4082e91e..bc58df51 100644 --- a/src/classes/PRunListCollection.cpp +++ b/src/classes/PRunListCollection.cpp @@ -58,6 +58,12 @@ PRunListCollection::~PRunListCollection() } fRunSingleHistoList.clear(); + for (UInt_t i=0; iCleanUp(); + fRunSingleHistoRRFList[i]->~PRunSingleHistoRRF(); + } + fRunSingleHistoRRFList.clear(); + for (UInt_t i=0; iCleanUp(); fRunAsymmetryList[i]->~PRunAsymmetry(); @@ -100,12 +106,20 @@ Bool_t PRunListCollection::Add(Int_t runNo, EPMusrHandleTag tag) fitType = (*fMsrInfo->GetMsrGlobal()).GetFitType(); } +cout << "debug> PRunListCollection::Add(): (runNo: " << runNo << "), fitType = " << fitType << endl; + switch (fitType) { case PRUN_SINGLE_HISTO: fRunSingleHistoList.push_back(new PRunSingleHisto(fMsrInfo, fData, runNo, tag)); if (!fRunSingleHistoList[fRunSingleHistoList.size()-1]->IsValid()) success = false; break; + case PRUN_SINGLE_HISTO_RRF: +cout << "debug> PRunListCollection::Add(): add RRF single histo run to PRunListCollection (runNo: " << runNo << ")" << endl; + fRunSingleHistoRRFList.push_back(new PRunSingleHistoRRF(fMsrInfo, fData, runNo, tag)); + if (!fRunSingleHistoRRFList[fRunSingleHistoRRFList.size()-1]->IsValid()) + success = false; + break; case PRUN_ASYMMETRY: fRunAsymmetryList.push_back(new PRunAsymmetry(fMsrInfo, fData, runNo, tag)); if (!fRunAsymmetryList[fRunAsymmetryList.size()-1]->IsValid()) @@ -147,6 +161,8 @@ void PRunListCollection::SetFitRange(const TString fitRange) { for (UInt_t i=0; iSetFitRangeBin(fitRange); + for (UInt_t i=0; iSetFitRangeBin(fitRange); for (UInt_t i=0; iSetFitRangeBin(fitRange); for (UInt_t i=0; iSetFitRange(fitRange); + for (UInt_t i=0; iSetFitRange(fitRange); for (UInt_t i=0; iSetFitRange(fitRange); for (UInt_t i=0; i& pa return chisq; } +//-------------------------------------------------------------------------- +// GetSingleHistoRRFChisq (public) +//-------------------------------------------------------------------------- +/** + *

Calculates chi-square of all single histogram RRF runs of a msr-file. + * + * return: + * - chi-square of all single histogram RRF runs of the msr-file + * + * \param par fit parameter vector + */ +Double_t PRunListCollection::GetSingleHistoRRFChisq(const std::vector& par) const +{ + Double_t chisq = 0.0; + + for (UInt_t i=0; iCalcChiSquare(par); + + return chisq; +} + //-------------------------------------------------------------------------- // GetAsymmetryChisq (public) //-------------------------------------------------------------------------- @@ -299,6 +338,9 @@ Double_t PRunListCollection::GetSingleHistoChisqExpected(const std::vectorCalcChiSquareExpected(par); break; + case PRUN_SINGLE_HISTO_RRF: + expectedChisq = fRunSingleHistoRRFList[subIdx]->CalcChiSquareExpected(par); + break; case PRUN_ASYMMETRY: expectedChisq = fRunAsymmetryList[subIdx]->CalcChiSquareExpected(par); break; @@ -353,6 +395,9 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector& par, case PRUN_SINGLE_HISTO: chisq = fRunSingleHistoList[subIdx]->CalcChiSquare(par); break; + case PRUN_SINGLE_HISTO_RRF: + chisq = fRunSingleHistoRRFList[subIdx]->CalcChiSquare(par); + break; case PRUN_ASYMMETRY: chisq = fRunAsymmetryList[subIdx]->CalcChiSquare(par); break; @@ -376,7 +421,7 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector& par, *

Calculates log max-likelihood of all single histogram runs of a msr-file. * * return: - * - chi-square of all single histogram runs of the msr-file + * - log max-likelihood of all single histogram runs of the msr-file * * \param par fit parameter vector */ @@ -390,6 +435,27 @@ Double_t PRunListCollection::GetSingleHistoMaximumLikelihood(const std::vectorCalculates log max-likelihood of all single histogram RRF runs of a msr-file. + * + * return: + * - log max-likelihood of all single histogram runs of the msr-file + * + * \param par fit parameter vector + */ +Double_t PRunListCollection::GetSingleHistoRRFMaximumLikelihood(const std::vector& par) const +{ + Double_t mlh = 0.0; + + for (UInt_t i=0; iCalcMaxLikelihood(par); + + return mlh; +} + //-------------------------------------------------------------------------- // GetAsymmetryMaximumLikelihood (public) //-------------------------------------------------------------------------- @@ -419,7 +485,7 @@ Double_t PRunListCollection::GetAsymmetryMaximumLikelihood(const std::vectorCalculates log max-likelihood of all mu minus runs of a msr-file. * * return: - * - chi-square of all mu minus runs of the msr-file + * - log max-likelihood of all mu minus runs of the msr-file * * \param par fit parameter vector */ @@ -493,6 +559,9 @@ UInt_t PRunListCollection::GetNoOfBinsFitted(const UInt_t idx) const case PRUN_SINGLE_HISTO: result = fRunSingleHistoList[subIdx]->GetNoOfFitBins(); break; + case PRUN_SINGLE_HISTO_RRF: + result = fRunSingleHistoRRFList[subIdx]->GetNoOfFitBins(); + break; case PRUN_ASYMMETRY: result = fRunAsymmetryList[subIdx]->GetNoOfFitBins(); break; @@ -526,6 +595,9 @@ UInt_t PRunListCollection::GetTotalNoOfBinsFitted() const for (UInt_t i=0; iGetNoOfFitBins(); + for (UInt_t i=0; iGetNoOfFitBins(); + for (UInt_t i=0; iGetNoOfFitBins(); @@ -581,6 +653,49 @@ PRunData* PRunListCollection::GetSingleHisto(UInt_t index, EDataSwitch tag) return data; } +//-------------------------------------------------------------------------- +// GetSingleHistoRRF (public) +//-------------------------------------------------------------------------- +/** + *

Get a processed single histogram RRF data set. + * + * return: + * - pointer to the run data set (processed data) if data set is found + * - null pointer otherwise + * + * \param index msr-file run index + * \param tag kIndex -> data at index, kRunNo -> data of given run no + */ +PRunData* PRunListCollection::GetSingleHistoRRF(UInt_t index, EDataSwitch tag) +{ + PRunData *data = 0; + + switch (tag) { + case kIndex: + if ((index < 0) || (index >= fRunSingleHistoRRFList.size())) { + cerr << endl << "PRunListCollection::GetSingleHistoRRF: **ERROR** index = " << index << " out of bounds"; + cerr << endl; + return 0; + } + + fRunSingleHistoRRFList[index]->CalcTheory(); + data = fRunSingleHistoRRFList[index]->GetData(); + break; + case kRunNo: + for (UInt_t i=0; iGetRunNo() == index) { + data = fRunSingleHistoRRFList[i]->GetData(); + break; + } + } + break; + default: // error + break; + } + + return data; +} + //-------------------------------------------------------------------------- // GetAsymmetry (public) //-------------------------------------------------------------------------- diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp new file mode 100644 index 00000000..856935af --- /dev/null +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -0,0 +1,1483 @@ +/*************************************************************************** + + PRunSingleHistoRRF.cpp + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_GOMP +#include +#endif + +#include +#include +#include +using namespace std; + +#include +#include +#include + +#include "PMusr.h" +#include "PRunSingleHistoRRF.h" + +//-------------------------------------------------------------------------- +// Constructor +//-------------------------------------------------------------------------- +/** + *

Constructor + */ +PRunSingleHistoRRF::PRunSingleHistoRRF() : PRunBase() +{ + fNoOfFitBins = 0; + fBackground = 0; + fPacking = -1; + + // the 2 following variables are need in case fit range is given in bins, and since + // the fit range can be changed in the command block, these variables need to be accessible + fGoodBins[0] = -1; + fGoodBins[1] = -1; +} + +//-------------------------------------------------------------------------- +// Constructor +//-------------------------------------------------------------------------- +/** + *

Constructor + * + * \param msrInfo pointer to the msr-file handler + * \param rawData raw run data + * \param runNo number of the run within the msr-file + * \param tag tag showing what shall be done: kFit == fitting, kView == viewing + */ +PRunSingleHistoRRF::PRunSingleHistoRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag) : PRunBase(msrInfo, rawData, runNo, tag) +{ + fNoOfFitBins = 0; + + fPacking = fRunInfo->GetPacking(); + if (fPacking == -1) { // i.e. packing is NOT given in the RUN-block, it must be given in the GLOBAL-block + fPacking = fMsrInfo->GetMsrGlobal()->GetPacking(); + } + if (fPacking == -1) { // this should NOT happen, somethin is severely wrong + cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: Couldn't find any packing information!"; + cerr << endl << ">> This is very bad :-(, will quit ..."; + cerr << endl; + fValid = false; + return; + } + + // the 2 following variables are need in case fit range is given in bins, and since + // the fit range can be changed in the command block, these variables need to be accessible + fGoodBins[0] = -1; + fGoodBins[1] = -1; + + if (!PrepareData()) { + cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: Couldn't prepare data for fitting!"; + cerr << endl << ">> This is very bad :-(, will quit ..."; + cerr << endl; + fValid = false; + } +} + +//-------------------------------------------------------------------------- +// Destructor +//-------------------------------------------------------------------------- +/** + *

Destructor + */ +PRunSingleHistoRRF::~PRunSingleHistoRRF() +{ + fForward.clear(); +} + +//-------------------------------------------------------------------------- +// CalcChiSquare (public) +//-------------------------------------------------------------------------- +/** + *

Calculate chi-square. + * + * return: + * - chisq value + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunSingleHistoRRF::CalcChiSquare(const std::vector& par) +{ + Double_t chisq = 0.0; + Double_t diff = 0.0; + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + Int_t funcNo = fMsrInfo->GetFuncNo(i); + fFuncValues[i] = fMsrInfo->EvalFunc(funcNo, *fRunInfo->GetMap(), par); + } + + // calculate chi square + Double_t time(1.0); + Int_t i, N(static_cast(fData.GetValue()->size())); + + // In order not to have an IF in the next loop, determine the start and end bins for the fit range now + Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); + if (startTimeBin < 0) + startTimeBin = 0; + Int_t endTimeBin = static_cast(floor((fFitEndTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())) + 1; + if (endTimeBin > N) + endTimeBin = N; + + // Calculate the theory function once to ensure one function evaluation for the current set of parameters. + // This is needed for the LF and user functions where some non-thread-save calculations only need to be calculated once + // for a given set of parameters---which should be done outside of the parallelized loop. + // For all other functions it means a tiny and acceptable overhead. + time = fTheory->Func(time, par, fFuncValues); + + #ifdef HAVE_GOMP + Int_t chunk = (endTimeBin - startTimeBin)/omp_get_num_procs(); + if (chunk < 10) + chunk = 10; + #pragma omp parallel for default(shared) private(i,time,diff) schedule(dynamic,chunk) reduction(+:chisq) + #endif + for (i=startTimeBin; iat(i) - fTheory->Func(time, par, fFuncValues); + chisq += diff*diff / (fData.GetError()->at(i)*fData.GetError()->at(i)); + } + + return chisq; +} + +//-------------------------------------------------------------------------- +// CalcChiSquareExpected (public) +//-------------------------------------------------------------------------- +/** + *

Calculate expected chi-square. + * + * return: + * - chisq value + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunSingleHistoRRF::CalcChiSquareExpected(const std::vector& par) +{ + Double_t chisq = 0.0; + Double_t diff = 0.0; + Double_t theo = 0.0; + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + Int_t funcNo = fMsrInfo->GetFuncNo(i); + fFuncValues[i] = fMsrInfo->EvalFunc(funcNo, *fRunInfo->GetMap(), par); + } + + // calculate chi square + Double_t time(1.0); + Int_t i, N(static_cast(fData.GetValue()->size())); + + // In order not to have an IF in the next loop, determine the start and end bins for the fit range now + Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); + if (startTimeBin < 0) + startTimeBin = 0; + Int_t endTimeBin = static_cast(floor((fFitEndTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())) + 1; + if (endTimeBin > N) + endTimeBin = N; + + // Calculate the theory function once to ensure one function evaluation for the current set of parameters. + // This is needed for the LF and user functions where some non-thread-save calculations only need to be calculated once + // for a given set of parameters---which should be done outside of the parallelized loop. + // For all other functions it means a tiny and acceptable overhead. + time = fTheory->Func(time, par, fFuncValues); + + #ifdef HAVE_GOMP + Int_t chunk = (endTimeBin - startTimeBin)/omp_get_num_procs(); + if (chunk < 10) + chunk = 10; + #pragma omp parallel for default(shared) private(i,time,diff) schedule(dynamic,chunk) reduction(+:chisq) + #endif + for (i=startTimeBin; i < endTimeBin; ++i) { + time = fData.GetDataTimeStart() + (Double_t)i*fData.GetDataTimeStep(); + theo = fTheory->Func(time, par, fFuncValues); + diff = fData.GetValue()->at(i) - theo; + chisq += diff*diff / theo; + } + + return chisq; +} + +//-------------------------------------------------------------------------- +// CalcMaxLikelihood (public) +//-------------------------------------------------------------------------- +/** + *

Calculate log maximum-likelihood. See http://pdg.lbl.gov/index.html + * + * return: + * - log maximum-likelihood value + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunSingleHistoRRF::CalcMaxLikelihood(const std::vector& par) +{ + // not yet implemented + + return 0.0; +} + +//-------------------------------------------------------------------------- +// CalcTheory (public) +//-------------------------------------------------------------------------- +/** + *

Calculate theory for a given set of fit-parameters. + */ +void PRunSingleHistoRRF::CalcTheory() +{ + // feed the parameter vector + std::vector par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (UInt_t i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate theory + UInt_t size = fData.GetValue()->size(); + Double_t start = fData.GetDataTimeStart(); + Double_t resolution = fData.GetDataTimeStep(); + Double_t time; + for (UInt_t i=0; iFunc(time, par, fFuncValues)); + } + + // clean up + par.clear(); +} + +//-------------------------------------------------------------------------- +// GetNoOfFitBins (public) +//-------------------------------------------------------------------------- +/** + *

Calculate the number of fitted bins for the current fit range. + * + * return: number of fitted bins. + */ +UInt_t PRunSingleHistoRRF::GetNoOfFitBins() +{ + CalcNoOfFitBins(); + + return fNoOfFitBins; +} + +//-------------------------------------------------------------------------- +// SetFitRangeBin (public) +//-------------------------------------------------------------------------- +/** + *

Allows to change the fit range on the fly. Used in the COMMAND block. + * The syntax of the string is: FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]]. + * If only one pair of fgb/lgb is given, it is used for all runs in the RUN block section. + * If multiple fgb/lgb's are given, the number N has to be the number of RUN blocks in + * the msr-file. + * + *

nXY are offsets which can be used to shift, limit the fit range. + * + * \param fitRange string containing the necessary information. + */ +void PRunSingleHistoRRF::SetFitRangeBin(const TString fitRange) +{ + TObjArray *tok = 0; + TObjString *ostr = 0; + TString str; + Ssiz_t idx = -1; + Int_t offset = 0; + + tok = fitRange.Tokenize(" \t"); + + if (tok->GetEntries() == 3) { // structure FIT_RANGE fgb+n0 lgb-n1 + // handle fgb+n0 entry + ostr = (TObjString*) tok->At(1); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("+"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution; + + // handle lgb-n1 entry + ostr = (TObjString*) tok->At(2); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("-"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution; + } else if ((tok->GetEntries() > 3) && (tok->GetEntries() % 2 == 1)) { // structure FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]] + Int_t pos = 2*(fRunNo+1)-1; + + if (pos + 1 >= tok->GetEntries()) { + cerr << endl << ">> PRunSingleHistoRRF::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> will ignore it. Sorry ..." << endl; + } else { + // handle fgb+n0 entry + ostr = (TObjString*) tok->At(pos); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("+"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution; + + // handle lgb-n1 entry + ostr = (TObjString*) tok->At(pos+1); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("-"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution; + } + } else { // error + cerr << endl << ">> PRunSingleHistoRRF::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> will ignore it. Sorry ..." << endl; + } + + // clean up + if (tok) { + delete tok; + } +} + +//-------------------------------------------------------------------------- +// CalcNoOfFitBins (protected) +//-------------------------------------------------------------------------- +/** + *

Calculate the number of fitted bins for the current fit range. + */ +void PRunSingleHistoRRF::CalcNoOfFitBins() +{ + // In order not having to loop over all bins and to stay consistent with the chisq method, calculate the start and end bins explicitly + Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); + if (startTimeBin < 0) + startTimeBin = 0; + Int_t endTimeBin = static_cast(floor((fFitEndTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())) + 1; + if (endTimeBin > static_cast(fData.GetValue()->size())) + endTimeBin = fData.GetValue()->size(); + + if (endTimeBin > startTimeBin) + fNoOfFitBins = endTimeBin - startTimeBin; + else + fNoOfFitBins = 0; +} + +//-------------------------------------------------------------------------- +// PrepareData (protected) +//-------------------------------------------------------------------------- +/** + *

Prepare data for fitting or viewing. What is already processed at this stage: + * -# get proper raw run data + * -# get all needed forward histograms + * -# get time resolution + * -# get t0's and perform necessary cross checks (e.g. if t0 of msr-file (if present) are consistent with t0 of the data files, etc.) + * -# add runs (if addruns are present) + * -# group histograms (if grouping is present) + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunSingleHistoRRF::PrepareData() +{ + Bool_t success = true; + + // keep the Global block info + PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); + + // get the proper run + PRawRunData* runData = fRawData->GetRunData(*fRunInfo->GetRunName()); + if (!runData) { // couldn't get run + cerr << endl << ">> PRunSingleHistoRRF::PrepareData(): **ERROR** Couldn't get run " << fRunInfo->GetRunName()->Data() << "!"; + cerr << endl; + return false; + } + + // collect histogram numbers + PUIntVector histoNo; // histoNo = msr-file forward + redGreen_offset - 1 + for (UInt_t i=0; iGetForwardHistoNoSize(); i++) { + histoNo.push_back(fRunInfo->GetForwardHistoNo(i)); + + if (!runData->IsPresent(histoNo[i])) { + cerr << endl << ">> PRunSingleHistoRRF::PrepareData(): **PANIC ERROR**:"; + cerr << endl << ">> histoNo found = " << histoNo[i] << ", which is NOT present in the data file!?!?"; + cerr << endl << ">> Will quit :-("; + cerr << endl; + histoNo.clear(); + return false; + } + } + + // keep the time resolution in (us) + fTimeResolution = runData->GetTimeResolution()/1.0e3; + cout.precision(10); + cout << endl << ">> PRunSingleHisto::PrepareData(): time resolution=" << fixed << runData->GetTimeResolution() << "(ns)" << endl; + + // get all the proper t0's and addt0's for the current RUN block + if (!GetProperT0(runData, globalBlock, histoNo)) { + return false; + } + + // keep the histo of each group at this point (addruns handled below) + vector forward; + forward.resize(histoNo.size()); // resize to number of groups + for (UInt_t i=0; iGetDataBin(histoNo[i])->size()); + forward[i] = *runData->GetDataBin(histoNo[i]); + } + + // check if there are runs to be added to the current one + if (fRunInfo->GetRunNameSize() > 1) { // runs to be added present + PRawRunData *addRunData; + for (UInt_t i=1; iGetRunNameSize(); i++) { + + // get run to be added to the main one + addRunData = fRawData->GetRunData(*fRunInfo->GetRunName(i)); + if (addRunData == 0) { // couldn't get run + cerr << endl << ">> PRunSingleHistoRRF::PrepareData(): **ERROR** Couldn't get addrun " << fRunInfo->GetRunName(i)->Data() << "!"; + cerr << endl; + return false; + } + + // add forward run + UInt_t addRunSize; + for (UInt_t k=0; kGetDataBin(histoNo[k])->size(); + for (UInt_t j=0; jGetDataBin(histoNo[k])->size(); j++) { // loop over the bin indices + // make sure that the index stays in the proper range + if ((j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) { + forward[k][j] += addRunData->GetDataBin(histoNo[k])->at(j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k]); + } + } + } + } + } + + // set forward histo data of the first group + fForward.resize(forward[0].size()); + for (UInt_t i=0; iGetDataBin(histoNo[i])->size(); j++) { // loop over the bin indices + // make sure that the index stays within proper range + if ((j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) { + fForward[j] += forward[i][j+(Int_t)fT0s[i]-(Int_t)fT0s[0]]; + } + } + } + + // get the data range (fgb/lgb) for the current RUN block + if (!GetProperDataRange()) { + return false; + } + + // get the fit range for the current RUN block + GetProperFitRange(globalBlock); + + // get the lifetimecorrection flag + Bool_t lifetimecorrection = false; + PMsrPlotList *plot = fMsrInfo->GetMsrPlotList(); + lifetimecorrection = plot->at(0).fLifeTimeCorrection; + + // do the more fit/view specific stuff + if (fHandleTag == kFit) + success = PrepareFitData(runData, histoNo[0]); + else if ((fHandleTag == kView) && !lifetimecorrection) + success = PrepareRawViewData(runData, histoNo[0]); + else if ((fHandleTag == kView) && lifetimecorrection) + success = PrepareViewData(runData, histoNo[0]); + else + success = false; + + // cleanup + histoNo.clear(); + + return success; +} + +//-------------------------------------------------------------------------- +// PrepareFitData (protected) +//-------------------------------------------------------------------------- +/** + *

Take the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for fitting. + * The following steps are preformed: + * -# get fit start/stop time + * -# check that 'first good data bin', 'last good data bin', and 't0' make any sense + * -# check how the background shall be handled, i.e. fitted, subtracted from background estimate data range, or subtacted from a given fixed background. + * -# packing (i.e rebinning) + * + * return: + * - true, if everything went smooth + * - false, otherwise + * + * \param runData raw run data handler + * \param histoNo forward histogram number + */ +Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t histoNo) +{ + // keep the raw data for the RRF asymmetry error estimate for later + PDoubleVector sqrtNt; + for (UInt_t i=0; iGetBkgFitParamNo() == -1) { // bkg shall **NOT** be fitted + // subtract background from histogramms ------------------------------------------ + if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given + if (fRunInfo->GetBkgRange(0) >= 0) { + if (!EstimateBkg(histoNo)) + return false; + } else { // no background given to do the job, try estimate + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); + cerr << endl << ">> PRunSingleHistoRRF::PrepareFitData(): **WARNING** Neither fix background nor background bins are given!"; + cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); + cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; + cerr << endl; + if (!EstimateBkg(histoNo)) + return false; + } + } else { // fixed background given + for (UInt_t i=0; iGetBkgFix(0); + } + } + } + + Int_t t0 = (Int_t)fT0s[0]; + + // 2) N(t) - Nbkg -> exp(+t/tau) [N(t)-Nbkg] + Double_t startTime = fTimeResolution * ((Double_t)fGoodBins[0] - (Double_t)t0); + cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): t0=" << t0 << ", fGoodBins[0]=" << fGoodBins[0] << ", fGoodBins[1]=" << fGoodBins[1] << endl; + cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): startTime=" << startTime << endl; + cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): endTime =" << startTime+fTimeResolution*((Double_t)fGoodBins[1]-(Double_t)t0) << endl; + + Double_t time_tau=0.0; + for (Int_t i=fGoodBins[0]; i A(t) * cos(wRRF t + phiRRF) + PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); + Double_t wRRF = globalBlock->GetRRFFreq("Mc"); + Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; + cout << "debug> PRunSingleHistoRRF::PrepareFitData(): wRRF =" << wRRF << endl; + cout << "debug> PRunSingleHistoRRF::PrepareFitData(): phaseRRF =" << phaseRRF << endl; + Double_t time = 0.0; + for (Int_t i=fGoodBins[0]; iGetRRFPacking(); + Double_t dval=0.0; + for (Int_t i=fGoodBins[0]; i 1 + if (((i-fGoodBins[0]) % packingRRF == 0) && (i != fGoodBins[0])) { // fill data + dval /= packingRRF; + fData.AppendValue(dval); + // reset dval + dval = 0.0; + } + dval += fForward[i]; + } + } + + // 7) estimate RRF errors (see log-book p.204) + // the error estimate of the unpacked RRF asymmetry is: errA_RRF(t) \simeq exp(t/tau)/N0 sqrt(N(t)) + for (Int_t i=fGoodBins[0]; iTake the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for viewing + * without any life time correction. + *

The following steps are preformed: + * -# check if view packing is whished. + * -# check that 'first good data bin', 'last good data bin', and 't0' makes any sense + * -# packing (i.e. rebinnig) + * -# calculate theory + * + * return: + * - true, if everything went smooth + * - false, otherwise. + * + * \param runData raw run data handler + * \param histoNo forward histogram number + */ +Bool_t PRunSingleHistoRRF::PrepareRawViewData(PRawRunData* runData, const UInt_t histoNo) +{ +/* + // check if view_packing is wished + Int_t packing = fPacking; + if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { + packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; + } + + // calculate necessary norms + Double_t dataNorm = 1.0, theoryNorm = 1.0; + if (fScaleN0AndBkg) { + dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns + } else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) { + theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking; + } + + // raw data, since PMusrCanvas is doing ranging etc. + // start = the first bin which is a multiple of packing backward from first good data bin + Int_t start = fGoodBins[0] - (fGoodBins[0]/packing)*packing; + // end = last bin starting from start which is a multipl of packing and still within the data + Int_t end = start + ((fForward.size()-start)/packing)*packing; + // check if data range has been provided, and if not try to estimate them + if (start < 0) { + Int_t offset = (Int_t)(10.0e-3/fTimeResolution); + start = ((Int_t)fT0s[0]+offset) - (((Int_t)fT0s[0]+offset)/packing)*packing; + end = start + ((fForward.size()-start)/packing)*packing; + cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **WARNING** data range was not provided, will try data range start = " << start << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + // check if start, end, and t0 make any sense + // 1st check if start and end are in proper order + if (end < start) { // need to swap them + Int_t keep = end; + end = start; + start = keep; + } + // 2nd check if start is within proper bounds + if ((start < 0) || (start > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **ERROR** start data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 3rd check if end is within proper bounds + if ((end < 0) || (end > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **ERROR** end data bin doesn't make any sense!"; + cerr << endl; + return false; + } + + // everything looks fine, hence fill data set + Int_t t0 = (Int_t)fT0s[0]; + Double_t value = 0.0; + // data start at data_start-t0 + // time shifted so that packing is included correctly, i.e. t0 == t0 after packing + fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(packing-1)/2.0)); + fData.SetDataTimeStep(fTimeResolution*packing); + + for (Int_t i=start; i par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (UInt_t i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + + // calculate asymmetry + Double_t N0; + // check if norm is a parameter or a function + if (fRunInfo->GetNormParamNo() < MSR_PARAM_FUN_OFFSET) { // norm is a parameter + N0 = par[fRunInfo->GetNormParamNo()-1]; + } else { // norm is a function + // get function number + UInt_t funNo = fRunInfo->GetNormParamNo()-MSR_PARAM_FUN_OFFSET; + // evaluate function + N0 = fMsrInfo->EvalFunc(funNo, *fRunInfo->GetMap(), par); + } + N0 *= theoryNorm; + + // get tau + Double_t tau; + if (fRunInfo->GetLifetimeParamNo() != -1) + tau = par[fRunInfo->GetLifetimeParamNo()-1]; + else + tau = PMUON_LIFETIME; + + // get background + Double_t bkg; + if (fRunInfo->GetBkgFitParamNo() == -1) { // bkg not fitted + if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given (background interval) + if (fRunInfo->GetBkgRange(0) >= 0) { // background range given + if (!EstimateBkg(histoNo)) + return false; + } else { // no background given to do the job, try estimate + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); + cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **WARNING** Neither fix background nor background bins are given!"; + cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); + cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; + cerr << endl; + if (!EstimateBkg(histoNo)) + return false; + } + bkg = fBackground; + } else { // fixed bkg given + bkg = fRunInfo->GetBkgFix(0); + } + } else { // bkg fitted + bkg = par[fRunInfo->GetBkgFitParamNo()-1]; + } + bkg *= theoryNorm; + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate theory + UInt_t size = fForward.size(); + Double_t factor = 1.0; + if (fData.GetValue()->size() * 10 > fForward.size()) { + size = fData.GetValue()->size() * 10; + factor = (Double_t)fForward.size() / (Double_t)size; + } + Double_t time; + Double_t theoryValue; + fData.SetTheoryTimeStart(fData.GetDataTimeStart()); + fData.SetTheoryTimeStep(fTimeResolution*factor); + for (UInt_t i=0; iFunc(time, par, fFuncValues); + if (fabs(theoryValue) > 1.0e10) { // dirty hack needs to be fixed!! + theoryValue = 0.0; + } + fData.AppendTheoryValue(N0*TMath::Exp(-time/tau)*(1.0+theoryValue)+bkg); + } + + // clean up + par.clear(); +*/ + return true; +} + +//-------------------------------------------------------------------------- +// PrepareViewData (protected) +//-------------------------------------------------------------------------- +/** + *

Take the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for viewing + * with life time correction, i.e. the exponential decay is removed. + *

The following steps are preformed: + * -# check if view packing is whished. + * -# check that 'first good data bin', 'last good data bin', and 't0' makes any sense + * -# transform data sets (see below). + * -# calculate theory + * + *

Muon life time corrected data: Starting from + * \f[ N(t) = N_0 e^{-t/\tau} [ 1 + A(t) ] + \mathrm{Bkg} \f] + * it follows that + * \f[ A(t) = (-1) + e^{+t/\tau}\, \frac{N(t)-\mathrm{Bkg}}{N_0}. \f] + * For the error estimate only the statistical error of \f$ N(t) \f$ is used, and hence + * \f[ \Delta A(t) = \frac{e^{t/\tau}}{N_0}\,\sqrt{\frac{N(t)}{p}} \f] + * where \f$ p \f$ is the packing, and \f$ N(t) \f$ are the packed data, i.e. + * \f[ N(t_i) = \frac{1}{p}\, \sum_{j=i}^{i+p} n_j \f] + * with \f$ n_j \f$ the raw histogram data bins. + * + * return: + * - true, if everything went smooth + * - false, otherwise + * + * \param runData raw run data handler + * \param histoNo forward histogram number + */ +Bool_t PRunSingleHistoRRF::PrepareViewData(PRawRunData* runData, const UInt_t histoNo) +{ +/* + // check if view_packing is wished. This is a global option for all PLOT blocks! + Int_t packing = fPacking; + if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { + packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; + } + // check if rrf_packing is present. This is a global option for all PLOT blocks, since operated on a single set of data. + if (fMsrInfo->GetMsrPlotList()->at(0).fRRFPacking > 0) { + packing = fMsrInfo->GetMsrPlotList()->at(0).fRRFPacking; + } + + // calculate necessary norms + Double_t dataNorm = 1.0, theoryNorm = 1.0; + if (fScaleN0AndBkg) { + dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns + } else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) { + theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking; + } + + // transform raw histo data. This is done the following way (for details see the manual): + // for the single histo fit, just the rebinned raw data are copied + // first get start data, end data, and t0 + Int_t t0 = (Int_t)fT0s[0]; + + // start = the first bin which is a multiple of packing backward from first good data bin + Int_t start = fGoodBins[0] - (fGoodBins[0]/packing)*packing; + // end = last bin starting from start which is a multiple of packing and still within the data + Int_t end = start + ((fForward.size()-start)/packing)*packing; + + // check if data range has been provided, and if not try to estimate them + if (start < 0) { + Int_t offset = (Int_t)(10.0e-3/fTimeResolution); + start = ((Int_t)fT0s[0]+offset) - (((Int_t)fT0s[0]+offset)/packing)*packing; + end = start + ((fForward.size()-start)/packing)*packing; + cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **WARNING** data range was not provided, will try data range start = " << start << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + + // check if start, end, and t0 make any sense + // 1st check if start and end are in proper order + if (end < start) { // need to swap them + Int_t keep = end; + end = start; + start = keep; + } + // 2nd check if start is within proper bounds + if ((start < 0) || (start > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **ERROR** start data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 3rd check if end is within proper bounds + if ((end < 0) || (end > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **ERROR** end data bin doesn't make any sense!"; + cerr << endl; + return false; + } + + // everything looks fine, hence fill data set + + // feed the parameter vector + std::vector par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (UInt_t i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + + // calculate asymmetry + Double_t N0; + // check if norm is a parameter or a function + if (fRunInfo->GetNormParamNo() < MSR_PARAM_FUN_OFFSET) { // norm is a parameter + N0 = par[fRunInfo->GetNormParamNo()-1]; + } else { // norm is a function + // get function number + UInt_t funNo = fRunInfo->GetNormParamNo()-MSR_PARAM_FUN_OFFSET; + // evaluate function + N0 = fMsrInfo->EvalFunc(funNo, *fRunInfo->GetMap(), par); + } + N0 *= theoryNorm; + + // get tau + Double_t tau; + if (fRunInfo->GetLifetimeParamNo() != -1) + tau = par[fRunInfo->GetLifetimeParamNo()-1]; + else + tau = PMUON_LIFETIME; + + // get background + Double_t bkg; + if (fRunInfo->GetBkgFitParamNo() == -1) { // bkg not fitted + if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given (background interval) + if (fRunInfo->GetBkgRange(0) >= 0) { // background range given + if (!EstimateBkg(histoNo)) + return false; + } else { // no background given to do the job, try estimate + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); + cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **WARNING** Neither fix background nor background bins are given!"; + cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); + cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; + cerr << endl; + if (!EstimateBkg(histoNo)) + return false; + } + bkg = fBackground; + } else { // fixed bkg given + bkg = fRunInfo->GetBkgFix(0); + } + } else { // bkg fitted + bkg = par[fRunInfo->GetBkgFitParamNo()-1]; + } + bkg *= theoryNorm; + + Double_t value = 0.0; + Double_t expval = 0.0; + Double_t rrf_val = 0.0; + Double_t time = 0.0; + + // data start at data_start-t0 shifted by (pack-1)/2 + fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(packing-1)/2.0)); + fData.SetDataTimeStep(fTimeResolution*packing); + + // data is always normalized to (per nsec!!) + Double_t gammaRRF = 0.0, wRRF = 0.0, phaseRRF = 0.0; + if (fMsrInfo->GetMsrPlotList()->at(0).fRRFFreq == 0.0) { // normal Data representation + for (Int_t i=start; iGetMsrPlotList()->at(0).fRRFUnit) { + case RRF_UNIT_kHz: + gammaRRF = TMath::TwoPi()*1.0e-3; + break; + case RRF_UNIT_MHz: + gammaRRF = TMath::TwoPi(); + break; + case RRF_UNIT_Mcs: + gammaRRF = 1.0; + break; + case RRF_UNIT_G: + gammaRRF = GAMMA_BAR_MUON*TMath::TwoPi(); + break; + case RRF_UNIT_T: + gammaRRF = GAMMA_BAR_MUON*TMath::TwoPi()*1.0e4; + break; + default: + gammaRRF = TMath::TwoPi(); + break; + } + wRRF = gammaRRF * fMsrInfo->GetMsrPlotList()->at(0).fRRFFreq; + phaseRRF = fMsrInfo->GetMsrPlotList()->at(0).fRRFPhase / 180.0 * TMath::Pi(); + + Double_t error = 0.0; + for (Int_t i=start; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate theory + Double_t theoryValue; + UInt_t size = fForward.size(); + Double_t factor = 1.0; + UInt_t rebinRRF = 0; + + if (wRRF == 0) { // no RRF + // check if a finer binning for the theory is needed + if (fData.GetValue()->size() * 10 > fForward.size()) { + size = fData.GetValue()->size() * 10; + factor = (Double_t)fForward.size() / (Double_t)size; + } + fData.SetTheoryTimeStart(fData.GetDataTimeStart()); + fData.SetTheoryTimeStep(fTimeResolution*factor); + } else { // RRF + rebinRRF = static_cast((TMath::Pi()/2.0/wRRF)/fTimeResolution); // RRF time resolution / data time resolution + fData.SetTheoryTimeStart(fData.GetDataTimeStart()); + fData.SetTheoryTimeStep(TMath::Pi()/2.0/wRRF/rebinRRF); // = theory time resolution as close as possible to the data time resolution compatible with wRRF + } + + for (UInt_t i=0; iFunc(time, par, fFuncValues); + if (wRRF != 0.0) { + theoryValue *= 2.0*TMath::Cos(wRRF * time + phaseRRF); + } + if (fabs(theoryValue) > 10.0) { // dirty hack needs to be fixed!! + theoryValue = 0.0; + } + fData.AppendTheoryValue(theoryValue); + } + + // if RRF filter the theory with a FIR Kaiser low pass filter + if (wRRF != 0.0) { + // rebin theory to the RRF frequency + if (rebinRRF != 0) { + Double_t dval = 0.0; + PDoubleVector theo; + for (UInt_t i=0; isize(); i++) { + if ((i % rebinRRF == 0) && (i != 0)) { + theo.push_back(dval/rebinRRF); + dval = 0.0; + } + dval += fData.GetTheory()->at(i); + } + fData.SetTheoryTimeStart(fData.GetTheoryTimeStart()+static_cast(rebinRRF-1)*fData.GetTheoryTimeStep()/2.0); + fData.SetTheoryTimeStep(rebinRRF*fData.GetTheoryTimeStep()); + fData.ReplaceTheory(theo); + theo.clear(); + } + + // filter theory + CalculateKaiserFilterCoeff(wRRF, 60.0, 0.2); // w_c = wRRF, A = -20 log_10(delta), Delta w / w_c = (w_s - w_p) / (2 w_c) + FilterTheo(); + } + + // clean up + par.clear(); +*/ + return true; +} + +//-------------------------------------------------------------------------- +// GetProperT0 (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper t0 for the single histogram run. + * -# the t0 vector size = number of detectors (grouping) for forward. + * -# initialize t0's with -1 + * -# fill t0's from RUN block + * -# if t0's are missing (i.e. t0 == -1), try to fill from the GLOBAL block. + * -# if t0's are missing, try t0's from the data file + * -# if t0's are missing, try to estimate them + * + * \param runData pointer to the current RUN block entry from the msr-file + * \param globalBlock pointer to the GLOBLA block entry from the msr-file + * \param histoNo histogram number vector of forward; histoNo = msr-file forward + redGreen_offset - 1 + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunSingleHistoRRF::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &histoNo) +{ + // feed all T0's + // first init T0's, T0's are stored as (forward T0, backward T0, etc.) + fT0s.clear(); + fT0s.resize(histoNo.size()); + for (UInt_t i=0; iGetT0BinSize(); i++) { + fT0s[i] = fRunInfo->GetT0Bin(i); + } + + // fill in the T0's from the GLOBAL block section (if present) + for (UInt_t i=0; iGetT0BinSize(); i++) { + if (fT0s[i] == -1) { // i.e. not given in the RUN block section + fT0s[i] = globalBlock->GetT0Bin(i); + } + } + + // fill in the T0's from the data file, if not already present in the msr-file + for (UInt_t i=0; iGetT0Bin(histoNo[i]) > 0.0) { + fT0s[i] = runData->GetT0Bin(histoNo[i]); + fRunInfo->SetT0Bin(fT0s[i], i); // keep value for the msr-file + } + } + } + + // fill in the T0's gaps, i.e. in case the T0's are NOT in the msr-file and NOT in the data file + for (UInt_t i=0; iGetT0BinEstimated(histoNo[i]); + fRunInfo->SetT0Bin(fT0s[i], i); // keep value for the msr-file + + cerr << endl << ">> PRunSingleHistoRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName()->Data(); + cerr << endl << ">> will try the estimated one: forward t0 = " << runData->GetT0BinEstimated(histoNo[i]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + + // check if t0 is within proper bounds + for (UInt_t i=0; iGetForwardHistoNoSize(); i++) { + if ((fT0s[i] < 0) || (fT0s[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunSingleHistoRRF::GetProperT0(): **ERROR** t0 data bin (" << fT0s[i] << ") doesn't make any sense!"; + cerr << endl; + return false; + } + } + + // check if there are runs to be added to the current one. If yes keep the needed t0's + if (fRunInfo->GetRunNameSize() > 1) { // runs to be added present + PRawRunData *addRunData; + fAddT0s.resize(fRunInfo->GetRunNameSize()-1); // resize to the number of addruns + for (UInt_t i=1; iGetRunNameSize(); i++) { + + // get run to be added to the main one + addRunData = fRawData->GetRunData(*fRunInfo->GetRunName(i)); + if (addRunData == 0) { // couldn't get run + cerr << endl << ">> PRunSingleHistoRRF::GetProperT0(): **ERROR** Couldn't get addrun " << fRunInfo->GetRunName(i)->Data() << "!"; + cerr << endl; + return false; + } + + // feed all T0's + // first init T0's, T0's are stored as (forward T0, backward T0, etc.) + fAddT0s[i-1].resize(histoNo.size()); + for (UInt_t j=0; jGetT0BinSize(); j++) { + fAddT0s[i-1][j] = fRunInfo->GetAddT0Bin(i-1,j); // addRunIdx starts at 0 + } + + // fill in the T0's from the data file, if not already present in the msr-file + for (UInt_t j=0; jGetT0Bin(histoNo[j]) > 0.0) { + fAddT0s[i-1][j] = addRunData->GetT0Bin(histoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][j], i-1, j); // keep value for the msr-file + } + } + + // fill in the T0's gaps, i.e. in case the T0's are NOT in the msr-file and NOT in the data file + for (UInt_t j=0; jGetT0BinEstimated(histoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][j], i-1, j); // keep value for the msr-file + + cerr << endl << ">> PRunSingleHistoRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName(i)->Data(); + cerr << endl << ">> will try the estimated one: forward t0 = " << addRunData->GetT0BinEstimated(histoNo[j]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + + // check if t0 is within proper bounds + for (UInt_t j=0; jGetForwardHistoNoSize(); j++) { + if ((fAddT0s[i-1][j] < 0) || (fAddT0s[i-1][j] > (Int_t)addRunData->GetDataBin(histoNo[j])->size())) { + cerr << endl << ">> PRunSingleHistoRRF::GetProperT0(): **ERROR** addt0 data bin (" << fAddT0s[i-1][j] << ") doesn't make any sense!"; + cerr << endl; + return false; + } + } + } + } + + return true; +} + +//-------------------------------------------------------------------------- +// GetProperDataRange (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper data range, i.e. first/last good bin (fgb/lgb). + * -# get fgb/lgb from the RUN block + * -# if fgb/lgb still undefined, try to get it from the GLOBAL block + * -# if fgb/lgb still undefined, try to estimate them. + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunSingleHistoRRF::GetProperDataRange() +{ + // get start/end data + Int_t start; + Int_t end; + start = fRunInfo->GetDataRange(0); + end = fRunInfo->GetDataRange(1); + + // check if data range has been given in the RUN block, if not try to get it from the GLOBAL block + if (start < 0) { + start = fMsrInfo->GetMsrGlobal()->GetDataRange(0); + } + if (end < 0) { + end = fMsrInfo->GetMsrGlobal()->GetDataRange(1); + } + + // check if data range has been provided, and if not try to estimate them + if (start < 0) { + Int_t offset = (Int_t)(10.0e-3/fTimeResolution); + start = (Int_t)fT0s[0]+offset; + fRunInfo->SetDataRange(start, 0); + cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **WARNING** data range was not provided, will try data range start = t0+" << offset << "(=10ns) = " << start << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + if (end < 0) { + end = fForward.size(); + fRunInfo->SetDataRange(end, 1); + cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **WARNING** data range was not provided, will try data range end = " << end << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + + // check if start and end make any sense + // 1st check if start and end are in proper order + if (end < start) { // need to swap them + Int_t keep = end; + end = start; + start = keep; + } + // 2nd check if start is within proper bounds + if ((start < 0) || (start > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **ERROR** start data bin (" << start << ") doesn't make any sense!"; + cerr << endl; + return false; + } + // 3rd check if end is within proper bounds + if ((end < 0) || (end > (Int_t)fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **ERROR** end data bin (" << end << ") doesn't make any sense!"; + cerr << endl; + return false; + } + + // keep good bins for potential later use + fGoodBins[0] = start; + fGoodBins[1] = end; + + return true; +} + +//-------------------------------------------------------------------------- +// GetProperFitRange (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper fit range. There are two possible fit range commands: + * fit given in (usec), or + * fit fgb+offset_0 lgb-offset_1 given in (bins), therefore it works the following way: + * -# get fit range assuming given in time from RUN block + * -# if fit range in RUN block is given in bins, replace start/end + * -# if fit range is NOT given yet, try fit range assuming given in time from GLOBAL block + * -# if fit range in GLOBAL block is given in bins, replace start/end + * -# if still no fit range is given, use fgb/lgb. + * + * \param globalBlock pointer to the GLOBAL block information form the msr-file. + */ +void PRunSingleHistoRRF::GetProperFitRange(PMsrGlobalBlock *globalBlock) +{ + // set fit start/end time; first check RUN Block + fFitStartTime = fRunInfo->GetFitRange(0); + fFitEndTime = fRunInfo->GetFitRange(1); + // if fit range is given in bins (and not time), the fit start/end time can be calculated at this point now + if (fRunInfo->IsFitRangeInBin()) { + fFitStartTime = (fGoodBins[0] + fRunInfo->GetFitRangeOffset(0) - fT0s[0]) * fTimeResolution; // (fgb+n0-t0)*dt + fFitEndTime = (fGoodBins[1] - fRunInfo->GetFitRangeOffset(1) - fT0s[0]) * fTimeResolution; // (lgb-n1-t0)*dt + // write these times back into the data structure. This way it is available when writting the log-file + fRunInfo->SetFitRange(fFitStartTime, 0); + fRunInfo->SetFitRange(fFitEndTime, 1); + } + if (fFitStartTime == PMUSR_UNDEFINED) { // fit start/end NOT found in the RUN block, check GLOBAL block + fFitStartTime = globalBlock->GetFitRange(0); + fFitEndTime = globalBlock->GetFitRange(1); + // if fit range is given in bins (and not time), the fit start/end time can be calculated at this point now + if (globalBlock->IsFitRangeInBin()) { + fFitStartTime = (fGoodBins[0] + globalBlock->GetFitRangeOffset(0) - fT0s[0]) * fTimeResolution; // (fgb+n0-t0)*dt + fFitEndTime = (fGoodBins[1] - globalBlock->GetFitRangeOffset(1) - fT0s[0]) * fTimeResolution; // (lgb-n1-t0)*dt + // write these times back into the data structure. This way it is available when writting the log-file + globalBlock->SetFitRange(fFitStartTime, 0); + globalBlock->SetFitRange(fFitEndTime, 1); + } + } + if ((fFitStartTime == PMUSR_UNDEFINED) || (fFitEndTime == PMUSR_UNDEFINED)) { + fFitStartTime = (fGoodBins[0] - fT0s[0]) * fTimeResolution; // (fgb-t0)*dt + fFitEndTime = (fGoodBins[1] - fT0s[0]) * fTimeResolution; // (lgb-t0)*dt + cerr << ">> PRunSingleHistoRRF::GetProperFitRange(): **WARNING** Couldn't get fit start/end time!" << endl; + cerr << ">> Will set it to fgb/lgb which given in time is: " << fFitStartTime << "..." << fFitEndTime << " (usec)" << endl; + } +} + +//-------------------------------------------------------------------------- +// EstimateN0 (private) +//-------------------------------------------------------------------------- +/** + *

Estimate the N0 for the given run. + */ +Double_t PRunSingleHistoRRF::EstimateN0() +{ + Int_t endBin = N0EstimateEndTime / fTimeResolution; + Double_t n0 = 0.0; + cout << "debug> PRunSingleHistoRRF::EstimateN0(): startBin=" << fGoodBins[0] << ", endBin=" << endBin << endl; + for (Int_t i=fGoodBins[0]; i PRunSingleHistoRRF::EstimateN0(): N0=" << n0 << endl; + + return n0; +} + +//-------------------------------------------------------------------------- +// EstimatBkg (private) +//-------------------------------------------------------------------------- +/** + *

Estimate the background for a given interval. + * + * return: + * - true, if everything went smooth + * - false, otherwise + * + * \param histoNo forward histogram number of the run + */ +Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo) +{ + Double_t beamPeriod = 0.0; + + // check if data are from PSI, RAL, or TRIUMF + if (fRunInfo->GetInstitute()->Contains("psi")) + beamPeriod = ACCEL_PERIOD_PSI; + else if (fRunInfo->GetInstitute()->Contains("ral")) + beamPeriod = ACCEL_PERIOD_RAL; + else if (fRunInfo->GetInstitute()->Contains("triumf")) + beamPeriod = ACCEL_PERIOD_TRIUMF; + else + beamPeriod = 0.0; + + // check if start and end are in proper order + UInt_t start = fRunInfo->GetBkgRange(0); + UInt_t end = fRunInfo->GetBkgRange(1); + if (end < start) { + cout << endl << "PRunSingleHistoRRF::EstimatBkg(): end = " << end << " > start = " << start << "! Will swap them!"; + UInt_t keep = end; + end = start; + start = keep; + } + + // calculate proper background range + if (beamPeriod != 0.0) { + Double_t timeBkg = (Double_t)(end-start)*(fTimeResolution*fPacking); // length of the background intervall in time + UInt_t fullCycles = (UInt_t)(timeBkg/beamPeriod); // how many proton beam cylces can be placed within the proposed background intervall + // correct the end of the background intervall such that the background is as close as possible to a multiple of the proton cylce + end = start + (UInt_t) ((fullCycles*beamPeriod)/(fTimeResolution*fPacking)); + cout << endl << "PRunSingleHistoRRF::EstimatBkg(): Background " << start << ", " << end; + if (end == start) + end = fRunInfo->GetBkgRange(1); + } + + // check if start is within histogram bounds + if ((start < 0) || (start >= fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::EstimatBkg(): **ERROR** background bin values out of bound!"; + cerr << endl << ">> histo lengths = " << fForward.size(); + cerr << endl << ">> background start = " << start; + cerr << endl; + return false; + } + + // check if end is within histogram bounds + if ((end < 0) || (end >= fForward.size())) { + cerr << endl << ">> PRunSingleHistoRRF::EstimatBkg(): **ERROR** background bin values out of bound!"; + cerr << endl << ">> histo lengths = " << fForward.size(); + cerr << endl << ">> background end = " << end; + cerr << endl; + return false; + } + + // calculate background + Double_t bkg = 0.0; + + // forward + for (UInt_t i=start; i(end - start + 1); + + fBackground = bkg * fPacking; // keep background (per bin) + + fRunInfo->SetBkgEstimated(fBackground, 0); + + return true; +} diff --git a/src/include/PRunListCollection.h b/src/include/PRunListCollection.h index 8a741416..acc4018a 100644 --- a/src/include/PRunListCollection.h +++ b/src/include/PRunListCollection.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -37,6 +37,7 @@ using namespace std; #include "PMsrHandler.h" #include "PRunDataHandler.h" #include "PRunSingleHisto.h" +#include "PRunSingleHistoRRF.h" #include "PRunAsymmetry.h" #include "PRunMuMinus.h" #include "PRunNonMusr.h" @@ -58,6 +59,7 @@ class PRunListCollection virtual void SetFitRange(const TString fitRange); virtual Double_t GetSingleHistoChisq(const std::vector& par) const; + virtual Double_t GetSingleHistoRRFChisq(const std::vector& par) const; virtual Double_t GetAsymmetryChisq(const std::vector& par) const; virtual Double_t GetMuMinusChisq(const std::vector& par) const; virtual Double_t GetNonMusrChisq(const std::vector& par) const; @@ -66,6 +68,7 @@ class PRunListCollection virtual Double_t GetSingleRunChisq(const std::vector& par, const UInt_t idx) const; virtual Double_t GetSingleHistoMaximumLikelihood(const std::vector& par) const; + virtual Double_t GetSingleHistoRRFMaximumLikelihood(const std::vector& par) const; virtual Double_t GetAsymmetryMaximumLikelihood(const std::vector& par) const; virtual Double_t GetMuMinusMaximumLikelihood(const std::vector& par) const; virtual Double_t GetNonMusrMaximumLikelihood(const std::vector& par) const; @@ -74,11 +77,13 @@ class PRunListCollection virtual UInt_t GetTotalNoOfBinsFitted() const; virtual UInt_t GetNoOfSingleHisto() const { return fRunSingleHistoList.size(); } ///< returns the number of single histogram data sets present in the msr-file + virtual UInt_t GetNoOfSingleHistoRRF() const { return fRunSingleHistoRRFList.size(); } ///< returns the number of single histogram RRF data sets present in the msr-file virtual UInt_t GetNoOfAsymmetry() const { return fRunAsymmetryList.size(); } ///< returns the number of asymmetry data sets present in the msr-file virtual UInt_t GetNoOfMuMinus() const { return fRunMuMinusList.size(); } ///< returns the number of mu minus data sets present in the msr-file virtual UInt_t GetNoOfNonMusr() const { return fRunNonMusrList.size(); } ///< returns the number of non-muSR data sets present in the msr-file virtual PRunData* GetSingleHisto(UInt_t index, EDataSwitch tag=kIndex); + virtual PRunData* GetSingleHistoRRF(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetAsymmetry(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetMuMinus(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetNonMusr(UInt_t index, EDataSwitch tag=kIndex); @@ -94,10 +99,11 @@ class PRunListCollection PMsrHandler *fMsrInfo; ///< pointer to the msr-file handler PRunDataHandler *fData; ///< pointer to the run-data handler - vector fRunSingleHistoList; ///< stores all processed single histogram data - vector fRunAsymmetryList; ///< stores all processed asymmetry data - vector fRunMuMinusList; ///< stores all processed mu-minus data - vector fRunNonMusrList; ///< stores all processed non-muSR data + vector fRunSingleHistoList; ///< stores all processed single histogram data + vector fRunSingleHistoRRFList; ///< stores all processed single histogram RRF data + vector fRunAsymmetryList; ///< stores all processed asymmetry data + vector fRunMuMinusList; ///< stores all processed mu-minus data + vector fRunNonMusrList; ///< stores all processed non-muSR data }; #endif // _PRUNLISTCOLLECTION_H_ diff --git a/src/include/PRunSingleHistoRRF.h b/src/include/PRunSingleHistoRRF.h new file mode 100644 index 00000000..17980533 --- /dev/null +++ b/src/include/PRunSingleHistoRRF.h @@ -0,0 +1,79 @@ +/*************************************************************************** + + PRunSingleHistoRRF.h + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _PRUNSINGLEHISTORRF_H_ +#define _PRUNSINGLEHISTORRF_H_ + +#include "PRunBase.h" + +/** + *

Class handling single histogram fit type. + */ +class PRunSingleHistoRRF : public PRunBase +{ + public: + PRunSingleHistoRRF(); + PRunSingleHistoRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag); + virtual ~PRunSingleHistoRRF(); + + virtual Double_t CalcChiSquare(const std::vector& par); + virtual Double_t CalcChiSquareExpected(const std::vector& par); + virtual Double_t CalcMaxLikelihood(const std::vector& par); + virtual void CalcTheory(); + + virtual UInt_t GetNoOfFitBins(); + + virtual void SetFitRangeBin(const TString fitRange); + + protected: + virtual void CalcNoOfFitBins(); + virtual Bool_t PrepareData(); + virtual Bool_t PrepareFitData(PRawRunData* runData, const UInt_t histoNo); + virtual Bool_t PrepareRawViewData(PRawRunData* runData, const UInt_t histoNo); + virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo); + + private: + static const Double_t N0EstimateEndTime = 2.0; ///< end time in (us) over which N0 is estimated. Should evetually go into the musrfit_startup.xml + + UInt_t fNoOfFitBins; ///< number of bins to be fitted + Double_t fBackground; ///< needed if background range is given (units: 1/bin) + Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block. + + Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb + + PDoubleVector fForward; ///< forward histo data + + virtual Bool_t GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &histoNo); + virtual Bool_t GetProperDataRange(); + virtual void GetProperFitRange(PMsrGlobalBlock *globalBlock); + virtual Double_t EstimateN0(); + virtual Bool_t EstimateBkg(UInt_t histoNo); +}; + +#endif // _PRUNSINGLEHISTORRF_H_ diff --git a/src/musrfit.cpp b/src/musrfit.cpp index 060534f0..13e72c18 100644 --- a/src/musrfit.cpp +++ b/src/musrfit.cpp @@ -175,10 +175,10 @@ void musrfit_dump_ascii(char *fileName, PRunListCollection *runList) // go through the run list, get the data and dump it in a file int runCounter = 0; + PRunData *data; // single histos unsigned int size = runList->GetNoOfSingleHisto(); - PRunData *data; if (size > 0) { for (unsigned int i=0; iGetSingleHisto(i); @@ -190,6 +190,19 @@ void musrfit_dump_ascii(char *fileName, PRunListCollection *runList) } } + // single histos + size = runList->GetNoOfSingleHistoRRF(); + if (size > 0) { + for (unsigned int i=0; iGetSingleHistoRRF(i); + if (data) { + // dump data + musrfit_write_ascii(fln, data, runCounter); + runCounter++; + } + } + } + // asymmetry size = runList->GetNoOfAsymmetry(); if (size > 0) { @@ -308,10 +321,10 @@ void musrfit_dump_root(char *fileName, PRunListCollection *runList) // go through the run list, get the data and dump it in a file int runCounter = 0; + PRunData *data; // single histos unsigned int size = runList->GetNoOfSingleHisto(); - PRunData *data; if (size > 0) { for (unsigned int i=0; iGetSingleHisto(i); @@ -323,6 +336,19 @@ void musrfit_dump_root(char *fileName, PRunListCollection *runList) } } + // single histo RRF + size = runList->GetNoOfSingleHistoRRF(); + if (size > 0) { + for (unsigned int i=0; iGetSingleHistoRRF(i); + if (data) { + // dump data + musrfit_write_root(f, fln, data, runCounter); + runCounter++; + } + } + } + // asymmetry size = runList->GetNoOfAsymmetry(); if (size > 0) { From 7d315b2b86cb3d9169fcfb49b44d1360aa5d88d7 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Wed, 6 Jan 2016 17:33:41 +0100 Subject: [PATCH 04/17] implemented proper error propagation and improved N0 estimate. --- src/classes/PRunSingleHistoRRF.cpp | 82 +++++++++++++++++++++--------- src/include/PRunSingleHistoRRF.h | 10 ++-- 2 files changed, 65 insertions(+), 27 deletions(-) diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index 856935af..60f69ca7 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -563,11 +563,13 @@ Bool_t PRunSingleHistoRRF::PrepareData() Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t histoNo) { // keep the raw data for the RRF asymmetry error estimate for later - PDoubleVector sqrtNt; + PDoubleVector rawNt; for (UInt_t i=0; iGetBkgFitParamNo() == -1) { // bkg shall **NOT** be fitted // subtract background from histogramms ------------------------------------------ @@ -589,8 +591,10 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his for (UInt_t i=0; iGetBkgFix(0); } + fBackground = fRunInfo->GetBkgFix(0); } } + // here fForward = N(t) - Nbkg Int_t t0 = (Int_t)fT0s[0]; @@ -601,20 +605,40 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): endTime =" << startTime+fTimeResolution*((Double_t)fGoodBins[1]-(Double_t)t0) << endl; Double_t time_tau=0.0; + Double_t exp_t_tau=0.0; for (Int_t i=fGoodBins[0]; i 0.0) + fW.push_back(1.0/(fMerr[i]*fMerr[i])); + else + fW.push_back(0.0); + } + // now fForward = exp(+t/tau) [N(t)-Nbkg] = M(t) // 3) estimate N0 - Double_t n0 = EstimateN0(); + Double_t errN0 = 0.0; + Double_t n0 = EstimateN0(errN0); - // 4) A(t) = exp(+t/tau) [N(t)-Nbkg] / N0 - 1.0 + // 4a) A(t) = exp(+t/tau) [N(t)-Nbkg] / N0 - 1.0 for (Int_t i=fGoodBins[0]; i A(t) * cos(wRRF t + phiRRF) + // 4b) error estimate of A(t): errA(t) = exp(+t/tau)/N0 sqrt( N(t) + ([N(t)-N_bkg]/N0)^2 errN0^2 ) + for (Int_t i=fGoodBins[0]; i 2* A(t) * cos(wRRF t + phiRRF), the factor 2.0 is needed since the high frequency part is suppressed. PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); Double_t wRRF = globalBlock->GetRRFFreq("Mc"); Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; @@ -623,7 +647,7 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his Double_t time = 0.0; for (Int_t i=fGoodBins[0]; iEstimate the N0 for the given run. + * + * \param sqrtNt + * \param errN0 */ -Double_t PRunSingleHistoRRF::EstimateN0() +Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0) { - Int_t endBin = N0EstimateEndTime / fTimeResolution; + Int_t endBin = N0EstimateEndTime / fTimeResolution - fGoodBins[0]; Double_t n0 = 0.0; - cout << "debug> PRunSingleHistoRRF::EstimateN0(): startBin=" << fGoodBins[0] << ", endBin=" << endBin << endl; - for (Int_t i=fGoodBins[0]; i PRunSingleHistoRRF::EstimateN0(): endBin=" << endBin << endl; + for (Int_t i=0; i PRunSingleHistoRRF::EstimateN0(): N0=" << n0 << endl; + n0 /= wN; + + errN0 = 0.0; + for (Int_t i=0; i PRunSingleHistoRRF::EstimateN0(): N0=" << n0 << "(" << errN0 << ")" << endl; return n0; } @@ -1475,7 +1507,9 @@ Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo) bkg += fForward[i]; bkg /= static_cast(end - start + 1); - fBackground = bkg * fPacking; // keep background (per bin) + fBackground = bkg; // keep background (per bin) + + cout << endl << "debug> fBackground=" << fBackground << endl; fRunInfo->SetBkgEstimated(fBackground, 0); diff --git a/src/include/PRunSingleHistoRRF.h b/src/include/PRunSingleHistoRRF.h index 17980533..0f60d6c7 100644 --- a/src/include/PRunSingleHistoRRF.h +++ b/src/include/PRunSingleHistoRRF.h @@ -65,14 +65,18 @@ class PRunSingleHistoRRF : public PRunBase Double_t fBackground; ///< needed if background range is given (units: 1/bin) Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block. - Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb + Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb - PDoubleVector fForward; ///< forward histo data + PDoubleVector fForward; ///< forward histo data + PDoubleVector fM; ///< vector holding M(t) = [N(t)-N_bkg] exp(+t/tau). Needed to estimate N0. + PDoubleVector fMerr; ///< vector holding the error of M(t): M_err = exp(+t/tau) sqrt(N(t)). + PDoubleVector fW; ///< vector holding the weight needed to estimate N0, and errN0. + PDoubleVector fAerr; ///< vector holding the errors of estimated A(t) virtual Bool_t GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &histoNo); virtual Bool_t GetProperDataRange(); virtual void GetProperFitRange(PMsrGlobalBlock *globalBlock); - virtual Double_t EstimateN0(); + virtual Double_t EstimateN0(Double_t &errN0); virtual Bool_t EstimateBkg(UInt_t histoNo); }; From 097a6db6b0a9f0a0411b194e76cb9dc5a8d29530 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Thu, 7 Jan 2016 13:19:00 +0100 Subject: [PATCH 05/17] more work towards fully functional RRF single histo fit --- src/classes/PMsrHandler.cpp | 23 +- src/classes/PMusr.cpp | 4 - src/classes/PMusrCanvas.cpp | 180 ++++++---- src/classes/PRunListCollection.cpp | 20 +- src/classes/PRunSingleHistoRRF.cpp | 540 +++++------------------------ src/include/PMusr.h | 9 +- src/include/PRunSingleHistoRRF.h | 3 +- 7 files changed, 227 insertions(+), 552 deletions(-) diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 3a3148d0..e1a19754 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -636,12 +636,8 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) fout.width(16); fout << left << "rrf_freq "; fout.width(8); - -cout << "debug> PMsrHandler::WriteMsrLogFile(): fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data())=" << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) << endl; -neededPrec = LastSignificant(fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()),10); -cout << "debug> PMsrHandler::WriteMsrLogFile(): neededPrec=" << neededPrec << endl; -fout.precision(neededPrec); - + neededPrec = LastSignificant(fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()),10); + fout.precision(neededPrec); fout << left << fixed << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); fout << " " << fGlobal.GetRRFUnit(); fout << endl; @@ -1140,6 +1136,9 @@ fout.precision(neededPrec); case MSR_PLOT_SINGLE_HISTO: fout << "PLOT " << fPlots[plotNo].fPlotType << " (single histo plot)" << endl; break; + case MSR_PLOT_SINGLE_HISTO_RRF: + fout << "PLOT " << fPlots[plotNo].fPlotType << " (single histo RRF plot)" << endl; + break; case MSR_PLOT_ASYM: fout << "PLOT " << fPlots[plotNo].fPlotType << " (asymmetry plot)" << endl; break; @@ -1656,7 +1655,6 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co fout.width(16); fout << left << "rrf_freq "; fout.width(8); -cout << "debug> PMsrHandler::WriteMsrFile(): fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data())=" << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) << endl; fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()); fout << " " << fGlobal.GetRRFUnit(); fout << endl; @@ -2166,6 +2164,9 @@ cout << "debug> PMsrHandler::WriteMsrFile(): fGlobal.GetRRFFreq(fGlobal.GetRRFUn case MSR_PLOT_SINGLE_HISTO: fout << "PLOT " << fPlots[i].fPlotType << " (single histo plot)" << endl; break; + case MSR_PLOT_SINGLE_HISTO_RRF: + fout << "PLOT " << fPlots[i].fPlotType << " (single histo RRF plot)" << endl; + break; case MSR_PLOT_ASYM: fout << "PLOT " << fPlots[i].fPlotType << " (asymmetry plot)" << endl; break; @@ -4136,6 +4137,7 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines) error = true; break; case MSR_PLOT_SINGLE_HISTO: // like: runs 1 5 13 + case MSR_PLOT_SINGLE_HISTO_RRF: case MSR_PLOT_ASYM: case MSR_PLOT_NON_MUSR: case MSR_PLOT_MU_MINUS: @@ -5789,6 +5791,11 @@ Bool_t PMsrHandler::CheckRRFSettings() } } + // if not a RRF fit, done at this point + if (fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) { + return true; + } + // second set of tests: if RRF fit is chosen, do I find the necessary RRF parameters? fittype = fGlobal.GetFitType(); if (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) { // make sure RRF freq and RRF packing are set @@ -5802,7 +5809,7 @@ Bool_t PMsrHandler::CheckRRFSettings() cerr << endl << ">> no RRF packing found in the GLOBAL section! Fix it."; return false; } - } else { + } else { // check single runs for RRF UInt_t rrfFitCounter = 0; for (UInt_t i=0; i PMsrGlobalBlock::GetRRFFreq(" << unit << "): unitTag=" << unitTag << ", fRRFFreq=" << fRRFFreq; - // calc the conversion factor if (unitTag == fRRFUnitTag) freq = fRRFFreq; @@ -770,8 +768,6 @@ cout << endl << "debug> PMsrGlobalBlock::GetRRFFreq(" << unit << "): unitTag=" < else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_Mcs)) freq = fRRFFreq/(TMath::TwoPi()*GAMMA_BAR_MUON)*1e-4; // 1e-4 need for G -> T since GAMMA_BAR_MUON is given in MHz/G -cout << endl << "debug> PMsrGlobalBlock::GetRRFFreq(" << unit << "): freq=" << freq << endl; - return freq; } diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index e34486bf..1982aa4b 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -75,7 +75,7 @@ PMusrCanvasPlotRange::PMusrCanvasPlotRange() void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax) { if (xmin > xmax) { - cerr << endl << "PMusrCanvasPlotRange::SetXRange: **WARNING** xmin > xmax, will swap them." << endl; + cerr << endl << ">> PMusrCanvasPlotRange::SetXRange(): **WARNING** xmin > xmax, will swap them." << endl; fXmin = xmax; fXmax = xmin; } else { @@ -97,7 +97,7 @@ void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax) void PMusrCanvasPlotRange::SetYRange(Double_t ymin, Double_t ymax) { if (ymin > ymax) { - cerr << endl << "PMusrCanvasPlotRange::SetYRange: **WARNING** ymin > ymax, will swap them." << endl; + cerr << endl << ">> PMusrCanvasPlotRange::SetYRange(): **WARNING** ymin > ymax, will swap them." << endl; fYmin = ymax; fYmax = ymin; } else { @@ -405,37 +405,72 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler) } // check if RRF data are present - if ((fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) && - (fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) { + if (((fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) && + (fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) || + (fMsrHandler->GetMsrGlobal()->GetRRFPacking() > 0 && + fMsrHandler->GetMsrGlobal()->GetRRFUnit().CompareTo("??"))) { fRRFLatexText = new TLatex(); fRRFLatexText->SetNDC(kTRUE); fRRFLatexText->SetTextFont(62); fRRFLatexText->SetTextSize(0.03); - fRRFText = new TString("RRF: "); - if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_kHz) { - *fRRFText += TString("#nu_{RRF} = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; - *fRRFText += TString(" (kHz)"); - } else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_MHz) { - *fRRFText += TString("#nu_{RRF} = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; - *fRRFText += TString(" (MHz)"); - } else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_Mcs) { - *fRRFText += TString("#omega_{RRF} = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; - *fRRFText += TString(" (Mc/s)"); - } else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_G) { - *fRRFText += TString("B_{RRF} = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; - *fRRFText += TString(" (G)"); - } else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_T) { - *fRRFText += TString("B_{RRF} = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; - *fRRFText += TString(" (T)"); + Int_t rrfUnitTag = -1; + Double_t rrfFreq = 0.0; + if (fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) { // RRF single histo PLOT + fRRFText = new TString("RRF: "); + rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit; + rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq; + 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 += TString(" (MHz)"); + } else if (rrfUnitTag == RRF_UNIT_Mcs) { + *fRRFText += TString("#omega_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (Mc/s)"); + } else if (rrfUnitTag == RRF_UNIT_G) { + *fRRFText += TString("B_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (G)"); + } else if (rrfUnitTag == RRF_UNIT_T) { + *fRRFText += TString("B_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (T)"); + } + *fRRFText += TString(", RRF packing = "); + *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking; + } else { // RRF single histo FIT + fRRFText = new TString("RRF: "); + rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag(); + rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data()); + 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 += TString(" (MHz)"); + } else if (rrfUnitTag == RRF_UNIT_Mcs) { + *fRRFText += TString("#omega_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (Mc/s)"); + } else if (rrfUnitTag == RRF_UNIT_G) { + *fRRFText += TString("B_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (G)"); + } else if (rrfUnitTag == RRF_UNIT_T) { + *fRRFText += TString("B_{RRF} = "); + *fRRFText += rrfFreq; + *fRRFText += TString(" (T)"); + } + *fRRFText += TString(", RRF packing = "); + *fRRFText += fMsrHandler->GetMsrGlobal()->GetRRFPacking(); } - *fRRFText += TString(", RRF packing = "); - *fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking; } } @@ -609,7 +644,7 @@ void PMusrCanvas::UpdateDataTheoryPad() // first check that plot number is smaller than the maximal number of runs if ((Int_t)plotInfo.fRuns[i] > (Int_t)runs.size()) { fValid = false; - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** run plot number " << (Int_t)plotInfo.fRuns[i] << " is larger than the number of runs " << runs.size(); + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** run plot number " << (Int_t)plotInfo.fRuns[i] << " is larger than the number of runs " << runs.size(); cerr << endl; return; } @@ -620,7 +655,7 @@ void PMusrCanvas::UpdateDataTheoryPad() } if (fitType == -1) { fValid = false; - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** plottype = " << fPlotType; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** plottype = " << fPlotType; cerr << ", fittype = " << runs[runNo].GetFitType() << "(RUN block)/"; cerr << "fittype = " << globalBlock->GetFitType() << "(GLOBAL block). However, they have to correspond!"; cerr << endl; @@ -643,7 +678,19 @@ void PMusrCanvas::UpdateDataTheoryPad() if (!data) { // something wrong fValid = false; // error message - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a single histogram plot"; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a single histogram plot"; + cerr << endl; + return; + } + // handle data + HandleDataSet(i, runNo, data); + break; + case MSR_FITTYPE_SINGLE_HISTO_RRF: + data = fRunList->GetSingleHistoRRF(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a single histogram RRF plot"; cerr << endl; return; } @@ -655,7 +702,7 @@ void PMusrCanvas::UpdateDataTheoryPad() if (!data) { // something wrong fValid = false; // error message - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a asymmetry plot"; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a asymmetry plot"; cerr << endl; return; } @@ -667,7 +714,7 @@ void PMusrCanvas::UpdateDataTheoryPad() if (!data) { // something wrong fValid = false; // error message - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a mu minus single histogram plot"; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a mu minus single histogram plot"; cerr << endl; return; } @@ -679,7 +726,7 @@ void PMusrCanvas::UpdateDataTheoryPad() if (!data) { // something wrong fValid = false; // error message - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a none musr data plot"; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a none musr data plot"; cerr << endl; return; } @@ -699,7 +746,7 @@ void PMusrCanvas::UpdateDataTheoryPad() default: fValid = false; // error message - cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** wrong plottype tag?!"; + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** wrong plottype tag?!"; cerr << endl; return; break; @@ -1409,7 +1456,7 @@ void PMusrCanvas::SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat) } if (idx == -1) { - cerr << endl << "PMusrCanvas::SaveGraphicsAndQuit **ERROR**: fileName (" << fileName << ") is invalid." << endl; + cerr << endl << ">> PMusrCanvas::SaveGraphicsAndQuit(): **ERROR** fileName (" << fileName << ") is invalid." << endl; return; } @@ -1439,7 +1486,7 @@ void PMusrCanvas::SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat) void PMusrCanvas::ExportData(const Char_t *fileName) { if (fileName == 0) { // path file name NOT provided, generate a default path file name - cerr << endl << ">> PMusrCanvas::ExportData **ERROR** NO path file name provided. Will do nothing." << endl; + cerr << endl << ">> PMusrCanvas::ExportData(): **ERROR** NO path file name provided. Will do nothing." << endl; return; } @@ -2094,7 +2141,7 @@ void PMusrCanvas::ExportData(const Char_t *fileName) // open output data-file fout.open(fileName, iostream::out); if (!fout.is_open()) { - cerr << endl << ">> PMusrCanvas::ExportData: **ERROR** couldn't open file " << fileName << " for writing." << endl; + cerr << endl << ">> PMusrCanvas::ExportData(): **ERROR** couldn't open file " << fileName << " for writing." << endl; return; } @@ -2433,7 +2480,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, canvasName += fPlotNumber; fMainCanvas = new TCanvas(canvasName.Data(), title, wtopx, wtopy, ww, wh); if (fMainCanvas == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke " << canvasName.Data(); + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke " << canvasName.Data(); cerr << endl; return; } @@ -2479,7 +2526,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // title pad fTitlePad = new TPaveText(0.0, YTITLE, 1.0, 1.0, "NDC"); if (fTitlePad == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fTitlePad"; + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTitlePad"; cerr << endl; return; } @@ -2491,7 +2538,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // data/theory pad fDataTheoryPad = new TPad("dataTheoryPad", "dataTheoryPad", 0.0, YINFO, XTHEO, YTITLE); if (fDataTheoryPad == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fDataTheoryPad"; + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fDataTheoryPad"; cerr << endl; return; } @@ -2501,7 +2548,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // parameter pad fParameterPad = new TPaveText(XTHEO, 0.5, 1.0, YTITLE, "NDC"); if (fParameterPad == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fParameterPad"; + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fParameterPad"; cerr << endl; return; } @@ -2512,7 +2559,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // theory pad fTheoryPad = new TPaveText(XTHEO, 0.1, 1.0, 0.5, "NDC"); if (fTheoryPad == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fTheoryPad"; + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTheoryPad"; cerr << endl; return; } @@ -2524,7 +2571,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy, // info pad fInfoPad = new TLegend(0.0, 0.0, 1.0, YINFO, "NDC"); if (fInfoPad == 0) { - cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fInfoPad"; + cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fInfoPad"; cerr << endl; return; } @@ -2929,9 +2976,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) Double_t dval = (startFitRange - data->GetDataTimeStart())/data->GetDataTimeStep(); if (dval < 0.0) { // make sure that startBin >= 0 startBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that startBin <= length of data vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',"; cerr << endl << ">> will set it to data vector size" << endl << endl; startBin = data->GetValue()->size(); } else { @@ -2945,9 +2992,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) dval = (endFitRange - data->GetDataTimeStart())/data->GetDataTimeStep(); if (dval < 0.0) { // make sure that endBin >= 0 endBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that endBin <= length of data vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',"; cerr << endl << ">> will set it to data vector size" << endl << endl; endBin = data->GetValue()->size(); } else { @@ -2960,9 +3007,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) Double_t dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmin[runNo] - data->GetDataTimeStart())/data->GetDataTimeStep(); if (dval < 0.0) { // make sure that startBin >= 0 startBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that startBin <= length of data vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',"; cerr << endl << ">> will set it to data vector size" << endl << endl; startBin = data->GetValue()->size(); } else { @@ -2972,9 +3019,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmax[runNo] - data->GetDataTimeStart())/data->GetDataTimeStep(); if (dval < 0.0) { // make sure that endBin >= 0 endBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that endtBin <= length of data vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',"; cerr << endl << ">> will set it to data vector size" << endl << endl; endBin = data->GetValue()->size(); } else { @@ -3061,9 +3108,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) Double_t dval = (startFitRange - data->GetDataTimeStart())/data->GetTheoryTimeStep(); if (dval < 0.0) { // make sure that startBin >= 0 startBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that startBin <= length of theory vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',"; cerr << endl << ">> will set it to theory vector size" << endl << endl; startBin = data->GetTheory()->size(); } else { @@ -3077,9 +3124,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) dval = (endFitRange - data->GetDataTimeStart())/data->GetTheoryTimeStep(); if (dval < 0.0) { // make sure that endBin >= 0 endBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that endBin <= length of theory vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',"; cerr << endl << ">> will set it to theory vector size" << endl << endl; endBin = data->GetTheory()->size(); } else { @@ -3095,9 +3142,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) Double_t dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmin[runNo] -data->GetDataTimeStart())/data->GetTheoryTimeStep(); if (dval < 0.0) { // make sure that startBin >= 0 startBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that startBin <= length of theory vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',"; cerr << endl << ">> will set it to theory vector size" << endl << endl; startBin = data->GetTheory()->size(); } else { @@ -3107,9 +3154,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data) dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmax[runNo] -data->GetDataTimeStart())/data->GetTheoryTimeStep(); if (dval < 0.0) { // make sure that endBin >= 0 endBin = 0; - cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl; } else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that endtBin <= length of theory vector - cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',"; + cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',"; cerr << endl << ">> will set it to theory vector size" << endl << endl; endBin = data->GetTheory()->size(); } else { @@ -3418,7 +3465,7 @@ void PMusrCanvas::HandleFourier() // calculate fourier transform of the data PFourier fourierData(fData[i].data, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, fFourier.fFourierPower); if (!fourierData.IsValid()) { - cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier data ..." << endl; + cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier data ..." << endl; return; } fourierData.Transform(fFourier.fApodization); @@ -3458,7 +3505,7 @@ void PMusrCanvas::HandleFourier() Int_t powerPad = (Int_t)round(log((endTime-startTime)/fData[i].theory->GetBinWidth(1))/log(2))+3; PFourier fourierTheory(fData[i].theory, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, powerPad); if (!fourierTheory.IsValid()) { - cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier theory ..." << endl; + cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier theory ..." << endl; return; } fourierTheory.Transform(fFourier.fApodization); @@ -3578,7 +3625,7 @@ void PMusrCanvas::HandleDifferenceFourier() // calculate fourier transform of the data PFourier fourierData(fData[i].diff, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, fFourier.fFourierPower); if (!fourierData.IsValid()) { - cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier diff ..." << endl; + cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier diff ..." << endl; return; } fourierData.Transform(fFourier.fApodization); @@ -4648,14 +4695,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom) fDataTheoryPad->SetLogy(1); // set x-axis label - fHistoFrame->GetXaxis()->SetTitle("time (#mus)"); + fHistoFrame->GetXaxis()->SetTitle("Time (#mus)"); // set y-axis label TString yAxisTitle; PMsrRunList *runList = fMsrHandler->GetMsrRunList(); switch (fPlotType) { case MSR_PLOT_SINGLE_HISTO: if (runList->at(0).IsLifetimeCorrected()) { // lifetime correction - yAxisTitle = "asymmetry"; + yAxisTitle = "Asymmetry"; } else { // no liftime correction if (fScaleN0AndBkg) yAxisTitle = "N(t) per nsec"; @@ -4663,8 +4710,11 @@ void PMusrCanvas::PlotData(Bool_t unzoom) yAxisTitle = "N(t) per bin"; } break; + case MSR_PLOT_SINGLE_HISTO_RRF: + yAxisTitle = "RRF Asymmetry"; + break; case MSR_PLOT_ASYM: - yAxisTitle = "asymmetry"; + yAxisTitle = "Asymmetry"; break; case MSR_PLOT_MU_MINUS: yAxisTitle = "N(t) per bin"; diff --git a/src/classes/PRunListCollection.cpp b/src/classes/PRunListCollection.cpp index bc58df51..d5b1d94e 100644 --- a/src/classes/PRunListCollection.cpp +++ b/src/classes/PRunListCollection.cpp @@ -106,8 +106,6 @@ Bool_t PRunListCollection::Add(Int_t runNo, EPMusrHandleTag tag) fitType = (*fMsrInfo->GetMsrGlobal()).GetFitType(); } -cout << "debug> PRunListCollection::Add(): (runNo: " << runNo << "), fitType = " << fitType << endl; - switch (fitType) { case PRUN_SINGLE_HISTO: fRunSingleHistoList.push_back(new PRunSingleHisto(fMsrInfo, fData, runNo, tag)); @@ -115,7 +113,6 @@ cout << "debug> PRunListCollection::Add(): (runNo: " << runNo << "), fitType = " success = false; break; case PRUN_SINGLE_HISTO_RRF: -cout << "debug> PRunListCollection::Add(): add RRF single histo run to PRunListCollection (runNo: " << runNo << ")" << endl; fRunSingleHistoRRFList.push_back(new PRunSingleHistoRRF(fMsrInfo, fData, runNo, tag)); if (!fRunSingleHistoRRFList[fRunSingleHistoRRFList.size()-1]->IsValid()) success = false; @@ -378,16 +375,17 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector& par, return chisq; } + Int_t subIdx = 0; Int_t type = fMsrInfo->GetMsrRunList()->at(idx).GetFitType(); - if (type == -1) { // i.e. not forun in the RUN block, try the GLOBAL block + if (type == -1) { // i.e. not found in the RUN block, try the GLOBAL block type = fMsrInfo->GetMsrGlobal()->GetFitType(); - } - - // count how many entries of this fit-type are present up to idx - UInt_t subIdx = 0; - for (UInt_t i=0; iGetMsrRunList()->at(i).GetFitType() == type) - subIdx++; + subIdx = idx; + } else { // found in the RUN block + // count how many entries of this fit-type are present up to idx + for (UInt_t i=0; iGetMsrRunList()->at(i).GetFitType() == type) + subIdx++; + } } // return the chisq of the single run diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index 60f69ca7..8f1dfb50 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -57,7 +57,7 @@ PRunSingleHistoRRF::PRunSingleHistoRRF() : PRunBase() { fNoOfFitBins = 0; fBackground = 0; - fPacking = -1; + fRRFPacking = -1; // the 2 following variables are need in case fit range is given in bins, and since // the fit range can be changed in the command block, these variables need to be accessible @@ -80,13 +80,26 @@ PRunSingleHistoRRF::PRunSingleHistoRRF(PMsrHandler *msrInfo, PRunDataHandler *ra { fNoOfFitBins = 0; - fPacking = fRunInfo->GetPacking(); - if (fPacking == -1) { // i.e. packing is NOT given in the RUN-block, it must be given in the GLOBAL-block - fPacking = fMsrInfo->GetMsrGlobal()->GetPacking(); + PMsrGlobalBlock *global = msrInfo->GetMsrGlobal(); + + if (!global->IsPresent()) { + cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: no GLOBAL-block present!"; + cerr << endl << ">> For Single Histo RRF the GLOBAL-block is mandatory! Please fix this first."; + cerr << endl; + fValid = false; + return; } - if (fPacking == -1) { // this should NOT happen, somethin is severely wrong - cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: Couldn't find any packing information!"; - cerr << endl << ">> This is very bad :-(, will quit ..."; + + if (!global->GetRRFUnit().CompareTo("??")) { + cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: no RRF-Frequency found!"; + cerr << endl; + fValid = false; + return; + } + + fRRFPacking = global->GetRRFPacking(); + if (fRRFPacking == -1) { + cerr << endl << ">> PRunSingleHistoRRF::PRunSingleHistoRRF(): **SEVERE ERROR**: no RRF-Packing found!"; cerr << endl; fValid = false; return; @@ -521,17 +534,10 @@ Bool_t PRunSingleHistoRRF::PrepareData() // get the fit range for the current RUN block GetProperFitRange(globalBlock); - // get the lifetimecorrection flag - Bool_t lifetimecorrection = false; - PMsrPlotList *plot = fMsrInfo->GetMsrPlotList(); - lifetimecorrection = plot->at(0).fLifeTimeCorrection; - // do the more fit/view specific stuff if (fHandleTag == kFit) success = PrepareFitData(runData, histoNo[0]); - else if ((fHandleTag == kView) && !lifetimecorrection) - success = PrepareRawViewData(runData, histoNo[0]); - else if ((fHandleTag == kView) && lifetimecorrection) + else if (fHandleTag == kView) success = PrepareViewData(runData, histoNo[0]); else success = false; @@ -546,11 +552,13 @@ Bool_t PRunSingleHistoRRF::PrepareData() // PrepareFitData (protected) //-------------------------------------------------------------------------- /** - *

Take the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for fitting. + *

Take the pre-processed data (i.e. grouping and addrun are preformed) and form the RRF histogram for fitting. * The following steps are preformed: * -# get fit start/stop time * -# check that 'first good data bin', 'last good data bin', and 't0' make any sense * -# check how the background shall be handled, i.e. fitted, subtracted from background estimate data range, or subtacted from a given fixed background. + * -# estimate N0 + * -# RRF transformation * -# packing (i.e rebinning) * * return: @@ -571,28 +579,26 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his // 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 - if (fRunInfo->GetBkgFitParamNo() == -1) { // bkg shall **NOT** be fitted - // subtract background from histogramms ------------------------------------------ - if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given - if (fRunInfo->GetBkgRange(0) >= 0) { - if (!EstimateBkg(histoNo)) - return false; - } else { // no background given to do the job, try estimate - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); - cerr << endl << ">> PRunSingleHistoRRF::PrepareFitData(): **WARNING** Neither fix background nor background bins are given!"; - cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); - cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; - cerr << endl; - if (!EstimateBkg(histoNo)) - return false; - } - } else { // fixed background given - for (UInt_t i=0; iGetBkgFix(0); - } - fBackground = fRunInfo->GetBkgFix(0); + // subtract background from histogramms ------------------------------------------ + if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given + if (fRunInfo->GetBkgRange(0) >= 0) { + if (!EstimateBkg(histoNo)) + return false; + } else { // no background given to do the job, try estimate + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); + cerr << endl << ">> PRunSingleHistoRRF::PrepareFitData(): **WARNING** Neither fix background nor background bins are given!"; + cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); + cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; + cerr << endl; + if (!EstimateBkg(histoNo)) + return false; } + } else { // fixed background given + for (UInt_t i=0; iGetBkgFix(0); + } + fBackground = fRunInfo->GetBkgFix(0); } // here fForward = N(t) - Nbkg @@ -600,9 +606,6 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his // 2) N(t) - Nbkg -> exp(+t/tau) [N(t)-Nbkg] Double_t startTime = fTimeResolution * ((Double_t)fGoodBins[0] - (Double_t)t0); - cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): t0=" << t0 << ", fGoodBins[0]=" << fGoodBins[0] << ", fGoodBins[1]=" << fGoodBins[1] << endl; - cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): startTime=" << startTime << endl; - cout << endl << "debug> PRunSingleHistoRRF::PrepareFitData(): endTime =" << startTime+fTimeResolution*((Double_t)fGoodBins[1]-(Double_t)t0) << endl; Double_t time_tau=0.0; Double_t exp_t_tau=0.0; @@ -642,8 +645,6 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); Double_t wRRF = globalBlock->GetRRFFreq("Mc"); Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; - cout << "debug> PRunSingleHistoRRF::PrepareFitData(): wRRF =" << wRRF << endl; - cout << "debug> PRunSingleHistoRRF::PrepareFitData(): phaseRRF =" << phaseRRF << endl; Double_t time = 0.0; for (Int_t i=fGoodBins[0]; iGetRRFPacking(); Double_t dval=0.0; for (Int_t i=fGoodBins[0]; i 1 - if (((i-fGoodBins[0]) % packingRRF == 0) && (i != fGoodBins[0])) { // fill data - dval /= packingRRF; + if (((i-fGoodBins[0]) % fRRFPacking == 0) && (i != fGoodBins[0])) { // fill data + dval /= fRRFPacking; fData.AppendValue(dval); // reset dval dval = 0.0; @@ -672,200 +672,22 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his dval = 0.0; // the packed RRF asymmetry error for (Int_t i=fGoodBins[0]; iTake the pre-processed data (i.e. grouping and addrun are preformed) and form the histogram for viewing - * without any life time correction. - *

The following steps are preformed: - * -# check if view packing is whished. - * -# check that 'first good data bin', 'last good data bin', and 't0' makes any sense - * -# packing (i.e. rebinnig) - * -# calculate theory - * - * return: - * - true, if everything went smooth - * - false, otherwise. - * - * \param runData raw run data handler - * \param histoNo forward histogram number - */ -Bool_t PRunSingleHistoRRF::PrepareRawViewData(PRawRunData* runData, const UInt_t histoNo) -{ -/* - // check if view_packing is wished - Int_t packing = fPacking; - if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { - packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; - } - - // calculate necessary norms - Double_t dataNorm = 1.0, theoryNorm = 1.0; - if (fScaleN0AndBkg) { - dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns - } else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) { - theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking; - } - - // raw data, since PMusrCanvas is doing ranging etc. - // start = the first bin which is a multiple of packing backward from first good data bin - Int_t start = fGoodBins[0] - (fGoodBins[0]/packing)*packing; - // end = last bin starting from start which is a multipl of packing and still within the data - Int_t end = start + ((fForward.size()-start)/packing)*packing; - // check if data range has been provided, and if not try to estimate them - if (start < 0) { - Int_t offset = (Int_t)(10.0e-3/fTimeResolution); - start = ((Int_t)fT0s[0]+offset) - (((Int_t)fT0s[0]+offset)/packing)*packing; - end = start + ((fForward.size()-start)/packing)*packing; - cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **WARNING** data range was not provided, will try data range start = " << start << "."; - cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; - cerr << endl; - } - // check if start, end, and t0 make any sense - // 1st check if start and end are in proper order - if (end < start) { // need to swap them - Int_t keep = end; - end = start; - start = keep; - } - // 2nd check if start is within proper bounds - if ((start < 0) || (start > (Int_t)fForward.size())) { - cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **ERROR** start data bin doesn't make any sense!"; - cerr << endl; - return false; - } - // 3rd check if end is within proper bounds - if ((end < 0) || (end > (Int_t)fForward.size())) { - cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **ERROR** end data bin doesn't make any sense!"; - cerr << endl; - return false; - } - - // everything looks fine, hence fill data set - Int_t t0 = (Int_t)fT0s[0]; - Double_t value = 0.0; - // data start at data_start-t0 - // time shifted so that packing is included correctly, i.e. t0 == t0 after packing - fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(packing-1)/2.0)); - fData.SetDataTimeStep(fTimeResolution*packing); - - for (Int_t i=start; i par; - PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); - for (UInt_t i=0; isize(); i++) - par.push_back((*paramList)[i].fValue); - - // calculate asymmetry - Double_t N0; - // check if norm is a parameter or a function - if (fRunInfo->GetNormParamNo() < MSR_PARAM_FUN_OFFSET) { // norm is a parameter - N0 = par[fRunInfo->GetNormParamNo()-1]; - } else { // norm is a function - // get function number - UInt_t funNo = fRunInfo->GetNormParamNo()-MSR_PARAM_FUN_OFFSET; - // evaluate function - N0 = fMsrInfo->EvalFunc(funNo, *fRunInfo->GetMap(), par); - } - N0 *= theoryNorm; - - // get tau - Double_t tau; - if (fRunInfo->GetLifetimeParamNo() != -1) - tau = par[fRunInfo->GetLifetimeParamNo()-1]; - else - tau = PMUON_LIFETIME; - - // get background - Double_t bkg; - if (fRunInfo->GetBkgFitParamNo() == -1) { // bkg not fitted - if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given (background interval) - if (fRunInfo->GetBkgRange(0) >= 0) { // background range given - if (!EstimateBkg(histoNo)) - return false; - } else { // no background given to do the job, try estimate - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); - cerr << endl << ">> PRunSingleHistoRRF::PrepareRawViewData(): **WARNING** Neither fix background nor background bins are given!"; - cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); - cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; - cerr << endl; - if (!EstimateBkg(histoNo)) - return false; - } - bkg = fBackground; - } else { // fixed bkg given - bkg = fRunInfo->GetBkgFix(0); - } - } else { // bkg fitted - bkg = par[fRunInfo->GetBkgFitParamNo()-1]; - } - bkg *= theoryNorm; - - // calculate functions - for (Int_t i=0; iGetNoOfFuncs(); i++) { - fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); - } - - // calculate theory - UInt_t size = fForward.size(); - Double_t factor = 1.0; - if (fData.GetValue()->size() * 10 > fForward.size()) { - size = fData.GetValue()->size() * 10; - factor = (Double_t)fForward.size() / (Double_t)size; - } - Double_t time; - Double_t theoryValue; - fData.SetTheoryTimeStart(fData.GetDataTimeStart()); - fData.SetTheoryTimeStep(fTimeResolution*factor); - for (UInt_t i=0; iFunc(time, par, fFuncValues); - if (fabs(theoryValue) > 1.0e10) { // dirty hack needs to be fixed!! - theoryValue = 0.0; - } - fData.AppendTheoryValue(N0*TMath::Exp(-time/tau)*(1.0+theoryValue)+bkg); - } - - // clean up - par.clear(); -*/ - return true; -} - //-------------------------------------------------------------------------- // PrepareViewData (protected) //-------------------------------------------------------------------------- @@ -878,16 +700,6 @@ Bool_t PRunSingleHistoRRF::PrepareRawViewData(PRawRunData* runData, const UInt_t * -# transform data sets (see below). * -# calculate theory * - *

Muon life time corrected data: Starting from - * \f[ N(t) = N_0 e^{-t/\tau} [ 1 + A(t) ] + \mathrm{Bkg} \f] - * it follows that - * \f[ A(t) = (-1) + e^{+t/\tau}\, \frac{N(t)-\mathrm{Bkg}}{N_0}. \f] - * For the error estimate only the statistical error of \f$ N(t) \f$ is used, and hence - * \f[ \Delta A(t) = \frac{e^{t/\tau}}{N_0}\,\sqrt{\frac{N(t)}{p}} \f] - * where \f$ p \f$ is the packing, and \f$ N(t) \f$ are the packed data, i.e. - * \f[ N(t_i) = \frac{1}{p}\, \sum_{j=i}^{i+p} n_j \f] - * with \f$ n_j \f$ the raw histogram data bins. - * * return: * - true, if everything went smooth * - false, otherwise @@ -897,66 +709,27 @@ Bool_t PRunSingleHistoRRF::PrepareRawViewData(PRawRunData* runData, const UInt_t */ Bool_t PRunSingleHistoRRF::PrepareViewData(PRawRunData* runData, const UInt_t histoNo) { -/* - // check if view_packing is wished. This is a global option for all PLOT blocks! - Int_t packing = fPacking; - if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { - packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; - } - // check if rrf_packing is present. This is a global option for all PLOT blocks, since operated on a single set of data. - if (fMsrInfo->GetMsrPlotList()->at(0).fRRFPacking > 0) { - packing = fMsrInfo->GetMsrPlotList()->at(0).fRRFPacking; + // -------------- + // prepare data + // -------------- + + // prepare RRF single histo + PrepareFitData(runData, histoNo); + + // check for view packing + Int_t viewPacking = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; + if (viewPacking > 0) { + if (viewPacking < fRRFPacking) { + cerr << ">> PRunSingleHistoRRF::PrepareViewData(): **WARNING** Found View Packing (" << viewPacking << ") < RRF Packing (" << fRRFPacking << ")."; + cerr << ">> Will ignore View Packing." << endl; + } else { + // STILL MISSING + } } - // calculate necessary norms - Double_t dataNorm = 1.0, theoryNorm = 1.0; - if (fScaleN0AndBkg) { - dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns - } else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) { - theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking; - } - - // transform raw histo data. This is done the following way (for details see the manual): - // for the single histo fit, just the rebinned raw data are copied - // first get start data, end data, and t0 - Int_t t0 = (Int_t)fT0s[0]; - - // start = the first bin which is a multiple of packing backward from first good data bin - Int_t start = fGoodBins[0] - (fGoodBins[0]/packing)*packing; - // end = last bin starting from start which is a multiple of packing and still within the data - Int_t end = start + ((fForward.size()-start)/packing)*packing; - - // check if data range has been provided, and if not try to estimate them - if (start < 0) { - Int_t offset = (Int_t)(10.0e-3/fTimeResolution); - start = ((Int_t)fT0s[0]+offset) - (((Int_t)fT0s[0]+offset)/packing)*packing; - end = start + ((fForward.size()-start)/packing)*packing; - cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **WARNING** data range was not provided, will try data range start = " << start << "."; - cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; - cerr << endl; - } - - // check if start, end, and t0 make any sense - // 1st check if start and end are in proper order - if (end < start) { // need to swap them - Int_t keep = end; - end = start; - start = keep; - } - // 2nd check if start is within proper bounds - if ((start < 0) || (start > (Int_t)fForward.size())) { - cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **ERROR** start data bin doesn't make any sense!"; - cerr << endl; - return false; - } - // 3rd check if end is within proper bounds - if ((end < 0) || (end > (Int_t)fForward.size())) { - cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **ERROR** end data bin doesn't make any sense!"; - cerr << endl; - return false; - } - - // everything looks fine, hence fill data set + // -------------- + // prepare theory + // -------------- // feed the parameter vector std::vector par; @@ -964,182 +737,34 @@ Bool_t PRunSingleHistoRRF::PrepareViewData(PRawRunData* runData, const UInt_t hi for (UInt_t i=0; isize(); i++) par.push_back((*paramList)[i].fValue); - // calculate asymmetry - Double_t N0; - // check if norm is a parameter or a function - if (fRunInfo->GetNormParamNo() < MSR_PARAM_FUN_OFFSET) { // norm is a parameter - N0 = par[fRunInfo->GetNormParamNo()-1]; - } else { // norm is a function - // get function number - UInt_t funNo = fRunInfo->GetNormParamNo()-MSR_PARAM_FUN_OFFSET; - // evaluate function - N0 = fMsrInfo->EvalFunc(funNo, *fRunInfo->GetMap(), par); - } - N0 *= theoryNorm; - - // get tau - Double_t tau; - if (fRunInfo->GetLifetimeParamNo() != -1) - tau = par[fRunInfo->GetLifetimeParamNo()-1]; - else - tau = PMUON_LIFETIME; - - // get background - Double_t bkg; - if (fRunInfo->GetBkgFitParamNo() == -1) { // bkg not fitted - if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given (background interval) - if (fRunInfo->GetBkgRange(0) >= 0) { // background range given - if (!EstimateBkg(histoNo)) - return false; - } else { // no background given to do the job, try estimate - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); - fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); - cerr << endl << ">> PRunSingleHistoRRF::PrepareViewData(): **WARNING** Neither fix background nor background bins are given!"; - cerr << endl << ">> Will try the following: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); - cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; - cerr << endl; - if (!EstimateBkg(histoNo)) - return false; - } - bkg = fBackground; - } else { // fixed bkg given - bkg = fRunInfo->GetBkgFix(0); - } - } else { // bkg fitted - bkg = par[fRunInfo->GetBkgFitParamNo()-1]; - } - bkg *= theoryNorm; - - Double_t value = 0.0; - Double_t expval = 0.0; - Double_t rrf_val = 0.0; - Double_t time = 0.0; - - // data start at data_start-t0 shifted by (pack-1)/2 - fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(packing-1)/2.0)); - fData.SetDataTimeStep(fTimeResolution*packing); - - // data is always normalized to (per nsec!!) - Double_t gammaRRF = 0.0, wRRF = 0.0, phaseRRF = 0.0; - if (fMsrInfo->GetMsrPlotList()->at(0).fRRFFreq == 0.0) { // normal Data representation - for (Int_t i=start; iGetMsrPlotList()->at(0).fRRFUnit) { - case RRF_UNIT_kHz: - gammaRRF = TMath::TwoPi()*1.0e-3; - break; - case RRF_UNIT_MHz: - gammaRRF = TMath::TwoPi(); - break; - case RRF_UNIT_Mcs: - gammaRRF = 1.0; - break; - case RRF_UNIT_G: - gammaRRF = GAMMA_BAR_MUON*TMath::TwoPi(); - break; - case RRF_UNIT_T: - gammaRRF = GAMMA_BAR_MUON*TMath::TwoPi()*1.0e4; - break; - default: - gammaRRF = TMath::TwoPi(); - break; - } - wRRF = gammaRRF * fMsrInfo->GetMsrPlotList()->at(0).fRRFFreq; - phaseRRF = fMsrInfo->GetMsrPlotList()->at(0).fRRFPhase / 180.0 * TMath::Pi(); - - Double_t error = 0.0; - for (Int_t i=start; iGetNoOfFuncs(); i++) { fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); } - // calculate theory - Double_t theoryValue; + // check if a finer binning for the theory is needed UInt_t size = fForward.size(); Double_t factor = 1.0; - UInt_t rebinRRF = 0; + Double_t time = 0.0; + Double_t theoryValue = 0.0; - if (wRRF == 0) { // no RRF - // check if a finer binning for the theory is needed - if (fData.GetValue()->size() * 10 > fForward.size()) { - size = fData.GetValue()->size() * 10; - factor = (Double_t)fForward.size() / (Double_t)size; - } - fData.SetTheoryTimeStart(fData.GetDataTimeStart()); - fData.SetTheoryTimeStep(fTimeResolution*factor); - } else { // RRF - rebinRRF = static_cast((TMath::Pi()/2.0/wRRF)/fTimeResolution); // RRF time resolution / data time resolution - fData.SetTheoryTimeStart(fData.GetDataTimeStart()); - fData.SetTheoryTimeStep(TMath::Pi()/2.0/wRRF/rebinRRF); // = theory time resolution as close as possible to the data time resolution compatible with wRRF + if (fData.GetValue()->size() * 10 > fForward.size()) { + size = fData.GetValue()->size() * 10; + factor = (Double_t)fForward.size() / (Double_t)size; } + fData.SetTheoryTimeStart(fData.GetDataTimeStart()); + fData.SetTheoryTimeStep(fTimeResolution*factor); + // calculate theory for (UInt_t i=0; iFunc(time, par, fFuncValues); - if (wRRF != 0.0) { - theoryValue *= 2.0*TMath::Cos(wRRF * time + phaseRRF); - } if (fabs(theoryValue) > 10.0) { // dirty hack needs to be fixed!! theoryValue = 0.0; } fData.AppendTheoryValue(theoryValue); } - // if RRF filter the theory with a FIR Kaiser low pass filter - if (wRRF != 0.0) { - // rebin theory to the RRF frequency - if (rebinRRF != 0) { - Double_t dval = 0.0; - PDoubleVector theo; - for (UInt_t i=0; isize(); i++) { - if ((i % rebinRRF == 0) && (i != 0)) { - theo.push_back(dval/rebinRRF); - dval = 0.0; - } - dval += fData.GetTheory()->at(i); - } - fData.SetTheoryTimeStart(fData.GetTheoryTimeStart()+static_cast(rebinRRF-1)*fData.GetTheoryTimeStep()/2.0); - fData.SetTheoryTimeStep(rebinRRF*fData.GetTheoryTimeStep()); - fData.ReplaceTheory(theo); - theo.clear(); - } - - // filter theory - CalculateKaiserFilterCoeff(wRRF, 60.0, 0.2); // w_c = wRRF, A = -20 log_10(delta), Delta w / w_c = (w_s - w_p) / (2 w_c) - FilterTheo(); - } - - // clean up - par.clear(); -*/ return true; } @@ -1416,7 +1041,6 @@ Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0) Int_t endBin = N0EstimateEndTime / fTimeResolution - fGoodBins[0]; Double_t n0 = 0.0; Double_t wN = 0.0; - cout << "debug> PRunSingleHistoRRF::EstimateN0(): endBin=" << endBin << endl; for (Int_t i=0; i PRunSingleHistoRRF::EstimateN0(): N0=" << n0 << "(" << errN0 << ")" << endl; + cout << "info> PRunSingleHistoRRF::EstimateN0(): N0=" << n0 << "(" << errN0 << ")" << endl; return n0; } @@ -1472,10 +1096,10 @@ Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo) // calculate proper background range if (beamPeriod != 0.0) { - Double_t timeBkg = (Double_t)(end-start)*(fTimeResolution*fPacking); // length of the background intervall in time + Double_t timeBkg = (Double_t)(end-start)*fTimeResolution; // length of the background intervall in time UInt_t fullCycles = (UInt_t)(timeBkg/beamPeriod); // how many proton beam cylces can be placed within the proposed background intervall // correct the end of the background intervall such that the background is as close as possible to a multiple of the proton cylce - end = start + (UInt_t) ((fullCycles*beamPeriod)/(fTimeResolution*fPacking)); + end = start + (UInt_t) ((fullCycles*beamPeriod)/fTimeResolution); cout << endl << "PRunSingleHistoRRF::EstimatBkg(): Background " << start << ", " << end; if (end == start) end = fRunInfo->GetBkgRange(1); @@ -1509,7 +1133,7 @@ Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo) fBackground = bkg; // keep background (per bin) - cout << endl << "debug> fBackground=" << fBackground << endl; + cout << endl << "info> fBackground=" << fBackground << endl; fRunInfo->SetBkgEstimated(fBackground, 0); diff --git a/src/include/PMusr.h b/src/include/PMusr.h index 3374558f..efa0cf69 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -101,10 +101,11 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it //------------------------------------------------------------- // msr plot type tags -#define MSR_PLOT_SINGLE_HISTO 0 -#define MSR_PLOT_ASYM 2 -#define MSR_PLOT_MU_MINUS 4 -#define MSR_PLOT_NON_MUSR 8 +#define MSR_PLOT_SINGLE_HISTO 0 +#define MSR_PLOT_SINGLE_HISTO_RRF 1 +#define MSR_PLOT_ASYM 2 +#define MSR_PLOT_MU_MINUS 4 +#define MSR_PLOT_NON_MUSR 8 //------------------------------------------------------------- // map and fun offsets for parameter parsing diff --git a/src/include/PRunSingleHistoRRF.h b/src/include/PRunSingleHistoRRF.h index 0f60d6c7..1c09c314 100644 --- a/src/include/PRunSingleHistoRRF.h +++ b/src/include/PRunSingleHistoRRF.h @@ -55,7 +55,6 @@ class PRunSingleHistoRRF : public PRunBase virtual void CalcNoOfFitBins(); virtual Bool_t PrepareData(); virtual Bool_t PrepareFitData(PRawRunData* runData, const UInt_t histoNo); - virtual Bool_t PrepareRawViewData(PRawRunData* runData, const UInt_t histoNo); virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo); private: @@ -63,7 +62,7 @@ class PRunSingleHistoRRF : public PRunBase UInt_t fNoOfFitBins; ///< number of bins to be fitted Double_t fBackground; ///< needed if background range is given (units: 1/bin) - Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block. + Int_t fRRFPacking; ///< RRF packing for this particular run. Given in the GLOBAL-block. Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb From 52e2c20527c0e720852e50ba7f7b8ea95ba45aca Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Thu, 7 Jan 2016 16:10:47 +0100 Subject: [PATCH 06/17] some tweaking in order to supress ghost lines. --- src/classes/PRunSingleHistoRRF.cpp | 22 +++++++++++++++++----- src/include/PRunSingleHistoRRF.h | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index 8f1dfb50..2cc7c2a6 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -630,12 +630,24 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his Double_t n0 = EstimateN0(errN0); // 4a) A(t) = exp(+t/tau) [N(t)-Nbkg] / N0 - 1.0 - for (Int_t i=fGoodBins[0]; i this is introduced to reduce ghost lines. + // This is a dirty trick and should be put on a better quantitative base! + Double_t dc_offset=0.0; + for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { + dc_offset += fForward[i]; + } + dc_offset /= (Double_t)(fGoodBins[1]-fGoodBins[0]+1); + cout << "info> dc_offset = " << dc_offset << endl; + for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { + fForward[i] -= dc_offset; + } + // 4b) error estimate of A(t): errA(t) = exp(+t/tau)/N0 sqrt( N(t) + ([N(t)-N_bkg]/N0)^2 errN0^2 ) - for (Int_t i=fGoodBins[0]; iGetRRFFreq("Mc"); Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; Double_t time = 0.0; - for (Int_t i=fGoodBins[0]; i 1 @@ -671,7 +683,7 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his // the error estimate of the unpacked RRF asymmetry is: errA_RRF(t) \simeq exp(t/tau)/N0 sqrt( [N(t) + ((N(t)-N_bkg)/N0)^2 errN0^2] ) dval = 0.0; // the packed RRF asymmetry error - for (Int_t i=fGoodBins[0]; i Date: Thu, 14 Jan 2016 11:24:49 +0100 Subject: [PATCH 07/17] slightly improvement the N0 estimate --- src/classes/PRunSingleHistoRRF.cpp | 72 +++++++++++++++++++++++++++--- src/include/PRunSingleHistoRRF.h | 3 +- 2 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index 2cc7c2a6..e1c4baba 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -43,8 +43,10 @@ using namespace std; #include #include #include +#include #include "PMusr.h" +#include "PFourier.h" #include "PRunSingleHistoRRF.h" //-------------------------------------------------------------------------- @@ -575,6 +577,8 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his for (UInt_t i=0; i freqMax=" << freqMax << " (MHz)" << endl; // 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. @@ -613,9 +617,10 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his time_tau = (startTime + fTimeResolution * (i - fGoodBins[0])) / PMUON_LIFETIME; exp_t_tau = exp(time_tau); fForward[i] *= exp_t_tau; - fM.push_back(fForward[i]); // needed to estimate N0 later on - fMerr.push_back(exp_t_tau*sqrt(rawNt[i])); + fM.push_back(fForward[i]); // i.e. M(t) = [N(t)-Nbkg] exp(+t/tau); needed to estimate N0 later on + fMerr.push_back(exp_t_tau*sqrt(rawNt[i]-fBackground)); } + // calculate weights for (UInt_t i=0; i 0.0) @@ -627,13 +632,14 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his // 3) estimate N0 Double_t errN0 = 0.0; - Double_t n0 = EstimateN0(errN0); + Double_t n0 = EstimateN0(errN0, freqMax); // 4a) A(t) = exp(+t/tau) [N(t)-Nbkg] / N0 - 1.0 for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { fForward[i] = fForward[i] / n0 - 1.0; } +/* // make a DC correction of A(t) --> this is introduced to reduce ghost lines. // This is a dirty trick and should be put on a better quantitative base! Double_t dc_offset=0.0; @@ -645,6 +651,7 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { fForward[i] -= dc_offset; } +*/ // 4b) error estimate of A(t): errA(t) = exp(+t/tau)/N0 sqrt( N(t) + ([N(t)-N_bkg]/N0)^2 errN0^2 ) for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { @@ -1039,18 +1046,71 @@ void PRunSingleHistoRRF::GetProperFitRange(PMsrGlobalBlock *globalBlock) } } +//-------------------------------------------------------------------------- +// GetMainFrequency (private) +//-------------------------------------------------------------------------- +/** + *

gets the maximum frequency of the given data. + * + * \param raw data set. + */ +Double_t PRunSingleHistoRRF::GetMainFrequency(PDoubleVector &data) +{ + Double_t freqMax = 0.0; + + // create histo + Double_t startTime = (fGoodBins[0]-fT0s[0]) * fTimeResolution; + Int_t noOfBins = fGoodBins[1]-fGoodBins[0]+1; + TH1F *histo = new TH1F("data", "data", noOfBins, startTime-fTimeResolution/2.0, startTime+fTimeResolution/2.0+noOfBins*fTimeResolution); + for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { + histo->SetBinContent(i-fGoodBins[0]+1, data[i]); + } + + // Fourier transform + PFourier *ft = new PFourier(histo, FOURIER_UNIT_FREQ); + ft->Transform(F_APODIZATION_STRONG); + + // find frequency maximum + TH1F *power = ft->GetPowerFourier(); + Double_t maxFreqVal = 0.0; + for (Int_t i=1; iGetNbinsX(); i++) { + // ignore dc part at 0 frequency + if (iGetNbinsX()-1) { + if (power->GetBinContent(i)>power->GetBinContent(i+1)) + continue; + } + // check for maximum + if (power->GetBinContent(i) > maxFreqVal) { + maxFreqVal = power->GetBinContent(i); + freqMax = power->GetBinCenter(i); + } + } + + // clean up + if (power) + delete power; + if (ft) + delete ft; + if (histo) + delete histo; + + return freqMax; +} + //-------------------------------------------------------------------------- // EstimateN0 (private) //-------------------------------------------------------------------------- /** *

Estimate the N0 for the given run. * - * \param sqrtNt * \param errN0 */ -Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0) +Double_t PRunSingleHistoRRF::EstimateN0(Double_t &errN0, Double_t freqMax) { - Int_t endBin = N0EstimateEndTime / fTimeResolution - fGoodBins[0]; + // 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); + Double_t n0 = 0.0; Double_t wN = 0.0; for (Int_t i=0; i Date: Thu, 14 Jan 2016 13:18:06 +0100 Subject: [PATCH 08/17] better RRF labelling, and proper class variable naming. --- src/classes/PMusrCanvas.cpp | 27 ++++++++++++++++++--------- src/classes/PRunSingleHistoRRF.cpp | 10 ++++++++-- src/include/PRunSingleHistoRRF.h | 2 +- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index 1982aa4b..2ce52c81 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -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(); diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index e1c4baba..76fef6b4 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -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; diff --git a/src/include/PRunSingleHistoRRF.h b/src/include/PRunSingleHistoRRF.h index fd484bc8..63b063eb 100644 --- a/src/include/PRunSingleHistoRRF.h +++ b/src/include/PRunSingleHistoRRF.h @@ -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) From 8e399fa04e2c41f21e761dfdf7360f684eefc9fa Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Fri, 15 Jan 2016 17:16:07 +0100 Subject: [PATCH 09/17] first steps towards asymmetry RRF fit. --- src/classes/Makefile.am | 2 + src/classes/PFitter.cpp | 2 +- src/classes/PFitterFcn.cpp | 2 +- src/classes/PFourier.cpp | 2 +- src/classes/PFourierCanvas.cpp | 2 +- src/classes/PFunction.cpp | 2 +- src/classes/PFunctionHandler.cpp | 2 +- src/classes/PMsr2Data.cpp | 2 +- src/classes/PMsrHandler.cpp | 48 ++++++- src/classes/PMusr.cpp | 2 +- src/classes/PMusrCanvas.cpp | 20 ++- src/classes/PMusrT0.cpp | 2 +- src/classes/PPrepFourier.cpp | 2 +- src/classes/PRunAsymmetry.cpp | 8 +- src/classes/PRunBase.cpp | 2 +- src/classes/PRunDataHandler.cpp | 2 +- src/classes/PRunListCollection.cpp | 125 +++++++++++++++++- src/classes/PRunMuMinus.cpp | 2 +- src/classes/PRunNonMusr.cpp | 2 +- src/classes/PRunSingleHisto.cpp | 2 +- src/classes/PRunSingleHistoRRF.cpp | 14 -- src/classes/PStartupHandler.cpp | 2 +- src/classes/PTheory.cpp | 2 +- src/classes/PUserFcn.cpp | 2 +- src/classes/PUserFcnBase.cpp | 2 +- src/include/PFitter.h | 2 +- src/include/PFitterFcn.h | 2 +- src/include/PFourier.h | 2 +- src/include/PFourierCanvas.h | 11 +- src/include/PFourierCanvasLinkDef.h | 2 +- src/include/PFunction.h | 2 +- src/include/PFunctionGrammar.h | 2 +- src/include/PFunctionHandler.h | 2 +- src/include/PMsr2Data.h | 2 +- src/include/PMsrHandler.h | 2 +- src/include/PMusr.h | 5 +- src/include/PMusrCanvas.h | 2 +- src/include/PMusrCanvasLinkDef.h | 2 +- src/include/PMusrT0.h | 2 +- src/include/PMusrT0LinkDef.h | 2 +- src/include/PPrepFourier.h | 2 +- src/include/PRunAsymmetry.h | 2 +- src/include/PRunBase.h | 2 +- src/include/PRunDataHandler.h | 2 +- src/include/PRunListCollection.h | 14 +- src/include/PRunMuMinus.h | 2 +- src/include/PRunNonMusr.h | 2 +- src/include/PRunSingleHisto.h | 2 +- src/include/PStartupHandler.h | 2 +- src/include/PStartupHandlerLinkDef.h | 2 +- src/include/PTheory.h | 2 +- src/include/PUserFcn.h | 2 +- src/include/PUserFcnBase.h | 2 +- src/include/PUserFcnBaseLinkDef.h | 2 +- src/tests/analyticFakeData/analyticFakeData.C | 2 +- 55 files changed, 253 insertions(+), 86 deletions(-) diff --git a/src/classes/Makefile.am b/src/classes/Makefile.am index 7e70efb4..282772ff 100644 --- a/src/classes/Makefile.am +++ b/src/classes/Makefile.am @@ -15,6 +15,7 @@ h_sources = \ ../include/PMusrT0.h \ ../include/PPrepFourier.h \ ../include/PRunAsymmetry.h \ + ../include/PRunAsymmetryRRF.h \ ../include/PRunBase.h \ ../include/PRunDataHandler.h \ ../include/PRunListCollection.h \ @@ -60,6 +61,7 @@ cpp_sources = \ PMusrT0.cpp \ PPrepFourier.cpp \ PRunAsymmetry.cpp \ + PRunAsymmetryRRF.cpp \ PRunBase.cpp \ PRunDataHandler.cpp \ PRunListCollection.cpp \ diff --git a/src/classes/PFitter.cpp b/src/classes/PFitter.cpp index fa9b88cb..e366bda1 100644 --- a/src/classes/PFitter.cpp +++ b/src/classes/PFitter.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PFitterFcn.cpp b/src/classes/PFitterFcn.cpp index ccae307c..5e5b23c6 100644 --- a/src/classes/PFitterFcn.cpp +++ b/src/classes/PFitterFcn.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PFourier.cpp b/src/classes/PFourier.cpp index bbfbf542..ec516096 100644 --- a/src/classes/PFourier.cpp +++ b/src/classes/PFourier.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PFourierCanvas.cpp b/src/classes/PFourierCanvas.cpp index f83da656..07813ff4 100644 --- a/src/classes/PFourierCanvas.cpp +++ b/src/classes/PFourierCanvas.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PFunction.cpp b/src/classes/PFunction.cpp index 35bd9f42..951153d8 100644 --- a/src/classes/PFunction.cpp +++ b/src/classes/PFunction.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PFunctionHandler.cpp b/src/classes/PFunctionHandler.cpp index a7ac7e6b..de8abaa5 100644 --- a/src/classes/PFunctionHandler.cpp +++ b/src/classes/PFunctionHandler.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PMsr2Data.cpp b/src/classes/PMsr2Data.cpp index d00cd073..f5e19160 100644 --- a/src/classes/PMsr2Data.cpp +++ b/src/classes/PMsr2Data.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2009-2015 by Bastian M. Wojek / Andreas Suter * + * Copyright (C) 2009-2016 by Bastian M. Wojek / Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index e1a19754..97cfa207 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -623,6 +623,9 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) case MSR_FITTYPE_ASYM: fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ; break; + case MSR_FITTYPE_ASYM_RRF: + fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ; + break; case MSR_FITTYPE_MU_MINUS: fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ; break; @@ -778,9 +781,15 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) case MSR_FITTYPE_SINGLE_HISTO: fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl; break; + case MSR_FITTYPE_SINGLE_HISTO_RRF: + fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl; + break; case MSR_FITTYPE_ASYM: fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ; break; + case MSR_FITTYPE_ASYM_RRF: + fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ; + break; case MSR_FITTYPE_MU_MINUS: fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ; break; @@ -1636,9 +1645,15 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co case MSR_FITTYPE_SINGLE_HISTO: fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl; break; + case MSR_FITTYPE_SINGLE_HISTO_RRF: + fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl; + break; case MSR_FITTYPE_ASYM: fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ; break; + case MSR_FITTYPE_ASYM_RRF: + fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ; + break; case MSR_FITTYPE_MU_MINUS: fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ; break; @@ -1821,9 +1836,15 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co case MSR_FITTYPE_SINGLE_HISTO: fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl; break; + case MSR_FITTYPE_SINGLE_HISTO_RRF: + fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl; + break; case MSR_FITTYPE_ASYM: fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ; break; + case MSR_FITTYPE_ASYM_RRF: + fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ; + break; case MSR_FITTYPE_MU_MINUS: fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ; break; @@ -2889,6 +2910,7 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines) if ((fittype == MSR_FITTYPE_SINGLE_HISTO) || (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || (fittype == MSR_FITTYPE_ASYM) || + (fittype == MSR_FITTYPE_ASYM_RRF) || (fittype == MSR_FITTYPE_MU_MINUS) || (fittype == MSR_FITTYPE_NON_MUSR)) { global.SetFitType(fittype); @@ -3224,6 +3246,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) if ((fittype == MSR_FITTYPE_SINGLE_HISTO) || (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || (fittype == MSR_FITTYPE_ASYM) || + (fittype == MSR_FITTYPE_ASYM_RRF) || (fittype == MSR_FITTYPE_MU_MINUS) || (fittype == MSR_FITTYPE_NON_MUSR)) { param.SetFitType(fittype); @@ -4139,6 +4162,7 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines) case MSR_PLOT_SINGLE_HISTO: // like: runs 1 5 13 case MSR_PLOT_SINGLE_HISTO_RRF: case MSR_PLOT_ASYM: + case MSR_PLOT_ASYM_RRF: case MSR_PLOT_NON_MUSR: case MSR_PLOT_MU_MINUS: rl = new PStringNumberList(iter1->fLine.Data()); @@ -4550,8 +4574,10 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines) cerr << endl << ">> [use_fit_ranges [ymin ymax]]"; cerr << endl << ">> [view_packing n]"; cerr << endl; - cerr << endl << ">> where is: 0=single histo asym,"; + cerr << endl << ">> where is: 0=single histo,"; + cerr << endl << ">> 1=RRF single histo,"; cerr << endl << ">> 2=forward-backward asym,"; + cerr << endl << ">> 3=forward-backward RRF asym,"; cerr << endl << ">> 4=mu minus single histo,"; cerr << endl << ">> 8=non muSR."; cerr << endl << ">> is the list of runs, e.g. runs 1 3"; @@ -5359,6 +5385,9 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity() fRuns[i].SetPacking(1); } break; + case PRUN_ASYMMETRY_RRF: + // STILL MISSING + break; case PRUN_MU_MINUS: // needs eventually to be implemented break; @@ -5760,7 +5789,8 @@ Bool_t PMsrHandler::CheckRRFSettings() // first set of tests: if RRF parameters are set, check if RRF fit is chosen. if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) != 0.0) { if (fittype != -1) { // check if GLOBAL fittype is set - if (fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) { + if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) && + (fittype != MSR_FITTYPE_ASYM_RRF)) { cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** found GLOBAL fittype " << fittype << " and"; cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first."; result = false; @@ -5768,7 +5798,8 @@ Bool_t PMsrHandler::CheckRRFSettings() } else { // GLOBAL fittype is NOT set for (UInt_t i=0; i> PMsrHandler::CheckRRFSettings: **ERROR** found RUN with fittype " << fittype << " and"; cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first."; result = false; @@ -5792,13 +5823,15 @@ Bool_t PMsrHandler::CheckRRFSettings() } // if not a RRF fit, done at this point - if (fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) { + if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) && + (fittype != MSR_FITTYPE_ASYM_RRF)) { return true; } // second set of tests: if RRF fit is chosen, do I find the necessary RRF parameters? fittype = fGlobal.GetFitType(); - if (fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) { // make sure RRF freq and RRF packing are set + if ((fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || + (fittype == MSR_FITTYPE_ASYM_RRF)) { // make sure RRF freq and RRF packing are set if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == 0.0) { cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it."; @@ -5813,7 +5846,8 @@ Bool_t PMsrHandler::CheckRRFSettings() UInt_t rrfFitCounter = 0; for (UInt_t i=0; iGetAsymmetryRRF(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a asymmetry RRF plot"; + cerr << endl; + return; + } + // handle data + HandleDataSet(i, runNo, data); + break; case MSR_FITTYPE_MU_MINUS: data = fRunList->GetMuMinus(runNo, PRunListCollection::kRunNo); if (!data) { // something wrong @@ -873,13 +885,15 @@ void PMusrCanvas::UpdateInfoPad() else tstr = *runs[runNo].GetRunName() + TString(","); // run_name // histo info (depending on the fittype - if (runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO) { + if ((runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO) || + (runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) { tstr += TString("h:"); TString grouping; fMsrHandler->GetGroupingString(runNo, "forward", grouping); tstr += grouping; tstr += TString(","); - } else if (runs[runNo].GetFitType() == MSR_FITTYPE_ASYM) { + } else if ((runs[runNo].GetFitType() == MSR_FITTYPE_ASYM) || + (runs[runNo].GetFitType() == MSR_FITTYPE_ASYM_RRF)) { tstr += TString("h:"); TString grouping; fMsrHandler->GetGroupingString(runNo, "forward", grouping); diff --git a/src/classes/PMusrT0.cpp b/src/classes/PMusrT0.cpp index dfedb61d..c13414fc 100644 --- a/src/classes/PMusrT0.cpp +++ b/src/classes/PMusrT0.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PPrepFourier.cpp b/src/classes/PPrepFourier.cpp index 1b542c5b..fd713462 100644 --- a/src/classes/PPrepFourier.cpp +++ b/src/classes/PPrepFourier.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunAsymmetry.cpp b/src/classes/PRunAsymmetry.cpp index c04d2a73..a2572b32 100644 --- a/src/classes/PRunAsymmetry.cpp +++ b/src/classes/PRunAsymmetry.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -87,7 +87,7 @@ PRunAsymmetry::PRunAsymmetry(PMsrHandler *msrInfo, PRunDataHandler *rawData, UIn fPacking = fMsrInfo->GetMsrGlobal()->GetPacking(); } if (fPacking == -1) { // this should NOT happen, somethin is severely wrong - cerr << endl << ">> PRunAsymmetry::PRunAsymmetry: **SEVERE ERROR**: Couldn't find any packing information!"; + cerr << endl << ">> PRunAsymmetry::PRunAsymmetry(): **SEVERE ERROR**: Couldn't find any packing information!"; cerr << endl << ">> This is very bad :-(, will quit ..."; cerr << endl; fValid = false; @@ -342,7 +342,7 @@ void PRunAsymmetry::SetFitRangeBin(const TString fitRange) Int_t pos = 2*(fRunNo+1)-1; if (pos + 1 >= tok->GetEntries()) { - cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> PRunAsymmetry::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; cerr << endl << ">> will ignore it. Sorry ..." << endl; } else { // handle fgb+n0 entry @@ -370,7 +370,7 @@ void PRunAsymmetry::SetFitRangeBin(const TString fitRange) fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution; } } else { // error - cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> PRunAsymmetry::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; cerr << endl << ">> will ignore it. Sorry ..." << endl; } diff --git a/src/classes/PRunBase.cpp b/src/classes/PRunBase.cpp index 7be37fe1..ffa15c86 100644 --- a/src/classes/PRunBase.cpp +++ b/src/classes/PRunBase.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunDataHandler.cpp b/src/classes/PRunDataHandler.cpp index bebc1cf0..b95c46fb 100644 --- a/src/classes/PRunDataHandler.cpp +++ b/src/classes/PRunDataHandler.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunListCollection.cpp b/src/classes/PRunListCollection.cpp index d5b1d94e..c5f57396 100644 --- a/src/classes/PRunListCollection.cpp +++ b/src/classes/PRunListCollection.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -70,6 +70,12 @@ PRunListCollection::~PRunListCollection() } fRunAsymmetryList.clear(); + for (UInt_t i=0; iCleanUp(); + fRunAsymmetryRRFList[i]->~PRunAsymmetryRRF(); + } + fRunAsymmetryRRFList.clear(); + for (UInt_t i=0; iCleanUp(); fRunMuMinusList[i]->~PRunMuMinus(); @@ -122,6 +128,11 @@ Bool_t PRunListCollection::Add(Int_t runNo, EPMusrHandleTag tag) if (!fRunAsymmetryList[fRunAsymmetryList.size()-1]->IsValid()) success = false; break; + case PRUN_ASYMMETRY_RRF: + fRunAsymmetryRRFList.push_back(new PRunAsymmetryRRF(fMsrInfo, fData, runNo, tag)); + if (!fRunAsymmetryRRFList[fRunAsymmetryRRFList.size()-1]->IsValid()) + success = false; + break; case PRUN_MU_MINUS: fRunMuMinusList.push_back(new PRunMuMinus(fMsrInfo, fData, runNo, tag)); if (!fRunMuMinusList[fRunMuMinusList.size()-1]->IsValid()) @@ -162,6 +173,8 @@ void PRunListCollection::SetFitRange(const TString fitRange) fRunSingleHistoRRFList[i]->SetFitRangeBin(fitRange); for (UInt_t i=0; iSetFitRangeBin(fitRange); + for (UInt_t i=0; iSetFitRangeBin(fitRange); for (UInt_t i=0; iSetFitRangeBin(fitRange); for (UInt_t i=0; iSetFitRange(fitRange); for (UInt_t i=0; iSetFitRange(fitRange); + for (UInt_t i=0; iSetFitRange(fitRange); for (UInt_t i=0; iSetFitRange(fitRange); for (UInt_t i=0; i& par) return chisq; } +//-------------------------------------------------------------------------- +// GetAsymmetryRRFChisq (public) +//-------------------------------------------------------------------------- +/** + *

Calculates chi-square of all asymmetry RRF runs of a msr-file. + * + * return: + * - chi-square of all asymmetry RRF runs of the msr-file + * + * \param par fit parameter vector + */ +Double_t PRunListCollection::GetAsymmetryRRFChisq(const std::vector& par) const +{ + Double_t chisq = 0.0; + + for (UInt_t i=0; iCalcChiSquare(par); + + return chisq; +} + //-------------------------------------------------------------------------- // GetMuMinusChisq (public) //-------------------------------------------------------------------------- @@ -341,6 +377,9 @@ Double_t PRunListCollection::GetSingleHistoChisqExpected(const std::vectorCalcChiSquareExpected(par); break; + case PRUN_ASYMMETRY_RRF: + expectedChisq = fRunAsymmetryRRFList[subIdx]->CalcChiSquareExpected(par); + break; case PRUN_MU_MINUS: expectedChisq = fRunMuMinusList[subIdx]->CalcChiSquareExpected(par); break; @@ -399,6 +438,9 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector& par, case PRUN_ASYMMETRY: chisq = fRunAsymmetryList[subIdx]->CalcChiSquare(par); break; + case PRUN_ASYMMETRY_RRF: + chisq = fRunAsymmetryRRFList[subIdx]->CalcChiSquare(par); + break; case PRUN_MU_MINUS: chisq = fRunMuMinusList[subIdx]->CalcChiSquare(par); break; @@ -476,6 +518,28 @@ Double_t PRunListCollection::GetAsymmetryMaximumLikelihood(const std::vector Since it is not clear yet how to handle asymmetry fits with max likelihood + * the chi square will be used! + * + * return: + * - chi-square of all asymmetry RRF runs of the msr-file + * + * \param par fit parameter vector + */ +Double_t PRunListCollection::GetAsymmetryRRFMaximumLikelihood(const std::vector& par) const +{ + Double_t mlh = 0.0; + + for (UInt_t i=0; iCalcChiSquare(par); + + return mlh; +} + //-------------------------------------------------------------------------- // GetMuMinusMaximumLikelihood (public) //-------------------------------------------------------------------------- @@ -563,6 +627,9 @@ UInt_t PRunListCollection::GetNoOfBinsFitted(const UInt_t idx) const case PRUN_ASYMMETRY: result = fRunAsymmetryList[subIdx]->GetNoOfFitBins(); break; + case PRUN_ASYMMETRY_RRF: + result = fRunAsymmetryRRFList[subIdx]->GetNoOfFitBins(); + break; case PRUN_MU_MINUS: result = fRunMuMinusList[subIdx]->GetNoOfFitBins(); break; @@ -599,6 +666,9 @@ UInt_t PRunListCollection::GetTotalNoOfBinsFitted() const for (UInt_t i=0; iGetNoOfFitBins(); + for (UInt_t i=0; iGetNoOfFitBins(); + for (UInt_t i=0; iGetNoOfFitBins(); @@ -628,7 +698,7 @@ PRunData* PRunListCollection::GetSingleHisto(UInt_t index, EDataSwitch tag) switch (tag) { case kIndex: if ((index < 0) || (index >= fRunSingleHistoList.size())) { - cerr << endl << "PRunListCollection::GetSingleHisto: **ERROR** index = " << index << " out of bounds"; + cerr << endl << ">> PRunListCollection::GetSingleHisto(): **ERROR** index = " << index << " out of bounds"; cerr << endl; return 0; } @@ -671,7 +741,7 @@ PRunData* PRunListCollection::GetSingleHistoRRF(UInt_t index, EDataSwitch tag) switch (tag) { case kIndex: if ((index < 0) || (index >= fRunSingleHistoRRFList.size())) { - cerr << endl << "PRunListCollection::GetSingleHistoRRF: **ERROR** index = " << index << " out of bounds"; + cerr << endl << ">> PRunListCollection::GetSingleHistoRRF(): **ERROR** index = " << index << " out of bounds"; cerr << endl; return 0; } @@ -714,7 +784,7 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag) switch (tag) { case kIndex: // called from musrfit when dumping the data if ((index < 0) || (index > fRunAsymmetryList.size())) { - cerr << endl << "PRunListCollection::GetAsymmetry: **ERROR** index = " << index << " out of bounds"; + cerr << endl << ">> PRunListCollection::GetAsymmetry(): **ERROR** index = " << index << " out of bounds"; cerr << endl; return 0; } @@ -737,6 +807,49 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag) return data; } +//-------------------------------------------------------------------------- +// GetAsymmetryRRF (public) +//-------------------------------------------------------------------------- +/** + *

Get a processed asymmetry RRF data set. + * + * return: + * - pointer to the run data set (processed data) if data set is found + * - null pointer otherwise + * + * \param index msr-file run index + * \param tag kIndex -> data at index, kRunNo -> data of given run no + */ +PRunData* PRunListCollection::GetAsymmetryRRF(UInt_t index, EDataSwitch tag) +{ + PRunData *data = 0; + + switch (tag) { + case kIndex: // called from musrfit when dumping the data + if ((index < 0) || (index > fRunAsymmetryRRFList.size())) { + cerr << endl << ">> PRunListCollection::GetAsymmetryRRF(): **ERROR** index = " << index << " out of bounds"; + cerr << endl; + return 0; + } + + fRunAsymmetryList[index]->CalcTheory(); + data = fRunAsymmetryList[index]->GetData(); + break; + case kRunNo: // called from PMusrCanvas + for (UInt_t i=0; iGetRunNo() == index) { + data = fRunAsymmetryRRFList[i]->GetData(); + break; + } + } + break; + default: // error + break; + } + + return data; +} + //-------------------------------------------------------------------------- // GetMuMinus (public) //-------------------------------------------------------------------------- @@ -757,7 +870,7 @@ PRunData* PRunListCollection::GetMuMinus(UInt_t index, EDataSwitch tag) switch (tag) { case kIndex: if ((index < 0) || (index > fRunMuMinusList.size())) { - cerr << endl << "PRunListCollection::GetMuMinus: **ERROR** index = " << index << " out of bounds"; + cerr << endl << ">> PRunListCollection::GetMuMinus(): **ERROR** index = " << index << " out of bounds"; cerr << endl; return 0; } @@ -799,7 +912,7 @@ PRunData* PRunListCollection::GetNonMusr(UInt_t index, EDataSwitch tag) switch (tag) { case kIndex: if ((index < 0) || (index > fRunNonMusrList.size())) { - cerr << endl << "PRunListCollection::GetNonMusr: **ERROR** index = " << index << " out of bounds"; + cerr << endl << ">> PRunListCollection::GetNonMusr(): **ERROR** index = " << index << " out of bounds"; cerr << endl; return 0; } diff --git a/src/classes/PRunMuMinus.cpp b/src/classes/PRunMuMinus.cpp index a792f59b..bdcf7049 100644 --- a/src/classes/PRunMuMinus.cpp +++ b/src/classes/PRunMuMinus.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunNonMusr.cpp b/src/classes/PRunNonMusr.cpp index e8c5f3a8..2b188141 100644 --- a/src/classes/PRunNonMusr.cpp +++ b/src/classes/PRunNonMusr.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunSingleHisto.cpp b/src/classes/PRunSingleHisto.cpp index 7d8d14ee..2881a32d 100644 --- a/src/classes/PRunSingleHisto.cpp +++ b/src/classes/PRunSingleHisto.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PRunSingleHistoRRF.cpp b/src/classes/PRunSingleHistoRRF.cpp index 76fef6b4..55f7ce02 100644 --- a/src/classes/PRunSingleHistoRRF.cpp +++ b/src/classes/PRunSingleHistoRRF.cpp @@ -645,20 +645,6 @@ Bool_t PRunSingleHistoRRF::PrepareFitData(PRawRunData* runData, const UInt_t his fForward[i] = fForward[i] / n0 - 1.0; } -/* - // make a DC correction of A(t) --> this is introduced to reduce ghost lines. - // This is a dirty trick and should be put on a better quantitative base! - Double_t dc_offset=0.0; - for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { - dc_offset += fForward[i]; - } - dc_offset /= (Double_t)(fGoodBins[1]-fGoodBins[0]+1); - cout << "info> dc_offset = " << dc_offset << endl; - for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { - fForward[i] -= dc_offset; - } -*/ - // 4b) error estimate of A(t): errA(t) = exp(+t/tau)/N0 sqrt( N(t) + ([N(t)-N_bkg]/N0)^2 errN0^2 ) for (Int_t i=fGoodBins[0]; i<=fGoodBins[1]; i++) { time_tau = (startTime + fTimeResolution * (i - fGoodBins[0])) / PMUON_LIFETIME; diff --git a/src/classes/PStartupHandler.cpp b/src/classes/PStartupHandler.cpp index 3f9b425e..47414ed3 100644 --- a/src/classes/PStartupHandler.cpp +++ b/src/classes/PStartupHandler.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 08d7f176..efa1c7d8 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PUserFcn.cpp b/src/classes/PUserFcn.cpp index d0ed32a2..287d63aa 100644 --- a/src/classes/PUserFcn.cpp +++ b/src/classes/PUserFcn.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/classes/PUserFcnBase.cpp b/src/classes/PUserFcnBase.cpp index 2257613e..d5ec6525 100644 --- a/src/classes/PUserFcnBase.cpp +++ b/src/classes/PUserFcnBase.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFitter.h b/src/include/PFitter.h index 8445468c..c9a09014 100644 --- a/src/include/PFitter.h +++ b/src/include/PFitter.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFitterFcn.h b/src/include/PFitterFcn.h index 1c2d846f..94686e00 100644 --- a/src/include/PFitterFcn.h +++ b/src/include/PFitterFcn.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFourier.h b/src/include/PFourier.h index 3e120b7c..bff94450 100644 --- a/src/include/PFourier.h +++ b/src/include/PFourier.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFourierCanvas.h b/src/include/PFourierCanvas.h index 096097c1..1229b34c 100644 --- a/src/include/PFourierCanvas.h +++ b/src/include/PFourierCanvas.h @@ -1,5 +1,14 @@ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + + PFourierCanvas.h + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFourierCanvasLinkDef.h b/src/include/PFourierCanvasLinkDef.h index 8ceb2d47..af10deb8 100644 --- a/src/include/PFourierCanvasLinkDef.h +++ b/src/include/PFourierCanvasLinkDef.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFunction.h b/src/include/PFunction.h index b4b60934..9efd48ff 100644 --- a/src/include/PFunction.h +++ b/src/include/PFunction.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFunctionGrammar.h b/src/include/PFunctionGrammar.h index 10c0c9f0..a03bcc4c 100644 --- a/src/include/PFunctionGrammar.h +++ b/src/include/PFunctionGrammar.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PFunctionHandler.h b/src/include/PFunctionHandler.h index cd68390e..d8cc78b8 100644 --- a/src/include/PFunctionHandler.h +++ b/src/include/PFunctionHandler.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMsr2Data.h b/src/include/PMsr2Data.h index 292dc8c9..7974d99a 100644 --- a/src/include/PMsr2Data.h +++ b/src/include/PMsr2Data.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2009-2014 by Bastian M. Wojek / Andreas Suter * + * Copyright (C) 2009-2016 by Bastian M. Wojek / Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMsrHandler.h b/src/include/PMsrHandler.h index 3df7034d..1dab817b 100644 --- a/src/include/PMsrHandler.h +++ b/src/include/PMsrHandler.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMusr.h b/src/include/PMusr.h index efa0cf69..46078aa6 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -55,6 +55,7 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it #define PRUN_SINGLE_HISTO 0 #define PRUN_SINGLE_HISTO_RRF 1 #define PRUN_ASYMMETRY 2 +#define PRUN_ASYMMETRY_RRF 3 #define PRUN_MU_MINUS 4 #define PRUN_NON_MUSR 8 @@ -96,6 +97,7 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it #define MSR_FITTYPE_SINGLE_HISTO 0 #define MSR_FITTYPE_SINGLE_HISTO_RRF 1 #define MSR_FITTYPE_ASYM 2 +#define MSR_FITTYPE_ASYM_RRF 3 #define MSR_FITTYPE_MU_MINUS 4 #define MSR_FITTYPE_NON_MUSR 8 @@ -104,6 +106,7 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it #define MSR_PLOT_SINGLE_HISTO 0 #define MSR_PLOT_SINGLE_HISTO_RRF 1 #define MSR_PLOT_ASYM 2 +#define MSR_PLOT_ASYM_RRF 3 #define MSR_PLOT_MU_MINUS 4 #define MSR_PLOT_NON_MUSR 8 diff --git a/src/include/PMusrCanvas.h b/src/include/PMusrCanvas.h index 19241149..735af4f4 100644 --- a/src/include/PMusrCanvas.h +++ b/src/include/PMusrCanvas.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMusrCanvasLinkDef.h b/src/include/PMusrCanvasLinkDef.h index cf6b7dd3..c9c73b15 100644 --- a/src/include/PMusrCanvasLinkDef.h +++ b/src/include/PMusrCanvasLinkDef.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMusrT0.h b/src/include/PMusrT0.h index 91acf97f..b5a47c2f 100644 --- a/src/include/PMusrT0.h +++ b/src/include/PMusrT0.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PMusrT0LinkDef.h b/src/include/PMusrT0LinkDef.h index a14248fd..d7e26cc4 100644 --- a/src/include/PMusrT0LinkDef.h +++ b/src/include/PMusrT0LinkDef.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PPrepFourier.h b/src/include/PPrepFourier.h index 12f2b5f4..dd40429f 100644 --- a/src/include/PPrepFourier.h +++ b/src/include/PPrepFourier.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunAsymmetry.h b/src/include/PRunAsymmetry.h index 6d18983b..1bb04701 100644 --- a/src/include/PRunAsymmetry.h +++ b/src/include/PRunAsymmetry.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunBase.h b/src/include/PRunBase.h index 3e81b2be..37fad18b 100644 --- a/src/include/PRunBase.h +++ b/src/include/PRunBase.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunDataHandler.h b/src/include/PRunDataHandler.h index 2618b1ef..f75c1428 100644 --- a/src/include/PRunDataHandler.h +++ b/src/include/PRunDataHandler.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2015 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunListCollection.h b/src/include/PRunListCollection.h index acc4018a..00b1112e 100644 --- a/src/include/PRunListCollection.h +++ b/src/include/PRunListCollection.h @@ -39,6 +39,7 @@ using namespace std; #include "PRunSingleHisto.h" #include "PRunSingleHistoRRF.h" #include "PRunAsymmetry.h" +#include "PRunAsymmetryRRF.h" #include "PRunMuMinus.h" #include "PRunNonMusr.h" @@ -61,6 +62,7 @@ class PRunListCollection virtual Double_t GetSingleHistoChisq(const std::vector& par) const; virtual Double_t GetSingleHistoRRFChisq(const std::vector& par) const; virtual Double_t GetAsymmetryChisq(const std::vector& par) const; + virtual Double_t GetAsymmetryRRFChisq(const std::vector& par) const; virtual Double_t GetMuMinusChisq(const std::vector& par) const; virtual Double_t GetNonMusrChisq(const std::vector& par) const; @@ -70,6 +72,7 @@ class PRunListCollection virtual Double_t GetSingleHistoMaximumLikelihood(const std::vector& par) const; virtual Double_t GetSingleHistoRRFMaximumLikelihood(const std::vector& par) const; virtual Double_t GetAsymmetryMaximumLikelihood(const std::vector& par) const; + virtual Double_t GetAsymmetryRRFMaximumLikelihood(const std::vector& par) const; virtual Double_t GetMuMinusMaximumLikelihood(const std::vector& par) const; virtual Double_t GetNonMusrMaximumLikelihood(const std::vector& par) const; @@ -79,12 +82,14 @@ class PRunListCollection virtual UInt_t GetNoOfSingleHisto() const { return fRunSingleHistoList.size(); } ///< returns the number of single histogram data sets present in the msr-file virtual UInt_t GetNoOfSingleHistoRRF() const { return fRunSingleHistoRRFList.size(); } ///< returns the number of single histogram RRF data sets present in the msr-file virtual UInt_t GetNoOfAsymmetry() const { return fRunAsymmetryList.size(); } ///< returns the number of asymmetry data sets present in the msr-file + virtual UInt_t GetNoOfAsymmetryRRF() const { return fRunAsymmetryRRFList.size(); } ///< returns the number of asymmetry RRF data sets present in the msr-file virtual UInt_t GetNoOfMuMinus() const { return fRunMuMinusList.size(); } ///< returns the number of mu minus data sets present in the msr-file virtual UInt_t GetNoOfNonMusr() const { return fRunNonMusrList.size(); } ///< returns the number of non-muSR data sets present in the msr-file virtual PRunData* GetSingleHisto(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetSingleHistoRRF(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetAsymmetry(UInt_t index, EDataSwitch tag=kIndex); + virtual PRunData* GetAsymmetryRRF(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetMuMinus(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetNonMusr(UInt_t index, EDataSwitch tag=kIndex); @@ -99,11 +104,12 @@ class PRunListCollection PMsrHandler *fMsrInfo; ///< pointer to the msr-file handler PRunDataHandler *fData; ///< pointer to the run-data handler - vector fRunSingleHistoList; ///< stores all processed single histogram data + vector fRunSingleHistoList; ///< stores all processed single histogram data vector fRunSingleHistoRRFList; ///< stores all processed single histogram RRF data - vector fRunAsymmetryList; ///< stores all processed asymmetry data - vector fRunMuMinusList; ///< stores all processed mu-minus data - vector fRunNonMusrList; ///< stores all processed non-muSR data + vector fRunAsymmetryList; ///< stores all processed asymmetry data + vector fRunAsymmetryRRFList; ///< stores all processed asymmetry RRF data + vector fRunMuMinusList; ///< stores all processed mu-minus data + vector fRunNonMusrList; ///< stores all processed non-muSR data }; #endif // _PRUNLISTCOLLECTION_H_ diff --git a/src/include/PRunMuMinus.h b/src/include/PRunMuMinus.h index 5c13ce68..6c731dd6 100644 --- a/src/include/PRunMuMinus.h +++ b/src/include/PRunMuMinus.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunNonMusr.h b/src/include/PRunNonMusr.h index 7b4685e5..3bb7ce97 100644 --- a/src/include/PRunNonMusr.h +++ b/src/include/PRunNonMusr.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PRunSingleHisto.h b/src/include/PRunSingleHisto.h index 4e9347f3..3980cff1 100644 --- a/src/include/PRunSingleHisto.h +++ b/src/include/PRunSingleHisto.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PStartupHandler.h b/src/include/PStartupHandler.h index f91dc679..9125a67b 100644 --- a/src/include/PStartupHandler.h +++ b/src/include/PStartupHandler.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PStartupHandlerLinkDef.h b/src/include/PStartupHandlerLinkDef.h index dd099371..036977e7 100644 --- a/src/include/PStartupHandlerLinkDef.h +++ b/src/include/PStartupHandlerLinkDef.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PTheory.h b/src/include/PTheory.h index 7baa44bc..85f79ddf 100644 --- a/src/include/PTheory.h +++ b/src/include/PTheory.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PUserFcn.h b/src/include/PUserFcn.h index 0c5c1fa6..dacb4041 100644 --- a/src/include/PUserFcn.h +++ b/src/include/PUserFcn.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PUserFcnBase.h b/src/include/PUserFcnBase.h index 558c8c41..a920727c 100644 --- a/src/include/PUserFcnBase.h +++ b/src/include/PUserFcnBase.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/include/PUserFcnBaseLinkDef.h b/src/include/PUserFcnBaseLinkDef.h index 5f78c800..843c143a 100644 --- a/src/include/PUserFcnBaseLinkDef.h +++ b/src/include/PUserFcnBaseLinkDef.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2007-2014 by Andreas Suter * + * Copyright (C) 2007-2016 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/tests/analyticFakeData/analyticFakeData.C b/src/tests/analyticFakeData/analyticFakeData.C index 2d80c0ac..621aa044 100644 --- a/src/tests/analyticFakeData/analyticFakeData.C +++ b/src/tests/analyticFakeData/analyticFakeData.C @@ -179,7 +179,7 @@ void analyticFakeData(const TString type, UInt_t runNo) phase.push_back((5.0 + 2.0*rand.Rndm())*TMath::Pi()/180.0 + TMath::TwoPi()/noOfHistos * (Double_t)i); const Double_t gamma = 0.0000135538817; // gamma/(2pi) - Double_t bb0 = 90000.0; // field in Gauss + Double_t bb0 = 5000.0; // field in Gauss Double_t rate0 = 1.0/1000.0; // in 1/ns // fake function parameters header info: only for test purposes From 5303f550b4c592bdd9ac3c3fd878cd6b98260d28 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Fri, 15 Jan 2016 17:30:05 +0100 Subject: [PATCH 10/17] add the missed files. --- src/classes/PRunAsymmetryRRF.cpp | 1545 ++++++++++++++++++++++++++++++ src/include/PRunAsymmetryRRF.h | 81 ++ 2 files changed, 1626 insertions(+) create mode 100644 src/classes/PRunAsymmetryRRF.cpp create mode 100644 src/include/PRunAsymmetryRRF.h diff --git a/src/classes/PRunAsymmetryRRF.cpp b/src/classes/PRunAsymmetryRRF.cpp new file mode 100644 index 00000000..bd21a5b8 --- /dev/null +++ b/src/classes/PRunAsymmetryRRF.cpp @@ -0,0 +1,1545 @@ +/*************************************************************************** + + PRunAsymmetryRRF.cpp + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_GOMP +#include +#endif + +#include + +#include +#include +using namespace std; + +#include +#include +#include + +#include "PMusr.h" +#include "PRunAsymmetryRRF.h" + +//-------------------------------------------------------------------------- +// Constructor +//-------------------------------------------------------------------------- +/** + *

Constructor + */ +PRunAsymmetryRRF::PRunAsymmetryRRF() : PRunBase() +{ + fNoOfFitBins = 0; + fRRFPacking = -1; + + // the 2 following variables are need in case fit range is given in bins, and since + // the fit range can be changed in the command block, these variables need to be accessible + fGoodBins[0] = -1; + fGoodBins[1] = -1; +} + +//-------------------------------------------------------------------------- +// Constructor +//-------------------------------------------------------------------------- +/** + *

Constructor + * + * \param msrInfo pointer to the msr-file handler + * \param rawData raw run data + * \param runNo number of the run within the msr-file + * \param tag tag showing what shall be done: kFit == fitting, kView == viewing + */ +PRunAsymmetryRRF::PRunAsymmetryRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag) : PRunBase(msrInfo, rawData, runNo, tag) +{ + // the 2 following variables are need in case fit range is given in bins, and since + // the fit range can be changed in the command block, these variables need to be accessible + fGoodBins[0] = -1; + fGoodBins[1] = -1; + + fRRFPacking = fMsrInfo->GetMsrGlobal()->GetRRFPacking(); + if (fRRFPacking == -1) { // this should NOT happen, somethin is severely wrong + cerr << endl << ">> PRunAsymmetryRRF::PRunAsymmetryRRF(): **SEVERE ERROR**: Couldn't find any RRF packing information!"; + cerr << endl << ">> This is very bad :-(, will quit ..."; + cerr << endl; + fValid = false; + return; + } + + // check if alpha and/or beta is fixed -------------------- + + PMsrParamList *param = msrInfo->GetMsrParamList(); + + // check if alpha is given + if (fRunInfo->GetAlphaParamNo() == -1) { // no alpha given + cerr << endl << ">> PRunAsymmetryRRF::PRunAsymmetryRRF(): **ERROR** no alpha parameter given! This is needed for an asymmetry fit!"; + cerr << endl; + fValid = false; + return; + } + // check if alpha parameter is within proper bounds + if ((fRunInfo->GetAlphaParamNo() < 0) || (fRunInfo->GetAlphaParamNo() > (Int_t)param->size())) { + cerr << endl << ">> PRunAsymmetryRRF::PRunAsymmetryRRF(): **ERROR** alpha parameter no = " << fRunInfo->GetAlphaParamNo(); + cerr << endl << ">> This is out of bound, since there are only " << param->size() << " parameters."; + cerr << endl; + fValid = false; + return; + } + // check if alpha is fixed + Bool_t alphaFixedToOne = false; + if (((*param)[fRunInfo->GetAlphaParamNo()-1].fStep == 0.0) && + ((*param)[fRunInfo->GetAlphaParamNo()-1].fValue == 1.0)) + alphaFixedToOne = true; + + // check if beta is given + Bool_t betaFixedToOne = false; + if (fRunInfo->GetBetaParamNo() == -1) { // no beta given hence assuming beta == 1 + betaFixedToOne = true; + } else if ((fRunInfo->GetBetaParamNo() < 0) || (fRunInfo->GetBetaParamNo() > (Int_t)param->size())) { // check if beta parameter is within proper bounds + cerr << endl << ">> PRunAsymmetryRRF::PRunAsymmetryRRF(): **ERROR** beta parameter no = " << fRunInfo->GetBetaParamNo(); + cerr << endl << ">> This is out of bound, since there are only " << param->size() << " parameters."; + cerr << endl; + fValid = false; + return; + } else { // check if beta is fixed + if (((*param)[fRunInfo->GetBetaParamNo()-1].fStep == 0.0) && + ((*param)[fRunInfo->GetBetaParamNo()-1].fValue == 1.0)) + betaFixedToOne = true; + } + + // set fAlphaBetaTag + if (alphaFixedToOne && betaFixedToOne) // alpha == 1, beta == 1 + fAlphaBetaTag = 1; + else if (!alphaFixedToOne && betaFixedToOne) // alpha != 1, beta == 1 + fAlphaBetaTag = 2; + else if (alphaFixedToOne && !betaFixedToOne) // alpha == 1, beta != 1 + fAlphaBetaTag = 3; + else + fAlphaBetaTag = 4; + + // calculate fData + if (!PrepareData()) + fValid = false; +} + +//-------------------------------------------------------------------------- +// Destructor +//-------------------------------------------------------------------------- +/** + *

Destructor. + */ +PRunAsymmetryRRF::~PRunAsymmetryRRF() +{ + fForward.clear(); + fForwardErr.clear(); + fBackward.clear(); + fBackwardErr.clear(); +} + +//-------------------------------------------------------------------------- +// CalcChiSquare (public) +//-------------------------------------------------------------------------- +/** + *

Calculate chi-square. + * + * return: + * - chisq value + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunAsymmetryRRF::CalcChiSquare(const std::vector& par) +{ + Double_t chisq = 0.0; + Double_t diff = 0.0; + Double_t asymFcnValue = 0.0; + Double_t a, b, f; + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate chi square + Double_t time(1.0); + Int_t i, N(static_cast(fData.GetValue()->size())); + + // In order not to have an IF in the next loop, determine the start and end bins for the fit range now + Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); + if (startTimeBin < 0) + startTimeBin = 0; + Int_t endTimeBin = static_cast(floor((fFitEndTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())) + 1; + if (endTimeBin > N) + endTimeBin = N; + + // Calculate the theory function once to ensure one function evaluation for the current set of parameters. + // This is needed for the LF and user functions where some non-thread-save calculations only need to be calculated once + // for a given set of parameters---which should be done outside of the parallelized loop. + // For all other functions it means a tiny and acceptable overhead. + asymFcnValue = fTheory->Func(time, par, fFuncValues); + + #ifdef HAVE_GOMP + Int_t chunk = (endTimeBin - startTimeBin)/omp_get_num_procs(); + if (chunk < 10) + chunk = 10; + #pragma omp parallel for default(shared) private(i,time,diff,asymFcnValue,a,b,f) schedule(dynamic,chunk) reduction(+:chisq) + #endif + for (i=startTimeBin; i < endTimeBin; ++i) { + time = fData.GetDataTimeStart() + (Double_t)i*fData.GetDataTimeStep(); + switch (fAlphaBetaTag) { + case 1: // alpha == 1, beta == 1 + asymFcnValue = fTheory->Func(time, par, fFuncValues); + break; + case 2: // alpha != 1, beta == 1 + a = par[fRunInfo->GetAlphaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = (f*(a+1.0)-(a-1.0))/((a+1.0)-f*(a-1.0)); + break; + case 3: // alpha == 1, beta != 1 + b = par[fRunInfo->GetBetaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = f*(b+1.0)/(2.0-f*(b-1.0)); + break; + case 4: // alpha != 1, beta != 1 + a = par[fRunInfo->GetAlphaParamNo()-1]; + b = par[fRunInfo->GetBetaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = (f*(a*b+1.0)-(a-1.0))/((a+1.0)-f*(a*b-1.0)); + break; + default: + asymFcnValue = 0.0; + break; + } + diff = fData.GetValue()->at(i) - asymFcnValue; + chisq += diff*diff / (fData.GetError()->at(i)*fData.GetError()->at(i)); + } + + return chisq; +} + +//-------------------------------------------------------------------------- +// CalcChiSquareExpected (public) +//-------------------------------------------------------------------------- +/** + *

Calculate expected chi-square. Currently not implemented since not clear what to be done. + * + * return: + * - chisq value == 0.0 + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunAsymmetryRRF::CalcChiSquareExpected(const std::vector& par) +{ + return 0.0; +} + +//-------------------------------------------------------------------------- +// CalcMaxLikelihood (public) +//-------------------------------------------------------------------------- +/** + *

NOT IMPLEMENTED!! + * + * \param par parameter vector iterated by minuit2 + */ +Double_t PRunAsymmetryRRF::CalcMaxLikelihood(const std::vector& par) +{ + cout << endl << "PRunAsymmetryRRF::CalcMaxLikelihood(): not implemented yet ..." << endl; + + return 1.0; +} + +//-------------------------------------------------------------------------- +// GetNoOfFitBins (public) +//-------------------------------------------------------------------------- +/** + *

Calculate the number of fitted bins for the current fit range. + * + * return: number of fitted bins. + */ +UInt_t PRunAsymmetryRRF::GetNoOfFitBins() +{ + CalcNoOfFitBins(); + + return fNoOfFitBins; +} + +//-------------------------------------------------------------------------- +// SetFitRangeBin (public) +//-------------------------------------------------------------------------- +/** + *

Allows to change the fit range on the fly. Used in the COMMAND block. + * The syntax of the string is: FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]]. + * If only one pair of fgb/lgb is given, it is used for all runs in the RUN block section. + * If multiple fgb/lgb's are given, the number N has to be the number of RUN blocks in + * the msr-file. + * + *

nXY are offsets which can be used to shift, limit the fit range. + * + * \param fitRange string containing the necessary information. + */ +void PRunAsymmetryRRF::SetFitRangeBin(const TString fitRange) +{ + TObjArray *tok = 0; + TObjString *ostr = 0; + TString str; + Ssiz_t idx = -1; + Int_t offset = 0; + + tok = fitRange.Tokenize(" \t"); + + if (tok->GetEntries() == 3) { // structure FIT_RANGE fgb+n0 lgb-n1 + // handle fgb+n0 entry + ostr = (TObjString*) tok->At(1); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("+"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution; + + // handle lgb-n1 entry + ostr = (TObjString*) tok->At(2); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("-"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution; + } else if ((tok->GetEntries() > 3) && (tok->GetEntries() % 2 == 1)) { // structure FIT_RANGE fgb[+n00] lgb[-n01] [fgb[+n10] lgb[-n11] ... fgb[+nN0] lgb[-nN1]] + Int_t pos = 2*(fRunNo+1)-1; + + if (pos + 1 >= tok->GetEntries()) { + cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> will ignore it. Sorry ..." << endl; + } else { + // handle fgb+n0 entry + ostr = (TObjString*) tok->At(pos); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("+"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitStartTime = (fGoodBins[0] + offset - fT0s[0]) * fTimeResolution; + + // handle lgb-n1 entry + ostr = (TObjString*) tok->At(pos+1); + str = ostr->GetString(); + // check if there is an offset present + idx = str.First("-"); + if (idx != -1) { // offset present + str.Remove(0, idx+1); + if (str.IsFloat()) // if str is a valid number, convert is to an integer + offset = str.Atoi(); + } + fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution; + } + } else { // error + cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'"; + cerr << endl << ">> will ignore it. Sorry ..." << endl; + } + + // clean up + if (tok) { + delete tok; + } +} + +//-------------------------------------------------------------------------- +// CalcNoOfFitBins (protected) +//-------------------------------------------------------------------------- +/** + *

Calculate the number of fitted bins for the current fit range. + */ +void PRunAsymmetryRRF::CalcNoOfFitBins() +{ + // In order not having to loop over all bins and to stay consistent with the chisq method, calculate the start and end bins explicitly + Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); + if (startTimeBin < 0) + startTimeBin = 0; + Int_t endTimeBin = static_cast(floor((fFitEndTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())) + 1; + if (endTimeBin > static_cast(fData.GetValue()->size())) + endTimeBin = fData.GetValue()->size(); + + if (endTimeBin > startTimeBin) + fNoOfFitBins = endTimeBin - startTimeBin; + else + fNoOfFitBins = 0; +} + +//-------------------------------------------------------------------------- +// CalcTheory (protected) +//-------------------------------------------------------------------------- +/** + *

Calculate theory for a given set of fit-parameters. + */ +void PRunAsymmetryRRF::CalcTheory() +{ + // feed the parameter vector + std::vector par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (UInt_t i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate asymmetry + Double_t asymFcnValue = 0.0; + Double_t a, b, f; + Double_t time; + for (UInt_t i=0; isize(); i++) { + time = fData.GetDataTimeStart() + (Double_t)i*fData.GetDataTimeStep(); + switch (fAlphaBetaTag) { + case 1: // alpha == 1, beta == 1 + asymFcnValue = fTheory->Func(time, par, fFuncValues); + break; + case 2: // alpha != 1, beta == 1 + a = par[fRunInfo->GetAlphaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = (f*(a+1.0)-(a-1.0))/((a+1.0)-f*(a-1.0)); + break; + case 3: // alpha == 1, beta != 1 + b = par[fRunInfo->GetBetaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = f*(b+1.0)/(2.0-f*(b-1.0)); + break; + case 4: // alpha != 1, beta != 1 + a = par[fRunInfo->GetAlphaParamNo()-1]; + b = par[fRunInfo->GetBetaParamNo()-1]; + f = fTheory->Func(time, par, fFuncValues); + asymFcnValue = (f*(a*b+1.0)-(a-1.0))/((a+1.0)-f*(a*b-1.0)); + break; + default: + asymFcnValue = 0.0; + break; + } + fData.AppendTheoryValue(asymFcnValue); + } + + // clean up + par.clear(); +} + +//-------------------------------------------------------------------------- +// PrepareData (protected) +//-------------------------------------------------------------------------- +/** + *

Prepare data for fitting or viewing. What is already processed at this stage: + * - get all needed forward/backward histograms + * - get time resolution + * - get start/stop fit time + * - get t0's and perform necessary cross checks (e.g. if t0 of msr-file (if present) are consistent with t0 of the data files, etc.) + * - add runs (if addruns are present) + * - group histograms (if grouping is present) + * - subtract background + * + * Error propagation for \f$ A_i = (f_i^{\rm c}-b_i^{\rm c})/(f_i^{\rm c}+b_i^{\rm c})\f$: + * \f[ \Delta A_i = \pm\frac{2}{(f_i^{\rm c}+b_i^{\rm c})^2}\left[ + * (b_i^{\rm c})^2 (\Delta f_i^{\rm c})^2 + + * (\Delta b_i^{\rm c})^2 (f_i^{\rm c})^2\right]^{1/2}\f] + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunAsymmetryRRF::PrepareData() +{ + // keep the Global block info + PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); + + // get forward/backward histo from PRunDataHandler object ------------------------ + // get the correct run + PRawRunData *runData = fRawData->GetRunData(*(fRunInfo->GetRunName())); + if (!runData) { // run not found + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **ERROR** Couldn't get run " << fRunInfo->GetRunName()->Data() << "!"; + cerr << endl; + return false; + } + + // collect histogram numbers + PUIntVector forwardHistoNo; + PUIntVector backwardHistoNo; + for (UInt_t i=0; iGetForwardHistoNoSize(); i++) { + forwardHistoNo.push_back(fRunInfo->GetForwardHistoNo(i)); + + if (!runData->IsPresent(forwardHistoNo[i])) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **PANIC ERROR**:"; + cerr << endl << ">> forwardHistoNo found = " << forwardHistoNo[i] << ", which is NOT present in the data file!?!?"; + cerr << endl << ">> Will quit :-("; + cerr << endl; + // clean up + forwardHistoNo.clear(); + backwardHistoNo.clear(); + return false; + } + } + for (UInt_t i=0; iGetBackwardHistoNoSize(); i++) { + backwardHistoNo.push_back(fRunInfo->GetBackwardHistoNo(i)); + + if (!runData->IsPresent(backwardHistoNo[i])) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **PANIC ERROR**:"; + cerr << endl << ">> backwardHistoNo found = " << backwardHistoNo[i] << ", which is NOT present in the data file!?!?"; + cerr << endl << ">> Will quit :-("; + cerr << endl; + // clean up + forwardHistoNo.clear(); + backwardHistoNo.clear(); + return false; + } + } + if (forwardHistoNo.size() != backwardHistoNo.size()) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **PANIC ERROR**:"; + cerr << endl << ">> # of forward histograms different from # of backward histograms."; + cerr << endl << ">> Will quit :-("; + cerr << endl; + // clean up + forwardHistoNo.clear(); + backwardHistoNo.clear(); + return false; + } + + // keep the time resolution in (us) + fTimeResolution = runData->GetTimeResolution()/1.0e3; + cout.precision(10); + cout << endl << ">> PRunAsymmetryRRF::PrepareData(): time resolution=" << fixed << runData->GetTimeResolution() << "(ns)" << endl; + + // get all the proper t0's and addt0's for the current RUN block + if (!GetProperT0(runData, globalBlock, forwardHistoNo, backwardHistoNo)) { + return false; + } + + // keep the histo of each group at this point (addruns handled below) + vector forward, backward; + forward.resize(forwardHistoNo.size()); // resize to number of groups + backward.resize(backwardHistoNo.size()); // resize to numer of groups + for (UInt_t i=0; iGetDataBin(forwardHistoNo[i])->size()); + backward[i].resize(runData->GetDataBin(backwardHistoNo[i])->size()); + forward[i] = *runData->GetDataBin(forwardHistoNo[i]); + backward[i] = *runData->GetDataBin(backwardHistoNo[i]); + } + + // check if addrun's are present, and if yes add data + // check if there are runs to be added to the current one + if (fRunInfo->GetRunNameSize() > 1) { // runs to be added present + PRawRunData *addRunData; + for (UInt_t i=1; iGetRunNameSize(); i++) { + // get run to be added to the main one + addRunData = fRawData->GetRunData(*(fRunInfo->GetRunName(i))); + if (addRunData == 0) { // couldn't get run + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **ERROR** Couldn't get addrun " << fRunInfo->GetRunName(i)->Data() << "!"; + cerr << endl; + return false; + } + + // add forward run + UInt_t addRunSize; + for (UInt_t k=0; kGetDataBin(forwardHistoNo[k])->size(); + for (UInt_t j=0; jGetDataBin(forwardHistoNo[k])->size(); j++) { // loop over the bin indices + // make sure that the index stays in the proper range + if ((j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] < addRunSize)) { + forward[k][j] += addRunData->GetDataBin(forwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k]); + } + } + } + + // add backward run + for (UInt_t k=0; kGetDataBin(backwardHistoNo[k])->size(); + for (UInt_t j=0; jGetDataBin(backwardHistoNo[k])->size(); j++) { // loop over the bin indices + // make sure that the index stays in the proper range + if ((j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] < addRunSize)) { + backward[k][j] += addRunData->GetDataBin(backwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1]); + } + } + } + } + } + + // set forward/backward histo data of the first group + fForward.resize(forward[0].size()); + fBackward.resize(backward[0].size()); + for (UInt_t i=0; iGetDataBin(forwardHistoNo[i])->size(); j++) { // loop over the bin indices + // make sure that the index stays within proper range + if ((j+fT0s[2*i]-fT0s[0] >= 0) && (j+fT0s[2*i]-fT0s[0] < runData->GetDataBin(forwardHistoNo[i])->size())) { + fForward[j] += forward[i][j+(Int_t)fT0s[2*i]-(Int_t)fT0s[0]]; + } + } + } + + // group histograms, add all the remaining backward histograms of the group + for (UInt_t i=1; iGetDataBin(backwardHistoNo[i])->size(); j++) { // loop over the bin indices + // make sure that the index stays within proper range + if ((j+fT0s[2*i+1]-fT0s[1] >= 0) && (j+fT0s[2*i+1]-fT0s[1] < runData->GetDataBin(backwardHistoNo[i])->size())) { + fBackward[j] += backward[i][j+(Int_t)fT0s[2*i+1]-(Int_t)fT0s[1]]; + } + } + } + + // subtract background from histogramms ------------------------------------------ + if (fRunInfo->GetBkgFix(0) == PMUSR_UNDEFINED) { // no fixed background given + if (fRunInfo->GetBkgRange(0) >= 0) { // background range given + if (!SubtractEstimatedBkg()) + return false; + } else { // no background given to do the job, try to estimate it + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.1), 0); + fRunInfo->SetBkgRange(static_cast(fT0s[0]*0.6), 1); + fRunInfo->SetBkgRange(static_cast(fT0s[1]*0.1), 2); + fRunInfo->SetBkgRange(static_cast(fT0s[1]*0.6), 3); + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **WARNING** Neither fix background nor background bins are given!"; + cerr << endl << ">> Will try the following:"; + cerr << endl << ">> forward: bkg start = " << fRunInfo->GetBkgRange(0) << ", bkg end = " << fRunInfo->GetBkgRange(1); + cerr << endl << ">> backward: bkg start = " << fRunInfo->GetBkgRange(2) << ", bkg end = " << fRunInfo->GetBkgRange(3); + cerr << endl << ">> NO WARRANTY THAT THIS MAKES ANY SENSE! Better check ..."; + cerr << endl; + if (!SubtractEstimatedBkg()) + return false; + } + } else { // fixed background given + if (!SubtractFixBkg()) + return false; + } + + UInt_t histoNo[2] = {forwardHistoNo[0], backwardHistoNo[0]}; + + // get the data range (fgb/lgb) for the current RUN block + if (!GetProperDataRange(runData, histoNo)) { + return false; + } + + // get the fit range for the current RUN block + GetProperFitRange(globalBlock); + + // everything looks fine, hence fill data set + Bool_t status; + switch(fHandleTag) { + case kFit: + status = PrepareFitData(); + break; + case kView: + status = PrepareViewData(runData, histoNo); + break; + default: + status = false; + break; + } + + // clean up + forwardHistoNo.clear(); + backwardHistoNo.clear(); + + return status; +} + +//-------------------------------------------------------------------------- +// SubtractFixBkg (private) +//-------------------------------------------------------------------------- +/** + *

Subtracts a fixed background from the raw data. The background is given + * in units of (1/bin); for the Asymmetry representation (1/ns) doesn't make too much sense. + * The error propagation is done the following way: it is assumed that the error of the background + * is Poisson like, i.e. \f$\Delta\mathrm{bkg} = \sqrt{\mathrm{bkg}}\f$. + * + * Error propagation: + * \f[ \Delta f_i^{\rm c} = \pm\left[ (\Delta f_i)^2 + (\Delta \mathrm{bkg})^2 \right]^{1/2} = + * \pm\left[ f_i + \mathrm{bkg} \right]^{1/2}, \f] + * where \f$ f_i^{\rm c} \f$ is the background corrected histogram, \f$ f_i \f$ the raw histogram + * and \f$ \mathrm{bkg} \f$ the fix given background. + * + * return: + * - true + * + */ +Bool_t PRunAsymmetryRRF::SubtractFixBkg() +{ + Double_t dval; + for (UInt_t i=0; iGetBkgFix(0); + + // keep the error, and make sure that the bin is NOT empty + if (fBackward[i] != 0.0) + dval = TMath::Sqrt(fBackward[i]); + else + dval = 1.0; + fBackwardErr.push_back(dval); + fBackward[i] -= fRunInfo->GetBkgFix(1); + } + + return true; +} + +//-------------------------------------------------------------------------- +// SubtractEstimatedBkg (private) +//-------------------------------------------------------------------------- +/** + *

Subtracts the background which is estimated from a given interval (typically before t0). + * + * The background corrected histogramms are: + * \f$ f_i^{\rm c} = f_i - \mathrm{bkg} \f$, where \f$ f_i \f$ is the raw data histogram, + * \f$ \mathrm{bkg} \f$ the background estimate, and \f$ f_i^{\rm c} \f$ background corrected + * histogram. The error on \f$ f_i^{\rm c} \f$ is + * \f[ \Delta f_i^{\rm c} = \pm \sqrt{ (\Delta f_i)^2 + (\Delta \mathrm{bkg})^2 } = + * \pm \sqrt{f_i + (\Delta \mathrm{bkg})^2} \f] + * The background error \f$ \Delta \mathrm{bkg} \f$ is + * \f[ \Delta \mathrm{bkg} = \pm\frac{1}{N}\left[\sum_{i=0}^N (\Delta f_i)^2\right]^{1/2} = + * \pm\frac{1}{N}\left[\sum_{i=0}^N f_i \right]^{1/2},\f] + * where \f$N\f$ is the number of bins over which the background is formed. + * + * return: + * - true + */ +Bool_t PRunAsymmetryRRF::SubtractEstimatedBkg() +{ + Double_t beamPeriod = 0.0; + + // check if data are from PSI, RAL, or TRIUMF + if (fRunInfo->GetInstitute()->Contains("psi")) + beamPeriod = ACCEL_PERIOD_PSI; + else if (fRunInfo->GetInstitute()->Contains("ral")) + beamPeriod = ACCEL_PERIOD_RAL; + else if (fRunInfo->GetInstitute()->Contains("triumf")) + beamPeriod = ACCEL_PERIOD_TRIUMF; + else + beamPeriod = 0.0; + + // check if start and end are in proper order + UInt_t start[2] = {fRunInfo->GetBkgRange(0), fRunInfo->GetBkgRange(2)}; + UInt_t end[2] = {fRunInfo->GetBkgRange(1), fRunInfo->GetBkgRange(3)}; + for (UInt_t i=0; i<2; i++) { + if (end[i] < start[i]) { + cout << endl << "PRunAsymmetryRRF::SubtractEstimatedBkg(): end = " << end[i] << " > start = " << start[i] << "! Will swap them!"; + UInt_t keep = end[i]; + end[i] = start[i]; + start[i] = keep; + } + } + + // calculate proper background range + for (UInt_t i=0; i<2; i++) { + if (beamPeriod != 0.0) { + Double_t timeBkg = (Double_t)(end[i]-start[i])*(fTimeResolution*fRRFPacking); // length of the background intervall in time + UInt_t fullCycles = (UInt_t)(timeBkg/beamPeriod); // how many proton beam cylces can be placed within the proposed background intervall + // correct the end of the background intervall such that the background is as close as possible to a multiple of the proton cylce + end[i] = start[i] + (UInt_t) ((fullCycles*beamPeriod)/(fTimeResolution*fRRFPacking)); + cout << "PRunAsymmetryRRF::SubtractEstimatedBkg(): Background " << start[i] << ", " << end[i] << endl; + if (end[i] == start[i]) + end[i] = fRunInfo->GetBkgRange(2*i+1); + } + } + + // check if start is within histogram bounds + if ((start[0] < 0) || (start[0] >= fForward.size()) || + (start[1] < 0) || (start[1] >= fBackward.size())) { + cerr << endl << ">> PRunAsymmetryRRF::SubtractEstimatedBkg(): **ERROR** background bin values out of bound!"; + cerr << endl << ">> histo lengths (f/b) = (" << fForward.size() << "/" << fBackward.size() << ")."; + cerr << endl << ">> background start (f/b) = (" << start[0] << "/" << start[1] << ")."; + return false; + } + + // check if end is within histogram bounds + if ((end[0] < 0) || (end[0] >= fForward.size()) || + (end[1] < 0) || (end[1] >= fBackward.size())) { + cerr << endl << ">> PRunAsymmetryRRF::SubtractEstimatedBkg(): **ERROR** background bin values out of bound!"; + cerr << endl << ">> histo lengths (f/b) = (" << fForward.size() << "/" << fBackward.size() << ")."; + cerr << endl << ">> background end (f/b) = (" << end[0] << "/" << end[1] << ")."; + return false; + } + + // calculate background + Double_t bkg[2] = {0.0, 0.0}; + Double_t errBkg[2] = {0.0, 0.0}; + + // forward + for (UInt_t i=start[0]; i<=end[0]; i++) + bkg[0] += fForward[i]; + errBkg[0] = TMath::Sqrt(bkg[0])/(end[0] - start[0] + 1); + bkg[0] /= static_cast(end[0] - start[0] + 1); + cout << endl << ">> estimated forward histo background: " << bkg[0]; + + // backward + for (UInt_t i=start[1]; i<=end[1]; i++) + bkg[1] += fBackward[i]; + errBkg[1] = TMath::Sqrt(bkg[1])/(end[1] - start[1] + 1); + bkg[1] /= static_cast(end[1] - start[1] + 1); + cout << endl << ">> estimated backward histo background: " << bkg[1] << endl; + + // correct error for forward, backward + Double_t errVal = 0.0; + for (UInt_t i=0; i 0.0) + errVal = TMath::Sqrt(fForward[i]+errBkg[0]*errBkg[0]); + else + errVal = 1.0; + fForwardErr.push_back(errVal); + if (fBackward[i] > 0.0) + errVal = TMath::Sqrt(fBackward[i]+errBkg[1]*errBkg[1]); + else + errVal = 1.0; + fBackwardErr.push_back(errVal); + } + + // subtract background from data + for (UInt_t i=0; iSetBkgEstimated(bkg[0], 0); + fRunInfo->SetBkgEstimated(bkg[1], 1); + + return true; +} + +//-------------------------------------------------------------------------- +// PrepareFitData (protected) +//-------------------------------------------------------------------------- +/** + *

Take the pre-processed data (i.e. grouping and addrun are preformed, background correction already carried out) + * and form the asymmetry for fitting. + */ +Bool_t PRunAsymmetryRRF::PrepareFitData() +{ + // transform raw histo data. At this point, the raw data are already background corrected. + + // 1st: form the asymmetry of the original data + + // forward and backward detectors might have different fgb-t0 offset. Take the maximum of both. + Int_t fgbOffset = fGoodBins[0]-(Int_t)fT0s[0]; + if (fgbOffset < fGoodBins[2]-(Int_t)fT0s[1]) + fgbOffset = fGoodBins[2]-(Int_t)fT0s[1]; + // last good bin (lgb) is the minimum of forward/backward lgb + Int_t lgb_offset = fGoodBins[1]-(Int_t)fT0s[0]+fgbOffset; + if (lgb_offset < fGoodBins[3]-(Int_t)fT0s[1]+fgbOffset) + lgb_offset = fGoodBins[3]-(Int_t)fT0s[1]+fgbOffset; + + Int_t fgb = (Int_t)fT0s[0]+fgbOffset; + Int_t lgb = fgb + lgb_offset; + Int_t dt0 = (Int_t)fT0s[0]-(Int_t)fT0s[1]; + + cout << "debug> fGoodBins[0]=" << fGoodBins[0] << ", fGoodBins[2]=" << fGoodBins[2] << ", fT0s[0]=" << fT0s[0] << ", fT0s[1]=" << fT0s[1] << endl; + cout << "debug> fgbOffset=" << fgbOffset << endl; + cout << "debug> fgb=" << fgb << ", lgb=" << lgb << ", dt0=" << dt0 << endl; + + PDoubleVector asym; + PDoubleVector asymErr; + Double_t asymVal, asymValErr; + Double_t ff, bb, eff, ebb; + for (Int_t i=fgb; iGetMsrGlobal(); + Double_t wRRF = globalBlock->GetRRFFreq("Mc"); + Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; + + Double_t startTime = fTimeResolution * (fT0s[0]+(Double_t)fgbOffset); + Double_t time=0.0; + for (UInt_t i=0; iTake the pre-processed data (i.e. grouping and addrun are preformed) and form the asymmetry for view representation. + * Before forming the asymmetry, the following checks will be performed: + * -# check if view packing is whished. + * -# check if data range is given, if not try to estimate one. + * -# check that data range is present, that it makes any sense. + * -# check that 'first good bin'-'t0' is the same for forward and backward histogram. If not adjust it. + * -# pack data (rebin). + * -# if packed forward size != backward size, truncate the longer one such that an asymmetry can be formed. + * -# calculate the asymmetry: \f$ A_i = (\alpha f_i^c-b_i^c)/(\alpha \beta f_i^c+b_i^c) \f$ + * -# calculate the asymmetry errors: \f$ \delta A_i = 2 \sqrt{(b_i^c)^2 (\delta f_i^c)^2 + (\delta b_i^c)^2 (f_i^c)^2}/(f_i^c+b_i^c)^2\f$ + * -# calculate the theory vector. + * + * \param runData raw run data needed to perform some crosschecks + * \param histoNo histogram number (within a run). histoNo[0]: forward histogram number, histNo[1]: backward histogram number + */ +Bool_t PRunAsymmetryRRF::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2]) +{ + // check if view_packing is wished + Int_t packing = fRRFPacking; + if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { + packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; + } + + // feed the parameter vector + std::vector par; + PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); + for (UInt_t i=0; isize(); i++) + par.push_back((*paramList)[i].fValue); + + // transform raw histo data. This is done the following way (for details see the manual): + // first rebin the data, than calculate the asymmetry + + // first get start data, end data, and t0 + Int_t start[2] = {fGoodBins[0], fGoodBins[2]}; + Int_t end[2] = {fGoodBins[1], fGoodBins[3]}; + Int_t t0[2] = {(Int_t)fT0s[0], (Int_t)fT0s[1]}; + + // check if the data ranges and t0's between forward/backward are compatible + Int_t fgb[2]; + if (start[0]-t0[0] != start[1]-t0[1]) { // wrong fgb aligning + if (abs(start[0]-t0[0]) > abs(start[1]-t0[1])) { + fgb[0] = start[0]; + fgb[1] = t0[1] + start[0]-t0[0]; + cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **WARNING** needed to shift backward fgb from "; + cerr << start[1] << " to " << fgb[1] << endl; + } else { + fgb[0] = t0[0] + start[1]-t0[1]; + fgb[1] = start[1]; + cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **WARNING** needed to shift forward fgb from "; + cerr << start[0] << " to " << fgb[0] << endl; + } + } else { // fgb aligning is correct + fgb[0] = start[0]; + fgb[1] = start[1]; + } + + Int_t val = fgb[0]-packing*(fgb[0]/packing); + do { + if (fgb[1] - fgb[0] < 0) + val += packing; + } while (val + fgb[1] - fgb[0] < 0); + + start[0] = val; + start[1] = val + fgb[1] - fgb[0]; + + // make sure that there are equal number of rebinned bins in forward and backward + UInt_t noOfBins0 = (runData->GetDataBin(histoNo[0])->size()-start[0])/packing; + UInt_t noOfBins1 = (runData->GetDataBin(histoNo[1])->size()-start[1])/packing; + if (noOfBins0 > noOfBins1) + noOfBins0 = noOfBins1; + end[0] = start[0] + noOfBins0 * packing; + end[1] = start[1] + noOfBins0 * packing; + + // check if start, end, and t0 make any sense + // 1st check if start and end are in proper order + for (UInt_t i=0; i<2; i++) { + if (end[i] < start[i]) { // need to swap them + Int_t keep = end[i]; + end[i] = start[i]; + start[i] = keep; + } + // 2nd check if start is within proper bounds + if ((start[i] < 0) || (start[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** start data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 3rd check if end is within proper bounds + if ((end[i] < 0) || (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** end data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 4th check if t0 is within proper bounds + if ((t0[i] < 0) || (t0[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** t0 data bin doesn't make any sense!"; + cerr << endl; + return false; + } + } + + // everything looks fine, hence fill packed forward and backward histo + PRunData forwardPacked; + PRunData backwardPacked; + Double_t value = 0.0; + Double_t error = 0.0; + + // forward + for (Int_t i=start[0]; i 1 + if (((i-start[0]) % packing == 0) && (i != start[0])) { // fill data + // in order that after rebinning the fit does not need to be redone (important for plots) + // the value is normalize to per bin + value /= packing; + forwardPacked.AppendValue(value); + if (value == 0.0) + forwardPacked.AppendErrorValue(1.0); + else + forwardPacked.AppendErrorValue(TMath::Sqrt(error)/packing); + value = 0.0; + error = 0.0; + } + value += fForward[i]; + error += fForwardErr[i]*fForwardErr[i]; + } + } + + // backward + for (Int_t i=start[1]; i 1 + if (((i-start[1]) % packing == 0) && (i != start[1])) { // fill data + // in order that after rebinning the fit does not need to be redone (important for plots) + // the value is normalize to per bin + value /= packing; + backwardPacked.AppendValue(value); + if (value == 0.0) + backwardPacked.AppendErrorValue(1.0); + else + backwardPacked.AppendErrorValue(TMath::Sqrt(error)/packing); + value = 0.0; + error = 0.0; + } + value += fBackward[i]; + error += fBackwardErr[i]*fBackwardErr[i]; + } + } + + // check if packed forward and backward hist have the same size, otherwise take the minimum size + UInt_t noOfBins = forwardPacked.GetValue()->size(); + if (forwardPacked.GetValue()->size() != backwardPacked.GetValue()->size()) { + if (forwardPacked.GetValue()->size() > backwardPacked.GetValue()->size()) + noOfBins = backwardPacked.GetValue()->size(); + } + + // form asymmetry including error propagation + Double_t asym; + Double_t f, b, ef, eb, alpha = 1.0, beta = 1.0; + // set data time start, and step + // data start at data_start-t0 + fData.SetDataTimeStart(fTimeResolution*((Double_t)start[0]-t0[0]+(Double_t)(packing-1)/2.0)); + fData.SetDataTimeStep(fTimeResolution*(Double_t)packing); + + // get the proper alpha and beta + switch (fAlphaBetaTag) { + case 1: // alpha == 1, beta == 1 + alpha = 1.0; + beta = 1.0; + break; + case 2: // alpha != 1, beta == 1 + alpha = par[fRunInfo->GetAlphaParamNo()-1]; + beta = 1.0; + break; + case 3: // alpha == 1, beta != 1 + alpha = 1.0; + beta = par[fRunInfo->GetBetaParamNo()-1]; + break; + case 4: // alpha != 1, beta != 1 + alpha = par[fRunInfo->GetAlphaParamNo()-1]; + beta = par[fRunInfo->GetBetaParamNo()-1]; + break; + default: + break; + } + + for (UInt_t i=0; isize(); i++) { + // to make the formulae more readable + f = forwardPacked.GetValue()->at(i); + b = backwardPacked.GetValue()->at(i); + ef = forwardPacked.GetError()->at(i); + eb = backwardPacked.GetError()->at(i); + // check that there are indeed bins + if (f+b != 0.0) + asym = (alpha*f-b) / (alpha*beta*f+b); + else + asym = 0.0; + fData.AppendValue(asym); + // calculate the error + if (f+b != 0.0) + error = 2.0/((f+b)*(f+b))*TMath::Sqrt(b*b*ef*ef+eb*eb*f*f); + else + error = 1.0; + fData.AppendErrorValue(error); + } + + CalcNoOfFitBins(); + + // clean up + fForward.clear(); + fForwardErr.clear(); + fBackward.clear(); + fBackwardErr.clear(); + + // fill theory vector for kView + // calculate functions + for (Int_t i=0; iGetNoOfFuncs(); i++) { + fFuncValues[i] = fMsrInfo->EvalFunc(fMsrInfo->GetFuncNo(i), *fRunInfo->GetMap(), par); + } + + // calculate theory + Double_t time; + UInt_t size = runData->GetDataBin(histoNo[0])->size(); + Double_t factor = 1.0; + if (fData.GetValue()->size() * 10 > runData->GetDataBin(histoNo[0])->size()) { + size = fData.GetValue()->size() * 10; + factor = (Double_t)runData->GetDataBin(histoNo[0])->size() / (Double_t)size; + } + fData.SetTheoryTimeStart(fData.GetDataTimeStart()); + fData.SetTheoryTimeStep(fTimeResolution*factor); + for (UInt_t i=0; iFunc(time, par, fFuncValues); + if (fabs(value) > 10.0) { // dirty hack needs to be fixed!! + value = 0.0; + } + fData.AppendTheoryValue(value); + } + + // clean up + par.clear(); + + return true; +} + +//-------------------------------------------------------------------------- +// GetProperT0 (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper t0 for the single histogram run. + * -# the t0 vector size = number of detectors (grouping) for forward. + * -# initialize t0's with -1 + * -# fill t0's from RUN block + * -# if t0's are missing (i.e. t0 == -1), try to fill from the GLOBAL block. + * -# if t0's are missing, try t0's from the data file + * -# if t0's are missing, try to estimate them + * + * \param runData pointer to the current RUN block entry from the msr-file + * \param globalBlock pointer to the GLOBLA block entry from the msr-file + * \param forwardHistoNo histogram number vector of forward; forwardHistoNo = msr-file forward + redGreen_offset - 1 + * \param backwardHistoNo histogram number vector of backwardward; backwardHistoNo = msr-file backward + redGreen_offset - 1 + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunAsymmetryRRF::GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &forwardHistoNo, PUIntVector &backwardHistoNo) +{ + // feed all T0's + // first init T0's, T0's are stored as (forward T0, backward T0, etc.) + fT0s.clear(); + fT0s.resize(2*forwardHistoNo.size()); + for (UInt_t i=0; iGetT0BinSize(); i++) { + fT0s[i] = fRunInfo->GetT0Bin(i); + } + + // fill in the missing T0's from the GLOBAL block section (if present) + for (UInt_t i=0; iGetT0BinSize(); i++) { + if (fT0s[i] == -1) { // i.e. not given in the RUN block section + fT0s[i] = globalBlock->GetT0Bin(i); + } + } + + // fill in the missing T0's from the data file, if not already present in the msr-file + for (UInt_t i=0; iGetT0Bin(forwardHistoNo[i]) > 0.0) { + fT0s[2*i] = runData->GetT0Bin(forwardHistoNo[i]); + fRunInfo->SetT0Bin(fT0s[2*i], 2*i); + } + } + for (UInt_t i=0; iGetT0Bin(backwardHistoNo[i]) > 0.0) { + fT0s[2*i+1] = runData->GetT0Bin(backwardHistoNo[i]); + fRunInfo->SetT0Bin(fT0s[2*i+1], 2*i+1); + } + } + + // fill in the T0's gaps, i.e. in case the T0's are NEITHER in the msr-file and NOR in the data file + for (UInt_t i=0; iGetT0BinEstimated(forwardHistoNo[i]); + fRunInfo->SetT0Bin(fT0s[2*i], 2*i); + + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName()->Data(); + cerr << endl << ">> will try the estimated one: forward t0 = " << runData->GetT0BinEstimated(forwardHistoNo[i]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + for (UInt_t i=0; iGetT0BinEstimated(backwardHistoNo[i]); + fRunInfo->SetT0Bin(fT0s[2*i+1], 2*i+1); + + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName()->Data(); + cerr << endl << ">> will try the estimated one: backward t0 = " << runData->GetT0BinEstimated(backwardHistoNo[i]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + + // check if t0 is within proper bounds + for (UInt_t i=0; i (Int_t)runData->GetDataBin(forwardHistoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **ERROR** t0 data bin (" << fT0s[2*i] << ") doesn't make any sense!"; + cerr << endl << ">> forwardHistoNo " << forwardHistoNo[i]; + cerr << endl; + return false; + } + if ((fT0s[2*i+1] < 0) || (fT0s[2*i+1] > (Int_t)runData->GetDataBin(backwardHistoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::PrepareData(): **ERROR** t0 data bin (" << fT0s[2*i+1] << ") doesn't make any sense!"; + cerr << endl << ">> backwardHistoNo " << backwardHistoNo[i]; + cerr << endl; + return false; + } + } + + // check if addrun's are present, and if yes add the necessary t0's + if (fRunInfo->GetRunNameSize() > 1) { // runs to be added present + PRawRunData *addRunData; + fAddT0s.resize(fRunInfo->GetRunNameSize()-1); // resize to the number of addruns + for (UInt_t i=1; iGetRunNameSize(); i++) { + // get run to be added to the main one + addRunData = fRawData->GetRunData(*(fRunInfo->GetRunName(i))); + if (addRunData == 0) { // couldn't get run + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **ERROR** Couldn't get addrun " << fRunInfo->GetRunName(i)->Data() << "!"; + cerr << endl; + return false; + } + + // feed all T0's + // first init T0's, T0's are stored as (forward T0, backward T0, etc.) + fAddT0s[i-1].clear(); + fAddT0s[i-1].resize(2*forwardHistoNo.size()); + for (UInt_t j=0; jGetAddT0BinSize(i); j++) { + fAddT0s[i-1][j] = fRunInfo->GetAddT0Bin(i, j); + } + + // fill in the T0's from the data file, if not already present in the msr-file + for (UInt_t j=0; jGetT0Bin(forwardHistoNo[j]) > 0.0) { + fAddT0s[i-1][2*j] = addRunData->GetT0Bin(forwardHistoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][2*j], i-1, 2*j); + } + } + for (UInt_t j=0; jGetT0Bin(backwardHistoNo[j]) > 0.0) { + fAddT0s[i-1][2*j+1] = addRunData->GetT0Bin(backwardHistoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][2*j+1], i-1, 2*j+1); + } + } + + // fill in the T0's gaps, i.e. in case the T0's are NOT in the msr-file and NOT in the data file + for (UInt_t j=0; jGetT0BinEstimated(forwardHistoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][2*j], i-1, 2*j); + + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName(i)->Data(); + cerr << endl << ">> will try the estimated one: forward t0 = " << addRunData->GetT0BinEstimated(forwardHistoNo[j]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + for (UInt_t j=0; jGetT0BinEstimated(backwardHistoNo[j]); + fRunInfo->SetAddT0Bin(fAddT0s[i-1][2*j+1], i-1, 2*j+1); + + cerr << endl << ">> PRunAsymmetryRRF::GetProperT0(): **WARRNING** NO t0's found, neither in the run data nor in the msr-file!"; + cerr << endl << ">> run: " << fRunInfo->GetRunName(i)->Data(); + cerr << endl << ">> will try the estimated one: backward t0 = " << runData->GetT0BinEstimated(backwardHistoNo[j]); + cerr << endl << ">> NO WARRANTY THAT THIS OK!! For instance for LEM this is almost for sure rubbish!"; + cerr << endl; + } + } + } + } + + return true; +} + +//-------------------------------------------------------------------------- +// GetProperDataRange (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper data range, i.e. first/last good bin (fgb/lgb). + * -# get fgb/lgb from the RUN block + * -# if fgb/lgb still undefined, try to get it from the GLOBAL block + * -# if fgb/lgb still undefined, try to estimate them. + * + * \param runData raw run data needed to perform some crosschecks + * \param histoNo histogram number (within a run). histoNo[0]: forward histogram number, histNo[1]: backward histogram number + * + * return: + * - true if everthing went smooth + * - false, otherwise. + */ +Bool_t PRunAsymmetryRRF::GetProperDataRange(PRawRunData* runData, UInt_t histoNo[2]) +{ + // first get start/end data + Int_t start[2] = {fRunInfo->GetDataRange(0), fRunInfo->GetDataRange(2)}; + Int_t end[2] = {fRunInfo->GetDataRange(1), fRunInfo->GetDataRange(3)}; + // check if data range has been provided in the RUN block. If not, try the GLOBAL block + if (start[0] == -1) { + start[0] = fMsrInfo->GetMsrGlobal()->GetDataRange(0); + } + if (start[1] == -1) { + start[1] = fMsrInfo->GetMsrGlobal()->GetDataRange(2); + } + if (end[0] == -1) { + end[0] = fMsrInfo->GetMsrGlobal()->GetDataRange(1); + } + if (end[1] == -1) { + end[1] = fMsrInfo->GetMsrGlobal()->GetDataRange(3); + } + + Double_t t0[2] = {fT0s[0], fT0s[1]}; + Int_t offset = (Int_t)(10.0e-3/fTimeResolution); // needed in case first good bin is not given, default = 10ns + + // check if data range has been provided, and if not try to estimate them + if (start[0] < 0) { + start[0] = (Int_t)t0[0]+offset; + fRunInfo->SetDataRange(start[0], 0); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **WARNING** data range (forward) was not provided, will try data range start = t0+" << offset << "(=10ns) = " << start[0] << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + if (start[1] < 0) { + start[1] = (Int_t)t0[1]+offset; + fRunInfo->SetDataRange(start[1], 2); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **WARNING** data range (backward) was not provided, will try data range start = t0+" << offset << "(=10ns) = " << start[1] << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + if (end[0] < 0) { + end[0] = runData->GetDataBin(histoNo[0])->size(); + fRunInfo->SetDataRange(end[0], 1); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **WARNING** data range (forward) was not provided, will try data range end = " << end[0] << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + if (end[1] < 0) { + end[1] = runData->GetDataBin(histoNo[1])->size(); + fRunInfo->SetDataRange(end[1], 3); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **WARNING** data range (backward) was not provided, will try data range end = " << end[1] << "."; + cerr << endl << ">> NO WARRANTY THAT THIS DOES MAKE ANY SENSE."; + cerr << endl; + } + + // check if start, end, and t0 make any sense + // 1st check if start and end are in proper order + for (UInt_t i=0; i<2; i++) { + if (end[i] < start[i]) { // need to swap them + Int_t keep = end[i]; + end[i] = start[i]; + start[i] = keep; + } + // 2nd check if start is within proper bounds + if ((start[i] < 0) || (start[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** start data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 3rd check if end is within proper bounds + if ((end[i] < 0) || (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** end data bin doesn't make any sense!"; + cerr << endl; + return false; + } + // 4th check if t0 is within proper bounds + if ((t0[i] < 0) || (t0[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** t0 data bin doesn't make any sense!"; + cerr << endl; + return false; + } + } + + // check that start-t0 is the same for forward as for backward, otherwise take max(start[i]-t0[i]) + if (fabs(static_cast(start[0])-t0[0]) > fabs(static_cast(start[1])-t0[1])){ + start[1] = static_cast(t0[1] + static_cast(start[0]) - t0[0]); + end[1] = static_cast(t0[1] + static_cast(end[0]) - t0[0]); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange **WARNING** needed to shift backward data range."; + cerr << endl << ">> given: " << fRunInfo->GetDataRange(2) << ", " << fRunInfo->GetDataRange(3); + cerr << endl << ">> used : " << start[1] << ", " << end[1]; + cerr << endl; + } + if (fabs(static_cast(start[0])-t0[0]) < fabs(static_cast(start[1])-t0[1])){ + start[0] = static_cast(t0[0] + static_cast(start[1]) - t0[1]); + end[0] = static_cast(t0[0] + static_cast(end[1]) - t0[1]); + cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange **WARNING** needed to shift forward data range."; + cerr << endl << ">> given: " << fRunInfo->GetDataRange(0) << ", " << fRunInfo->GetDataRange(1); + cerr << endl << ">> used : " << start[0] << ", " << end[0]; + cerr << endl; + } + + // keep good bins for potential latter use + fGoodBins[0] = start[0]; + fGoodBins[1] = end[0]; + fGoodBins[2] = start[1]; + fGoodBins[3] = end[1]; + + return true; +} + +//-------------------------------------------------------------------------- +// GetProperFitRange (private) +//-------------------------------------------------------------------------- +/** + *

Get the proper fit range. There are two possible fit range commands: + * fit given in (usec), or + * fit fgb+offset_0 lgb-offset_1 given in (bins), therefore it works the following way: + * -# get fit range assuming given in time from RUN block + * -# if fit range in RUN block is given in bins, replace start/end + * -# if fit range is NOT given yet, try fit range assuming given in time from GLOBAL block + * -# if fit range in GLOBAL block is given in bins, replace start/end + * -# if still no fit range is given, use fgb/lgb. + * + * \param globalBlock pointer to the GLOBAL block information form the msr-file. + */ +void PRunAsymmetryRRF::GetProperFitRange(PMsrGlobalBlock *globalBlock) +{ + // set fit start/end time; first check RUN Block + fFitStartTime = fRunInfo->GetFitRange(0); + fFitEndTime = fRunInfo->GetFitRange(1); + // if fit range is given in bins (and not time), the fit start/end time can be calculated at this point now + if (fRunInfo->IsFitRangeInBin()) { + fFitStartTime = (fGoodBins[0] + fRunInfo->GetFitRangeOffset(0) - fT0s[0]) * fTimeResolution; // (fgb+n0-t0)*dt + fFitEndTime = (fGoodBins[1] - fRunInfo->GetFitRangeOffset(1) - fT0s[0]) * fTimeResolution; // (lgb-n1-t0)*dt + // write these times back into the data structure. This way it is available when writting the log-file + fRunInfo->SetFitRange(fFitStartTime, 0); + fRunInfo->SetFitRange(fFitEndTime, 1); + } + if (fFitStartTime == PMUSR_UNDEFINED) { // fit start/end NOT found in the RUN block, check GLOBAL block + fFitStartTime = globalBlock->GetFitRange(0); + fFitEndTime = globalBlock->GetFitRange(1); + // if fit range is given in bins (and not time), the fit start/end time can be calculated at this point now + if (globalBlock->IsFitRangeInBin()) { + fFitStartTime = (fGoodBins[0] + globalBlock->GetFitRangeOffset(0) - fT0s[0]) * fTimeResolution; // (fgb+n0-t0)*dt + fFitEndTime = (fGoodBins[1] - globalBlock->GetFitRangeOffset(1) - fT0s[0]) * fTimeResolution; // (lgb-n1-t0)*dt + // write these times back into the data structure. This way it is available when writting the log-file + globalBlock->SetFitRange(fFitStartTime, 0); + globalBlock->SetFitRange(fFitEndTime, 1); + } + } + if ((fFitStartTime == PMUSR_UNDEFINED) || (fFitEndTime == PMUSR_UNDEFINED)) { + fFitStartTime = (fGoodBins[0] - fT0s[0]) * fTimeResolution; // (fgb-t0)*dt + fFitEndTime = (fGoodBins[1] - fT0s[0]) * fTimeResolution; // (lgb-t0)*dt + cerr << ">> PRunSingleHisto::GetProperFitRange(): **WARNING** Couldn't get fit start/end time!" << endl; + cerr << ">> Will set it to fgb/lgb which given in time is: " << fFitStartTime << "..." << fFitEndTime << " (usec)" << endl; + } +} diff --git a/src/include/PRunAsymmetryRRF.h b/src/include/PRunAsymmetryRRF.h new file mode 100644 index 00000000..d0aefd7d --- /dev/null +++ b/src/include/PRunAsymmetryRRF.h @@ -0,0 +1,81 @@ +/*************************************************************************** + + PRunAsymmetryRRF.h + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@psi.ch * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _PRUNASYMMETRYRRF_H_ +#define _PRUNASYMMETRYRRF_H_ + +#include "PRunBase.h" + +//--------------------------------------------------------------------------- +/** + *

Class handling the asymmetry fit. + */ +class PRunAsymmetryRRF : public PRunBase +{ + public: + PRunAsymmetryRRF(); + PRunAsymmetryRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag); + virtual ~PRunAsymmetryRRF(); + + virtual Double_t CalcChiSquare(const std::vector& par); + virtual Double_t CalcChiSquareExpected(const std::vector& par); + virtual Double_t CalcMaxLikelihood(const std::vector& par); + virtual void CalcTheory(); + + virtual UInt_t GetNoOfFitBins(); + + virtual void SetFitRangeBin(const TString fitRange); + + protected: + virtual void CalcNoOfFitBins(); + virtual Bool_t PrepareData(); + virtual Bool_t PrepareFitData(); + virtual Bool_t PrepareViewData(PRawRunData* runData, UInt_t histoNo[2]); + + private: + UInt_t fAlphaBetaTag; ///< \f$ 1 \to \alpha = \beta = 1\f$; \f$ 2 \to \alpha \neq 1, \beta = 1\f$; \f$ 3 \to \alpha = 1, \beta \neq 1\f$; \f$ 4 \to \alpha \neq 1, \beta \neq 1\f$. + UInt_t fNoOfFitBins; ///< number of bins to be be fitted + Int_t fRRFPacking; ///< RRF packing for this particular run. Given in the GLOBAL-block. + + PDoubleVector fForward; ///< forward histo data + PDoubleVector fForwardErr; ///< forward histo errors + PDoubleVector fBackward; ///< backward histo data + PDoubleVector fBackwardErr; ///< backward histo errors + + Int_t fGoodBins[4]; ///< keep first/last good bins. 0=fgb, 1=lgb (forward); 2=fgb, 3=lgb (backward) + + Bool_t SubtractFixBkg(); + Bool_t SubtractEstimatedBkg(); + + virtual Bool_t GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &forwardHisto, PUIntVector &backwardHistoNo); + virtual Bool_t GetProperDataRange(PRawRunData* runData, UInt_t histoNo[2]); + virtual void GetProperFitRange(PMsrGlobalBlock *globalBlock); +}; + +#endif // _PRUNASYMMETRYRRF_H_ From b8b7b7665f868a0bd1b86558ffc33af1a286bb10 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Fri, 15 Jan 2016 18:26:47 +0100 Subject: [PATCH 11/17] some more work towards asymmetry RRF --- src/classes/PRunAsymmetryRRF.cpp | 27 ++++++++++++++++++++------- src/classes/PRunListCollection.cpp | 6 +++--- src/musrfit.cpp | 26 ++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 10 deletions(-) diff --git a/src/classes/PRunAsymmetryRRF.cpp b/src/classes/PRunAsymmetryRRF.cpp index bd21a5b8..eef4df0c 100644 --- a/src/classes/PRunAsymmetryRRF.cpp +++ b/src/classes/PRunAsymmetryRRF.cpp @@ -386,6 +386,11 @@ void PRunAsymmetryRRF::SetFitRangeBin(const TString fitRange) */ void PRunAsymmetryRRF::CalcNoOfFitBins() { + cout << "debug> fData.GetValue()->size()=" << fData.GetValue()->size() << endl; + cout << "debug> fFitStartTime=" << fFitStartTime << endl; + cout << "debug> fData.GetDataTimeStart()=" << fData.GetDataTimeStart() << ", fData.GetDataTimeStep()=" << fData.GetDataTimeStep() << endl; + cout << "debug> -----" << endl; + // In order not having to loop over all bins and to stay consistent with the chisq method, calculate the start and end bins explicitly Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); if (startTimeBin < 0) @@ -867,9 +872,7 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() Int_t lgb = fgb + lgb_offset; Int_t dt0 = (Int_t)fT0s[0]-(Int_t)fT0s[1]; - cout << "debug> fGoodBins[0]=" << fGoodBins[0] << ", fGoodBins[2]=" << fGoodBins[2] << ", fT0s[0]=" << fT0s[0] << ", fT0s[1]=" << fT0s[1] << endl; - cout << "debug> fgbOffset=" << fgbOffset << endl; - cout << "debug> fgb=" << fgb << ", lgb=" << lgb << ", dt0=" << dt0 << endl; + cout << "debug> fgb=" << fgb << ", lgb=" << lgb << endl; PDoubleVector asym; PDoubleVector asymErr; @@ -885,7 +888,7 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() asym.push_back(asymVal); eff = fForwardErr[i]; ebb = fBackwardErr[i-dt0]; - if (asymVal != 0.0) + if ((asymVal != 0.0) && (ff+bb) > 0.0) asymValErr = sqrt(2)/(ff+bb)*sqrt(bb*eff+ff*ebb); else asymValErr = 1.0; @@ -897,13 +900,15 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() Double_t wRRF = globalBlock->GetRRFFreq("Mc"); Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; - Double_t startTime = fTimeResolution * (fT0s[0]+(Double_t)fgbOffset); + Double_t startTime = fTimeResolution * (Double_t)fgbOffset; Double_t time=0.0; for (UInt_t i=0; i before packing: startTime=" << startTime << ", endTime=" << startTime+asym.size()*fTimeResolution << endl; + // 3rd: rrf packing PDoubleVector asymRRF; asymVal = 0.0; @@ -926,11 +931,19 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() asymValErr += asymErr[i]*asymErr[i]; } + cout << "debug> after packing: startTime=" << startTime + fTimeResolution*((Double_t)(fRRFPacking-1)/2.0) << ", endTime=" << startTime + fTimeResolution*((Double_t)(fRRFPacking-1)/2.0)+asymRRF.size()*fTimeResolution*(Double_t)(fRRFPacking) << endl; - fData.SetDataTimeStart(startTime+(Double_t)(fRRFPacking-1)/2.0); + ofstream fout("_data.dat", ofstream::out); + for (UInt_t i=0; iCalcTheory(); - data = fRunAsymmetryList[index]->GetData(); + fRunAsymmetryRRFList[index]->CalcTheory(); + data = fRunAsymmetryRRFList[index]->GetData(); break; case kRunNo: // called from PMusrCanvas - for (UInt_t i=0; iGetRunNo() == index) { data = fRunAsymmetryRRFList[i]->GetData(); break; diff --git a/src/musrfit.cpp b/src/musrfit.cpp index 13e72c18..f5f5ac44 100644 --- a/src/musrfit.cpp +++ b/src/musrfit.cpp @@ -216,6 +216,19 @@ void musrfit_dump_ascii(char *fileName, PRunListCollection *runList) } } + // asymmetry RRF + size = runList->GetNoOfAsymmetryRRF(); + if (size > 0) { + for (unsigned int i=0; iGetAsymmetryRRF(i); + if (data) { + // dump data + musrfit_write_ascii(fln, data, runCounter); + runCounter++; + } + } + } + // muMinus size = runList->GetNoOfMuMinus(); if (size > 0) { @@ -362,6 +375,19 @@ void musrfit_dump_root(char *fileName, PRunListCollection *runList) } } + // asymmetry RRF + size = runList->GetNoOfAsymmetryRRF(); + if (size > 0) { + for (unsigned int i=0; iGetAsymmetryRRF(i); + if (data) { + // dump data + musrfit_write_root(f, fln, data, runCounter); + runCounter++; + } + } + } + // muMinus size = runList->GetNoOfMuMinus(); if (size > 0) { From 71cac92d235ced77b7448565b7402bef137bae52 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Mon, 18 Jan 2016 10:41:27 +0100 Subject: [PATCH 12/17] more work toward an asymmetry RRF fit. --- src/classes/PFitterFcn.cpp | 2 + src/classes/PMsrHandler.cpp | 107 +++++++++++++++- src/classes/PMusr.cpp | 2 +- src/classes/PMusrCanvas.cpp | 1 + src/classes/PRunAsymmetryRRF.cpp | 211 ++++++++++++------------------- 5 files changed, 191 insertions(+), 132 deletions(-) diff --git a/src/classes/PFitterFcn.cpp b/src/classes/PFitterFcn.cpp index 5e5b23c6..c6a8566a 100644 --- a/src/classes/PFitterFcn.cpp +++ b/src/classes/PFitterFcn.cpp @@ -79,12 +79,14 @@ Double_t PFitterFcn::operator()(const std::vector& par) const value += fRunListCollection->GetSingleHistoChisq(par); value += fRunListCollection->GetSingleHistoRRFChisq(par); value += fRunListCollection->GetAsymmetryChisq(par); + value += fRunListCollection->GetAsymmetryRRFChisq(par); value += fRunListCollection->GetMuMinusChisq(par); value += fRunListCollection->GetNonMusrChisq(par); } else { // max likelihood value += fRunListCollection->GetSingleHistoMaximumLikelihood(par); value += fRunListCollection->GetSingleHistoRRFMaximumLikelihood(par); value += fRunListCollection->GetAsymmetryMaximumLikelihood(par); + value += fRunListCollection->GetAsymmetryRRFMaximumLikelihood(par); value += fRunListCollection->GetMuMinusMaximumLikelihood(par); value += fRunListCollection->GetNonMusrMaximumLikelihood(par); } diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 97cfa207..81b8095b 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -1151,6 +1151,9 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) case MSR_PLOT_ASYM: fout << "PLOT " << fPlots[plotNo].fPlotType << " (asymmetry plot)" << endl; break; + case MSR_PLOT_ASYM_RRF: + fout << "PLOT " << fPlots[plotNo].fPlotType << " (asymmetry RRF plot)" << endl; + break; case MSR_PLOT_MU_MINUS: fout << "PLOT " << fPlots[plotNo].fPlotType << " (mu minus plot)" << endl; break; @@ -2191,6 +2194,9 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map *co case MSR_PLOT_ASYM: fout << "PLOT " << fPlots[i].fPlotType << " (asymmetry plot)" << endl; break; + case MSR_PLOT_ASYM_RRF: + fout << "PLOT " << fPlots[i].fPlotType << " (asymmetry RRF plot)" << endl; + break; case MSR_PLOT_MU_MINUS: fout << "PLOT " << fPlots[i].fPlotType << " (mu minus plot)" << endl; break; @@ -5331,7 +5337,51 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity() } break; case PRUN_SINGLE_HISTO_RRF: - // STILL MISSING + // check that there is a forward parameter number + if (fRuns[i].GetForwardHistoNo() == -1) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> forward parameter number not defined. Necessary for single histogram RRF fits." << endl; + return false; + } + if ((fRuns[i].GetNormParamNo() > static_cast(fParam.size())) && !fFourierOnly) { + // check if forward histogram number is a function + if (fRuns[i].GetNormParamNo() - MSR_PARAM_FUN_OFFSET > static_cast(fParam.size())) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> forward histogram number " << fRuns[i].GetNormParamNo() << " is larger than the number of fit parameters (" << fParam.size() << ")."; + cerr << endl << ">> Consider to check the manual ;-)" << endl; + return false; + } + } + // check fit range + if (!fRuns[i].IsFitRangeInBin() && !fFourierOnly) { // fit range given as times in usec (RUN block) + if ((fRuns[i].GetFitRange(0) == PMUSR_UNDEFINED) || (fRuns[i].GetFitRange(1) == PMUSR_UNDEFINED)) { // check fit range in RUN block + if (!fGlobal.IsFitRangeInBin()) { // fit range given as times in usec (GLOBAL block) + if ((fGlobal.GetFitRange(0) == PMUSR_UNDEFINED) || (fGlobal.GetFitRange(1) == PMUSR_UNDEFINED)) { // check fit range in GLOBAL block + cerr << endl << "PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << " Fit range is not defined. Necessary for single histogram fits." << endl; + return false; + } + } + } + } + // check number of T0's provided + if ((fRuns[i].GetT0BinSize() > fRuns[i].GetForwardHistoNoSize()) && + (fGlobal.GetT0BinSize() > fRuns[i].GetForwardHistoNoSize())) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl; + cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl; + return false; + } + // check that RRF frequency is given + if (fGlobal.GetRRFUnitTag() == RRF_UNIT_UNDEF) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block." << endl; + return false; + } + // check that RRF packing is given + if (fGlobal.GetRRFPacking() == -1) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block." << endl; + return false; + } break; case PRUN_ASYMMETRY: // check alpha @@ -5386,7 +5436,60 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity() } break; case PRUN_ASYMMETRY_RRF: - // STILL MISSING + // check alpha + if ((fRuns[i].GetAlphaParamNo() == -1) && !fFourierOnly) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> alpha parameter number missing which is needed for an asymmetry RRF fit."; + cerr << endl << ">> Consider to check the manual ;-)" << endl; + return false; + } + // check that there is a forward parameter number + if (fRuns[i].GetForwardHistoNo() == -1) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> forward histogram number not defined. Necessary for asymmetry RRF fits." << endl; + return false; + } + // check that there is a backward parameter number + if (fRuns[i].GetBackwardHistoNo() == -1) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> backward histogram number not defined. Necessary for asymmetry RRF fits." << endl; + return false; + } + // check fit range + if (!fRuns[i].IsFitRangeInBin()) { // fit range given as times in usec + if ((fRuns[i].GetFitRange(0) == PMUSR_UNDEFINED) || (fRuns[i].GetFitRange(1) == PMUSR_UNDEFINED)) { + if ((fGlobal.GetFitRange(0) == PMUSR_UNDEFINED) || (fGlobal.GetFitRange(1) == PMUSR_UNDEFINED)) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> Fit range is not defined, also NOT present in the GLOBAL block. Necessary for asymmetry RRF fits." << endl; + return false; + } + } + } + // check number of T0's provided + if ((fRuns[i].GetT0BinSize() > 2*fRuns[i].GetForwardHistoNoSize()) && + (fGlobal.GetT0BinSize() > 2*fRuns[i].GetForwardHistoNoSize())) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetForwardHistoNoSize() << " in forward. Needs to be fixed." << endl; + cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl; + return false; + } + if ((fRuns[i].GetT0BinSize() > 2*fRuns[i].GetBackwardHistoNoSize()) && + (fGlobal.GetT0BinSize() > 2*fRuns[i].GetBackwardHistoNoSize())) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1; + cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetBackwardHistoNoSize() << " in backward. Needs to be fixed." << endl; + cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetBackwardHistoNoSize() << ". Needs to be fixed." << endl; + return false; + } + // check that RRF frequency is given + if (fGlobal.GetRRFUnitTag() == RRF_UNIT_UNDEF) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block." << endl; + return false; + } + // check that RRF packing is given + if (fGlobal.GetRRFPacking() == -1) { + cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block." << endl; + return false; + } break; case PRUN_MU_MINUS: // needs eventually to be implemented diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index e0d45c53..8cde496b 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -711,7 +711,7 @@ PMsrGlobalBlock::PMsrGlobalBlock() { fGlobalPresent = false; fRRFFreq = 0.0; // rotating reference frequency in units given by fRRFUnitTag. Only needed for fittype 1 - fRRFUnitTag = RRF_UNIT_MHz; // RRF unit tag. Default: MHz + fRRFUnitTag = RRF_UNIT_UNDEF; // RRF unit tag. Default: undefined fRRFPhase = 0.0; fRRFPacking = -1; // undefined RRF packing/rebinning fFitType = -1; // undefined fit type diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index ccfa539d..ec99e93a 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -4729,6 +4729,7 @@ void PMusrCanvas::PlotData(Bool_t unzoom) } break; case MSR_PLOT_SINGLE_HISTO_RRF: + case MSR_PLOT_ASYM_RRF: yAxisTitle = "RRF Asymmetry"; break; case MSR_PLOT_ASYM: diff --git a/src/classes/PRunAsymmetryRRF.cpp b/src/classes/PRunAsymmetryRRF.cpp index eef4df0c..7e7f21df 100644 --- a/src/classes/PRunAsymmetryRRF.cpp +++ b/src/classes/PRunAsymmetryRRF.cpp @@ -209,7 +209,7 @@ Double_t PRunAsymmetryRRF::CalcChiSquare(const std::vector& par) chunk = 10; #pragma omp parallel for default(shared) private(i,time,diff,asymFcnValue,a,b,f) schedule(dynamic,chunk) reduction(+:chisq) #endif - for (i=startTimeBin; i < endTimeBin; ++i) { + for (i=startTimeBin; i fData.GetValue()->size()=" << fData.GetValue()->size() << endl; - cout << "debug> fFitStartTime=" << fFitStartTime << endl; - cout << "debug> fData.GetDataTimeStart()=" << fData.GetDataTimeStart() << ", fData.GetDataTimeStep()=" << fData.GetDataTimeStep() << endl; - cout << "debug> -----" << endl; - // In order not having to loop over all bins and to stay consistent with the chisq method, calculate the start and end bins explicitly Int_t startTimeBin = static_cast(ceil((fFitStartTime - fData.GetDataTimeStart())/fData.GetDataTimeStep())); if (startTimeBin < 0) @@ -773,10 +768,10 @@ Bool_t PRunAsymmetryRRF::SubtractEstimatedBkg() // calculate proper background range for (UInt_t i=0; i<2; i++) { if (beamPeriod != 0.0) { - Double_t timeBkg = (Double_t)(end[i]-start[i])*(fTimeResolution*fRRFPacking); // length of the background intervall in time + Double_t timeBkg = (Double_t)(end[i]-start[i])*fTimeResolution; // length of the background intervall in time UInt_t fullCycles = (UInt_t)(timeBkg/beamPeriod); // how many proton beam cylces can be placed within the proposed background intervall // correct the end of the background intervall such that the background is as close as possible to a multiple of the proton cylce - end[i] = start[i] + (UInt_t) ((fullCycles*beamPeriod)/(fTimeResolution*fRRFPacking)); + end[i] = start[i] + (UInt_t) ((fullCycles*beamPeriod)/fTimeResolution); cout << "PRunAsymmetryRRF::SubtractEstimatedBkg(): Background " << start[i] << ", " << end[i] << endl; if (end[i] == start[i]) end[i] = fRunInfo->GetBkgRange(2*i+1); @@ -872,8 +867,6 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() Int_t lgb = fgb + lgb_offset; Int_t dt0 = (Int_t)fT0s[0]-(Int_t)fT0s[1]; - cout << "debug> fgb=" << fgb << ", lgb=" << lgb << endl; - PDoubleVector asym; PDoubleVector asymErr; Double_t asymVal, asymValErr; @@ -889,7 +882,7 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() eff = fForwardErr[i]; ebb = fBackwardErr[i-dt0]; if ((asymVal != 0.0) && (ff+bb) > 0.0) - asymValErr = sqrt(2)/(ff+bb)*sqrt(bb*eff+ff*ebb); + asymValErr = 2.0/pow((ff+bb),2.0)*sqrt(bb*bb*eff*eff+ff*ff*ebb*ebb); else asymValErr = 1.0; asymErr.push_back(asymValErr); @@ -907,8 +900,6 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() asym[i] *= 2.0*cos(wRRF*time+phaseRRF); } - cout << "debug> before packing: startTime=" << startTime << ", endTime=" << startTime+asym.size()*fTimeResolution << endl; - // 3rd: rrf packing PDoubleVector asymRRF; asymVal = 0.0; @@ -925,21 +916,12 @@ Bool_t PRunAsymmetryRRF::PrepareFitData() asymValErr = 0.0; for (UInt_t i=0; i after packing: startTime=" << startTime + fTimeResolution*((Double_t)(fRRFPacking-1)/2.0) << ", endTime=" << startTime + fTimeResolution*((Double_t)(fRRFPacking-1)/2.0)+asymRRF.size()*fTimeResolution*(Double_t)(fRRFPacking) << endl; - - ofstream fout("_data.dat", ofstream::out); - for (UInt_t i=0; iGetMsrPlotList()->at(0).fViewPacking > 0) { - packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; - } - // feed the parameter vector std::vector par; PMsrParamList *paramList = fMsrInfo->GetMsrParamList(); for (UInt_t i=0; isize(); i++) par.push_back((*paramList)[i].fValue); - // transform raw histo data. This is done the following way (for details see the manual): - // first rebin the data, than calculate the asymmetry - // first get start data, end data, and t0 Int_t start[2] = {fGoodBins[0], fGoodBins[2]}; Int_t end[2] = {fGoodBins[1], fGoodBins[3]}; @@ -1018,45 +995,32 @@ Bool_t PRunAsymmetryRRF::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2] fgb[0] = start[0]; fgb[1] = start[1]; } + start[0] = fgb[0]; + start[1] = fgb[1]; - Int_t val = fgb[0]-packing*(fgb[0]/packing); - do { - if (fgb[1] - fgb[0] < 0) - val += packing; - } while (val + fgb[1] - fgb[0] < 0); - - start[0] = val; - start[1] = val + fgb[1] - fgb[0]; - - // make sure that there are equal number of rebinned bins in forward and backward - UInt_t noOfBins0 = (runData->GetDataBin(histoNo[0])->size()-start[0])/packing; - UInt_t noOfBins1 = (runData->GetDataBin(histoNo[1])->size()-start[1])/packing; + // make sure that there are equal number of bins in forward and backward + UInt_t noOfBins0 = runData->GetDataBin(histoNo[0])->size()-start[0]; + UInt_t noOfBins1 = runData->GetDataBin(histoNo[1])->size()-start[1]; if (noOfBins0 > noOfBins1) noOfBins0 = noOfBins1; - end[0] = start[0] + noOfBins0 * packing; - end[1] = start[1] + noOfBins0 * packing; + end[0] = start[0] + noOfBins0; + end[1] = start[1] + noOfBins0; // check if start, end, and t0 make any sense - // 1st check if start and end are in proper order for (UInt_t i=0; i<2; i++) { - if (end[i] < start[i]) { // need to swap them - Int_t keep = end[i]; - end[i] = start[i]; - start[i] = keep; - } - // 2nd check if start is within proper bounds + // 1st check if start is within proper bounds if ((start[i] < 0) || (start[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** start data bin doesn't make any sense!"; cerr << endl; return false; } - // 3rd check if end is within proper bounds + // 2nd check if end is within proper bounds if ((end[i] < 0) || (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** end data bin doesn't make any sense!"; cerr << endl; return false; } - // 4th check if t0 is within proper bounds + // 3rd check if t0 is within proper bounds if ((t0[i] < 0) || (t0[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) { cerr << endl << ">> PRunAsymmetryRRF::PrepareViewData(): **ERROR** t0 data bin doesn't make any sense!"; cerr << endl; @@ -1064,72 +1028,15 @@ Bool_t PRunAsymmetryRRF::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2] } } - // everything looks fine, hence fill packed forward and backward histo - PRunData forwardPacked; - PRunData backwardPacked; - Double_t value = 0.0; - Double_t error = 0.0; - - // forward - for (Int_t i=start[0]; i 1 - if (((i-start[0]) % packing == 0) && (i != start[0])) { // fill data - // in order that after rebinning the fit does not need to be redone (important for plots) - // the value is normalize to per bin - value /= packing; - forwardPacked.AppendValue(value); - if (value == 0.0) - forwardPacked.AppendErrorValue(1.0); - else - forwardPacked.AppendErrorValue(TMath::Sqrt(error)/packing); - value = 0.0; - error = 0.0; - } - value += fForward[i]; - error += fForwardErr[i]*fForwardErr[i]; - } - } - - // backward - for (Int_t i=start[1]; i 1 - if (((i-start[1]) % packing == 0) && (i != start[1])) { // fill data - // in order that after rebinning the fit does not need to be redone (important for plots) - // the value is normalize to per bin - value /= packing; - backwardPacked.AppendValue(value); - if (value == 0.0) - backwardPacked.AppendErrorValue(1.0); - else - backwardPacked.AppendErrorValue(TMath::Sqrt(error)/packing); - value = 0.0; - error = 0.0; - } - value += fBackward[i]; - error += fBackwardErr[i]*fBackwardErr[i]; - } - } - - // check if packed forward and backward hist have the same size, otherwise take the minimum size - UInt_t noOfBins = forwardPacked.GetValue()->size(); - if (forwardPacked.GetValue()->size() != backwardPacked.GetValue()->size()) { - if (forwardPacked.GetValue()->size() > backwardPacked.GetValue()->size()) - noOfBins = backwardPacked.GetValue()->size(); + // check if forward and backward histo have the same size, otherwise take the minimum size + UInt_t noOfBins = fForward.size(); + if (noOfBins > fBackward.size()) { + noOfBins = fBackward.size(); } // form asymmetry including error propagation - Double_t asym; + Double_t asym, error; Double_t f, b, ef, eb, alpha = 1.0, beta = 1.0; - // set data time start, and step - // data start at data_start-t0 - fData.SetDataTimeStart(fTimeResolution*((Double_t)start[0]-t0[0]+(Double_t)(packing-1)/2.0)); - fData.SetDataTimeStep(fTimeResolution*(Double_t)packing); // get the proper alpha and beta switch (fAlphaBetaTag) { @@ -1153,24 +1060,67 @@ Bool_t PRunAsymmetryRRF::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2] break; } - for (UInt_t i=0; isize(); i++) { + PDoubleVector asymVec, asymErr; + Int_t dtBin = start[1]-start[0]; + for (Int_t i=start[0]; iat(i); - b = backwardPacked.GetValue()->at(i); - ef = forwardPacked.GetError()->at(i); - eb = backwardPacked.GetError()->at(i); + f = fForward[i]; + b = fBackward[i+dtBin]; + ef = fForwardErr[i]; + eb = fBackwardErr[i+dtBin]; // check that there are indeed bins if (f+b != 0.0) asym = (alpha*f-b) / (alpha*beta*f+b); else asym = 0.0; - fData.AppendValue(asym); + asymVec.push_back(asym); // calculate the error if (f+b != 0.0) error = 2.0/((f+b)*(f+b))*TMath::Sqrt(b*b*ef*ef+eb*eb*f*f); else error = 1.0; - fData.AppendErrorValue(error); + asymErr.push_back(error); + } + + // RRF transform + // a_rrf = a * 2*cos(w_rrf*t + phi_rrf) + PMsrGlobalBlock *globalBlock = fMsrInfo->GetMsrGlobal(); + Double_t wRRF = globalBlock->GetRRFFreq("Mc"); + Double_t phaseRRF = globalBlock->GetRRFPhase()*TMath::TwoPi()/180.0; + Double_t startTime=fTimeResolution*((Double_t)start[0]-t0[0]); + Double_t time = 0.0; + for (UInt_t i=0; iGetDataBin(histoNo[0])->size(); Double_t factor = 1.0; if (fData.GetValue()->size() * 10 > runData->GetDataBin(histoNo[0])->size()) { @@ -1199,11 +1152,11 @@ Bool_t PRunAsymmetryRRF::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2] fData.SetTheoryTimeStep(fTimeResolution*factor); for (UInt_t i=0; iFunc(time, par, fFuncValues); - if (fabs(value) > 10.0) { // dirty hack needs to be fixed!! - value = 0.0; + dval = fTheory->Func(time, par, fFuncValues); + if (fabs(dval) > 10.0) { // dirty hack needs to be fixed!! + dval = 0.0; } - fData.AppendTheoryValue(value); + fData.AppendTheoryValue(dval); } // clean up From 02c82321dee3b4f3a9232243462d4d02dd0f3d8c Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Mon, 18 Jan 2016 16:00:10 +0100 Subject: [PATCH 13/17] added RRF types to musrt0 --- src/musrt0.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/musrt0.cpp b/src/musrt0.cpp index d1a118c9..272ebe18 100644 --- a/src/musrt0.cpp +++ b/src/musrt0.cpp @@ -669,6 +669,7 @@ Int_t main(Int_t argc, Char_t *argv[]) } switch (fitType) { case MSR_FITTYPE_SINGLE_HISTO: + case MSR_FITTYPE_SINGLE_HISTO_RRF: case MSR_FITTYPE_MU_MINUS: if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() == 1)) { // no addruns / no grouping // feed necessary data @@ -796,6 +797,7 @@ Int_t main(Int_t argc, Char_t *argv[]) } break; case MSR_FITTYPE_ASYM: + case MSR_FITTYPE_ASYM_RRF: if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() == 1)) { // no addruns / no grouping // feed necessary data forward musrT0Data.InitData(); From c50a33243da8c89f05507a488009fe80f12e42e1 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Mon, 18 Jan 2016 16:24:52 +0100 Subject: [PATCH 14/17] fixed a compiler warning --- src/classes/PPrepFourier.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/classes/PPrepFourier.cpp b/src/classes/PPrepFourier.cpp index fd713462..a28bc29f 100644 --- a/src/classes/PPrepFourier.cpp +++ b/src/classes/PPrepFourier.cpp @@ -181,7 +181,7 @@ void PPrepFourier::DoBkgCorrection() if ((fBkgRange[0] != -1) && (fBkgRange[1] != -1)) { // background range is given // make sure that the bkg range is ok for (UInt_t i=0; i= fRawData[i].rawData.size()) || (fBkgRange[1] >= fRawData[i].rawData.size())) { + if ((fBkgRange[0] >= (Int_t)fRawData[i].rawData.size()) || (fBkgRange[1] >= (Int_t)fRawData[i].rawData.size())) { cerr << endl << "PPrepFourier::DoBkgCorrection() **ERROR** bkg-range out of data-range!"; return; } From eb482b9671c9ecf1adce368280210791adc89978 Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Mon, 18 Jan 2016 16:25:34 +0100 Subject: [PATCH 15/17] improved handling of RRF freq in the msr-file --- src/classes/PMsrHandler.cpp | 10 +++++----- src/classes/PMusr.cpp | 10 ++++------ src/include/PMusr.h | 2 ++ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index 81b8095b..d6d4e049 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -353,7 +353,7 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) { const UInt_t prec = 6; // default output precision for float/doubles UInt_t neededPrec = 0; - UInt_t neededWidth = 9; + UInt_t neededWidth = 9; Int_t tag, lineNo = 0, number; Int_t runNo = -1, addRunNo = 0; @@ -2942,7 +2942,7 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(2)); str = ostr->GetString(); global.SetRRFFreq(dval, str.Data()); - if (global.GetRRFFreq(str.Data()) == 0.0) + if (global.GetRRFFreq(str.Data()) == RRF_FREQ_UNDEF) error = true; } } @@ -5890,7 +5890,7 @@ Bool_t PMsrHandler::CheckRRFSettings() Int_t fittype = fGlobal.GetFitType(); // first set of tests: if RRF parameters are set, check if RRF fit is chosen. - if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) != 0.0) { + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) != RRF_FREQ_UNDEF) { if (fittype != -1) { // check if GLOBAL fittype is set if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) && (fittype != MSR_FITTYPE_ASYM_RRF)) { @@ -5935,7 +5935,7 @@ Bool_t PMsrHandler::CheckRRFSettings() fittype = fGlobal.GetFitType(); if ((fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) || (fittype == MSR_FITTYPE_ASYM_RRF)) { // make sure RRF freq and RRF packing are set - if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == 0.0) { + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == RRF_FREQ_UNDEF) { cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it."; return false; @@ -5959,7 +5959,7 @@ Bool_t PMsrHandler::CheckRRFSettings() cerr << endl << ">> This is currently not supported."; return false; } - if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == 0.0) { + if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == RRF_FREQ_UNDEF) { cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but"; cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it."; return false; diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index 8cde496b..a84f4765 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -710,7 +710,7 @@ void PRawRunData::SetTempError(const UInt_t idx, const Double_t errTemp) PMsrGlobalBlock::PMsrGlobalBlock() { fGlobalPresent = false; - fRRFFreq = 0.0; // rotating reference frequency in units given by fRRFUnitTag. Only needed for fittype 1 + fRRFFreq = RRF_FREQ_UNDEF; // rotating reference frequency in units given by fRRFUnitTag. Only needed for fittype 1 fRRFUnitTag = RRF_UNIT_UNDEF; // RRF unit tag. Default: undefined fRRFPhase = 0.0; fRRFPacking = -1; // undefined RRF packing/rebinning @@ -730,7 +730,7 @@ PMsrGlobalBlock::PMsrGlobalBlock() // GetRRFFreq (public) //-------------------------------------------------------------------------- /** - *

get RRF frequency value in specific units. If units is unknown, 0.0 will be returned. + *

get RRF frequency value in specific units. If units is unknown, RRF_UNDEF_FREQ will be returned. * * \param unit unit string in which the units shall be given */ @@ -747,10 +747,8 @@ Double_t PMsrGlobalBlock::GetRRFFreq(const char *unit) unitTag = RRF_UNIT_Mcs; else if (!unitStr.CompareTo("T", TString::kIgnoreCase)) unitTag = RRF_UNIT_T; - else { - cerr << endl << ">> PMsrGlobalBlock::GetRRFFreq: **ERROR** found undefined RRF unit '" << unit << "'!" << endl; - return freq; - } + else + return RRF_FREQ_UNDEF; // calc the conversion factor if (unitTag == fRRFUnitTag) diff --git a/src/include/PMusr.h b/src/include/PMusr.h index 46078aa6..96df487f 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -146,6 +146,8 @@ typedef struct { char a[7]; } __float128; // needed since cint doesn't know it #define RRF_UNIT_G 3 #define RRF_UNIT_T 4 +#define RRF_FREQ_UNDEF 1.0e10 + //------------------------------------------------------------- /** *

typedef to make to code more readable. Definition of a bool vector. From 7862c93c68677055958f1189b42947436c31cbdb Mon Sep 17 00:00:00 2001 From: Suter Andreas Date: Fri, 22 Jan 2016 15:14:10 +0100 Subject: [PATCH 16/17] added first RRF memo version --- doc/memos/rrf/08011-Fourier-Averaged.pdf | Bin 0 -> 48937 bytes .../08011-RRF-Asym-Fourier-Averaged-Ghost.pdf | Bin 0 -> 167302 bytes ...08011-RRF-Histo-Fourier-Averaged-Ghost.pdf | Bin 0 -> 189747 bytes doc/memos/rrf/08019-Fourier-Averaged.pdf | Bin 0 -> 48934 bytes doc/memos/rrf/HAL-9500-t0.pdf | Bin 0 -> 14611 bytes doc/memos/rrf/PSI_Logo_narrow_blau.jpg | Bin 0 -> 109723 bytes doc/memos/rrf/PSI_Logo_wide_blau.pdf | Bin 0 -> 69006 bytes doc/memos/rrf/rrf-notes.pdf | Bin 0 -> 628309 bytes doc/memos/rrf/rrf-notes.tex | 265 ++++++++++++++++++ doc/memos/rrf/rrf.bib | 29 ++ 10 files changed, 294 insertions(+) create mode 100644 doc/memos/rrf/08011-Fourier-Averaged.pdf create mode 100644 doc/memos/rrf/08011-RRF-Asym-Fourier-Averaged-Ghost.pdf create mode 100644 doc/memos/rrf/08011-RRF-Histo-Fourier-Averaged-Ghost.pdf create mode 100644 doc/memos/rrf/08019-Fourier-Averaged.pdf create mode 100644 doc/memos/rrf/HAL-9500-t0.pdf create mode 100644 doc/memos/rrf/PSI_Logo_narrow_blau.jpg create mode 100644 doc/memos/rrf/PSI_Logo_wide_blau.pdf create mode 100644 doc/memos/rrf/rrf-notes.pdf create mode 100644 doc/memos/rrf/rrf-notes.tex create mode 100644 doc/memos/rrf/rrf.bib diff --git a/doc/memos/rrf/08011-Fourier-Averaged.pdf b/doc/memos/rrf/08011-Fourier-Averaged.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c95586d546e706d09de4a87083e770fde9b0c609 GIT binary patch literal 48937 zcmd431yoh*)&`7pcS&wqa>J&jyQRAYBm`+hK)Sm@K}wJgX_4+wK|-)-L_{S7LGoXF zZM^4v|Mk0`GsgM;`;Rk*F85yhjc3mJ%xBK`9fw6rUXh!RM*y2;d1ZVGn-9VZalP(@ zEiR4?)w|M;k@!n|8oJ)==Qre0h?5@tP9=dMU zHg*tkalr1LA`lp2W$+(pS$lcedEA1)5DxH%W#Mc1pB@7O0@d}t?gcs!+>Q9Kq1UWk z0Pj!)o@A{(?cnbK2s*mhd2*`&4(4bBtm&4GtF7ZLdkECf@s`XjPsg7h{K*{fUH*;P zVE;awtgEx_Uz-b#;@_By|JQTLUbu;JfjnEydB7hrP3=lgpm{F_w6_dmEs_m0bT zSLZ(w7s$zf2en_&iH@s_^{v0=79j2ao$3Aum6%w&-H->E_`0>1=b!cf=8wNK=>Oo1 ze}e?fF7V-ie0q^xpz?M;jy85WO0wqvQV#Hxh?o?5k$}PcYyL+H0&~*Ex*$+3UOouy zB1>xV!XU7VEUCrI4}o1|NiAL=GhSp#EnYzg|3#M6;uV7MUu0%2USSCTMQYaK6@lk$IWLgb1%A#8 zq;-Lx^8#sI;OD%63km$37qG9u&v^l}2mte9!zF?i0II;xiDCQ@fu9ot7zzBG7)beo z;KYBn?H^GM3csHwfofQLc{uu-!WRdq54fIyiJ1TV79<=#sE(Z{z*#nc90aBWqzdr0 z<1H`nOBj&k0i|ev@usY-tFI}1BvD{v=1?PDFFQBj8EOnZ2td{CZrOV|Kt%bVijK~J z;D9PR10qG<4p0VmfWbYz0PX04hpimLu?o{0)?0*W@dCCCUM$k9af=WyNT$%@RqN3z zq`6YHSV`zoMtHLzx!11PswjEP&JnBFBe*R=h6V?cfs)P_I!qa2hsywql)lDm2%(S; zzJwHDL%IcbJH#yia=<_M=alyAu;1as9Lt9t%u6bF zkjtoa*hTh|6BB=VQR|(TRz*SFtneF#@b)a67YV#n?^VB&k!TiPb1VHubYpxqJ~sge znUl_eTK^R^@S%a-JuUUa1d0_ZCiHe>T%;l^va7!U=ntm+UjX`v&p!$epU}VI!zc7F z2jc%*06o6)9Xm8kL?k)~UzN;j=jaRsh^ql9$kt#vhVZ{Q{vsq~!mC5WqVK7XlvsDHr171p=0r z_a{ogzC+8hEZQq@59f zLM%7Xt>t}_GlYt{ZTonxX$t?z+(GUtqi+ahe8qiAPL@pr6CNkqg9sGg!YlsfBh%(n z0n6yrsv%bgXR=l8GgTjV$k#G0NF>*NzL~QTlVl<+xIlO^JxJR(oW1NT(f6Zc$n}lq z>$LO&r8$iKJqjx%Y$LwAzwoj@3bX&s%l=Pb{XG){?XBOz`d0}E;bv$$ii&=$gveaB z1{pZ*yp1bOm-P$W;3@pS z;Eun?P4u73V1J6v;5T@MW^xb$+iN@&>Z3@#5tV`wPC^kz>Ho@avBH^it7<_vaE*9OR{CQzrk*!_ti@s#?wtfQ23yQ%eK?(_s!L)uAWS2K{Us)+<-rg|j zP+W+3(4^T)h59;vexMaK%WBK9CT&^Fe6{)t!_n6WC(3iR_sOg0(d~o8a|?R@@m#TD zJs(BTKSUB~N+brv20UUqMWsYaR8)-m1>(Pz=l?y#VX)ukQE@G?TYbE^@9$veL6YUw zifXh9{?Z$Z};_bE_)aR@9 z^YQJriR%HkJHuQTZ(^cS;4oj$e85#y<#mM=+k3#kWsK-_wyienhWCw3C-1MRzLcb6 zk98Bym)g0)swz#)>SgL9?BqX2PlRN|PS6#8Av;o4;K~$Q{XVR}im$BbE4dMt2Z$cq zyLO4cu-9*^h5woY{B2(Q%LII(h0zKb7$Jc_%gfhUgq6R*EDs&zqGPsc|NAqFi z?_$v-C{XjS#~TR`*39w4UKa!s-!Xko9+`SHcejzQGU@$h0VO6&T8XQKQPzi&FKSC` z(mVVbdpNvEQLc=S{~bH9eexf(5+Be2LMUkX(?7+wLc9>6f7Mk&Kd}QIF0g~~{Wh12 zr~G8vUN-3%o0i+s*QIfBqsuRtc73SEWG3Zw;XLD8;V8kQ-Uzn#1+fP|z9e+C7Q*~y24}xXG<>(Hoed`i?`2FPTye#+Stk6# zM!zj`5UnMk#`!;U?_ZX_e6W8^IrQ2&6(Gq!fxLNUG%njShpe2P!$Em3bl8?hPELY} z5QhWL;6Z#9PPB(~wS; z|F5y;Z&Tb~VNDm?B6zP3*&r8aBINx`WZ`Y#%l^Wp{!6vd@5QLlKaxT&zySIPng6do z0{*36;_=&}h7UX{26G7T^iR>?U+E<93H%lk^+YlJUTIu;|NQIM2w!swS=R>3hg`X$ zRUv&zC%Ith=&&L2%B$uZ^K-|nJt+NFm_x_!HbS#hG05@>1M~-pX79N_94w2UInqO) zKcK3A6)`H%c>N(W<1LQ*QFz-qdMIc}3=J(|+lZdlCbCrUCrue1xeKKea z_6v^{O&y2&yW`QTRIbD9y=nX<6{arjZ^pV9nBV;P5p8v?sD(MH;ZcQQZ3+6u8mSeM z>-sNA?7vnV{e`XupYZRBBl!e)OC47MkUR7Y?CJ9|ZiE;Z?o%@5p*$7~%-m$e7Dv<; zw}?MO(B+KU^AlLjsJyA@2-~S14z=?dm{a7E7BNyc!W3>zkEUO@sW;0$?|EaWksfGH0$gq%5K4wxYjXGZ{Ob$zRCM7e36fuo{Q6lX`DAO zU7&wf!Qi1sX`8F2jmN^2xiVH}#k&fR>fPG7D_H$yub%6*P<6N$rC0zMwjEqy{RM{q zzpX&{exEQE^ARc>|A;j;)p+&#^C|@@&f_{lF|u^|iNS^2bX9KOveTBBS2fTG z2*b2RhTsJ{?iXB1?QOw$i5F-%Jn=WZlCs6vr@xmdTF2Q<_{4e;8==Q2I!?pNRMUG2 z4;*5vRLo{{GF&eU@PE*MAZ?9h8fs#VB@?P(wGpU^`~dhq#*)JIsnNSH2HPk#aW@5`M3T4MwTR6V~rZj{#+y@o1-`|Ox3G3M2Z551){ zqckdNG;Xpq3Ndp)(EBx~WS_P2z7>vy(Wj&xX11qNJGL4xV1o4 ziE}xYp@=BbvadT&lDnRhYzCNC1+AcoJs-b$C%v}dR@ez)#zMi`wLHBxam&?`ev2s) zN-Uc^g&bc^ns4Ef<>S*iB>tZsoXzWQDLR)E97UB%`no!>T7K8JeO>uXo&;#l;72@q z@G6g^V<_BDgu(Oj`$4loxk0mxvr)5*p^8Ue_nvC6Ke_s2$vJ4mE_#bErkv@dSDF6m zvQ6RCW8n!1O&L<}l(jz^ORx3u6%*ev@;K=Px9Pj&6767b?viWJjoy8N&5M-K z5QYEmRtAri|D#O(ziP((o}L7MThIRMM0t1(CZvT_M8o5W>VjW{hlfilP1%e5($Pd~ zz)Iu8aBPSU62LBzlLW!PfZ&gM=jRnl_~l6W4LT1y;L;m-f{zW=u(Nfv1`fj^reJ+4 zC@KgM5r6^L3FSOo-4LI{Wtt#xM*z6AAOeGbrQ-_T*b@aV)ckSc4woIkg-ki%LLD%? zCqxjuI`F5HeeeT>O|X9!sDf|>4g3n>^}vP3KOM81!+(2m1n!&rxx;jvTdXGU!0Bkts}&&zf*biEf0o-=bTS+7kwu)OF|*z)3@(sj#!P1ZfZ#C>d~UB z5wpZ%ckvvtos2#{k1aWA3u-vDMEyW9CRKfM)U^@xFyLf8=y2=WuIBmKY*+jF`nIQe z*V$>%$v*TvCrI%8FlchY(y;jIS!s}*{+Ve_>+})-@?l2p_bJ80ea-X3&7dC?U1$Dn zLT80<)(G_2RnO1JHu9w=x_)q&oe}8Cy`mEOQS*(U_{Wd+xU=J}Gqm>_)oYtwC%kOp zJQ7ff^Ji+B9(OH{PQ3=lR60&=Wg8-WPm3i#`6=vlD3SO|`m*(|wvQ3(Oob zsyCjy!fHz_lc|D?2G8x^O}2*sgS7~ZbYA+F8Naoo+4a2Z+*AGA`MLg?)Vcor!D(k+ zqiIm_%%O9KTgG18*UrXl!?zhh5z^Iu>yI|K&ibUzmKM&AX3sy^H&@6FlRLjzXupL4cnJf1|F?fYi=8}mgFllWhcp|1!RtXJbGhat|FrM(o)s?;Zva06*kNP>jysf)AAuA1+yz^we-yzhY|p zb0r5_zMVtyw#!yrK)R~H3zgY*eUTkk z@26iB=N;u&wVx<7VK@o%3wj4Ne&43hPaxPoO4HX(>8kopRZekCvL$|UV%LJN+a-IH zmT_*^l4o)@5;SU7mg0Xqmi}SvEYjLIY;J9J5@oQ`hA>!7=$P(oENK7u{IC!3+~bAw z+MpwX^Fz(^nNE5$(u6>W5@G&MXTFM?)RU!2Tbr`o2Hdd)7AoP#`F7y}8ATtiX4c+M z56CJSOlz+g*OB#Ih^z*jAKUtFu?~QczNj{RfX= zpe*>w(^B_mGspJqz}qif{bw|9-UHq~e&TV+!LnLO+LU4FkY54}|4GUwz+8J|_I=U` ze`f{pwy|z|naWsx1nUnTG=i&lGl+NfW6@FayAp>NSgzuI_+)sQA^(8Z<`LhA*_rf! znT(qJGrOR)fUF9s)3Gzw9~@}s2k^gnW`f>iooeiQAF$}E?KlE&%;=Y2!peWeJ93-d zNx$>6E3oE-t25B!oYkkK-n*9Hg@HBPcH-)Sf76DJR}6pH(h=x9uTbr_zvuOG;qL1N z=7kamqht7d^J0E!;|Dyuh7vnRBk&*JX7`{3f2+fOwhE4_S1S2&Ggh_pYc5U19{e|V z$Ab)@(lvzMiunhEBZll$G0mIbC~{XDNC)LDr5ZwOVM}aL-+#=r{rHye)=@3{!udzz zfy$XDMr=eC6Rw}kH1mYQnI+Awl=ZB|8Z;*t6I`E}o!ZK_-hC>cnT^`Y`<+t)x$eqm zl@*CZv`S5tXE;i34Nmo;uO4h99L?%$@I1pzjA-nt_(WRfQl1#G*Hz<`x6j9UwjEfe z_59vxZKdJaA#0&zUB+QtO)BGEdZ@ABR|P7wHF86|(ssc-O97wCZMG55Ya7cv_QW2G z$aHCMQp7)*8YK7=JtMOFL~aj%jZT0ngAN6caPVE1@UZxB!TkMq)4Hj>2kG9;w<_qC zIZmy5ADgcj4&f?e!%#*Fip(F172mkszniJQWD$O}lo(QA;1>N<+?<37%c*!nD00t+ zgw*5l81(3x2Sj*{wB)b@$((V*M*WMN*}z7q9+6g4Zp-S0iA>Ec?;VZf{UvS+Y z^_!8Irl_vnxhc;3^p#F;UzAX*a8B__{2L6vOf#pTu?lyntfmtEb0fjr-B-R=K6noo z@HM-(zg?4sV%)}1qGRgIs-ikz+zTk2WaGOjvR1v*edt%Fqn0dl%yjAg|uw^7rT5Qaqct;E1>1F^`+xa4wDC&iK3^2ep%dTiw% zCe%BD+a^@X&}6kdA>x+Bdk2|%7^46D(BT^38yaq>m0y5OIg0bjS5&FE4)XLcY6ND) zI%-ncwcF0L3P0g3qJJ8xYe7ZeyxjI7Ug+&EDqiirp@x*V)q_<+xG5v0UAW+uq^Io5 zsPhe>7uzKe!@|8n`mCu*`Yy0mz_lm|+m{jO4!V)ih3Oe>Y+-$TAKfYC>G|p@JC%$l7hms9vzo`J>m1|Y}U_wQe zx{zZf7^B{$a~|??8=R``1?3@GW2Ejp6+t`$s__rV@w$RI%btM^8&27SBW~lfAE~8- z9V#;PGq)dN9;|Ai1$34AZKV5$2QNwbvne#-~;IE=)K(B2!Q0; z`?Zr|a$*!l$H~f*oKoKG>MYbdy^GV@RHHYtM3@_wkM-<|9HCrZ_|=axk#EbkTHmNm z?;fDqa7S;z^rEOm-&2}q_r@J1vx=wSYg4k-4;s^5nh)>fIeKZ35Y;*=RTmol zTFA(7^&>b}%!Bn<_>4|Bp0`B7p+D-0bHEm!c;hs-bR+gBw*~=Ss9uS`zsfI-om0K;Ql$mrCq01*2@B zYbd>R&I08w91;@sS2J}0HI(eQ4H+sDmqwbND_nh(F$~Sf-%bbifqF|L4&nc|rBAP~ zAC6*mZ7>QTtEOPM6@J(Qc4`rx$C+sc(kq=1r&svr>kU{?Sv=lCS_=c)g~to()qAnAHR}V(?7EwuU5OFwa5~R zH9Xr|)gC9u*Q zD|3b{^FFvqnr6IIzF`M#9I)OSR4CkCRvG>Q+QgV3L3$H3N|w!keNwg z;j*{gyTf1*Hk&v(BQlARl}k)l&nuYe6tlo+)pR8OCn421S9nt5m3rx}WCBvIf$~{= ztM@b}Lyar3Jo|*OF zbvoTfgCY+_(Co={P_#XegU6XsTc<;~@QmgiPVqxjldPD%@W&Hd8Xq}~3VUGIH3$rr zIXNY!5d&!kzf;6|(>L_PKP|H6p-%PQ%s#?k)r^wk2wsSsvq^o_;MU&Dh{ylgh`gk8 z(+Nbt?Sblh#3(3opN&}TQHH`tkcn+by;g?URd@U^omm}CO7`oYgrNCQ?QZXl40N0@ zVv*4L@_wox1t}prsi%HePin1tyBo=$qTwrXP`z>w>HMPp4@Nlz$isfaBbPz9A}}p@ zHn^rOdduiiherQkc;(r4-Bvn~uu*kq4AmM!<=(B)H%oF!r06HTp!>jRB*u^gGozf! z0^{B5p7h;a(B^%whBVen#>{YREoQMP?tU%r>{pwuX6+tTa#cGfG~9{Oa223KoAww9 z<0#bjqH5K6hKJxuqrkEgj$)9P-_k#loEW`c^~0aU$p}4Ro~XfM0Qv(?8sTq@!=J%( ztfROyc6NQgo&{z^ZDsMP*{r^Z?>39$hN+z|6<=nF|LD_`z8h{V-|??Lq6=~jjb?=% z5fX9|BO=MG28JLfAvCNOf``L6iueSHe#7Aa~6X50Co3qg%6PE4;z8Jw^7Z6d{(>aao##r{Sr= z`X=UN^;$RWXJ*P3%a2+ppN(9B)*9@cC6GPo0- zRtpEM%&dXb0(>2ZIXN~>YHJ@u-1byi(oNdP=1vSC6OeRC-PTHv*j*!{@EFVFrk|YV z7r0vzBeS<062sH3-*!)aR$2b8j_(|~?R^oOhOsTQy0?+HIQ!!y8v$ZknrEH}EAHeF z=?6GLEIMYWkUb8I^P?04+I(IZOT2FS@&WqXr?lqp3@?_G z)O-$_Loukl8DxVf4TzA?$D3~9i_EK6_JlZ;%#$W9;T+!6NlX=6dsP!|F%0dtsF$f` zhFGDBj5TR@E^Wi1#2iXkZ38t(9Xs;|Y0Y56YFt5>yfDwywc~M<-5Xe!lsd9Xyhoqz z^(i79_mbfHLB*wDFtK|Yf4+U$!#Fp2+%d7_`M6cn;Dj1cN9ZcSF)H+p(!Ho67CM>`0@$goqP!GrMj(g;tKDa!p8?q!OzjXx(wk`(=`-L zv@;$MU1}(^183TS8;{YS)TEwxlC_N_*WDMGhZDV(F%1r51L)<{RyFm@nwCVChAIyq zt7^34Xg`|kl;;kDN)z1PZv^;-UEDe7$+z3Y17lj!tZ`(!!Q4jK_=n_8haHy;0(Wb^ z650dNRO{eHG|qGl>7ZZ?Jr#2ISxXi60qZ3qsyq5_(Um8Cj|_<|nS?F6?}yWI8l2F@ zNVaNOz|F$IR=eJ~DGp?{x_z<@qvgen43+Jxk2|S!`j9_??umAG=e>6xke%m_V!cop z#za)GUcc>*q9tbCIR;;tCf19Oy8&vXW+@L7-cL->q@Z^y!xWbf-6y+kUxIp~-^Thx z7!=lZMAyf9yLrRx8OeLr-`BZ+lqGu%LVuuDXq3;_}?@+wvYE1T3q3ji%M?M+NGS7J( z?QTECvTI36HtObe%A0oCig!SAH(rguj9CpAhkZWL#?NH(EfaU~uzF4gBCycrjkG{- zl?lG`=>5f>$SU zpNIs!Db#8i;9pz-V^m#Cn9T%4_c_4`lT`uVuqKB*n-~hQeRpW*fbrQpsyhSUS1K@w z1C-0cU$De2h>rvxyuPF4B^>>L4-fb=kRM!d*yNm=$lchIPspb?gUP#Sc#R7;(v;KQY{DP$r7OSi4m`tk9)T>baZc1N!QPZIBZee!3}#A$c|>4AhP6JDB~L+&9Z(?-*wu~$ zqzZumTe*g6QiTat!#AqrGso7cxvRBG%h_`S+Q^g9hQDFg309kzsQONwS(jcQ!rQb~iy%l7_&a;vxWNn`B7>8MD)&kzR$%Bu1dBI{N|SJ;Owdtjfo2z2g*a(Q`Y zTGl(f%dtfrIY7MNl6)*hr5nK^B#0%r;ebJu^>(2sy-OI<=eQzwnqJ!5r)X3VHu8as zKul#NLWKEwj5z0=(IWRCLKWV}0Bx7=DEmnG+~mE~ZT^BeL_HMS<~?LEt88tHAQUV3 zP4EonC@Tif|Ru)0}O^v7}-QQ9Es*@ai$^HgE)-7^u87>I!n$qxDyX#jzgQ z@c9m<>T!ccLtdtTTeAcYCRQUm)*8GGJGSz zK)LQ5-lR%jfg;Z$?ib-2aoKRkwsRGr;aAMpA92s;+&vz+T+Er+_Oy~T;{=5ile0=_R&2a2>k>N# z3`2cfW%V7nm$?Q#K984(KnbUuSzLd4uS2DdHwxX`3Udk}4XEfmxe?)-!(aeZ!9|BY zX^;W>0MUT;<&gj|hmlM5WFh)p&QZ|`kf)n%)BIQ-*h`+JnT!W;yP(zN$IW^_I%0>S zt?L*#WgJAm&!VfBMBD7MXeRilg`2;+i{QFVC22a@cd7BZY~{nu zm)>SLn?d0PSlw-Yo0BSdZRI<6=8speAWb!-QuhU^nqglu`=##)&~WK}i$6hk5iUW@ z39{V*D&lPXBi*kmpNa0qhHoKEbl3ZSToMAoQ-Ymjoy;F^RqBF%aO8e!h|byvi^gUY ziqp|Z;0GgsVAiF%Z@iK^#xeZv(*TZG!jT#vMUl6?2)&BmM773BIfoCE4%{3H5erpG z9w#!s$J>7msy((qVzoF)SXd19&6>NlpE}p2Sh%KgX}{VjlB^5|jnM9h(UFT_02~_g zUe8))%Ov9606sJ#C~7RCB{pZ$W1Rz5ol29vs(G1eunz7}ZrT$$gZO^XOp8|~R)I|C znh;gJq}oQCRP9St{KBfzWiACCyB6UshXaU~TAhkny?Ft_lPaY6;HzKBmNdVR!lj$y zvbW*w=!V0-K{plEvfRTc^J1&yBzj^M>myJxeID$ESY5DGaL!vk;)>m3)kQ`!KZ#2Z zJK!e9T3mvZ&VW^29Sfwtfr*??CD4t9^5c>(#qPsnGK4c>7wRrt2rm}Y*UtBfOdb{1}*X23$se4HpKQ8Udkl+1RA#8hPG zr2?vkf24t!beAiA%0$o!9wS=deewn~L(EKjUh`p5CKit+P}JHA#B8Y}bg@i9Q-ApN zq}{v>T=~dJ)7WU$Y6NRB%8gyHR*3xVddDQGc?H7G0SpGS@(u;|AgJt0)>RSf`j7eW zxM3uIwDvKvF8Am-3=+uceq=jO|1DJkpm^J+@&KSb)CI~r<=k-U*L16GX^?8-nlRhf zuG*suIFQD=tm?o~wIyrM;c2DCkCD$(nBxRs0gV-pcNs3h*AOuZ6*n0bpKl{ESiha*1y&)28A|*~39nRKkWNUB zx$Q$M&-_{|)>XG7B;wA_mMefe6VA=tG(|+M%r&GCT1J>}E~>vguSx$)Ar?^U$go9- zk0Y4TlmS+m^49dJNjkCoGw+l1=@57+3p57&P#;4OdohSEqk0xCf4SvaDpADCwYhsK zpr=}0LuF?`^qiXe?)yGy7UZi?NtQ=3zgD4)zK;l9)*_-;2#St&=&Lhi-=W!Lj&AD- zW?oj#o(AitrT5$32-4K8O0eg*Sv1#6+qTGvZ$BQEfPrtwPSF))H*M&oWl?4qTX*x5ZUQ!N!$R_0#t+p~-4lq@L$Ue;+-Z7%gz8V?%%kv43gLtd zLV;W5Lw9UbQJK)w6GS1ki)wj5frlp6b6l|lSHcN(Djz=ZsAN#|B(Ab5vDjh-fIvq7hZ0e0BHMnFcDf4}f2em>JzgV(DCRMXZtNV_xj&Km?e%MY z*}0-9h?S^wSU4iK%l}zhc=9%%Ed%D4vgv@Kcy78Ccord%w}@{;ES1(r#Wi=eAXMRM zGnc-kdu1`0j}D!i+Q3>ipl)_yvA*ui!h1AyHi2TpNIU8aqrMY7uepY*VCQ~?vlUQ| zp59iWWO+!Hu_R+FDPJ6Izt5t&;U5yIpLI2(t3?0M`XRlHTzRB;F(H0luMxMdlEf$& zxVh@BUl2^SH@x1>N!c!Qhp5VW0tFH$b;HIIUU~~SE$vu8Lzs8(p|ZSLremv0odV_5 zEi`|xH=uT>Bmk;EL?fY#VbiotzEe4i#hr>tTS|1^BM)aj&a9rf6X;d6XAN5i-^UQw z+X!G?;@@(cfGN@E0=A`SU7XxUL~WQfCZQAbW)rGe8%lcvgvC-RsS!z3=UkoG9!7GQ z?WK;${ck5HFour3V_E@EU7AOI`@Xgn(S)*@AVCTBX-KpBO8nkQqdk5%72aRJNmzn7 zfO5vwz82l;ltyoWh4E!Et9Xlh8k~csk;Dfyno!i0k)x-!*p{dxsB$a!N(#$w!Fy>G zGR{isE;C>+&R@Fm>N?Fz`qj8@-M&4{Ym!i~e8pVnVoM-g1_6o>4RJacg(sURj4AU9i`0si zb`$waFBINsvp|i@BH~0rbQG!OQVYT%N|$*;E4ycVE`>b-PY;*Ix@RxsA#Sl2Iv`71yhjRnE@Zy!Mq1Fx_tSGYz z*m7rco>L?t8KkssLb)PhVEz-Buedmrd0_O4C{tZkBb1Mtwa{c~5BT3w05ue^)7V7~ zrS{B29{Uk|Q-=^9t7d9EDNN*G7Dx$4* zPyhvRD7y;+{$0IO_k&ErMdfX&3ifp!SiU7Ki{^8LTEKe2or+Kk-#8~V<6n%Zur8_K zSA8!SOYi&u(!uaTNK86-bQJZR07Y2@OZ$-uE5i`V$N&?UChl8 z7Yps(6(oEusxgl~KUjhFHs<{AG z;@hNVh)%IJnIVh)YH(f0vh+o@M2($pNBV>Q?N@(n}t!Cchx`p2I`rKZ7S zfN)*A(sl%V4#+o$q@C#(0zW}=TY5LOO0)*eOm@vYY3(Lh}{!_1T3j7`4Q2qhtTsj%yl4)!8YQSODl(13eR&(vzrL(UcI?ph=tl}Ztn zOs)?^4D5!88fp{5G6x>b^jU^fHCmXXuVV8CMeH0DoN-XWtGVt7dFn@?ZrY{@e%2OU zzyT9~fEpEPEq=A^X)68}+(}agiSF8ge6a+z8oqb?iJMQALY;Zs)da7d6gm+2iO0+3 z7jh#?Eub=RMCS`L-s4*$W@6h6D`33wpsF+>s`M{QvF}9J^9CM;FAnu6lGB`4v*iWC zbM$K8r`8wnGb_`6mMM4bYuZNPw}?$WrqEhoAZy5UhzMF==;qc{k=D)Bmv5QfE)8Ql zh@VZZ$_IlhnL~?4tkpV)kiy%`qC2<1Y6hATEwu`|FeM=qG#b$w|4z8N*K6kM+m87m zo+QytDO(fKIu*4+eLapqo*6^65Ieye^A?wP(7TTiiGOFVY z{4mR!6LS)}YOyAh0l|+tx7H&T&X?EKilr~Sp z&k&vQ9euFdx4ST}-Ve`GeLwiwR}$XeTS|-!LPrD@dP-wX%1R`KW2yva1jBl1p2z(t z3{7OF*pnC)uu~<3`Cjp*FSau>ms;VaB#NP(PWaJx&nG!oYlK|~lf&{l->*gKhkkoP zeF`JWc?|X{i6ry=_Yk#gm`_74?K}_Afss*1ZJUX{xBnfK#7SXyh??G4;V8^wXLN{hIFY|hKZeY{8+7mL3Z21B-e4>W3ml0zYhveRSuIc)pU(%mq)>m4U%s^ zN-zie+6mRs7{qtp`-g-!Dls!sc=^ZZoLCgN>ozqKxRV9Vz2c=99kO(%9AFedibGFi zcVC(B!0h^@c;*2!0}<SNvi9euvO&LC7}4 ziZNwC=(s+pm3yD%br&?<;?o6H6FSUZ^m1&4ZVTac&f^^L>Y5`>e#nAhxO6W!3*e{jd13~SX z{2uXD2_dL7tnBHcN_SNr#6eaCr<5$qNc`jAH_lefH;oV#X|$SOJJobqIz%2@Q7^er z6pTX0_QK+evj##LWExds`kTbLYa!OML+a?NBTO|nyrl6KDb6&g@mJeLb;=8iaVKBD{#>pX4v@3X%!*`BZc3oNc)@~5A zcjR^53#~GYG|4Sc)+yXSy*LGA9BqI5F(7@MIXiYybYt>|axkcY-Aa}!#u0TOiS|j6 zfUnvia8=>a63?9msmU9GU_+Rj#G_q(Uw0mxfEslY&+9Vv={(W~rgEu;N5uvM{9c7` z`bk90cX&QCm93In79NO3b3^116P!H6Y^_7HcD$;wV4q@zl^o#vE| zqCo&Z?Xp@DNJkKl21KQ+KrDh{WbU&1SL*@y&V6o6&xI}K?VV&CUj(x-b)Ru!IaBcK z^gjM_NEAnN6Yi(bP?c<&3+l~Gw%sp7l@xFwT1~6+l~gB40_z^-fN@uOL?I}XEH;#1 zCqJnXdgIbfnQ|eC*L%9TKsPw~GHvyK)pmLo&^Jr5{Z!5RqTz|MVm4P(ansn7NASaQ z#%OCf>j;$F~$T5i95VuHpJ&O^pPM8vjJQnTIy2_}J zpH^%spC}};CXy7Ji~2h2<-v0VKg22ol&EEivxe{|vS(!`M|=bumPb?;%M*wf;#gEk zv`QY|M@?%!+$)R7V7k@?=i=_EW`}!vV4E<~NZ_{Z`j<;_%wO{OQXYvxyWm0D(`UWo zhCp48i^@4F`Dh^rB21Eb;`{K1AJ}0(l(3~n+^d`;jPt$1?(v~hVS>0%Fp_@?ybhK! z_;zCmkr5+}O0uHOS@~F(s+^~%AYvA>H-@ z*B|$Z-lSROGhJ^*h(n8u# z4$~spYnZ$Q6hCgz-sZF;#J#xc+8EPbd%~0X;$e2wnB%8l8yl5hR%F!$fz;;B<;?hD zEJ=!`Z@Jr&aWugQ|9rC9Pa6TxJShC~+5EV~V?lTpA2BxSD@Iod7K+gss90|yeR84{ zXxERLa7f0&m^sIS`Ni|ZK;}l6aiUl^WJ4plJ5;*+1xa2^ZX{Qk#Pr3x$i8Pti|-s} z&EB<>J=Nb=CeeC*TliAbsk(`?Z{?w4N7s6J;=P6Uc@a>TGdsuOuva2li_!CoRi`@r1Z~S(Zrz%^n(m*=!1~)rInNh26 zPg|JvzKYZikFPwVWC(KeWyX%yZ^ovA2r`sAX*J07(>*SD7b;gQ)-!nchE}U0Io5TA zL2lDUq_2n7=&Q}79e>WH`d4C3j&$q+LD7WJADTo?3`J_OgdQ}JN}mW*ooeVVYbXzn zm0j4vi&l%QNq&8OzoF9(q01Q;GGo7xdQ zc3ve-(JquhPHMwRw4H4vLm%9u(DJ?BTEy$w^gKBLc;t*+AT7( z-`>w3xa2@juR?%zoLgFG8;L{zt0R{<<%Xj3Hlue^i z(g!G-mB|R}aWS})!~41N>QwYN?RLVsC->fn#zCD4X*kEig~LSTJ8wS=i2;^aBPe{D zt(ja~T(JHrmB-5V$Id)t`?-Fu7AKzRniD_)uV2g3EfedI)(43<2lp8+h^*_=~L zl!lslfRQF6imRw~@rdh_a|fuKqfY{jR5D){C{$Qu1Fuooh_TTHJ_J44kf2tVaSDn-7^P4n$T4;gEV4>cHJK-i0h8xbwR!4qYr=(kY%_T`{J{U@#;zJhm zrJuSPQxnDQFx0n?m0i|jGF%HiWu9_`*_P{&bq)K7R4^vVE~QAYMb9Nz9}Qh1<3kE8 zJf8WXNZ4ZkeW{a*)#ogiZH&T)Fhr0gW2Br@icCJ2i^*p=)MZL&g|9MO-dDI!d~I%t z(1(dbmQ2T8`TA5%yB*|CG3N%|@KG{T48Jo{9!X`uD+eFU!Dw}nuv)p+ma>48{cUCK z)KmaT?c_9(KJtlUPL;th@_XZ2@ZFYwyKF-2I>*S3wV~2(9VU?XRyy3Uer?cDQIc~f z9B(o#l~Cz>^ob9Vr$GCkA+ogOQ%zPw@r=(EV6= zQlOYo;W5w?*6e62-lEoCbcYjG;$2PLC`buX8lj!I0}-7jNsP9*b=%BRrGD_I)K&~5PdT{9B3P(V zZ$@*EqFAaqdX6ddYDsNfbYpg|IJbZC=8Pw)<{YD(bjzm&0dMIj-Z_ z3OJ;&O3$WRdaM}>7PllUW0;0>a@Xe%qb4YE$jhdu6e!#erW_y=LaGg5LUAOOnuD18 z85f5G4~%{r#CBI4g3F50flx?onkVlkX;z*+-n5pF!p+;4X0&`Ru!AoCLB8$=q2{5+ z8$u^WlnU9wP;?^ts^$2ZR0+l|JRz=VAo40q zisvPI^9UGm``)1*u$t!=p~Hjep$JX>eHX3NPkWI0I)(cj2@o5ZFulu5sZtbh{~WiU z<lkO9HVxAp~cK4<5i!L;0Yvsm9BnjA>{|R zg#kj~?p@)uWd=W3*`d4sLhvyVEvddh7$wtX6sw(B$JHq?I_|NY!5Pr+bcRVzrKA6? z;P9fhnjDo8LEZSQn@GKHKlu_?Gdc77rz(R3n>NE;fg{=DjN;c7!%takh{Ke-i%Y%sMafdS+Oo^dWG3t{&lP;q$w2p5 zCh|n+GR{^XlX=r5Vg4br$0O7*aeSumLR~^C_J!YP-qc0j8%V*zg6OO~}@SqpH z%FJAS=l|j8s^gma-oGFq?HD0QxFiQs(jbEY8=*M5lokY}rBz1vHaa8+N+^t!R2l>n zMo1$Kf}(&@>i4(L@2~B3&pr1%b>7eOob%js?K4Nfl+@Mnz9|7blZjq>cP)9iQB1qF?pmSgSa*>}$i1oa*-kWlc; zWh!w$;u&_+V@W3p=uCdtf%njN)hM^S37x8beK9&4HZ}GC+|xCh{IbUu|Kqc~dhKqaL^y>ywj~RX~Esb~syo z|1v~YS5yBqO8}Vu$fd7Bh4girg`G11ea)E6xyT@378L=uqxkW`=;7#5r>L4=srU2r zf^W4rJgg|NcE%%|5Om#HU+_H=<0)ltV)b0d5?TiGNgrwl-JhrH1yie+5Y23}V(tZU zjjEcukM?PJ(wrk`uWRb2$xmNbXOD}&@nHq&DMa`k^*5tIc29hOh@UXa;YmY zD-Jve=+~7& ziO-{4E0i~TUQt2zQW$xDh@GJ0@0sIKe`OgIGdNlR)gcyJqrB@H?|T~SyfK>O?c69n z8L-he#GA%3+#7=~YB}6CPe)v0aNqyqlbX+?-t(Fk_(Ksx`w(B4fl~iI4vMlkP^Nb@ z5^@jymAqq?PBK`wc%O>@&T+Qs!y2;@PDX!L^)!;Lz7Dgkidi0K_#+6JU>p>jLoHjN zgiH4EqPKlf9$ada%s%0Dttgm~pzoa-Q$fhj=LMctsl>XWaaF_^4P5M%k!}o+m>pwL z{C9wm9psin(gfISV*=JXYQsa6raTfN1og-HK8%w;Gxr@gU}Ps)J{)$N7L*MhVCF~V zCo@U*bY8=*%VSE8gspxvLA>rZY}WYomh7-ogRzdX1@Ms(t6&g6%;zBXZ=IQLG>^N! zR^~(^5|)=OM}>vQc-W`hpZxS`@yN9rxH~snsbuhgc!V#SDKxGr(ZvR~H=W;gs`%=h zwe#G0r%CVi9Jtjw|mhw@l&Kr#%mc*@oI+3MVI8c;cnJ1@+|IOFt>{ zQRjoW7awOArc(-D9&bSftIK#HU5!S?@qagRcm8{Z`9cya6We%ZGDL%nbQTFXAfC*C z_aCm-{3=b@Sw_uR_)vTaz9l+skM11^2oUG4?g*633-QDTiw>eBijuND^lV{wDgb-P$>QO)BKU``=^8PPg?~m}e zHNI4hjUn!Qx3IX{|5ylkott;Ih94r!psWcpB|5?XXa{d|UxA%{U}%n(PxCRjg=a^F zJ0|@Ijz){Faq`2eu?V>3dX>TrxARo&VHt+P1~#wuA3;*VI)} zUUUiTFmRbp@PPLhuJRc{3i1Anyn(L(cdnrq29k63qR-P@hE|C|X0ZBC!pJUGSWQho z)Tqc8X4H5gOxSMp-2$`U@r@6^zA@%-l3+wBx0XqOQ_(b`L)rOJUBW&qzmf*p@01U< zMetP+En4yf&ZS6K!5SMe>l54r;oXhp;w$v(yWURtH=m>_Q=uF+4>;YGBqTynHAVi> zZ273%PQjsPQdSX?Jr__0_L$76dtgpMzUc{mn$Q0 znS9C5sQLWeuX%)jD&!mC%@)Ufxo)d04EqsvDu-Ql&TYf#7!2x%w|-Ksks=&0qKJ>XkSs>XAk8$LZlCvzhYC>IIyFi@@e3ie z@|T|S?M#&3Bmpaq!ouK4AU+DRK{ z1yH)UDe;rIqbq8Z55_=S$i;QdQiIsvk2gg^G%xrI@*m;A)dQFMX^;z-m1{rHl0S|d zmi!dPIEe>l$1AeR+CnCrR(r_5m%v8v3KQj9*>~rGYigWntbem47^;MJO(aHU|H5Xi zN?ya21EiSBsT?P~7DuW&r>jYP7ZME-<&&zM=Tuy*(w={%k1KfZ4zQA8NRZ+S6vYTJ z9f|p{6ZK#WTqN5$@IBRkv5!B4#kk>P@Yb=sGfPS%G$Ufr5*Q$W;lwi z=gO)z?7k85P;)5VIlE7(*3Oo=7LF6YLiLr~uSl(=(Zu#EdChAZlw7~hwY_)>_r?iC z@nc5RvRtcAg}^%3U|r-WZzQZ}$6NUnV3$9n20{B`I=7~k{kt&Mg?DFdDT5uo-wEOF z9+6@TTX>K)&19qy!Hp6Bg(&dSJOD$e6|dvm1I#g9A=*)t4rxhmNwrif;d3DhKb+{o zFs-T59S;d5$bM(u!Kx9{)#$H}QT3-w%Oq9lcn?)-kk=@NA{w+UgN0O-of|`btr5g? zlaW;huqUi^eCuAa2eqn)PdR(xMk{W8WO{Z&$217}Q7R<;iJdkkAi)_-gON%|a?W=1 zK#^GaH`IzsREm$Qij|AGGtUspENBwj(2w{o5rG=}k*eaCbXK71nul@kocTZu1uwrm z7gyJN@5?MiXyU-H0f!4O<5(Ak`Ld5Yz~mL@^zkjZfNYZN%H`kSc~k{SYoO}}|ErU0 zKCmJ^*a{RKFbud`$SC`gk8TnsI|Cuw0Vg{`eKC30YK25U*R%}Nm@!n&%MzY#12No} zWYr+UqgtXJ@~*VQg^X0YBA^clcJVI}am$Y|aBR#T-2m51DReEdi1~}>z zjZH`KadYlU4F_uU`y_N7i;Ij~6??QB3EfwuX$2yY0nhifXwdBF^S}1|g>3c7E41vU zyzG^}%MpPX&YQAd(DZ5O8cD`bt8_O8WBe*`ZWFTtY4s7B0JGjP_0gQ%?jtadfr+13 zU?C*BZ&gDL{+ODEtu>;6>)7mH&-D7j2I}r*$gl52nM?r4DN<$do#2%WWt464a}#9& z<9<#y^q21(w>X`7J_>(%ajI2s5TKw8(s`jrp_{&JWpe|Th+&_|jd>0O3hkb2keQai zcCx}T&)J$Lz!+DC%idQ5(A+mA?c3A!+EU-v8TEmkQojS9-w*(v*R;NMR*(_+@D*Pg z0mHF*jq~iV^SWqs*IlaLPRK;jCC-A9^ij`yeB%46BT?DOY7%#ZO1_tfQjzK}85FP8 zoX}Mj>?=(+vMwOCIwK_2DQ8Bd8}qb$QunSZI#R}<#7-vITa=ACq~nPv$1i5c7K;FW zq~pnx1UiQ(uIwQo4UND%$4JELF=z}*^ zJ@kO+!h|Z%S<3S7vJ=$gKy%PrLj^K~HDH48rAn!ZTP3`kQyS@r^6$@^SNeT0#6l6u zwoR0F)jYE2_?32mom9`LVEtF4RK$gy=0?GZBL2_WrG5r&+2Bj2S4i@;N!)_@ToKuC zucRHz-c@jJu&$uI3PS(;fEQtfG+EX&89tTC_H|8qoktorZ_7*(3*|sB*=B z^XSnvQY-57Ry^oWzp&p|)}bG0=J{prXh#*8hlJ^@NJGL$6+l8LaWBbP*?vjkW?zSeDkhr zX!aL8}GpKgUw<8WUkGdr&raf49mug7uaZm@H60Q%^@7k1sW zO6ZmE{q|Pp-!te2OHT^%w*h);i(~lKb;!e{dQ8!SE5!L=)SZ?~3Cau3LuY27VYt~$ zHdG-yKUy0|B(4#GBHg=T3Is+E{1yjBh+$lP{Ae#(1t|^5GFbf4s!{0!ryihZ%dn`U0n-(U9BL((3-K$l z{!Qv-8$+N}Q~LWkJ1^`Tt0SLbmif}w^EJdzoHd;FD2@3%5Z>a}Nj>ZC%2xo^UNIQ;FzgzyyC*h@E|gnAQxQah?X5eLFj zU}9)PJ;=2&`1xg5Qkq<3;U+!Mj`C}Mg9PK`!aQWhdl_pNo|p@a_dPV=JYmOu{h0sYZ(Rb6g&rfc$_mn|*Gm*wXU3{w&H6wKfLjVh z=p*!`)kDY<^zVlwyA-#}ogv43S!%@KTsqw40C%_pe<6+Z#O+%Eu7{C$;UV_;>}Fpj z({AYX_M%fwa6atUI48T=j>537x?@nnK8&7ED0l4e%a{<)t2U?@xV%~~G!GU^;`VAK zWPAdv-#1~oQ1_H=9MdTkjbnZB^DgmV5H!R^el$>cHJvVn!652WSRKZqS`SDchY~Dv z-p>g_Gp{LbC!IvhqB;kY)mzweIr8~zlm%tWZpb|WgrfYuMcQx2VK!>u&%Zv;dV|T+ zJLleRe{cBKC@+~!_P4f@v)clZW7L~?T*h*cTQ==g?BTBbql-G)a2PYuR@QkV<8qO+ z2T?Q^u9>Ju)V=2%9xOc6hJ-=GCm2);Mg_h^a3`;M3&DSh_HwCk#uR!$}6<6Hj;h-FJXh@`ZYtz{XcaH&PZA@p-LBb zvo!go!3@p=>ZJl>Hi|kWQ0)cTbqCMk!Y=wypnnbj=C$Ki=M9EcLx>J0V0iqhtdn@J zFw)Nf=bYB(Gp5@2{c65^(~r^h;Pg>x704LeX*7@gzg}4Dqv~wmjYOjlp3t2VJIXw) z8+yww9cA+Ue43JC?Khd}Kx`26NR}M#Cx&G)(hNDxI=@OIgnU>6>#U8-rkY7JeeCl{ zx4#x|l=qwPAHvCfzvXm34?QpSt-`T6jz6tF6awT=nRy?gnH^>d>`E_C@my&e%I1|F zSNep_-rY2$s8Id+XBnD3j^Pt#oH|Ijk~k^veE8cIJC!Fb_LV?JAEOQCB@~x0JEmv7 zH2;nMyp)PcG^nsspk5*RZl00G;3^+QD0ZbkT~V<{dBTaztw#y~PPbATNH?@iOCJ;p zaxa?nWlhqqdJ2DW@_g2Lh|6xPH^{3;#Ga*6%H3hvf$9{l^QQZ%WwFUiNw4$X;FnKu z8_5xnLv|g1zR|(iCp>wbkh2WE&YVFQUx0qqcDWPfneMl1p%8pK-U#NciVnn79e z%&QIiisem-a&uwkHYx$2VjUryf#d>!k*Xz z4gN1)*f!4faC3-Up5enE(%1$O&(%Gx|iF z7ho^{)5<+B5P5SBHdJtluu3%emhwj<&Gbcp6l2M8{P$Hju9Hga<7~8F!oV}Yu#i}r zthEy3IQZ*>?9mHtPgzN@6MhGfas^INCkCdmbD;F*Q2f=nj%*EZM|g@klm-z6ssrog6*acqgU|_ z1zUBKtX*1S8Q6(`0a4^>btIMX;X=z$YwU}uxKzU0UoL@~FZhbEV*SksDv@Wg*pS^J zSYDG5H6DoA#zk=pU|rw!u}5mlE84hs)KXwpK{t4E-sqK%KIa@3!kFn}%j+-xQF6%6q~g}?Kw%%oJnQ}#rfo-bj}GLOD=f`ysPR@}eH*%ncLihxz)BfRg~_Jrnm?Sgq(@tYiA5B!KjI$QeFofWXCe^_b7z0Y%y|omsQ0^1 zelbbs@K4H8T%o(1FUn(05W>(+=^Sk|tD#jTrKmNv>A7;+lKb}XL>GoK*JZFHv1WZY z@mm1<#Fv%CNp4R-0NR!;y@xj_6MM8J2=T_fQbflNb{YcD*6zaH-2Dl- zr}SlaMml~{xDmh$5OCYd%Rg=?-&QBg1@S6}PPO8=eUO1ZuCcF$kI#)Z0hBA+w-L^{NV5n22iF4fHL*vY;bj z>U>IEDB+%7l_0;Gr{Au)-?w_z4I{uS;?{J#Uf$MckgQs1l2zajTqQka{O2UT6U>u< z9NbZ&EPy{BtNHNOWALrzW7QAS8gsU$L%id4^d|^c+0g-L>_O`qKs64vlxZHf&qf|9 zr|IX8+!AJ5)B(CFjSn%HS$yKh4G9u&>AAH#Q~Q;E-*8uQ?gfL<;nuy~Y{JN#M%MG| zskA=mNzs@me}^2d-ITuQj{WkOlhkF}#@2&AQcn&E9ivtYRhcrm=Lk|_S&{reHdRv9 zjXAvGXRwvt4@oK@rT4*{qGQKB;%s%EoGQRLZ!uw|ep$&;&6ni8(c8%YGn+h?2_9Br4q1}6~!PouXDU*hcqb}VTcctU7ROWGvw)hrzp)ZNrY+eK7d2wHjfE@N^nO zG-A-&FD34CT>o(AHL%Rcdg5-;ODk5~P1Pam8-y)FO$c9nfO6o5QQLPiSk@EA);)P>VcUfMQW-7`cb?R;|L3m0O z%xtO?`#gn*Z|5yEnQ1hPL4N72KjQC^^TPeDv|@Ua#7o!OvPWI!K%Y-YRsoC_ctxo(RRMO)?Yx`S4il5YN^hTvcBgVA9p~n@c1PU8teI}<6SWW1 zw%EO9+a9NXAkS*mIrTxDzUx2sSu(<2u08?kvC!Cj=cjd8y`|UR12f;>z znUS8y97*=RHr5Q+J=+dH zCxl^mZI8vBy;5zBgCa;&R_(yA;!n%wtSBnPX@Gv;R zMhHAB;Yct@Kkn9%qd5fpsx%SAO^s58mS{a}~)K2EO{(`y$#EYW)7&G)dfM#M9A(eW>j zkN~a#{*1Kk8|=fkRf3{++2icDXN+-kprpRm=c$$4adaR5iBJ=HTi8cOFI>{e|Cqb) z6BPNvpN5%JlO)Wf%z-m)@&sx6J^GnxKHUqCwZ$&s?m?-&vjV@*V40n1a?BKrF_2QL z{`v*vCb4w%b^U<@@vzK5V`%*A^HP6&f&8rn7|LrKsP}@Ot~=&)cr4Y@?{L*eg~Dn+ z_b;ICgI>$+OAmh~l**{13A-F)chb&mIp23?hfrT_O>;}Hg6eN19HS|nCNC7R^Dwth zS4999sAamOKlQrLNr^(0p?RVeW9r0P=?b5^RAEDNzi2|3<7j-u3r4FQ^Hvy)^nMrc zjMKrB{zum`!+?>Cv^OeMMO}j^T`8hbDvIwi@Pq}RC(%rZ(&NYJrLE0`Ukc^Uz*u7%LfR>0xqsk?PMv>hu`J?9d=*wvSHDF7 zz?gBLw+(Tm|H-cDiZ|W&r1-zMbv3OKBo}CjJw{I~4WPaMo9KYL@VN#fETy*Q=jkx4 z?R`&mrNUeJ3#f>I0nh5r0;Wo@Z2-DXP{(e2C&xI)aV_0QDJs^>chh(Nc;FI6lB+!> zs{`|&ru`KOg_-8g4a$aHRcJjnb^X}p0z{>LOuBaEm{+87iLUM8)s=KHi?NC{MtXiO zbtB%Q*KGA4-TmwO>M)c)&luZ&plh6nJA~p^O^z?C1cMX%GNbgDYD@>Oib%nv+QjP1 zdEW;#p^JG&UoAh4+sVGG>vs4iEM|4id53osU*m7LV`Ci{|3($em!U`8n$uO>BIF#^ zD2Kt^-lYjOaOc|wPTP9nI(B3Wkt_Q|i93?}>@t|U1|GrAg$B6yGTF9CbZJuv@@#>p z*c|EA7?|fH{Cd#{IFNnV-QD3?JcjsvsMmM|daq0tFFXu&sHqOhhW%{6azoxV-QYq$ zTCoi^c);sAADyO@3u}WlVz6?Nv25VO$qbtZpC#Fi@3Ly|sd&nsEJ1Rnp*jMW`uajO zKMD0}u0Z|01hfG0^)ZnTebUf%J;B$`NsMcYo*(5a$4OYdFj5E}%y#R!Cjsrg90c+BZ(hkwg9 zT4T!p=l1KRy*FNizJgyY=59;I%zwY=e{LV0uz5))86}LranD{_HV}i>6NZa~UL5aS zZ(<*|b0RD@ilQGzs2#O!lW4-^P%#Y6u>gFqR^WN&jCS}H$jT(~ zGv~DPaWoo{>~gz4vtWhz4J@1`w(9lN>9H5?zkbE9TZ%oj8OL8K z<-s27`{=7BGODu!bY;AMY+p>?(0(!biEB;Ukvx=2G)_RG$!!2U!ez1Le|SiL6$4T_ zN|C4iomL*#h&uhQ{^9kmz~s0-NA66JiTY=^XrIZ4KF)&~`Hfr9b$_mOSHg8G9c{MzRQBMxyA*GexO zeskqK%W=JQ+d%E1DPy&^7IpZfe!O;K#z6ky?z;P&l+g#buE4(dzWU}7W8&Yg1g~odzpEV*FXzU1zX1`T8dI$J6lSv5}OC(>97?BS(M<~`JnGsh)!4iOxe@X zSso}b@ixmu5~r-h0UN)`-DuCklnCkuztuX}VED~KTEHN#YcPdFj87Y=kMO@l2mM8^ z;s1>NE^r&HY_*_LHk(9T8|SjzfcCW=dl%30ve`4{jGa6iFmCte0Yf+%FEp;#(Fcs= znE7?N_dCwHnA8&|gbW;F%@A2-H?Wz8VZ-e1SkGu$N+zP&N_s`^F1SO}I1?P}McsXo z$OwEOeG%G{^1Cb3v*>P-)IVDUlo2LTneyN^tz%4M-(KtD5Z-d%PJ)CXFFYE!Xy6S! z$j1@-jCEf;Wi=W0O!Fsa6u6doM@Y<#T<2(A4%vyE-Jn)TJwK^SZjIKmyupagoHCc7 zzXvX9oC+VaOEe3KWrZvJVAnK8)2;XBTI!ouc1@YrKO`Ro8u+37ZqDd(7<+1d4VPNo zo=>`I?Br%Xa&6pkXOsMZ*Mi-}QvdOgv8vKu_VFb@%c1#W-Rd=Bro7N;o9|PO0vnx@Da&z0IHMy{%iZO?xt%yy?H$pF(_{T~ zSnq~Mhc*;i>C(g+OGk-cbWD4*ZuZA5bLNe`Tp`Ds|Mi}>8~%pwnUY>ke)L&1Rp%*2ngf-SHN7iKzN)bC!= zAw!_n)218&#%4f*i-CM47IDNxVydkD!!3xEN5fJkX7FITU$KmGvA!N*`3Ue{liEjm zM9_&Z1jJdzY=2>&u|%#zS0MVcN8U``#!YbYXr=AP(Ld3ZGq7zwyl=y zCx|d*ks8H4bw9p*#p=9 z6si#+))$4sIY)HG*)T49%>KO`!{am@WI6>K#Ln-1=`2}_$7_z?USDc*5O;zFAG`=3 zlgz*|@?MFK?uc>s?ljUx#P>c!+;T#4o&ET0L;kW;^T`BoheNY%H%tm7x-Pk>oHRqL zgokQgO9`r)oJ_J`mLI0;i>C9F%WZ44d|Vi1w5z37bcOEQqNed)?J3p-9lG?#9M7(i zVbid1;=@uYTJ7($_zI6c^jPC$XDc@bM0rCI^x!+>M(e7E&XwlUq{x-c2+Zptf?jD$sVUcRUV``by zU*DW-3Vv&FftAb(cv;DJYz4KfEg+Z~FG^&cxru=+a*4LK08Zd=@N2b$o%jLV&@9W| z@|(+UikzjGtez{gZ8TsS(~9*tQ?aJA(0qXNm%I!Or&nF`91$9ljjMYFv`W|S;Tvz_ z`W9I)^+okLN-Qa+jknx((p}#;Nfl`U6oL&AthYsOpGK@}(ss*mulSizRBDqV4v-}U z9!|#N16S$hPCOf1ig$4M`K%lLiS*@G%{QAeS*yvmkJ<>Jk}1!iWT+LB+`hIxBIr=B z+!WsHm#dXGEgm8v$@akCf*7}yo0e>uXJP&v1cYTcZ1#W+65hS01`@DpNSuOiBK?wS zSWzI|>v3aU@-|K0*(n1(e%vyV0M#B|98Pl--{q;G z=^iB+KiZSB!8GrD!*UpNGYg0N?F|{goTWUFX3@`Mq}!H$h~vhzc77|Am*xT@9yguS z20yr_Z?vSSn&CY1>q;*93!81AmA-lXOO4RMh<@2w(>Le`2ojrz7333<_~_^#SO@b{ zqJ5c)S9h*0wk&7BlEk8qjURt|uKyMcra>e*#TvpV9q*5LjWMrQ&t10BG?;z=ouKA>+a8mqDe@zQO|Mo%&lfU0%s&ak8`bYea2t zk}USDZp`WbiO~FpRueGz88&CsC1mgqq@%ypx!)C<2>&Uv;Jy0}0Ic1AT85;}6_sBd zl+LKxm8Lgru1J%f9&Cx^Tcc5p{iytr+b9w+|KpSLAKRBH4O71BnvR$m>DTMOKWmA- zc*kmLW9&#C26X5!!ml>F8G9j_oUV#jNit#tEKmv`EMo`lk$@|}53RG`43ORQ;0Bwd z>k&TisDq2IlAlCj3my^4iKTZiu!w*M{^{8C0|yJr?;o$B?69n>dMcSyV>6SI42Wp| z8HuN&TKX;{Zc9pd<9aq8(@}g1*h)(TO(1@Y@asSRpYeGAN*9+azQ0Eqr`N`nR2s($ zA8lsuj&8Ah^t(KZI4pxtEQW%ej_#!G;`EhNY)(=xGnLzHnxgMf5T6A|`tE~R@~xE$~^0rjnh6+6o7KF?4DZ?M8`B4B89VuhWz%w249h;=!!MOOLlD~B3v zf_fjjGmX>iLR4%^xW1A{5$f?0Ud(%zb$ z`9o)oAPJufn>ByTg%-{Hr0-m4hE@9agoJiq?8Oxo0CWR|x<@084>!zgd=8_N2eI1B z>w>8uW?0s_QX)L&;L7#oA{I<AzM-zU%r8+jkM> zOEknx(~-g}Vp!(1(iL93apGpJWic0*7=vw%(+>Tv^Xm9 zvA-^^S0O~n1@m~Z{q7krN!G+s z{j5+D1bg1M?C>dQ#u1UV!;dZJ;(xbuHuH{gBTI@mga0a!dHtpFLsa6lRji?8SCk?Q zM*Dl?UWsnfFI`pa4e`~#HBQU9z>lrp`W>|(Rtwfvg50ASmL~txGDxQ7Xji8fof6A&T4CC>*Qv5GD!_2mxt1vm##4*;s@;B)JgD^g%6$Bo2B&VXn zpdYJl5!w`wH_p2$4~N~3g~zmpshq#T)|8Li91kzQ{54t2a@%H1E?jEjp#tfiqv-jN zq26h-WrlH$EQEv^?kzWP$P$@KnwQ9G4w)Pn&*6Hy{_RdR7tywv%T;;zukO>n9;K92 zEf)P8p0ctj95FAvQoO%v7m2@#$oRnCLy+qKx}_PL@whW{+1oH4kYDs!Cc-SKHpIZa zW9!bdy9R#UYX7sGz26reES7LmaiJoTCEI>8<`v$O_i`}FU{zoos;wU~G)4T2meDPN znKWm3l2>w8t7BF`;tA2u}mv_Xr-VjrP`7sbCT1`}6N}3R6P)p(^qMhz@?5xq;RmkYzQFqkzANgSm6W)h9;3&z%$(8h;NFvlMv1R@wg*hR{sY9=g z*c3br&Wt6x`@c#3qW%a`@N)JfC7FW~QTZ43{T?e_mOeSi1-e9K&NFc-vh;aG4dJoQ zxMlE-8@mJ1eZ>7%Kaxal);)e%lFxqV;u_}OwqZD(hwzgQzGZ8WsY4wjYE~Z$+ zN++D;>f&WL09b+62j)Qzo6?kFhkKpnRdczfsp3u?$j&Rl*T$8G9YMLVKzEg3`}9n8z; z`rl?Uf0hu-(S#rpfksR#YH0$g0wuR97k=|ZHJD_6SI)7 zXb+dWSS!{C>V@{cVU-fT4dHv9$3x?36Jpkl^|E;QWp4k6U@Ul|nL(LzH5$lN`xHhu zEh}oqvH)V~27!H+e`umS7>A#Y<C|%B! z&tFvoL>EU-_&KdG0^mv5a`}G)##TtoW_q{{9a=QzolJ(gG4Y0;igs(DvWkP4z4cEr z6?75i10{w6^%=+^;C^-}$<3;Z3!)j#`k)H48vVZzP9XEH!cF@M{>wlE{~YGTl!u1L zcQQA&2J6bD7kWk&&$ZAZ&P-1-4OzwX$-j5{e5x{5DF_pH*xcvE%u~ae1m0V4)|D4$ z1JCkY%w7POyC1e%$wvP`|ID(uRQqo-$;4hR6K}AlT4GgBK<6FUWIIlW zfV7z(Zr>R-=8&B;$lV->?5oea*;H<+UL||a1gS5)aS-iTj;5`9vWrS??Ki=0v zs9y*@7Mr#X^)Rpy6hQ~}qgzmIgD1II zC0Ac(G4~5!Qv9Wam;;!xq4oy>DXXM0ccj=ANgmZu0})erM|Md7fopjTP=F{u&*Pv0 zvOsqqyI+DQpA}>!N%1Jeel{}X)Y|k9TRBa$M9A;_5tFe0_@?zBJ`ulbU?!Pwe>X|7 zD0gt<{(I)|c5Thyz1pXGj0q`s$O8N`?C6+|rTDGZcTeOjHkfnj%tG`|oAANJ~fMxd>?&Y|E;QnK0 z15X*rXKq2vNmSoBC=ZhSUDIb;MaeL{omf(Sfi+3|tHE@S?jiz<;;UFPUFnF zhaoRV#aGo?O*FF30{I@3h-6guKXtF9}k1*+Yt-f47OnAld zNXCZ;+~Y>)!w$rS(wzpT*bCDrynNqNkzx4Yl?V9=N6%y-x_q=FBOn_d6SPAu%S3PO z7xPcPa`qkjru(d~=d#zyrY5TbkN?q*1mDb|Ze2Ck?`g!TIp*iBG?98S6K3rU0IgS< z4B@nLmN~dyWed^&K2D`)yu9wtEZakGEv4&G;~|pMEz6Cw)jBZlA+zBh<*_`=MR()w zBvI?8jgibA!j^{&@R?U+XCRq0R?e_2%V?#bk$Qa1I`~!!{|U!PWAr3??k6g|Qp&}J zDxTu=(3iNiIy#>K0VYd2=|~02Tasin8H2t8jX4m-hw8GtYYizHBb(m$IvR+edMb8q zZqh88+wa0{PKvkIWKFNFQLVYFoNEuh*r=y(>2ZlEivsAmR~yI@t&0n&`TgV^J?#i( zQS>#npaxWSEDP8O@I+Fhhv zgM@Z?szI7%x&1H<2r+u_XHNI{)3(sF=9e&ygV&^s`)ra=c)Xc7#d=R7+=siKosJC< z_bWSPB5Z~n3#Pi#*JEbc+{!v|mu8Bz*9O!xXDP;s(?(7GrbH*t7f(Ho;@}7dqx=xb+;X zqhC)@fU&kDZg{)YS?z7R@T8y$u{>i<6X+dYHrMxN=z)$-_?AD< zGd2w*#R_h;e|`bxHCUbGaT3CM)&woQbww!Hw;YJRyR>X|l0tQ|XV8-fqw5CSjNb+% zBE+UYCo2Kq)K%J%b*1dA-TETNkGe*?)BwX>$|`ZQAeKwAOw$$Z#oFiqRhyT0U&iPqY6)WfO1R)&x3hXOuO;;>Xy;|LN|bw4 zcDZ)=a}y&f&rl35?v+wD28yk_cghX*XL=-#j=z(VtwhcASGs;F)D!nTzGJN)WR#Sj z=6&lHK*AC9lAO)7%iDL~-RThq$)eEyVpvaeWzr+DBuY&tKYBNpQa&5TFf>jPc6n6U z^^2b$XmG;W++^6Ux~OHS|29taEy%_ELkfFB%-yWX>U765Ajk-_;w&~pkc%-HbgngEw%3<^CFqekl5 zBTi!`i7PLgb>jLcf6*;G?cT1@Q2kb?9z3G|d;s6G_w9AKW!0lyDI?6>6UC8X2+C0` zy5#*=70rsQ{e}D1r)L9ksG^2%3%k?q!x3m+F7y zsP#AijhLAkJFAFIC|{V|8=_Ebo3kzkUTz&ex_N#%huw;%c3`q4{Y#Q5eR`4ib2MYf zJ?fGPJ&si@bGzL#9F1T%&^pv!ToKD^u#I1O=iju0w+xnql(%Qxc?GPhJsF6Nc63U@ zzbQX$j>}m5tMoFXF=A|_u%EzsJMk|{N`6!p_@0HQUykJYpz23rxCGA_Z6#I%G2J*j zxiRygmh7BgLdRzHLy)+lJRSK3jlYSP9DyN zX3K7qX6=!e!j}vF6+E8^KghyOG1+Kt2gxF2VLZ#mR6rUYlG0)M)KfPL0B2GfNk+Ta zSy9apdK#~GLw^614e~RC#FcmV9I3#?D3^#plX+a4nNPGTZkjcEW{a2ql)5FU0OK0D z%Cu|k`RDf#9&27^C^>iHGbg8t_f(&P+9ajyZck>1K{AO=KjIn@RHJDQejJBPxH$zo z{l4@C4-g7dB$1RwO_EZ^Tn%SAhzj`+MjWYolQGf{&5^>+O#Rtn*0UdGYnvFq__Itr zVGbv}DOO_5x8sc8OvM>W4l8z&44a=3q)>^HW<(vTeElDQtv+mQmug(o$~2B>A6vGL zsTZ?L`X$87EFnq`(ZKU_14q`?5MrHYzKbHjSw6RmqzX=seZ^3bFl8cN8$|M1*-1%7k#^hK{83v zDD*t2>c{mtF74o~ne~IuiZgJyjgdt(-uP5r;#E1Q{B4b;a0O?(r{rR!Pj#p2BGds*g}9e`M9QCEQ;`SZ^9EYIr8}b9->5Xmxww!R&5#e^JB1uM}FQnEz|! z%HyG2-+p@x9W|!m5C-EMQ<#M@wh~zeb!1Mq5tGRjS*C+5S*FF1K4A%xXt*OriHy zH*`PP2-t>(`W&rgKco;`j^JhQ`|+gCGAfyfc@qPN0Le!y7~D_r*h1ePBcr9EPXsx& z%ntYU_u7+Fc4u%$;Cs|3meMb9etHU;G(UGo_f}QQ`IpRTOo0Y7ftW8b909CJH7$i^ zf(VnH7AB@z2E`=2uIXOHa&Nm61C|FNxwW_WHk_%yxV=yXbxbsmMYd|+11Ctli6NJG zNCK9bqI@P3;|m4@PWPoP!wT<3LF60Ko~2jq3q1OcW*Dzv9o8!r`AOxVWFn^UH0g>% zhQD$Vq+ZC{u}~%2Vx=^j-C!W+y-LvKW9Jf&1Ro@2I&_yWDWqA1P1JrM55WujqN5LH z<!;`&s?!EV^nRYr_TVEz+w`3I2LdAEt#EL}1M_p{(FE&2 z=IDO4LJj82W>}uZe~KU1-ij_+{f}Ne@adaBYp+!|=$B`u0c6E}Dum=H{^Ou-Gt3HrO@(Xrh5crv=r3PM>bFTc(LtvPnSv|VhNkL0$L(?3` z{UN9LXiGc}OtQ53HOtd@xu~=vXi?X4_V7WY0c=?Kd4ktyadkjdCEs+q6C|cv0*`gNc<8`k#ni4lY&?@bnd|dd)i9 z;v8O1S-AOKV$jd^N6JSttM%ST0y|&3~z z&SG@oSk$}0+6cZ7y61T7n^rRQR^&OvgXf+AysGUPfU zgewvFw!b>m8)85>DsyZ+e6KT4b9Br3D}vF!WoIe|u{VbKcXRg3S$DWgB)`%f{U zKH}neoeMj=T65z%Q!Dy{kJN%!N`jl(AAMAxJegV8q@Ib!druNO$J9 zyLdh`L=jSUCPh%6Qys4-v$?nsvkw;fuk1@ zP+p1)5N>%k2KuV|5O12QJIF#y1s50xi;S50UJAc_{p|bXlRe|?y}c9o*2<#RvIyC{ zJ~vh(LGt!gw8I>5RtaVN_B1b|fqm6+fWWgqx^m`{Wg8G~ksXH=vMDB+%yFaM7Yqw8 z2p;ll^>s0^5X4=SkFCDcc|`k2O+?jTF19PjuKxwF4`TVa3t0Ey`?_8zD_q`}S+N!* zc6V;i>~Dqg9`M*v6kMslFhgcNJr1JRzC6W{zWM2x-NT=5uRH*{^199bOcdThAzUP+ zYAsSf0qTPi8z-n7o90Q;lgfiuF*0OU#T5|mU0v-Q2Rfd=jnK*GwcI&2DuEzoQQcEd z9MXRNA!bL6Q5^a3nB*y=xy_4hcv!c9n?Y{!03*BF|NW5rSV5QU^r4z?9kOSiv~JjD z;C85qUJXD?-<(b4FrKBA^2>Kq3=RA-W-HCpFUJ-lHG6v7`aZB$l_pyqfd{vp$!s(7 z@puy|U01Tc)2i^aP)(Rl3$L~I@}{U^CdE1Ew7h?k1`!@JxEqb@Z9c$x5J+CVR$%hs?>+ar*g8y$iYc z9ldcG#;Io$m|q>Ii807(d&bGptMNoHYmYr~vIhPTt9Q94286}s!L`HJuCDnIz50x! zjQOktZc9qvjLo?XDxZ1~XQmV89`VP5)&!>IdB6*{5_-@*Qjw}$!D`*~6~3r6w_yM!xF zf)B{w0TRR61`D7pzWBY?P`a}zc}93Y_;<$)NKNRTd0QY@*(vt`he?E^$^G>gb){_Y z&zn7u#mHI$5g*E&GBOoy231-8_T&v)=a)32j8~6~-iGP``v^ckAsB%!Q;u{KojzUv zB`|!?g`N}9hxvmZS0n`}ZjZEea!K>UQ4Iq}U>3r{xmGFinW02l~}iP@&&;XTEDg>rF^ss-E(bN^VA4j1Hw z%WF1fS0`mGEUpw-%nalGrOMCc*~j2l7G&+wvX%kquRH5i7-vN&_IYC?j0|9c8V7Fj z@Co=siqSQmi4*&sU-_{YT$7<~8;gf8H*VtFF@728l+})P!MQX!9myL5JxQRfDL-JC zvL3zLYG=;lQJ|<&TvoNnOTl)bR3)LB5FPUI(vYuwgmh$kVb{Gbou$19-}6dQf+1B> z9>0K4c!TYcQMqEgY$dF^Mmq}i8yxKO#68u1ptzM`X2YAT-aDit6<@yetXfC}{EMxj zz5kx@Lm^eyYxIj^ZRH2O*RB!0st?%hGp$rq)6j#*p2;9OG1nOB6tJ)q_-2l$2E#C( zn1!R+Is9?qMy=HsU+9DKMCLRwftg1A44>!Eyw%ur#&@)&YEfoqt9e~l^jY6W8T2MU z`2J|Z`J&iMGYIOlmuXd(uDrj`G~-Qn#@ETypSXED;o-n}!+}ljUTAsbBc&$ee1Y(h=t=qL;vJUvhzmju>sMu(Rejmqg*q#TCXa?mwFBEI9?7J(w545GR#=hfu=d+mG&O0q3ZzjKdQbC0=_eI z($>VlumeZ;U+|2+w&uPoKY}P$3(B%A$=46m89a-%Gi)VyPHIo>MTAvUMDHld@w{T` zFT#X679-EuM3X%mOf?kXU{Oa)+46_*GjWfrKa&3AbsjI9_-(P4vTDM=EVHZocr4AU zj-5>6$ZyS#P)VE-nch#{TkH|mR#e>LyfN~?IFGSV%0rD$Mw|Kt}T zfeb$6;5(ezlJjbACN*blA+A4BaS6$OxE7s1Z-l zOA|<&6P)1@B#qI^XCn%8ow(EgYD3rGd$l?)nWI+rVC%xDR>ty^SmJ73{jXaSBh(YB zzb*zjAKK0TL{zHC!p6pbbzDNT)JmtSu|CWh&GPZ_a=50TmsjR?lC`pVIeAM^`33IX zI@xE8GuPK(YtvRj32nftKZ@T^zml%;h*IVgHm>I%BJZL8=+jT)FFui{XL@1U=Jz$K zUMq&mkDfcbP}F-nai&*1=5bp_5pHTnn3$Q?N8hBDwP|^#Rg;eMA9FnQ$1872YZ#YX z&5iepzQH&JKH%umNNvHH$AL!uipEG>BMv*iP$ zY!?BlOW>=VMCS4G*QAfQVBT8Jf%5eoXx+?--4EEuHmX>aA88xr!Q;zk`nnqrye_YN z-VmW3$C37BFT3zO;WSfy>B+Olbi6ZHrCHjkx`_EAvzASeW?oKi`r;5vd${M=yg6we zkSyn1&63zU4870JDY95OoaD?@4_LiOqd$#|Sv+LsOP5$UR;4ns!C*Jb(GHGj3{9-x zV^zea_d^pHMeg0hc!O9fLO})mUFYTcs4s%#qN-t-r z!LM{Lr|2%n!?fR~N&VxLceeVXLV1EQYi&V@F)Pmx?A{DUypW^SDEE-p08^Uacf}f!ZDKXT99khm$HV1@Qhn)F&xhsYk9Kk zGJ8|4&+qZUx}4;S{x!9}9zuO>NIR{obB^OYVwFABzcz8QE_B0>70K=sQ8etInpwa0 zioNrWiNbYGZq87dKwP5B`Bz;K7dTS$t=W9NF^Mxf9ye2#ec>~Y$>HnjBceUtGf{qh z4lm}r!*e)qJp7l0SZiS$2{!&7QIqDHd71^J&EZ7Rx2KIEi62C%mxnG3E;(%!C;QJ; zKiOKTPVOtoE}tBU>N6{Lj*wtw-@h$+yc8ek>`3of6Q8lT=f`PlJ?~`kG$gPoR{s`@{YBYQJdt%y44h8|H$0rt&Qfln);lo z#X5c3!UBsk5ye?zlQ?t6$^IPM(jn*`9V&Dj^ig$80WWI9VC_w#kNPik$E_^w*RsiK zy-Ukl=t-6^^4*#V(GO4Xo^af)q&XP;oK)G3wC!j4x}DC7i##&gyEQY}thuLiQ=rH1 zmF!yaYGsS{YVVzmhF*P>;8&fipiRC%RyX!8@GzXfQSZG;5*yQRB}}yiNEDy($BjlLnmjH<3 zV&~@WO0jj`zN3<_fUt@%6m0uOQ5lOyf0ru#CDqUXAr04!Orb}$*|sb_b<2@>_6~cv_&hRP%sS* z81me=dUUOuEB@#Q3XM_X!i-i_=9VepFkCjUD%^U?sz3URLaY22 zEGpbwVNfV8%ovm^mt71R$HgB8Q2Y@e2BQRY%75{!gj2?HVFvyZo(nTZ1^Z+Bq7>1J zTs9PyFx)a_?lw|XRsInRN(sZ=9!gjgx1Nd;7cW>emdh?y3CqZVpsc zxNHE?i~g~F(J1bCL!)q*AMGmP6#q+{EB@1lyQ{5(6UFsgs{P&JI%PY*APH2eJM3H1 k2O$kyE>U4X#eXJvH+NfC_ivd<35Ua~fMjHJjrBnP15Pc9GXMYp literal 0 HcmV?d00001 diff --git a/doc/memos/rrf/08011-RRF-Asym-Fourier-Averaged-Ghost.pdf b/doc/memos/rrf/08011-RRF-Asym-Fourier-Averaged-Ghost.pdf new file mode 100644 index 0000000000000000000000000000000000000000..85876e84256a8484191b95abefe893769e29d447 GIT binary patch literal 167302 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

UM6z)<5}=-Sjsv6 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�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�ntFDUy=e*mvRF-d|%#EePMSwQ_H3GNdaGQfo!xU`(O z7aomiKR|=#C?1U&2jFfAXXX-c;RfA(0UBs-8FDce)MJ8sBydp!@sZ5j4m^%A&n1t> zj5R=m?is*=hUP8a_Yll84QSNA{pR6j3*JiP_Ve9C7LI=4Jv`ux4c<$1)^Ru<;1}TH nzrNR6<803X1aS8M{2IvJ!`98?=eHreXOb*oB_%ymec}HCxci5t literal 0 HcmV?d00001 diff --git a/doc/memos/rrf/08011-RRF-Histo-Fourier-Averaged-Ghost.pdf b/doc/memos/rrf/08011-RRF-Histo-Fourier-Averaged-Ghost.pdf new file mode 100644 index 0000000000000000000000000000000000000000..74eb41ccbea59401f6c5f4b7d40aa698a0f22603 GIT binary patch literal 189747 zcmXV1WmuF=7k-uQ?gr`Z1{DF7mhSHE2I&q(x&)+Q>28pa6aiUs>F!t>zGw0K1J|{) zGjrz5eeP4U^vdsK*tt3QQ0W^EL3gOU)Lhh#CN`*IV$_`S<_?x_R@8jJN1srssi`?- ztnJ*)U4Z{~#%|{C%uOB5%uyvIP+i?z%#H0)y|NBE6sit}zfuTP8P*Jv+7bM^&+;+p z{`_LZb0ugs=(XHD*DbO}(|-^Cynl6Y%w#C8_63z8XyAw6$A=Aye)!rIk!BWV8-d;( zU6$#`53Enel8?nzfp^Cc!>8TcM??C@*{9RnbN`1^h{18y)9&rl)Ba`G6P1krLvGdK z!=dbG1N7v3wM$Pe4B;bvOTIiu6NZanLo{TNjzPXwc*J$6o1Hy*tbNk!9J%zqU5Aj*9@|S)ttBxZpLI0!=>>es z&ApdwRn^U-rY`AJ)K=TKBWde89wa? zUJpLqyFX6Nc0F|M&q`)L2?r$27S0M7)l3KvUf&Krom^5GK4Io^So%@MT}{ zoWs03gWl@5tp_^!L9+bn+*I;bGzkbL18Yu|Zog1|S~73_GH_~=H{#wCy{T)2_Rug#dhM}aDA60*)Utl71F?T1-MmW+Gpt)3 zq@O+0m%SrBKF;pLS&MjQ3t71Ak$QVg<1GHF(yl4=M9O5;c2xOjg62LEysVj$jYX#@ zX5RSV3)zyA`Kh`!jMZ^~MS`Q0UJ!8n@W|Jz6!izB3!&0@CuY8PEs+x+nTu;5kibJp zOPj-E+PCf;NDO?pC2-;QV|F?%eZcwnqN(c^Y4K@~>g2jSu=@;R z>z5L->TPz%i1_#LIBovAjpMep`HGy1=s{lR!FQbX${tdA1gKFpKk(Ss_dT}cE6|re z%}*4_eFg#H!cMuzfmF_r!mf^lV{J-?EG@Gw&!vQ7^r+%d{%N0y!A+6VYrcg54DUN= zBF<@jUDI*L^uN&!;)FYf_V;d7Sk1^$+r=%9*3e?$8br&{d=!`crBE@$Ak^EJ#sIVk|)1so+qF1XoFP7EW_`y)4UX_+a76*VhkE zk&Wk&GJ|7Tf3 zlmiD4=)vK5J2}Q{_~Ou)Y=V{O^qy~)Zg$~36Z^ED7ka!uvr0o}@}=d`^F|D~@mXHY zf%DdPVv-Z>1}l5#D0rvUuI=_SE2j!V0E$3YAy?}HqBTQ$oJ8x)FYmAU1}}#wE>F=# zPU~I7U0icvCrID_Qhq!rxC+ShX^Y_WUTl`G=?4uXCC`&Q$6cz{sgml}6>l8!Q%k|; zE=!v|rJK)zmqgu%RgZ|x4>N`@uDWhnR~|J35dc6`eZDh%AaHu}HF)v#4eR=<9rVCV zbyAh{0ovumF!z)rf99zm)m{_J1A!!0mGo}jH4jV{n$*zH4Cllf7WgMzIn5A+olNYT z*erE!@&8!Ai*|Zg2K6Xgrx__m))ud)c35BbscYi*I`M;ouK1T{zN=l6G8=@HkEC^g z=-SEkn zRv0)I(D9C_mB((x{M^R{l(#`3r}=75^~Bx(WW5BGo;cDwwKKK#&ZAQR*YWtlCvr@q z!{H+Om9I#EK9)j_~7! z1W)tZ&xJ9+ekX^0+c`g0zZ9=1dJDOa3-t$!R?Xh@=ktVB3T<6Lz;Z&e*_pSLL@u^SxD#(T) zRL--*saL)I0eq?Kiy#E$GdDj3ao+-0so-*L;a++}=S;_~pR=|C1_xV7?#Y5%c^srBf49z}Dkhl| zSNK>g&5KGH2xiUieP%sjK-nzwcf^C3QKa2tZ^d4iqoY_oU++NjrX|`8K?|3jv2#vX zrIWdrPHkuGvAi(aSJ>uSjQg-lbK)nJxEe>{T(f3xe@(+AXVWkg+_7>&@GJbhzx@eoLP7}!zqk~e zV^C{8c6hn*jnR1n+-fk&_(+<|1RkJpyMn^La1*s>g@dYvxC2PDa`8YA4KaPX0|^{+ zr9na~h$*0!x5OY8Iz4M(X^dkKnE?T(CT!&v8~=Y}GSUNTKd>E;F{9hiz~Y}4Yw*7W zM+5gH)Qadii%dSj1NzWRE1?m#L;$jHG2I#H`1w6_eufJNZ4C8z!qtzSBC}6#C)U2(IKuBn=7UzH} z^D2S>O_<7sLzUY~3F5qdvgc`sO}JMs{9x@PB#_T>c9H%nPC+L_4r+Nx6h_B-p3#}L zO&o)%KI!q|n;3*9Q4V4XUA6gUBIuIqVt#!qvpic>!6L!|ljttME*_!) zm=dSv-PPZkfY>JGp8eVp-wbwyL8Sa0k`q+#St5dPWWXE>Y=0Mkk^W0Ah$w8#- zI3!Kg;MlHupKoadLTIJQ?`K)mTMxGV&sAKP>;c&j&MQO4KpTdKl*v=0PtTWkc?+sq zsO$1peg<3NtIUM2&v+RKGC@OdUX89^T7J)g1|~>GIrIe|cz@4Xu^|Wm z5&aHF9&%S2-1PA#x3J|Rcm|ut)u;eJ5q7>)sF`FnHj0~ntj7cT{J?!ZHE^UVPl8N| ze3Ibe4=uz<0X-G6*g1MU_GGS8urm!X`B8x~644Anq$5>TSiuM?gXE+2aUU#T#D<-$mMXP6c*9R1gkI(c6El5^}1M7GmL@4=uo(m=s5D8dJ*TP#wiqNV~28=89+ z#JSf0F^JiZ&WJHU0yX1G;05D4e@Hjae@o@Lrr}PYvrBctK+Al2_Iy?Z{SV79RIS>) z_RUv}{{89T@>pTj>kY0roNMho1`fN%s)b4L#PE)n^iKiu4Ss4$P8b?}Nrx+7I_gt5 z-Y|1csz$imS8ryfeIAoL+$8-57!SZt7>{14bRkYX|K-s%OFk7XelV-^LPk@=)l9ev0eytDiJYt9(a2URC-R>_~SF2QlmajQakOMO|vmu6W7MZZnd z9h`zRe~Y+@ch9z+@&C1sjYfgdPDq478O(4vHOV-g`<$+3Q%%X>33$UZ8)yNyEBvbL znXp(5c#*tAN&hyCFEo57ZV~=VtrQ+fSnk3r;8zgq)+=BnVx-fw9|Xg+<$_6Orp{#K zd&`z`qrJL36BVyDx`z0Q+W!FPV1XblG`%wwPYgK;mSi0-ebId`lKC=D7(=t zd1o~SquqOE=^og^<5x(rj1-1JvjI4GQS`9b!Jht)1w!F7@171!%kRd4KHD=R4t&Ye z_(z=uZGf3vySVp{hU`aN=fjH%7|tm+iN8S3c`Kmr;@5(c-=DAdE&M~vr%kwK z^laEnZVS`}m`KLWq>iIMFMNIzIK2^f4dfMlmN#=dt+M&wx`kEiCrzb>hP^(ydpOio zFa(4~?4!6n6ABAP6$N<(s^LIFRj0R2R98gRSCK7Jn=~4|xM7S&x%v9#A7p)L)Z`ZO z#sZ&TDMc*y9b0_X$UJeOuYOP|T1g8-(SPG1ZQxCPV2=7pf3iTn=aZHxf6oub?)^vT z%?yF5Cj8`7p7eN=xvLE-hsEY#e|bvSzGpH<&;wshz(cRpb2!1a78&pA+P9uhombI#rVO zExPm-hH@w)s7toOFTczFn?$fd5DL>&Nhw zbCK?yVI!YI#!G^dQ8}Ar{>imK>p6uvX^t#%muJGQwas!&c_qZAC9|7cYA)@VLV}DL zpShH{VxkdnfXf|RNYx!qQ8R-#4fp!QEz+5*V?_~%LuM?dunMD#RQ^!(Kx?N}ezma@ zIp4Bd@JODRR&R7ziTQe$S4xNy0)7$u^WwhED;zt3SE`wG)ke+XHqs4Mup2Iu)DBCr zoCM}wKcTt-@<)?d6&g6@uGrfjL)$9L>TlO0IW&Rw&DEqHwpdn9=OvZC(ZZff53xWIsS{X|i zVb?|AGh40wJd-8%ku4tguliNbXf4c%+4l@a=Pgc0TYQtzm$$qaOwjl}AkmioHrVGS zYR(I^zI+pMnqD^7W8#ykFppQ7p(d-th0CunVki+%k8a zT9}aZsSJ8Ff&kV|5`*hFB_*{$&Xw8xL7t|yf=E4>Jz)h8g`EW)9BRLv^z6ZWZ2c}P z+-9^lY{KfKRJ@;EiT|%7R#>o~T0TrsuX$}gMYP)6UoFZai48bMFT>W+56{jqtg1ab zKH9*W(Q=nJe}kkt|6|`6wz&PUtfLpJ`9pZMJ#iz;tFU#LAFz|8!Qe2mk>=eKv~vY- zq()){^g{VvygyH|2qtcjTz_JM+KphZ0&!;rTh zrtx(uh85<72Lpa%7`^!t@mB~J;B@SSbLi&3Abq4Gd_E+=sRQZ*KY|>C2E;7Y&e;nX zI2;zMmMbqIS~2&R^j_6vyDM=zIMPaksjCk@*JkgnYFGqYB`_)Bu_`L!d&wGTBXckh z^@mVde=s+vCFdG&Bb;wt(fLvH%P3=COiA*6 z>4<@ia)`^}-9!hY>DpCOm%VZ49y5vz(nFFCelkY8RI?;^Sjy0+Zkeq(L*Pz$ik~K< zp$(Hq!1<4tLWhV>MMkDE=g+K4$U!u@EB8!UvCasL-Q`6NmYy>=b%Er#LpOxc84{|Iz0&#0VqN)E7*5Thm(KEwx4;CSl*b36`iD%WY zlQ9j}frUuKkyQQvR!z*cO)U=I@UK2W*|nC&7pKUS9R2)O6{eoQ(d;=+gFZ!V#l?)# zj9K7Zr&7?)X{c^nuK{I3PPMolS3FZ&zSl+M`eeagbWXx@a@Vq#i?HiK^IDu6`h=1o zn2$hS=$d8E175TI%v7N_mc$J%^4Fid>*oKEb1=s^_VT9vVx72AIR~4d{?)2f#?n|J zdEjQ+=$v@&nNoYWrAfdy+igxe&>2`#5ZQ&3qQ=9RHw}_t%R&8awZs*Vq@ZcNw~d?| z8YPeb`RT-$0dv@ab_}Ou*aO;5gUPPDvGHhNz9xmpY&%1TaH|GpPNV{&k3WkJ^dB;RwoxJRPhzj9-UmR60p00hT3Nt&6L=Rb`q95sZJ(hLek>G zDHb#nj6YeU*kzpJHCDm#-l^g1jSWxsn2ZQIW>sVO2oUne#xeo%USuBCzno_L?PKkJ zhKMKfLG{>*&yzxn>Ti?z9<)8SKYY#ep{WCM8*LL+oP!u}^QDQ+u;9Yb@5R@xmv8ao zoq`DJu$}aiB`y|hwbkk&4z>rok zL^!MWI!A}fQ{TOw-nowTr|VE|)1 zrF%MhK%6?qN;sA}hMYsMX2)znp!x153Q$}Cje(LTU@U>Hx9f&;H+d9)N;W(fRoW!A zu`_??t@#<(88_VhvnEJ0QCOFm@m~r>4ljDQYtD3Hs#F5jqGuzO4)W|_vgpHb^TVJN zi2ZW=0-8u6sQK1%J|*HzEN!E^!EQXH(B}ntB_)A(_ch zdR}bh3t^yhdkbT+lI6cWKvKwYf8J|{V~ScEY07{pvqSKX5J!X18F0H5{k&Y9N-=ycuvGbv#`fQau+=eGQZb;w5w+D~|62%7k*b*PZsdTUDIK zBPWfwTqI?9-!68+6>6Qrec))lYb3f5xS$?^h5K7vf&Js423fSfC_rHZ-SYTo7^Q_P zivq*=Gu~-Dqo@v(5vat*K_Bdpw}}C48W-i2$&ynM?2Xm>a;vkc^m7Xgk?iQ;cSSJl z1XgVK+^wtxb+N6EL%zP;ipG30$1!E9!}`CxalI9Co{P#+@s6bzSk2|&MHIfA?RS;d zRZKrtF;ZL02ea41dm6Px!NO)i-y}l1Z&?I41RRzEz9)9Js~a31HK{bO4y5y&S0fy? z3Mv}qSx|vG@)N_GLPVbsEz&47N3*mt(H2|bnf(!i7*H3E=2=m#y==+X9EErXYx=uU zZIQ@=*b@I(VxvbdHE81hNfjjPUo9-j+v=-PI4KK5x-#K}jWVIGe}5Pw0wDpjMbktU z=iUhGZoi@X=Hl1=pxYT~I3G;A3ClF1EO|c+;_atdh5p$``f))5PkR#^d=jd6d-j)` zxY1MS;1hnMMw966!qJcniQFT4Z>Rr4)(%vI&$K+hu(Yfy@DCL?>)vQW;SZ&XR$<0b zWmAgSU6?K=<}b(!zGUK&SEh^0Ddd8Y%sGpT5bgP@^L6iCyb<&+`c~VBX*yF|dnE9d zqUi$=gHi+@5^qsu+T*loH#!AVh(wRHlp12*dVH)du>eP<-eNXGqd%$<8_KUgrVBPs zqv`S;a)kqV>93qOMx|~?pv*)$!%mQ-w&-{n%^+UPTZ>BPByl^Ksh0RXS5t6eQ6tvFB#Gu6SHNy%m&i`J~Fkga@`vSeenid za{4y9lC{hRbp;;r%MLgFCcJ*mqmJVhzB;y79#;rbS199|CL*IjMjGlS{IMpwS-)V@ z6?!vXj#deO2T0{8Hc#nr`@1tV}hD%1+;XD zXEV9_GwrYE_{U#{`|WtHieS@7eeTVPZq89f`@Gz|pJS`>bY=%A(-`!|`3PS&Fl&_9 z5a6x2_4F`fP+G%vY~Pbyi>IFP9(vkzSe7v774K^$w85-WKMMvCBxWklb+oE4nRfy7r>Z1WVTe6-Dt zj{c|VgE^7C#ikbnbG|za#A|M|LIlG{BZ^ui+NOp9g|&>|u1P{GaSpwj%{bqr3MOdn z)l&*>VdQ))+!c`c{%#@@JQ*9}aedYILrgFA*CBV9At}lQM{8%{VO)Lk_n#Bg;L#oA zOLR*!akCFccpDd#x9N}FS$+yR=%nKGF#)9$vgxv z<5vaVi>)Y>H3kW0rK$1{f27^mpmqyeb523h`@)Lt^~r+Mcx*L~=c}g)lDkq)2Fd%F z@hyLhpo#DBE;ivA>o2G`5yVm`W7F|^BE<EUfFZ$s9}h;T#j=@vaUheMW$k*|~Pg@+w!V;H@(0B%xd�a) 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

)$i)6qSJ9s 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 literal 0 HcmV?d00001 diff --git a/doc/memos/rrf/PSI_Logo_narrow_blau.jpg b/doc/memos/rrf/PSI_Logo_narrow_blau.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa253979d60533db0d33114c5b243394dbe52860 GIT binary patch literal 109723 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 z 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

U323VAHZn{aJ=jCxDpp<>&o!l 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 literal 0 HcmV?d00001 diff --git a/doc/memos/rrf/PSI_Logo_wide_blau.pdf b/doc/memos/rrf/PSI_Logo_wide_blau.pdf new file mode 100644 index 0000000000000000000000000000000000000000..13482e93318701d1c12d80b403eaf5eca5d97010 GIT binary patch literal 69006 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 `1l~Ro^iy|4%nD!#hQwu=;xM^{q#vUrGho3+AlQ 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 z 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�C*B-E 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

pT&9G3(WHV{^3v=n<;fyDWo{2bYnVY)Xm}` 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�HZ_G8tQ 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ⅆ1Xdod%AzzecI-qBgDjZ0R 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

YY%{o#8Op3g* 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 Date: Fri, 22 Jan 2016 15:23:32 +0100 Subject: [PATCH 17/17] currently working with 3 lines --- src/tests/analyticFakeData/analyticFakeData.C | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/tests/analyticFakeData/analyticFakeData.C b/src/tests/analyticFakeData/analyticFakeData.C index 621aa044..65a954da 100644 --- a/src/tests/analyticFakeData/analyticFakeData.C +++ b/src/tests/analyticFakeData/analyticFakeData.C @@ -180,13 +180,19 @@ void analyticFakeData(const TString type, UInt_t runNo) const Double_t gamma = 0.0000135538817; // gamma/(2pi) Double_t bb0 = 5000.0; // field in Gauss - Double_t rate0 = 1.0/1000.0; // in 1/ns + Double_t rate0 = 7.0/1000.0; // in 1/ns + Double_t frac0 = 0.5; + Double_t bb1 = bb0 + 200.0; // field in Gauss + Double_t rate1 = 0.75/1000.0; // in 1/ns + Double_t frac1 = 0.2; + Double_t bb2 = bb0 + 600.0; // field in Gauss + Double_t rate2 = 0.25/1000.0; // in 1/ns // fake function parameters header info: only for test purposes cout << ">> write fake header for TMusrRoot" << endl; if (type.CompareTo("TLemRunHeader")) { TDoubleVector dvec; - header->Set("FakeFct/Def", "N0 exp(-t/tau_mu) [1 + A exp(-1/2 (t sigma)^2) cos(gamma_mu B t + phi)] + bkg"); + header->Set("FakeFct/Def", "N0 exp(-t/tau_mu) [1 + sum_{k=0}^2 frac_k A_0 exp(-1/2 (t sigma_k)^2) cos(gamma_mu B_k t + phi)] + bkg"); for (UInt_t i=0; iSet("FakeFct/N0", dvec); @@ -202,10 +208,20 @@ void analyticFakeData(const TString type, UInt_t runNo) for (UInt_t i=0; iSet("FakeFct/phase", dvec); - prop.Set("B", bb0, "G"); - header->Set("FakeFct/B", prop); - prop.Set("lambda", rate0, "1/usec"); - header->Set("FakeFct/lambda", prop); + prop.Set("B0", bb0, "G"); + header->Set("FakeFct/B0", prop); + prop.Set("rate0", 1.0e3*rate0, "1/usec"); + header->Set("FakeFct/rate0", prop); + header->Set("FakeFct/frac0", frac0); + prop.Set("B1", bb1, "G"); + header->Set("FakeFct/B1", prop); + prop.Set("rate1", 1.0e3*rate1, "1/usec"); + header->Set("FakeFct/rate1", prop); + header->Set("FakeFct/frac1", frac1); + prop.Set("B2", bb2, "G"); + header->Set("FakeFct/B2", prop); + prop.Set("rate2", 1.0e3*rate2, "1/usec"); + header->Set("FakeFct/rate2", prop); } cout << ">> create histo objects" << endl; @@ -228,7 +244,10 @@ void analyticFakeData(const TString type, UInt_t runNo) histo[i]->SetBinContent(j+1, bkg[i]); } else { time = (Double_t)(j-t0[i])*timeResolution; - dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-0.5*TMath::Power(time*rate0,2))*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i]))+(Double_t)bkg[i]; + dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+ + frac0*a0[i]*TMath::Exp(-0.5*TMath::Power(time*rate0,2))*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i]) + + frac1*a0[i]*TMath::Exp(-0.5*TMath::Power(time*rate1,2))*TMath::Cos(TMath::TwoPi()*gamma*bb1*time+phase[i]) + + (1.0-frac0-frac1)*a0[i]*TMath::Exp(-0.5*TMath::Power(time*rate2,2))*TMath::Cos(TMath::TwoPi()*gamma*bb2*time+phase[i]))+(Double_t)bkg[i]; histo[i]->SetBinContent(j+1, dval); } }