musrfit 1.10.0
PMusr.h
Go to the documentation of this file.
1/***************************************************************************
2
3 PMusr.h
4
5 Author: Andreas Suter
6 e-mail: andreas.suter@psi.ch
7
8***************************************************************************/
9
10/***************************************************************************
11 * Copyright (C) 2007-2026 by Andreas Suter *
12 * andreas.suter@psi.ch *
13 * *
14 * This program is free software; you can redistribute it and/or modify *
15 * it under the terms of the GNU General Public License as published by *
16 * the Free Software Foundation; either version 2 of the License, or *
17 * (at your option) any later version. *
18 * *
19 * This program is distributed in the hope that it will be useful, *
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22 * GNU General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU General Public License *
25 * along with this program; if not, write to the *
26 * Free Software Foundation, Inc., *
27 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
28 ***************************************************************************/
29
30#ifndef _PMUSR_H_
31#define _PMUSR_H_
32
33#include <vector>
34#include <map>
35
36#include <TString.h>
37
38// the following ifdef is needed for GCC 4.6 or higher, fftw 3.3 or higher and root 5.30.03 or lower
39//#ifdef __CINT__
40//typedef struct { char a[7]; } __float128; // needed since cint doesn't know it
41//#endif
42// __CLING__ guard: fftw3.h includes <stddef.h> which triggers macOS module map
43// errors in CLING's runtime parser when Homebrew paths are in the search path.
44// No fftw types are used in this header's class definitions, so CLING doesn't need it.
45#ifndef __CLING__
46#include "fftw3.h"
47#endif
48
49//-------------------------------------------------------------
58#define PMUSR_SUCCESS 0
60#define PMUSR_SYNTAX_REQUEST -1
62#define PMUSR_WRONG_STARTUP_SYNTAX -2
64#define PMUSR_MSR_FILE_NOT_FOUND -3
66#define PMUSR_MSR_ALLOCATION_ERROR -4
68#define PMUSR_MSR_SYNTAX_ERROR -5
70#define PMUSR_TOKENIZE_ERROR -6
72#define PMUSR_MSR_LOG_FILE_WRITE_ERROR -7
74#define PMUSR_MSR_FILE_WRITE_ERROR -8
76#define PMUSR_DATA_FILE_READ_ERROR -9
78#define PMUSR_MSR_RUN_ERROR -10
80#define PMUSR_UNSUPPORTED_FEATURE -11
81
82//-------------------------------------------------------------
90#define PRUN_SINGLE_HISTO 0
92#define PRUN_SINGLE_HISTO_RRF 1
94#define PRUN_ASYMMETRY 2
96#define PRUN_ASYMMETRY_RRF 3
98#define PRUN_MU_MINUS 4
100#define PRUN_ASYMMETRY_BNMR 5
102#define PRUN_NON_MUSR 8
103
104//-------------------------------------------------------------
112
124#define PMUON_LIFETIME 2.1969811
125
143#define GAMMA_BAR_MUON 1.355388094e-2
144
145//-------------------------------------------------------------
154#define ACCEL_PERIOD_PSI 0.01975
156#define ACCEL_PERIOD_TRIUMF 0.04337
158#define ACCEL_PERIOD_RAL 0.0
159
160//-------------------------------------------------------------
168#define POST_PILEUP_HISTO_OFFSET 20
169
170//-------------------------------------------------------------
177#define PMUSR_UNDEFINED -9.9e99
178
179//-------------------------------------------------------------
188#define MSR_TAG_TITLE 0
190#define MSR_TAG_FITPARAMETER 1
192#define MSR_TAG_THEORY 2
194#define MSR_TAG_FUNCTIONS 3
196#define MSR_TAG_GLOBAL 4
198#define MSR_TAG_RUN 5
200#define MSR_TAG_COMMANDS 6
202#define MSR_TAG_FOURIER 7
204#define MSR_TAG_PLOT 8
206#define MSR_TAG_STATISTIC 9
207
208//-------------------------------------------------------------
217#define MSR_FITTYPE_SINGLE_HISTO 0
219#define MSR_FITTYPE_SINGLE_HISTO_RRF 1
221#define MSR_FITTYPE_ASYM 2
223#define MSR_FITTYPE_ASYM_RRF 3
225#define MSR_FITTYPE_MU_MINUS 4
227#define MSR_FITTYPE_BNMR 5
229#define MSR_FITTYPE_NON_MUSR 8
230
231//-------------------------------------------------------------
240#define MSR_PLOT_SINGLE_HISTO 0
242#define MSR_PLOT_SINGLE_HISTO_RRF 1
244#define MSR_PLOT_ASYM 2
246#define MSR_PLOT_ASYM_RRF 3
248#define MSR_PLOT_MU_MINUS 4
250#define MSR_PLOT_BNMR 5
252#define MSR_PLOT_NON_MUSR 8
253
254//-------------------------------------------------------------
263#define MSR_PARAM_MAP_OFFSET 10000
265#define MSR_PARAM_FUN_OFFSET 20000
266
267//-------------------------------------------------------------
274#define PERIOD_HISTO_OFFSET 10000
275
276//-------------------------------------------------------------
284#define FOURIER_UNIT_NOT_GIVEN 0
286#define FOURIER_UNIT_GAUSS 1
288#define FOURIER_UNIT_TESLA 2
290#define FOURIER_UNIT_FREQ 3
292#define FOURIER_UNIT_CYCLES 4
293
294//-------------------------------------------------------------
304#define FOURIER_APOD_NOT_GIVEN 0
306#define FOURIER_APOD_NONE 1
308#define FOURIER_APOD_WEAK 2
310#define FOURIER_APOD_MEDIUM 3
312#define FOURIER_APOD_STRONG 4
313
314//-------------------------------------------------------------
322#define FOURIER_PLOT_NOT_GIVEN 0
324#define FOURIER_PLOT_REAL 1
326#define FOURIER_PLOT_IMAG 2
328#define FOURIER_PLOT_REAL_AND_IMAG 3
330#define FOURIER_PLOT_POWER 4
332#define FOURIER_PLOT_PHASE 5
334#define FOURIER_PLOT_PHASE_OPT_REAL 6
335
336//-------------------------------------------------------------
345#define RRF_UNIT_UNDEF -1
347#define RRF_UNIT_kHz 0
349#define RRF_UNIT_MHz 1
351#define RRF_UNIT_Mcs 2
353#define RRF_UNIT_G 3
355#define RRF_UNIT_T 4
356
363#define RRF_FREQ_UNDEF 1.0e10
364
365//-------------------------------------------------------------
369typedef std::vector<Bool_t> PBoolVector;
370
371//-------------------------------------------------------------
375typedef std::vector<UInt_t> PUIntVector;
376
377//-------------------------------------------------------------
381typedef std::vector<Int_t> PIntVector;
382
383//-------------------------------------------------------------
387typedef std::pair<Int_t, Int_t> PIntPair;
388
389//-------------------------------------------------------------
393typedef std::vector<PIntPair> PIntPairVector;
394
395//-------------------------------------------------------------
399typedef std::vector<Double_t> PDoubleVector;
400
401//-------------------------------------------------------------
405typedef std::pair<Double_t, Double_t> PDoublePair;
406
407//-------------------------------------------------------------
411typedef std::vector<PDoublePair> PDoublePairVector;
412
413//-------------------------------------------------------------
417typedef std::vector<TString> PStringVector;
418
419//-------------------------------------------------------------
432
433//-------------------------------------------------------------
445struct PMetaData {
446 Double_t fField;
447 Double_t fEnergy;
449};
450
451//-------------------------------------------------------------
465class PRunData {
466 public:
467 PRunData();
468 virtual ~PRunData();
469
471 virtual Double_t GetDataTimeStart() { return fDataTimeStart; }
473 virtual Double_t GetDataTimeStep() { return fDataTimeStep; }
475 virtual Double_t GetTheoryTimeStart() { return fTheoryTimeStart; }
477 virtual Double_t GetTheoryTimeStep() { return fTheoryTimeStep; }
478
480 virtual const PDoubleVector* GetX() { return &fX; }
482 virtual const PDoubleVector* GetValue() { return &fValue; }
484 virtual const PDoubleVector* GetError() { return &fError; }
486 virtual const PDoubleVector* GetXTheory() { return &fXTheory; }
488 virtual const PDoubleVector* GetTheory() { return &fTheory; }
489
492 virtual void SetDataTimeStart(Double_t dval) { fDataTimeStart = dval; }
495 virtual void SetDataTimeStep(Double_t dval) { fDataTimeStep = dval; }
498 virtual void SetTheoryTimeStart(Double_t dval) { fTheoryTimeStart = dval; }
501 virtual void SetTheoryTimeStep(Double_t dval) { fTheoryTimeStep = dval; }
502
505 virtual void AppendXValue(Double_t dval) { fX.push_back(dval); }
508 virtual void AppendValue(Double_t dval) { fValue.push_back(dval); }
511 virtual void AppendErrorValue(Double_t dval) { fError.push_back(dval); }
514 virtual void AppendXTheoryValue(Double_t dval) { fXTheory.push_back(dval); }
517 virtual void AppendTheoryValue(Double_t dval) { fTheory.push_back(dval); }
518
525 virtual void SetTheoryValue(UInt_t i, Double_t dval);
526
532 virtual void ReplaceTheory(const PDoubleVector &theo);
533
534 private:
535 // data related info
536 Double_t fDataTimeStart;
537 Double_t fDataTimeStep;
541 // theory related info
546 };
547
548//-------------------------------------------------------------
561 public:
563 virtual ~PNonMusrRawRunData();
564
566 virtual Bool_t FromAscii() { return fFromAscii; }
568 virtual const PStringVector* GetLabels() { return &fLabels; }
570 virtual const PStringVector* GetDataTags() { return &fDataTags; }
572 virtual const std::vector<PDoubleVector>* GetData() { return &fData; }
574 virtual const std::vector<PDoubleVector>* GetErrData() { return &fErrData; }
575
578 virtual void SetFromAscii(const Bool_t bval) { fFromAscii = bval; }
579
585 virtual void SetSize(const UInt_t size);
586
589 virtual void AppendLabel(const TString str) { fLabels.push_back(str); }
590
597 virtual void SetLabel(const UInt_t idx, const TString str);
598
601 virtual void AppendDataTag(const TString str) { fDataTags.push_back(str); }
604 virtual void AppendData(const PDoubleVector &data) { fData.push_back(data); }
607 virtual void AppendErrData(const PDoubleVector &data) { fErrData.push_back(data); }
608
615 virtual void AppendSubData(const UInt_t idx, const Double_t dval);
616
623 virtual void AppendSubErrData(const UInt_t idx, const Double_t dval);
624
625 private:
626 Bool_t fFromAscii;
629 std::vector<PDoubleVector> fData;
630 std::vector<PDoubleVector> fErrData;
631};
632
633//-------------------------------------------------------------
646 public:
648 virtual ~PRawRunDataSet() { fData.clear(); }
649
651 virtual TString GetTitle() { return fTitle; }
653 virtual TString GetName() { return fName; }
655 virtual Int_t GetHistoNo() { return fHistoNo; }
657 virtual Double_t GetTimeZeroBin() { return fTimeZeroBin; }
659 virtual Double_t GetTimeZeroBinEstimated() { return fTimeZeroBinEstimated; }
661 virtual Int_t GetFirstGoodBin() { return fFirstGoodBin; }
663 virtual Int_t GetLastGoodBin() { return fLastGoodBin; }
665 virtual Int_t GetFirstBkgBin() { return fFirstBkgBin; }
667 virtual Int_t GetLastBkgBin() { return fLastBkgBin; }
669 virtual PDoubleVector *GetData() { return &fData; }
670
672 virtual void Clear();
675 virtual void SetTitle(TString str) { fTitle = str; }
678 virtual void SetName(TString str) { fName = str; }
681 virtual void SetHistoNo(Int_t no) { fHistoNo = no; }
684 virtual void SetTimeZeroBin(Double_t tzb) { fTimeZeroBin = tzb; }
687 virtual void SetTimeZeroBinEstimated(Double_t tzb) { fTimeZeroBinEstimated = tzb; }
690 virtual void SetFirstGoodBin(Int_t fgb) { fFirstGoodBin = fgb; }
693 virtual void SetLastGoodBin(Int_t lgb) { fLastGoodBin = lgb; }
696 virtual void SetFirstBkgBin(Int_t fbb) { fFirstBkgBin = fbb; }
699 virtual void SetLastBkgBin(Int_t lbb) { fLastGoodBin = lbb; }
702 virtual void SetData(PDoubleVector data) { fData = data; }
703
704 private:
705 TString fTitle;
706 TString fName;
707 Int_t fHistoNo;
708 Double_t fTimeZeroBin;
715};
716
717//-------------------------------------------------------------
730 public:
732 virtual ~PRawRunDataVector() { fDataVec.clear(); }
733
735 virtual UInt_t Size() { return fDataVec.size(); }
736
743 virtual Bool_t IsPresent(UInt_t histoNo);
744
751 virtual PRawRunDataSet* GetSet(UInt_t idx);
752
759 virtual PRawRunDataSet* Get(UInt_t histoNo);
760
767 virtual PRawRunDataSet* operator[](UInt_t histoNo);
768
775 virtual PDoubleVector* GetData(UInt_t histoNo);
776
783 virtual Double_t GetT0Bin(UInt_t histoNo);
784
791 virtual Double_t GetT0BinEstimated(UInt_t histoNo);
792
799 virtual PIntPair GetBkgBin(UInt_t histoNo);
800
807 virtual PIntPair GetGoodDataBin(UInt_t histoNo);
808
815 virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1);
816
817 private:
818 std::vector<PRawRunDataSet> fDataVec;
819};
820
821//-------------------------------------------------------------
840 public:
841 PRawRunData();
842 virtual ~PRawRunData();
843
844 virtual const TString* GetVersion() { return &fVersion; }
845 virtual const TString* GetGenericValidatorUrl() { return &fGenericValidatorURL; }
846 virtual const TString* GetSpecificValidatorUrl() { return &fSpecificValidatorURL; }
847 virtual const TString* GetGenerator() { return &fGenerator; }
848 virtual const TString* GetComment() { return &fComment; }
849 virtual const TString* GetFileName() { return &fFileName; }
850 virtual const TString* GetLaboratory() { return &fLaboratory; }
851 virtual const TString* GetBeamline() { return &fBeamline; }
852 virtual const TString* GetInstrument() { return &fInstrument; }
853 virtual const TString* GetRunName() { return &fRunName; }
854 virtual const TString* GetMuonSource() { return &fMuonSource; }
855 virtual const TString* GetMuonSpecies() { return &fMuonSpecies; }
856 virtual const Double_t GetMuonBeamMomentum() { return fMuonBeamMomentum; }
857 virtual const Double_t GetMuonSpinAngle() { return fMuonSpinAngle; }
858 virtual const Int_t GetRunNumber() { return fRunNumber; }
859 virtual const TString* GetRunTitle() { return &fRunTitle; }
860 virtual const TString* GetSetup() { return &fSetup; }
861 virtual const TString* GetStartTime() { return &fStartTime; }
862 virtual const TString* GetStartDate() { return &fStartDate; }
863 virtual const time_t GetStartDateTime() { return fStartDateTimeSec; }
864 virtual const time_t CalcStartDateTime(bool &ok);
865 virtual const TString* GetStopTime() { return &fStopTime; }
866 virtual const TString* GetStopDate() { return &fStopDate; }
867 virtual const time_t GetStopDateTime() { return fStopDateTimeSec; }
868 virtual const time_t CalcStopDateTime(bool &ok);
869 virtual const TString* GetCryoName() { return &fCryo; }
870 virtual const TString* GetSample() { return &fSample; }
871 virtual const TString* GetOrientation() { return &fOrientation; }
872 virtual const TString* GetMagnetName() { return &fMagnet; }
873 virtual const Double_t GetField() { return fField; }
874 virtual const UInt_t GetNoOfTemperatures() { return fTemp.size(); }
875 virtual const PDoublePairVector* GetTemperature() const { return &fTemp; }
876 virtual const Double_t GetTemperature(const UInt_t idx);
877 virtual const Double_t GetTempError(const UInt_t idx);
878 virtual const Double_t GetEnergy() { return fEnergy; }
879 virtual const Double_t GetTransport() { return fTransport; }
880 virtual const PDoubleVector GetRingAnode() { return fRingAnode; }
881 virtual const Double_t GetRingAnode(const UInt_t idx);
882 virtual const Double_t GetTimeResolution() { return fTimeResolution; }
883 virtual const Bool_t IsPresent(UInt_t histoNo) { return fData.IsPresent(histoNo); }
884 virtual const Double_t GetT0Bin(const UInt_t histoNo) { return fData.GetT0Bin(histoNo); }
885 virtual const Double_t GetT0BinEstimated(const UInt_t histoNo) { return fData.GetT0BinEstimated(histoNo); }
886 virtual const PIntPair GetBkgBin(const UInt_t histoNo) { return fData.GetBkgBin(histoNo); }
887 virtual const PIntPair GetGoodDataBin(const UInt_t histoNo) { return fData.GetGoodDataBin(histoNo); }
888 virtual const PIntVector GetRedGreenOffset() { return fRedGreenOffset; }
889 virtual const Bool_t DeadTimeCorrectionReady();
890 virtual const Int_t GetNumberOfGoodFrames() { return fNumberOfGoodFrames; }
891 virtual const std::vector<float> GetDeadTimeParam() { return fDeadTimeParam; }
892 virtual const Double_t GetDeadTimeParam(const UInt_t histoNo);
893 virtual const UInt_t GetNoOfHistos() { return fData.Size(); }
894 virtual const UInt_t GetNoOfHistosPerPeriod() { return fNoOfHistosPerPeriod; }
895 virtual PRawRunDataSet* GetDataSet(const UInt_t idx, Bool_t wantHistoNo = true);
896 virtual const PDoubleVector* GetDataBin(const UInt_t histoNo) { return fData.GetData(histoNo); }
897 virtual const PNonMusrRawRunData* GetDataNonMusr() { return &fDataNonMusr; }
898
899 virtual void SetVersion(const TString &str) { fVersion = str; }
900 virtual void SetGenericValidatorUrl(const TString &str) { fGenericValidatorURL = str; }
901 virtual void SetSpecificValidatorUrl(const TString &str) { fSpecificValidatorURL = str; }
902 virtual void SetGenerator(const TString &str) { fGenerator = str; }
903 virtual void SetComment(const TString &str) { fComment = str; }
904 virtual void SetFileName(const TString &str) { fFileName = str; }
905 virtual void SetLaboratory(const TString &str) { fLaboratory = str; }
906 virtual void SetBeamline(const TString &str) { fBeamline = str; }
907 virtual void SetInstrument(const TString &str) { fInstrument = str; }
908 virtual void SetMuonSource(const TString &str) { fMuonSource = str; }
909 virtual void SetMuonSpecies(const TString &str) { fMuonSpecies = str; }
910 virtual void SetMuonBeamMomentum(const Double_t dval) { fMuonBeamMomentum = dval; }
911 virtual void SetMuonSpinAngle(const Double_t dval) { fMuonSpinAngle = dval; }
912 virtual void SetRunName(const TString &str) { fRunName = str; }
913 virtual void SetRunNumber(const Int_t &val) { fRunNumber = val; }
914 virtual void SetRunTitle(const TString str) { fRunTitle = str; }
915 virtual void SetSetup(const TString str) { fSetup = str; }
916 virtual void SetStartTime(const TString str) { fStartTime = str; }
917 virtual void SetStartDate(const TString str) { fStartDate = str; }
918 virtual void SetStartDateTime(const time_t val) { fStartDateTimeSec = val; }
919 virtual void SetStopTime(const TString str) { fStopTime = str; }
920 virtual void SetStopDate(const TString str) { fStopDate = str; }
921 virtual void SetStopDateTime(const time_t val) { fStopDateTimeSec = val; }
922 virtual void SetMagnetName(const TString str) { fMagnet = str; }
923 virtual void SetField(const Double_t dval) { fField = dval; }
924 virtual void SetCryoName(const TString str) { fCryo = str; }
925 virtual void SetSample(const TString str) { fSample = str; }
926 virtual void SetOrientation(const TString str) { fOrientation = str; }
927 virtual void ClearTemperature() { fTemp.clear(); }
928 virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp);
929 virtual void SetTempError(const UInt_t idx, const Double_t errTemp);
930 virtual void SetEnergy(const Double_t dval) { fEnergy = dval; }
931 virtual void SetTransport(const Double_t dval) { fTransport = dval; }
932 virtual void SetRingAnode(const UInt_t idx, const Double_t dval);
933 virtual void SetTimeResolution(const Double_t dval) { fTimeResolution = dval; }
934 virtual void SetRedGreenOffset(PIntVector &ivec) { fRedGreenOffset = ivec; }
935 virtual void SetNumberOfGoodFrames(Int_t ival) { fNumberOfGoodFrames = ival; }
936 virtual void SetDeadTimeParam(std::vector<float> dvec) { fDeadTimeParam = dvec; }
937 virtual void SetNoOfHistosPerPeriod(UInt_t ival) { fNoOfHistosPerPeriod = ival; }
938 virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1) { fData.Set(dataSet, idx); }
939
941
942 private:
943 TString fVersion{"n/a"};
944 TString fGenericValidatorURL{"n/a"};
945 TString fSpecificValidatorURL{"n/a"};
946 TString fGenerator{"n/a"};
947 TString fComment{"n/a"};
948 TString fFileName{"n/a"};
949 TString fLaboratory{"n/a"};
950 TString fBeamline{"n/a"};
951 TString fInstrument{"n/a"};
952 TString fMuonSource{"n/a"};
953 TString fMuonSpecies{"n/a"};
956 TString fRunName{"n/a"};
957 Int_t fRunNumber{-1};
958 TString fRunTitle{"n/a"};
959 TString fSetup{"n/a"};
960 TString fStartTime{"n/a"};
961 TString fStartDate{"n/a"};
963 TString fStopTime{"n/a"};
964 TString fStopDate{"n/a"};
966 TString fCryo{"n/a"};
967 TString fSample{"n/a"};
968 TString fOrientation{"n/a"};
969 TString fMagnet{"n/a"};
977 std::vector<float> fDeadTimeParam;
980
982};
983
984//-------------------------------------------------------------
988typedef std::vector<PRawRunData> PRawRunDataList;
989
990//-------------------------------------------------------------
999 Int_t fLineNo;
1000 TString fLine;
1001};
1002
1003//-------------------------------------------------------------
1007typedef std::vector<PMsrLineStructure> PMsrLines;
1008
1009//-------------------------------------------------------------
1035
1036//-------------------------------------------------------------
1040typedef std::vector<PMsrParamStructure> PMsrParamList;
1041
1042//-------------------------------------------------------------
1056 public:
1058 virtual ~PMsrGlobalBlock() {}
1059
1060 virtual Bool_t IsPresent() { return fGlobalPresent; }
1061 virtual Double_t GetRRFFreq(const char *unit);
1062 virtual TString GetRRFUnit();
1063 virtual Int_t GetRRFUnitTag() { return fRRFUnitTag; }
1064 virtual Double_t GetRRFPhase() { return fRRFPhase; }
1065 virtual Int_t GetRRFPacking() { return fRRFPacking; }
1066 virtual Int_t GetFitType() { return fFitType; }
1067 virtual Int_t GetDataRange(UInt_t idx);
1068 virtual UInt_t GetT0BinSize() { return fT0.size(); }
1069 virtual Double_t GetT0Bin(UInt_t idx=0);
1070 virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
1071 virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
1072 virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1073 virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
1074 virtual Double_t GetFitRange(UInt_t idx);
1075 virtual Int_t GetFitRangeOffset(UInt_t idx);
1076 virtual Int_t GetPacking() { return fPacking; }
1077 virtual Double_t GetEstimatedAlpha() { return fAlpha; }
1078 virtual TString GetDeadTimeCorrection() { return fDeadTimeCorrection; }
1079
1080 virtual void SetGlobalPresent(Bool_t bval) { fGlobalPresent = bval; }
1081 virtual void SetRRFFreq(Double_t freq, const char *unit);
1082 virtual void SetRRFPhase(Double_t phase) { fRRFPhase = phase; }
1083 virtual void SetRRFPacking(Int_t pack);
1084 virtual void SetFitType(Int_t ival) { fFitType = ival; }
1085 virtual void SetDataRange(Int_t ival, Int_t idx);
1086 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1087 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1088 virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
1089 virtual void SetFitRange(Double_t dval, UInt_t idx);
1090 virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
1091 virtual void SetPacking(Int_t ival) { fPacking = ival; }
1092 virtual void SetDeadTimeCorrection(TString str) { fDeadTimeCorrection = str; }
1093
1094 private:
1096 Double_t fRRFFreq;
1098 Double_t fRRFPhase;
1100 Int_t fFitType;
1101 Int_t fDataRange[4];
1103 std::vector<PDoubleVector> fAddT0;
1105 Double_t fFitRange[2];
1107 Int_t fPacking;
1108 Double_t fAlpha;
1110};
1111
1112//-------------------------------------------------------------
1132 public:
1133 PMsrRunBlock();
1134 virtual ~PMsrRunBlock();
1135
1139 virtual void CleanUp();
1140
1141 virtual UInt_t GetRunNameSize() { return fRunName.size(); }
1142 virtual TString *GetRunName(UInt_t idx=0);
1143 virtual UInt_t GetBeamlineSize() { return fBeamline.size(); }
1144 virtual TString *GetBeamline(UInt_t idx=0);
1145 virtual UInt_t GetInstituteSize() { return fInstitute.size(); }
1146 virtual TString *GetInstitute(UInt_t idx=0);
1147 virtual UInt_t GetFileFormatSize() { return fFileFormat.size(); }
1148 virtual TString *GetFileFormat(UInt_t idx=0);
1149 virtual Int_t GetFitType() { return fFitType; }
1150 virtual Int_t GetAlphaParamNo() { return fAlphaParamNo; }
1151 virtual Int_t GetBetaParamNo() { return fBetaParamNo; }
1152 virtual Int_t GetNormParamNo() { return fNormParamNo; }
1153 virtual Int_t GetBkgFitParamNo() { return fBkgFitParamNo; }
1154 virtual Int_t GetLifetimeParamNo() { return fLifetimeParamNo; }
1155 virtual Bool_t IsLifetimeCorrected() { return fLifetimeCorrection; }
1156 virtual PIntVector* GetMap() { return &fMap; }
1157 virtual Int_t GetMap(UInt_t idx);
1158 virtual UInt_t GetForwardHistoNoSize() { return fForwardHistoNo.size(); }
1159 virtual Int_t GetForwardHistoNo(UInt_t idx=0);
1160 virtual UInt_t GetBackwardHistoNoSize() { return fBackwardHistoNo.size(); }
1161 virtual Int_t GetBackwardHistoNo(UInt_t idx=0);
1162 virtual Double_t GetBkgEstimated(UInt_t idx);
1163 virtual Double_t GetBkgFix(UInt_t idx);
1164 virtual Int_t GetBkgRange(UInt_t idx);
1165 virtual Int_t GetDataRange(UInt_t idx);
1166 virtual UInt_t GetT0BinSize() { return fT0.size(); }
1167 virtual Double_t GetT0Bin(UInt_t idx=0);
1168 virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
1169 virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
1170 virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1171 virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
1172 virtual Double_t GetFitRange(UInt_t idx);
1173 virtual Int_t GetFitRangeOffset(UInt_t idx);
1174 virtual Int_t GetPacking() { return fPacking; }
1175 virtual TString GetDeadTimeCorrection() { return fDeadTimeCorrection; }
1176 virtual Double_t GetEstimatedAlpha() { return fAlpha; }
1177 virtual Int_t GetXDataIndex() { return fXYDataIndex[0]; }
1178 virtual Int_t GetYDataIndex() { return fXYDataIndex[1]; }
1179 virtual TString* GetXDataLabel() { return &fXYDataLabel[0]; }
1180 virtual TString* GetYDataLabel() { return &fXYDataLabel[1]; }
1181 virtual std::map<TString, Int_t> *GetParGlobal() { return &fParGlobal; }
1182 virtual PIntVector *GetMapGlobal() { return &fMapGlobal; }
1183
1184 virtual void SetRunName(TString &str, Int_t idx=-1);
1185 virtual void SetBeamline(TString &str, Int_t idx=-1);
1186 virtual void SetInstitute(TString &str, Int_t idx=-1);
1187 virtual void SetFileFormat(TString &str, Int_t idx=-1);
1188 virtual void SetFitType(Int_t ival) { fFitType = ival; }
1189 virtual void SetAlphaParamNo(Int_t ival) { fAlphaParamNo = ival; }
1190 virtual void SetBetaParamNo(Int_t ival) { fBetaParamNo = ival; }
1191 virtual void SetNormParamNo(Int_t ival) { fNormParamNo = ival; }
1192 virtual void SetBkgFitParamNo(Int_t ival) { fBkgFitParamNo = ival; }
1193 virtual void SetLifetimeParamNo(Int_t ival) { fLifetimeParamNo = ival; }
1194 virtual void SetLifetimeCorrection(Bool_t bval) { fLifetimeCorrection = bval; }
1195 virtual void SetMap(Int_t mapVal, Int_t idx=-1);
1196 virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1);
1197 virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1);
1198 virtual void SetBkgEstimated(Double_t dval, Int_t idx);
1199 virtual void SetEstimatedAlpha(Double_t dval);
1200 virtual void SetBkgFix(Double_t dval, Int_t idx);
1201 virtual void SetBkgRange(Int_t ival, Int_t idx);
1202 virtual void SetDataRange(Int_t ival, Int_t idx);
1203 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1204 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1205 virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
1206 virtual void SetFitRange(Double_t dval, UInt_t idx);
1207 virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
1208 virtual void SetPacking(Int_t ival) { fPacking = ival; }
1209 virtual void SetDeadTimeCorrection(TString str) { fDeadTimeCorrection = str; }
1210 virtual void SetXDataIndex(Int_t ival) { fXYDataIndex[0] = ival; }
1211 virtual void SetYDataIndex(Int_t ival) { fXYDataIndex[1] = ival; }
1212 virtual void SetXDataLabel(TString& str) { fXYDataLabel[0] = str; }
1213 virtual void SetYDataLabel(TString& str) { fXYDataLabel[1] = str; }
1214 virtual void SetParGlobal(const TString &str, Int_t ival);
1215 virtual void SetMapGlobal(UInt_t idx, Int_t ival);
1216
1217 private:
1222 Int_t fFitType;
1232 Double_t fBkgEstimated[2];
1233 Double_t fBkgFix[2];
1234 Int_t fBkgRange[4];
1235 Int_t fDataRange[4];
1237 std::vector<PDoubleVector> fAddT0;
1239 Double_t fFitRange[2];
1241 Double_t fAlpha;
1242 Int_t fPacking;
1244 Int_t fXYDataIndex[2];
1245 TString fXYDataLabel[2];
1246
1247 // Two members used for msr2data in the global mode: fParGlobal and fMapGlobal
1248 // These are intended to track global and run specific parameters used in the RUN blocks
1249 // Suggested keys for the std::map: (alpha, beta, norm, bkgfit, lifetime)
1250 // Suggested values for the std::map: 1 -> parameter is global
1251 // 0 -> parameter is run specific
1252 // -1 -> tag not present in the RUN block
1253 // The information about global parameters in the map line is stored in an std::vector which should have the same length as the map-vector
1254 // The values in this std::vector can be the same as for the std::map of the other parameters.
1255 std::map<TString, Int_t> fParGlobal;
1257};
1258
1259//-------------------------------------------------------------
1263typedef std::vector<PMsrRunBlock> PMsrRunList;
1264
1265//-------------------------------------------------------------
1292
1293//-------------------------------------------------------------
1325
1326//-------------------------------------------------------------
1330typedef std::vector<PMsrPlotStructure> PMsrPlotList;
1331
1332//-------------------------------------------------------------
1356
1357//-------------------------------------------------------------
1387
1388//-------------------------------------------------------------
1400
1401//-------------------------------------------------------------
1418 public:
1421 PStringNumberList(char *str) { fString = str; }
1422
1425 PStringNumberList(std::string str) { fString = str; }
1426
1427 virtual ~PStringNumberList() { fList.clear(); }
1428
1436 virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false);
1437
1440 virtual PUIntVector GetList() { return fList; }
1441
1442 private:
1443 std::string fString;
1446
1447 virtual bool IsNumber(std::string &str) { return (str.find_first_not_of("0123456789") == std::string::npos); }
1448 virtual void StripSpaces();
1449};
1450
1451//-------------------------------------------------------------
1464 TString instrument{""};
1465 TString runNameTemplate{""};
1466};
1467
1468//-------------------------------------------------------------
1472typedef std::vector<PRunNameTemplate> PRunNameTemplateList;
1473
1474#endif // _PMUSR_H_
std::vector< UInt_t > PUIntVector
Definition PMusr.h:375
std::vector< PRunNameTemplate > PRunNameTemplateList
Definition PMusr.h:1472
std::pair< Double_t, Double_t > PDoublePair
Definition PMusr.h:405
EPMusrHandleTag
Definition PMusr.h:427
@ kEmpty
No operation active.
Definition PMusr.h:428
@ kFit
Fitting mode - perform least-squares fit to data.
Definition PMusr.h:429
@ kView
Viewing mode - display data and theory without fitting.
Definition PMusr.h:430
std::vector< PMsrRunBlock > PMsrRunList
Definition PMusr.h:1263
#define PMUSR_UNDEFINED
Definition PMusr.h:177
std::vector< Bool_t > PBoolVector
Definition PMusr.h:369
std::vector< PMsrPlotStructure > PMsrPlotList
Definition PMusr.h:1330
std::vector< PMsrLineStructure > PMsrLines
Definition PMusr.h:1007
std::vector< PDoublePair > PDoublePairVector
Definition PMusr.h:411
std::pair< Int_t, Int_t > PIntPair
Definition PMusr.h:387
std::vector< Int_t > PIntVector
Definition PMusr.h:381
std::vector< PMsrParamStructure > PMsrParamList
Definition PMusr.h:1040
std::vector< PIntPair > PIntPairVector
Definition PMusr.h:393
std::vector< TString > PStringVector
Definition PMusr.h:417
std::vector< Double_t > PDoubleVector
Definition PMusr.h:399
std::vector< PRawRunData > PRawRunDataList
Definition PMusr.h:988
virtual ~PMsrGlobalBlock()
Definition PMusr.h:1058
virtual Bool_t IsPresent()
Definition PMusr.h:1060
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition PMusr.cpp:1055
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition PMusr.h:1104
virtual void SetFitRangeInBins(Bool_t bval)
Definition PMusr.h:1088
virtual void SetRRFFreq(Double_t freq, const char *unit)
Definition PMusr.cpp:909
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition PMusr.cpp:1171
virtual void SetGlobalPresent(Bool_t bval)
Definition PMusr.h:1080
virtual Int_t GetFitType()
Definition PMusr.h:1066
Double_t fFitRange[2]
fit range in (us)
Definition PMusr.h:1105
Int_t fDataRange[4]
data bin range (fit type 0, 1, 2, 4)
Definition PMusr.h:1101
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition PMusr.cpp:1104
virtual void SetFitType(Int_t ival)
Definition PMusr.h:1084
Double_t fAlpha
estimated alpha value from F/B counts
Definition PMusr.h:1108
Int_t fFitType
fit type: 0=single histo fit, 1=single histo RRF fit, 2=asymmetry fit, 4=mu^- single histo fit,...
Definition PMusr.h:1100
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition PMusr.cpp:1080
virtual Int_t GetRRFUnitTag()
Definition PMusr.h:1063
std::vector< PDoubleVector > fAddT0
addt0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2,...
Definition PMusr.h:1103
virtual Double_t GetFitRange(UInt_t idx)
Definition PMusr.cpp:1154
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 ...
Definition PMusr.h:1106
Bool_t fGlobalPresent
flag showing if a GLOBAL block is present at all.
Definition PMusr.h:1095
Int_t fRRFUnitTag
RRF unit tag.
Definition PMusr.h:1097
virtual UInt_t GetT0BinSize()
Definition PMusr.h:1068
virtual void SetDeadTimeCorrection(TString str)
Definition PMusr.h:1092
virtual Double_t GetEstimatedAlpha()
Definition PMusr.h:1077
virtual Bool_t IsFitRangeInBin()
Definition PMusr.h:1073
virtual TString GetDeadTimeCorrection()
Definition PMusr.h:1078
virtual Int_t GetDataRange(UInt_t idx)
Definition PMusr.cpp:998
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:1015
virtual Int_t GetRRFPacking()
Definition PMusr.h:1065
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
Definition PMusr.h:1109
virtual void SetPacking(Int_t ival)
Definition PMusr.h:1091
Int_t fRRFPacking
RRF packing.
Definition PMusr.h:1099
virtual TString GetRRFUnit()
Definition PMusr.cpp:937
Double_t fRRFPhase
RRF phase in (°)
Definition PMusr.h:1098
PDoubleVector fT0
t0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0,...
Definition PMusr.h:1102
Int_t fPacking
packing/rebinning
Definition PMusr.h:1107
virtual void SetRRFPhase(Double_t phase)
Definition PMusr.h:1082
virtual Int_t GetPacking()
Definition PMusr.h:1076
virtual void SetRRFPacking(Int_t pack)
Definition PMusr.cpp:976
Double_t fRRFFreq
RRF frequency given in units of (MHz, Mc, T)
Definition PMusr.h:1096
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition PMusr.cpp:1208
virtual UInt_t GetAddT0BinEntries()
Definition PMusr.h:1070
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition PMusr.cpp:1131
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition PMusr.cpp:1191
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition PMusr.cpp:1038
virtual Double_t GetRRFPhase()
Definition PMusr.h:1064
virtual Double_t GetRRFFreq(const char *unit)
Definition PMusr.cpp:865
PStringVector fInstitute
e.g. psi, ral, triumf (former: run format)
Definition PMusr.h:1220
virtual PIntVector * GetMap()
Definition PMusr.h:1156
virtual std::map< TString, Int_t > * GetParGlobal()
Definition PMusr.h:1181
virtual void SetLifetimeParamNo(Int_t ival)
Definition PMusr.h:1193
Int_t fBkgRange[4]
background bin range (fit type 0, 2, 4)
Definition PMusr.h:1234
Int_t fNormParamNo
N0 parameter number (fit type 0)
Definition PMusr.h:1225
virtual Int_t GetBetaParamNo()
Definition PMusr.h:1151
virtual TString * GetYDataLabel()
Definition PMusr.h:1180
virtual TString * GetInstitute(UInt_t idx=0)
Definition PMusr.cpp:1419
Double_t fAlpha
estimated alpha value from F/B counts
Definition PMusr.h:1241
Double_t fBkgEstimated[2]
keeps estimated background values (if present)
Definition PMusr.h:1232
Int_t fAlphaParamNo
alpha parameter number (fit type 2, 4)
Definition PMusr.h:1223
virtual Bool_t IsLifetimeCorrected()
Definition PMusr.h:1155
virtual Int_t GetDataRange(UInt_t idx)
Definition PMusr.cpp:1757
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition PMusr.cpp:1968
virtual TString * GetFileFormat(UInt_t idx=0)
Definition PMusr.cpp:1461
virtual UInt_t GetBeamlineSize()
Definition PMusr.h:1143
virtual void SetBeamline(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1394
virtual Int_t GetPacking()
Definition PMusr.h:1174
virtual void SetBkgFix(Double_t dval, Int_t idx)
Definition PMusr.cpp:1692
virtual TString * GetBeamline(UInt_t idx=0)
Definition PMusr.cpp:1377
Int_t fDataRange[4]
data bin range (fit type 0, 2, 4)
Definition PMusr.h:1235
virtual Double_t GetFitRange(UInt_t idx)
Definition PMusr.cpp:1914
virtual void SetXDataLabel(TString &str)
Definition PMusr.h:1212
virtual void SetFitType(Int_t ival)
Definition PMusr.h:1188
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition PMusr.cpp:1840
Int_t fLifetimeParamNo
muon lifetime parameter number (fit type 0)
Definition PMusr.h:1227
virtual Int_t GetNormParamNo()
Definition PMusr.h:1152
virtual Double_t GetBkgEstimated(UInt_t idx)
Definition PMusr.cpp:1634
virtual PIntVector * GetMapGlobal()
Definition PMusr.h:1182
virtual Int_t GetYDataIndex()
Definition PMusr.h:1178
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
Definition PMusr.h:1243
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition PMusr.cpp:1931
virtual void SetBkgEstimated(Double_t dval, Int_t idx)
Definition PMusr.cpp:1652
PDoubleVector fT0
t0 bins (fit type 0, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0,...
Definition PMusr.h:1236
Int_t fBkgFitParamNo
background fit parameter number (fit type 0)
Definition PMusr.h:1226
virtual UInt_t GetForwardHistoNoSize()
Definition PMusr.h:1158
virtual void CleanUp()
Definition PMusr.cpp:1281
virtual void SetFileFormat(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1478
virtual void SetEstimatedAlpha(Double_t dval)
Definition PMusr.cpp:2018
virtual Int_t GetLifetimeParamNo()
Definition PMusr.h:1154
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition PMusr.cpp:1864
PStringVector fBeamline
e.g. mue4, mue1, pim3, emu, m15, ... (former: run type)
Definition PMusr.h:1219
Int_t fBetaParamNo
beta parameter number (fit type 2, 4)
Definition PMusr.h:1224
virtual TString * GetRunName(UInt_t idx=0)
Definition PMusr.cpp:1335
virtual UInt_t GetAddT0BinEntries()
Definition PMusr.h:1168
Bool_t fLifetimeCorrection
lifetime correction flag for viewing (fit type 0)
Definition PMusr.h:1228
virtual void SetMap(Int_t mapVal, Int_t idx=-1)
Definition PMusr.cpp:1608
TString fXYDataLabel[2]
used to get the indices via labels when using db-files (fit type 8)
Definition PMusr.h:1245
virtual UInt_t GetInstituteSize()
Definition PMusr.h:1145
virtual Double_t GetEstimatedAlpha()
Definition PMusr.h:1176
virtual TString GetDeadTimeCorrection()
Definition PMusr.h:1175
PStringVector fFileFormat
e.g. root, nexus, psi-bin, mud, ascii, db
Definition PMusr.h:1221
virtual void SetParGlobal(const TString &str, Int_t ival)
Definition PMusr.cpp:1985
virtual UInt_t GetFileFormatSize()
Definition PMusr.h:1147
PStringVector fRunName
name of the run file
Definition PMusr.h:1218
virtual UInt_t GetT0BinSize()
Definition PMusr.h:1166
virtual void SetPacking(Int_t ival)
Definition PMusr.h:1208
virtual void SetYDataIndex(Int_t ival)
Definition PMusr.h:1211
virtual void SetLifetimeCorrection(Bool_t bval)
Definition PMusr.h:1194
virtual void SetMapGlobal(UInt_t idx, Int_t ival)
Definition PMusr.cpp:2000
PIntVector fMapGlobal
here is stored if the maps used in the RUN block are global or not
Definition PMusr.h:1256
virtual Double_t GetBkgFix(UInt_t idx)
Definition PMusr.cpp:1675
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition PMusr.cpp:1815
Int_t fXYDataIndex[2]
used to get the data indices when using db-files (fit type 8)
Definition PMusr.h:1244
virtual Int_t GetForwardHistoNo(UInt_t idx=0)
Definition PMusr.cpp:1503
virtual Int_t GetXDataIndex()
Definition PMusr.h:1177
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition PMusr.h:1238
virtual Int_t GetAlphaParamNo()
Definition PMusr.h:1150
virtual void SetBkgFitParamNo(Int_t ival)
Definition PMusr.h:1192
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition PMusr.cpp:1951
virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition PMusr.cpp:1568
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:1775
virtual Int_t GetFitType()
Definition PMusr.h:1149
virtual void SetXDataIndex(Int_t ival)
Definition PMusr.h:1210
virtual Int_t GetBkgRange(UInt_t idx)
Definition PMusr.cpp:1715
virtual Int_t GetBackwardHistoNo(UInt_t idx=0)
Definition PMusr.cpp:1547
virtual void SetRunName(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1352
virtual UInt_t GetBackwardHistoNoSize()
Definition PMusr.h:1160
std::map< TString, Int_t > fParGlobal
here is stored if the parameters used in the RUN block are global or not
Definition PMusr.h:1255
PIntVector fBackwardHistoNo
backward histogram number (fit type 2, 4)
Definition PMusr.h:1231
Double_t fFitRange[2]
fit range in (us)
Definition PMusr.h:1239
Double_t fBkgFix[2]
fixed background in (1/ns) (fit type 0, 2, 4)
Definition PMusr.h:1233
virtual void SetBetaParamNo(Int_t ival)
Definition PMusr.h:1190
virtual void SetYDataLabel(TString &str)
Definition PMusr.h:1213
virtual ~PMsrRunBlock()
Definition PMusr.cpp:1261
virtual void SetAlphaParamNo(Int_t ival)
Definition PMusr.h:1189
virtual void SetBkgRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:1733
PIntVector fMap
map vector needed to switch parameters for different runs within a single theory
Definition PMusr.h:1229
virtual Int_t GetBkgFitParamNo()
Definition PMusr.h:1153
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 ...
Definition PMusr.h:1240
virtual void SetInstitute(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1436
virtual Bool_t IsFitRangeInBin()
Definition PMusr.h:1171
Int_t fFitType
fit type: 0=single histo fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit
Definition PMusr.h:1222
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition PMusr.cpp:1798
virtual void SetDeadTimeCorrection(TString str)
Definition PMusr.h:1209
virtual void SetNormParamNo(Int_t ival)
Definition PMusr.h:1191
PIntVector fForwardHistoNo
forward histogram number (fit type 0, 2, 4)
Definition PMusr.h:1230
virtual void SetFitRangeInBins(Bool_t bval)
Definition PMusr.h:1205
virtual TString * GetXDataLabel()
Definition PMusr.h:1179
virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition PMusr.cpp:1524
Int_t fPacking
packing/rebinning
Definition PMusr.h:1242
virtual UInt_t GetRunNameSize()
Definition PMusr.h:1141
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition PMusr.cpp:1891
std::vector< PDoubleVector > fAddT0
t0 bins for addrun's
Definition PMusr.h:1237
virtual void AppendLabel(const TString str)
Definition PMusr.h:589
std::vector< PDoubleVector > fData
vector of all data
Definition PMusr.h:629
virtual void AppendErrData(const PDoubleVector &data)
Definition PMusr.h:607
virtual void AppendSubErrData(const UInt_t idx, const Double_t dval)
Definition PMusr.cpp:229
virtual const PStringVector * GetDataTags()
Returns pointer to vector of data tags (identifiers for each data column)
Definition PMusr.h:570
virtual void AppendDataTag(const TString str)
Definition PMusr.h:601
PStringVector fLabels
vector of all labels (used for x-, y-axis title in view)
Definition PMusr.h:627
virtual ~PNonMusrRawRunData()
Definition PMusr.cpp:139
Bool_t fFromAscii
if true: data file was an ascii input file, otherwise it is a db/dat input file
Definition PMusr.h:626
virtual void AppendSubData(const UInt_t idx, const Double_t dval)
Definition PMusr.cpp:209
virtual void SetFromAscii(const Bool_t bval)
Definition PMusr.h:578
virtual const std::vector< PDoubleVector > * GetData()
Returns pointer to vector of data columns.
Definition PMusr.h:572
virtual const PStringVector * GetLabels()
Returns pointer to vector of axis/column labels.
Definition PMusr.h:568
PStringVector fDataTags
vector of all data tags
Definition PMusr.h:628
virtual const std::vector< PDoubleVector > * GetErrData()
Returns pointer to vector of error data columns.
Definition PMusr.h:574
virtual void SetSize(const UInt_t size)
Definition PMusr.cpp:162
virtual void AppendData(const PDoubleVector &data)
Definition PMusr.h:604
std::vector< PDoubleVector > fErrData
vector of all data errors
Definition PMusr.h:630
virtual Bool_t FromAscii()
Returns true if data was loaded from ASCII file, false for db/dat format.
Definition PMusr.h:566
virtual void SetLabel(const UInt_t idx, const TString str)
Definition PMusr.cpp:189
virtual Int_t GetFirstGoodBin()
Returns the first bin of good data range (after prompt peak)
Definition PMusr.h:661
virtual PDoubleVector * GetData()
Returns pointer to raw histogram data vector (counts per bin)
Definition PMusr.h:669
virtual void SetLastBkgBin(Int_t lbb)
Definition PMusr.h:699
virtual void Clear()
Clears all data from this histogram set.
Definition PMusr.cpp:261
Int_t fLastGoodBin
keeps the last good bin of the data set
Definition PMusr.h:711
virtual void SetLastGoodBin(Int_t lgb)
Definition PMusr.h:693
virtual Double_t GetTimeZeroBin()
Returns the time-zero bin (t0) position.
Definition PMusr.h:657
virtual void SetHistoNo(Int_t no)
Definition PMusr.h:681
virtual void SetData(PDoubleVector data)
Definition PMusr.h:702
Int_t fFirstBkgBin
keeps the first background bin of the data set
Definition PMusr.h:712
virtual Int_t GetHistoNo()
Returns the histogram number as stored in the data file.
Definition PMusr.h:655
Double_t fTimeZeroBin
keeps the time zero bin
Definition PMusr.h:708
virtual ~PRawRunDataSet()
Definition PMusr.h:648
TString fTitle
histogram title.
Definition PMusr.h:705
virtual Int_t GetLastBkgBin()
Returns the last bin of background range.
Definition PMusr.h:667
virtual TString GetName()
Returns the histogram name.
Definition PMusr.h:653
virtual void SetName(TString str)
Definition PMusr.h:678
virtual Int_t GetLastGoodBin()
Returns the last bin of good data range.
Definition PMusr.h:663
virtual void SetTimeZeroBinEstimated(Double_t tzb)
Definition PMusr.h:687
virtual void SetFirstBkgBin(Int_t fbb)
Definition PMusr.h:696
virtual void SetTitle(TString str)
Definition PMusr.h:675
PDoubleVector fData
keeps the histogram data
Definition PMusr.h:714
virtual Double_t GetTimeZeroBinEstimated()
Returns the estimated time-zero bin from automatic determination.
Definition PMusr.h:659
Int_t fLastBkgBin
keeps the last background bin of the data set
Definition PMusr.h:713
virtual void SetTimeZeroBin(Double_t tzb)
Definition PMusr.h:684
Int_t fHistoNo
corresponds to the histogram number in the data file
Definition PMusr.h:707
Int_t fFirstGoodBin
keeps the first good bin of the data set
Definition PMusr.h:710
virtual TString GetTitle()
Returns the histogram title string.
Definition PMusr.h:651
Double_t fTimeZeroBinEstimated
keeps the estimated time zero bin
Definition PMusr.h:709
virtual Int_t GetFirstBkgBin()
Returns the first bin of background range.
Definition PMusr.h:665
virtual void SetFirstGoodBin(Int_t fgb)
Definition PMusr.h:690
TString fName
keeps the histogram name.
Definition PMusr.h:706
virtual UInt_t Size()
Returns the number of histogram data sets in this vector.
Definition PMusr.h:735
virtual PRawRunDataSet * GetSet(UInt_t idx)
Definition PMusr.cpp:319
virtual PRawRunDataSet * Get(UInt_t histoNo)
Definition PMusr.cpp:341
virtual ~PRawRunDataVector()
Definition PMusr.h:732
virtual Double_t GetT0BinEstimated(UInt_t histoNo)
Definition PMusr.cpp:436
std::vector< PRawRunDataSet > fDataVec
Definition PMusr.h:818
virtual PIntPair GetGoodDataBin(UInt_t histoNo)
Definition PMusr.cpp:489
virtual Double_t GetT0Bin(UInt_t histoNo)
Definition PMusr.cpp:410
virtual PRawRunDataSet * operator[](UInt_t histoNo)
Definition PMusr.cpp:367
virtual PDoubleVector * GetData(UInt_t histoNo)
Definition PMusr.cpp:384
virtual Bool_t IsPresent(UInt_t histoNo)
Definition PMusr.cpp:291
virtual PIntPair GetBkgBin(UInt_t histoNo)
Definition PMusr.cpp:462
virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1)
Definition PMusr.cpp:515
virtual const TString * GetSpecificValidatorUrl()
Definition PMusr.h:846
TString fRunTitle
run title
Definition PMusr.h:958
virtual void SetStopDate(const TString str)
Definition PMusr.h:920
virtual const Double_t GetTransport()
Definition PMusr.h:879
virtual PRawRunDataSet * GetDataSet(const UInt_t idx, Bool_t wantHistoNo=true)
Definition PMusr.cpp:750
Double_t fMuonBeamMomentum
given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the lo...
Definition PMusr.h:954
TString fVersion
keeps the version information of the data file
Definition PMusr.h:943
TString fSetup
description of the setup of this run
Definition PMusr.h:959
TString fStartTime
start time of the run
Definition PMusr.h:960
virtual void SetNoOfHistosPerPeriod(UInt_t ival)
Definition PMusr.h:937
virtual void SetRingAnode(const UInt_t idx, const Double_t dval)
Definition PMusr.cpp:784
Int_t fRunNumber
run number
Definition PMusr.h:957
PNonMusrRawRunData fDataNonMusr
keeps all ascii- or db-file info in case of nonMusr fit
Definition PMusr.h:940
virtual void SetGenerator(const TString &str)
Definition PMusr.h:902
virtual const PDoubleVector * GetDataBin(const UInt_t histoNo)
Definition PMusr.h:896
virtual const Int_t GetNumberOfGoodFrames()
Definition PMusr.h:890
virtual const Double_t GetT0Bin(const UInt_t histoNo)
Definition PMusr.h:884
virtual const Double_t GetTimeResolution()
Definition PMusr.h:882
virtual const TString * GetStartDate()
Definition PMusr.h:862
virtual void SetMuonSource(const TString &str)
Definition PMusr.h:908
TString fStartDate
start date of the run
Definition PMusr.h:961
virtual const UInt_t GetNoOfHistosPerPeriod()
Definition PMusr.h:894
virtual const TString * GetBeamline()
Definition PMusr.h:851
virtual void SetTimeResolution(const Double_t dval)
Definition PMusr.h:933
TString fFileName
keeps the name of the original data file
Definition PMusr.h:948
virtual const Double_t GetMuonSpinAngle()
Definition PMusr.h:857
UInt_t fNoOfHistosPerPeriod
number of histos per period (Red/Green mode); 0 means the run has no periods
Definition PMusr.h:979
virtual const TString * GetSample()
Definition PMusr.h:870
virtual const PNonMusrRawRunData * GetDataNonMusr()
Definition PMusr.h:897
virtual const TString * GetMagnetName()
Definition PMusr.h:872
virtual void SetSample(const TString str)
Definition PMusr.h:925
virtual const TString * GetVersion()
Definition PMusr.h:844
virtual void SetVersion(const TString &str)
Definition PMusr.h:899
virtual void SetEnergy(const Double_t dval)
Definition PMusr.h:930
virtual void SetStartDate(const TString str)
Definition PMusr.h:917
virtual void SetTransport(const Double_t dval)
Definition PMusr.h:931
PRawRunDataVector fData
keeps the histos together with the histo related properties such as T0, first good bin,...
Definition PMusr.h:981
time_t fStopDateTimeSec
stop run given as time_t object
Definition PMusr.h:965
virtual void SetRunName(const TString &str)
Definition PMusr.h:912
virtual void SetOrientation(const TString str)
Definition PMusr.h:926
virtual const time_t GetStopDateTime()
Definition PMusr.h:867
virtual const TString * GetOrientation()
Definition PMusr.h:871
virtual const Double_t GetMuonBeamMomentum()
Definition PMusr.h:856
virtual void SetRedGreenOffset(PIntVector &ivec)
Definition PMusr.h:934
virtual const TString * GetLaboratory()
Definition PMusr.h:850
TString fStopTime
stop time of the run
Definition PMusr.h:963
TString fSample
description of the sample
Definition PMusr.h:967
virtual const PIntPair GetBkgBin(const UInt_t histoNo)
Definition PMusr.h:886
virtual void SetSetup(const TString str)
Definition PMusr.h:915
virtual const TString * GetInstrument()
Definition PMusr.h:852
virtual const TString * GetStartTime()
Definition PMusr.h:861
virtual const PDoubleVector GetRingAnode()
Definition PMusr.h:880
virtual void SetStopTime(const TString str)
Definition PMusr.h:919
TString fComment
keeps the data file comment
Definition PMusr.h:947
virtual const Bool_t IsPresent(UInt_t histoNo)
Definition PMusr.h:883
virtual const Double_t GetTempError(const UInt_t idx)
Definition PMusr.cpp:671
TString fBeamline
keeps the name of the be beamline, e.g. muE4, piM3.1, ...
Definition PMusr.h:950
PDoublePairVector fTemp
measured temperatures and standard deviations during the run
Definition PMusr.h:971
PIntVector fRedGreenOffset
keeps the Red/Green offsets
Definition PMusr.h:976
virtual void SetSpecificValidatorUrl(const TString &str)
Definition PMusr.h:901
virtual const UInt_t GetNoOfTemperatures()
Definition PMusr.h:874
virtual const TString * GetStopTime()
Definition PMusr.h:865
TString fMagnet
name of the sample magnet
Definition PMusr.h:969
virtual const Bool_t DeadTimeCorrectionReady()
Definition PMusr.cpp:768
TString fRunName
name of the run as found in the msr-file
Definition PMusr.h:956
virtual void SetStopDateTime(const time_t val)
Definition PMusr.h:921
virtual void SetRunTitle(const TString str)
Definition PMusr.h:914
virtual void SetMuonSpinAngle(const Double_t dval)
Definition PMusr.h:911
Int_t fNumberOfGoodFrames
needed to correct dead times at pulsed sources
Definition PMusr.h:978
virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp)
Definition PMusr.cpp:801
virtual const time_t CalcStopDateTime(bool &ok)
Definition PMusr.cpp:621
virtual ~PRawRunData()
Definition PMusr.cpp:578
virtual void SetCryoName(const TString str)
Definition PMusr.h:924
Double_t fEnergy
implantation energy of the muon
Definition PMusr.h:972
TString fGenericValidatorURL
keeps the generic validator MusrRoot URL
Definition PMusr.h:944
virtual void SetFileName(const TString &str)
Definition PMusr.h:904
virtual void SetComment(const TString &str)
Definition PMusr.h:903
virtual void SetMuonSpecies(const TString &str)
Definition PMusr.h:909
TString fGenerator
keeps the data file generator name
Definition PMusr.h:946
virtual const time_t GetStartDateTime()
Definition PMusr.h:863
Double_t fField
magnetic field value in (G)
Definition PMusr.h:970
time_t fStartDateTimeSec
start run given as time_t object
Definition PMusr.h:962
virtual const Double_t GetField()
Definition PMusr.h:873
virtual const TString * GetRunTitle()
Definition PMusr.h:859
virtual const Double_t GetEnergy()
Definition PMusr.h:878
virtual void SetBeamline(const TString &str)
Definition PMusr.h:906
virtual void SetTempError(const UInt_t idx, const Double_t errTemp)
Definition PMusr.cpp:819
virtual void SetNumberOfGoodFrames(Int_t ival)
Definition PMusr.h:935
virtual const TString * GetMuonSpecies()
Definition PMusr.h:855
virtual const TString * GetGenerator()
Definition PMusr.h:847
virtual const TString * GetComment()
Definition PMusr.h:848
std::vector< float > fDeadTimeParam
dead time parameter vector needed for pulsed sources
Definition PMusr.h:977
virtual const TString * GetFileName()
Definition PMusr.h:849
Double_t fTimeResolution
time resolution of the run in (ns)
Definition PMusr.h:975
virtual void SetRunNumber(const Int_t &val)
Definition PMusr.h:913
virtual void ClearTemperature()
Definition PMusr.h:927
virtual void SetMuonBeamMomentum(const Double_t dval)
Definition PMusr.h:910
virtual const TString * GetSetup()
Definition PMusr.h:860
virtual void SetInstrument(const TString &str)
Definition PMusr.h:907
virtual const PIntVector GetRedGreenOffset()
Definition PMusr.h:888
Double_t fTransport
LEM transport settings (Moderator HV)
Definition PMusr.h:973
TString fCryo
name of the cryo
Definition PMusr.h:966
virtual const TString * GetMuonSource()
Definition PMusr.h:854
TString fMuonSource
keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam
Definition PMusr.h:952
virtual const TString * GetStopDate()
Definition PMusr.h:866
virtual const Int_t GetRunNumber()
Definition PMusr.h:858
virtual void SetStartDateTime(const time_t val)
Definition PMusr.h:918
virtual void SetField(const Double_t dval)
Definition PMusr.h:923
virtual const TString * GetRunName()
Definition PMusr.h:853
virtual void SetStartTime(const TString str)
Definition PMusr.h:916
Double_t fMuonSpinAngle
gives the muon spin angle in degrees (reference frame depends on the instrument)
Definition PMusr.h:955
virtual const UInt_t GetNoOfHistos()
Definition PMusr.h:893
virtual const std::vector< float > GetDeadTimeParam()
Definition PMusr.h:891
virtual const TString * GetCryoName()
Definition PMusr.h:869
virtual void SetLaboratory(const TString &str)
Definition PMusr.h:905
virtual const Double_t GetT0BinEstimated(const UInt_t histoNo)
Definition PMusr.h:885
TString fMuonSpecies
positive muon or negative muon
Definition PMusr.h:953
virtual const PDoublePairVector * GetTemperature() const
Definition PMusr.h:875
virtual const PIntPair GetGoodDataBin(const UInt_t histoNo)
Definition PMusr.h:887
PDoubleVector fRingAnode
LEM ring anode HVs (L,R[,T,B])
Definition PMusr.h:974
TString fInstrument
keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ...
Definition PMusr.h:951
virtual void SetMagnetName(const TString str)
Definition PMusr.h:922
virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1)
Definition PMusr.h:938
TString fLaboratory
keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC
Definition PMusr.h:949
virtual const TString * GetGenericValidatorUrl()
Definition PMusr.h:845
TString fStopDate
stop date of the run
Definition PMusr.h:964
virtual const time_t CalcStartDateTime(bool &ok)
Definition PMusr.cpp:595
virtual void SetDeadTimeParam(std::vector< float > dvec)
Definition PMusr.h:936
TString fSpecificValidatorURL
keeps the instrument specific validator MusrRoot URL
Definition PMusr.h:945
virtual void SetGenericValidatorUrl(const TString &str)
Definition PMusr.h:900
TString fOrientation
description of the orientation
Definition PMusr.h:968
virtual void SetDataTimeStep(Double_t dval)
Definition PMusr.h:495
virtual const PDoubleVector * GetX()
Returns pointer to x-axis vector (used only for non-μSR data)
Definition PMusr.h:480
virtual void AppendErrorValue(Double_t dval)
Definition PMusr.h:511
virtual void AppendValue(Double_t dval)
Definition PMusr.h:508
virtual void SetDataTimeStart(Double_t dval)
Definition PMusr.h:492
virtual Double_t GetTheoryTimeStart()
Returns the start time for theory evaluation in microseconds (μs)
Definition PMusr.h:475
virtual const PDoubleVector * GetValue()
Returns pointer to data value vector (asymmetry, counts, or y-data)
Definition PMusr.h:482
Double_t fTheoryTimeStep
time step of the theory, i.e. the time length of a bin
Definition PMusr.h:543
virtual const PDoubleVector * GetTheory()
Returns pointer to theory value vector.
Definition PMusr.h:488
virtual Double_t GetDataTimeStep()
Returns the time bin width for data in microseconds (μs)
Definition PMusr.h:473
virtual Double_t GetTheoryTimeStep()
Returns the time step for theory evaluation in microseconds (μs)
Definition PMusr.h:477
Double_t fTheoryTimeStart
start time of the theory
Definition PMusr.h:542
PDoubleVector fXTheory
x-axis vector. Only used for non-muSR
Definition PMusr.h:544
virtual void SetTheoryTimeStart(Double_t dval)
Definition PMusr.h:498
virtual const PDoubleVector * GetError()
Returns pointer to data error vector (statistical uncertainties)
Definition PMusr.h:484
virtual ~PRunData()
Definition PMusr.cpp:69
virtual void AppendXTheoryValue(Double_t dval)
Definition PMusr.h:514
virtual Double_t GetDataTimeStart()
Returns the start time of the data set in microseconds (μs)
Definition PMusr.h:471
PDoubleVector fX
x-axis vector. Only used for non-muSR
Definition PMusr.h:538
virtual const PDoubleVector * GetXTheory()
Returns pointer to x-axis vector for theory (non-μSR only)
Definition PMusr.h:486
PDoubleVector fValue
data vector
Definition PMusr.h:539
Double_t fDataTimeStart
start time for the data set
Definition PMusr.h:536
virtual void AppendXValue(Double_t dval)
Definition PMusr.h:505
PRunData()
Definition PMusr.cpp:50
PDoubleVector fTheory
theory vector
Definition PMusr.h:545
virtual void ReplaceTheory(const PDoubleVector &theo)
Definition PMusr.cpp:103
PDoubleVector fError
data error vector
Definition PMusr.h:540
Double_t fDataTimeStep
time step for the data set, i.e. the time length of a bin
Definition PMusr.h:537
virtual void SetTheoryTimeStep(Double_t dval)
Definition PMusr.h:501
virtual void AppendTheoryValue(Double_t dval)
Definition PMusr.h:517
virtual void SetTheoryValue(UInt_t i, Double_t dval)
Definition PMusr.cpp:87
PStringNumberList(std::string str)
Definition PMusr.h:1425
virtual ~PStringNumberList()
Definition PMusr.h:1427
virtual PUIntVector GetList()
Definition PMusr.h:1440
std::string fString
Definition PMusr.h:1443
virtual void StripSpaces()
Definition PMusr.cpp:2153
PUIntVector fList
Definition PMusr.h:1445
PStringNumberList(char *str)
Definition PMusr.h:1421
virtual bool IsNumber(std::string &str)
Definition PMusr.h:1447
virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false)
Definition PMusr.cpp:2041
TString inTemplate
holds the input file template
Definition PMusr.h:1373
PStringVector outPathFileName
holds the out path/file name
Definition PMusr.h:1380
TString outPath
holds the output path
Definition PMusr.h:1381
UInt_t idf
IDF version for NeXus files.
Definition PMusr.h:1385
TString outFileName
holds the output file name
Definition PMusr.h:1379
PUIntVector runList
holds the run number list to be converted
Definition PMusr.h:1376
PStringVector inFileName
holds the file name of the input data file
Definition PMusr.h:1378
UInt_t compressionTag
0=no compression, 1=gzip compression, 2=bzip2 compression
Definition PMusr.h:1383
TString outTemplate
holds the output file template
Definition PMusr.h:1374
PIntVector groupHistoList
holds the histo group list offset (used to define for MusrRoot files, what to be exported)
Definition PMusr.h:1377
TString outFormat
holds the information about the output data file format
Definition PMusr.h:1372
TString inFormat
holds the information about the input data file format
Definition PMusr.h:1371
Bool_t useStandardOutput
flag showing if the converted shall be sent to the standard output
Definition PMusr.h:1370
UInt_t rebin
holds the number of bins to be packed
Definition PMusr.h:1382
TString year
holds the information about the year to be used
Definition PMusr.h:1375
TString compressFileName
holds the name of the outputfile name in case of compression is used
Definition PMusr.h:1384
PDoubleVector fTemp
Vector of sample temperature(s) in Kelvin (K)
Definition PMusr.h:448
Double_t fEnergy
Muon implantation energy in kiloelectronvolts (keV)
Definition PMusr.h:447
Double_t fField
Applied magnetic field in Gauss (G)
Definition PMusr.h:446
Int_t fPlotTag
tag used for initial plot. 0=real, 1=imaginary, 2=real & imaginary (default), 3=power,...
Definition PMusr.h:1284
Bool_t fFourierBlockPresent
flag indicating if a Fourier block is present in the msr-file
Definition PMusr.h:1279
Double_t fPlotRange[2]
field/frequency plot range
Definition PMusr.h:1289
PDoubleVector fPhase
phase(s)
Definition PMusr.h:1287
Double_t fRangeForPhaseCorrection[2]
field/frequency range for automatic phase correction
Definition PMusr.h:1288
PIntVector fPhaseParamNo
parameter number(s) if used instead of a phase value
Definition PMusr.h:1286
Int_t fFourierPower
i.e. zero padding up to 2^fFourierPower, default = 0 which means NO zero padding
Definition PMusr.h:1282
Int_t fUnits
flag used to indicate the units. 1=field units (G); 2=field units (T); 3=frequency units (MHz); 4=Mc/...
Definition PMusr.h:1280
Double_t fPhaseIncrement
phase increment for manual phase optimization
Definition PMusr.h:1290
Int_t fPhaseRef
phase reference for relative phase(s)
Definition PMusr.h:1285
Bool_t fDCCorrected
if set true, the dc offset of the signal/theory will be removed before the FFT is made.
Definition PMusr.h:1281
Int_t fApodization
tag indicating the kind of apodization wished, 0=no appodization (default), 1=weak,...
Definition PMusr.h:1283
Int_t fLineNo
Line number in original MSR file (1-based)
Definition PMusr.h:999
TString fLine
Content of the MSR file line.
Definition PMusr.h:1000
Double_t fStep
Step size / error / negative error (context-dependent)
Definition PMusr.h:1026
Double_t fPosError
Positive error for asymmetric uncertainties.
Definition PMusr.h:1028
Bool_t fLowerBoundaryPresent
True if lower bound constraint is active.
Definition PMusr.h:1029
Int_t fNoOfParams
Total number of parameters in FITPARAMETER block.
Definition PMusr.h:1022
Double_t fLowerBoundary
Lower boundary value for parameter constraints.
Definition PMusr.h:1030
Int_t fNo
Parameter number (1, 2, 3, ...)
Definition PMusr.h:1023
Double_t fUpperBoundary
Upper boundary value for parameter constraints.
Definition PMusr.h:1032
Bool_t fPosErrorPresent
True if positive error explicitly defined (asymmetric errors)
Definition PMusr.h:1027
Bool_t fUpperBoundaryPresent
True if upper bound constraint is active.
Definition PMusr.h:1031
Bool_t fIsGlobal
True if parameter is global (for msr2data global mode)
Definition PMusr.h:1033
Double_t fValue
Parameter value (initial or fitted)
Definition PMusr.h:1025
TString fName
Parameter name (e.g., "alpha", "lambda", "field")
Definition PMusr.h:1024
Bool_t fUseFitRanges
yes -> use the fit ranges to plot the data, no (default) -> use range information if present
Definition PMusr.h:1310
PIntVector fRuns
list of runs to be plotted
Definition PMusr.h:1314
UInt_t fRRFUnit
RRF frequency unit. 0=kHz, 1=MHz, 2=Mc/s, 3=Gauss, 4=Tesla.
Definition PMusr.h:1321
Bool_t fLogY
yes -> y-axis in log-scale, no (default) -> y-axis in lin-scale
Definition PMusr.h:1312
Bool_t fLogX
yes -> x-axis in log-scale, no (default) -> x-axis in lin-scale
Definition PMusr.h:1311
Int_t fPlotType
plot type
Definition PMusr.h:1308
Int_t fRRFPhaseParamNo
parameter number if used instead of a RRF phase value
Definition PMusr.h:1322
Double_t fRRFFreq
RRF frequency.
Definition PMusr.h:1320
PDoubleVector fYmax
asymmetry/counts maximum
Definition PMusr.h:1318
Bool_t fLifeTimeCorrection
needed for single histo. If yes, only the asymmetry is shown, otherweise the positron spectrum
Definition PMusr.h:1309
Int_t fViewPacking
-1 -> use the run packing to generate the view, otherwise is fViewPacking for the binning of ALL runs...
Definition PMusr.h:1313
Double_t fRRFPhase
RRF phase.
Definition PMusr.h:1323
UInt_t fRRFPacking
rotating reference frame (RRF) packing
Definition PMusr.h:1319
PDoubleVector fYmin
asymmetry/counts minimum
Definition PMusr.h:1317
PDoubleVector fTmax
time maximum
Definition PMusr.h:1316
PDoubleVector fTmin
time minimum
Definition PMusr.h:1315
UInt_t fNdf
number of degrees of freedom
Definition PMusr.h:1351
Double_t fMinExpected
expected total chi2 or max. likelihood
Definition PMusr.h:1352
TString fDate
string holding fitting date and time
Definition PMusr.h:1347
PMsrLines fStatLines
statistics block in msr-file clear text
Definition PMusr.h:1346
Double_t fMin
chisq or max. likelihood
Definition PMusr.h:1349
PUIntVector fNdfPerHisto
number of degrees of freedom per histo
Definition PMusr.h:1354
PDoubleVector fMinExpectedPerHisto
expected pre histo chi2 or max. likelihood
Definition PMusr.h:1353
PDoubleVector fMinPerHisto
chisq or max. likelihood per histo
Definition PMusr.h:1350
Bool_t fChisq
flag telling if min = chi2 or min = max.likelihood
Definition PMusr.h:1348
Bool_t fValid
flag showing if the statistics block is valid, i.e. a fit took place which converged
Definition PMusr.h:1345
TString runNameTemplate
File path template with placeholders (r=run, y=year)
Definition PMusr.h:1465
TString instrument
Instrument identifier (e.g., "GPS", "LEM", "DOLLY")
Definition PMusr.h:1464
Bool_t writeExpectedChisq
if set to true, expected chisq and chisq per block will be written
Definition PMusr.h:1397
Bool_t estimateN0
if set to true, for single histogram fits N0 will be estimated
Definition PMusr.h:1398