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#include "fftw3.h"
43
44//-------------------------------------------------------------
53#define PMUSR_SUCCESS 0
55#define PMUSR_SYNTAX_REQUEST -1
57#define PMUSR_WRONG_STARTUP_SYNTAX -2
59#define PMUSR_MSR_FILE_NOT_FOUND -3
61#define PMUSR_MSR_ALLOCATION_ERROR -4
63#define PMUSR_MSR_SYNTAX_ERROR -5
65#define PMUSR_TOKENIZE_ERROR -6
67#define PMUSR_MSR_LOG_FILE_WRITE_ERROR -7
69#define PMUSR_MSR_FILE_WRITE_ERROR -8
71#define PMUSR_DATA_FILE_READ_ERROR -9
73#define PMUSR_MSR_RUN_ERROR -10
75#define PMUSR_UNSUPPORTED_FEATURE -11
76
77//-------------------------------------------------------------
85#define PRUN_SINGLE_HISTO 0
87#define PRUN_SINGLE_HISTO_RRF 1
89#define PRUN_ASYMMETRY 2
91#define PRUN_ASYMMETRY_RRF 3
93#define PRUN_MU_MINUS 4
95#define PRUN_ASYMMETRY_BNMR 5
97#define PRUN_NON_MUSR 8
98
99//-------------------------------------------------------------
107
119#define PMUON_LIFETIME 2.1969811
120
138#define GAMMA_BAR_MUON 1.355388094e-2
139
140//-------------------------------------------------------------
149#define ACCEL_PERIOD_PSI 0.01975
151#define ACCEL_PERIOD_TRIUMF 0.04337
153#define ACCEL_PERIOD_RAL 0.0
154
155//-------------------------------------------------------------
163#define POST_PILEUP_HISTO_OFFSET 20
164
165//-------------------------------------------------------------
172#define PMUSR_UNDEFINED -9.9e99
173
174//-------------------------------------------------------------
183#define MSR_TAG_TITLE 0
185#define MSR_TAG_FITPARAMETER 1
187#define MSR_TAG_THEORY 2
189#define MSR_TAG_FUNCTIONS 3
191#define MSR_TAG_GLOBAL 4
193#define MSR_TAG_RUN 5
195#define MSR_TAG_COMMANDS 6
197#define MSR_TAG_FOURIER 7
199#define MSR_TAG_PLOT 8
201#define MSR_TAG_STATISTIC 9
202
203//-------------------------------------------------------------
212#define MSR_FITTYPE_SINGLE_HISTO 0
214#define MSR_FITTYPE_SINGLE_HISTO_RRF 1
216#define MSR_FITTYPE_ASYM 2
218#define MSR_FITTYPE_ASYM_RRF 3
220#define MSR_FITTYPE_MU_MINUS 4
222#define MSR_FITTYPE_BNMR 5
224#define MSR_FITTYPE_NON_MUSR 8
225
226//-------------------------------------------------------------
235#define MSR_PLOT_SINGLE_HISTO 0
237#define MSR_PLOT_SINGLE_HISTO_RRF 1
239#define MSR_PLOT_ASYM 2
241#define MSR_PLOT_ASYM_RRF 3
243#define MSR_PLOT_MU_MINUS 4
245#define MSR_PLOT_BNMR 5
247#define MSR_PLOT_NON_MUSR 8
248
249//-------------------------------------------------------------
258#define MSR_PARAM_MAP_OFFSET 10000
260#define MSR_PARAM_FUN_OFFSET 20000
261
262//-------------------------------------------------------------
270#define FOURIER_UNIT_NOT_GIVEN 0
272#define FOURIER_UNIT_GAUSS 1
274#define FOURIER_UNIT_TESLA 2
276#define FOURIER_UNIT_FREQ 3
278#define FOURIER_UNIT_CYCLES 4
279
280//-------------------------------------------------------------
290#define FOURIER_APOD_NOT_GIVEN 0
292#define FOURIER_APOD_NONE 1
294#define FOURIER_APOD_WEAK 2
296#define FOURIER_APOD_MEDIUM 3
298#define FOURIER_APOD_STRONG 4
299
300//-------------------------------------------------------------
308#define FOURIER_PLOT_NOT_GIVEN 0
310#define FOURIER_PLOT_REAL 1
312#define FOURIER_PLOT_IMAG 2
314#define FOURIER_PLOT_REAL_AND_IMAG 3
316#define FOURIER_PLOT_POWER 4
318#define FOURIER_PLOT_PHASE 5
320#define FOURIER_PLOT_PHASE_OPT_REAL 6
321
322//-------------------------------------------------------------
331#define RRF_UNIT_UNDEF -1
333#define RRF_UNIT_kHz 0
335#define RRF_UNIT_MHz 1
337#define RRF_UNIT_Mcs 2
339#define RRF_UNIT_G 3
341#define RRF_UNIT_T 4
342
349#define RRF_FREQ_UNDEF 1.0e10
350
351//-------------------------------------------------------------
355typedef std::vector<Bool_t> PBoolVector;
356
357//-------------------------------------------------------------
361typedef std::vector<UInt_t> PUIntVector;
362
363//-------------------------------------------------------------
367typedef std::vector<Int_t> PIntVector;
368
369//-------------------------------------------------------------
373typedef std::pair<Int_t, Int_t> PIntPair;
374
375//-------------------------------------------------------------
379typedef std::vector<PIntPair> PIntPairVector;
380
381//-------------------------------------------------------------
385typedef std::vector<Double_t> PDoubleVector;
386
387//-------------------------------------------------------------
391typedef std::pair<Double_t, Double_t> PDoublePair;
392
393//-------------------------------------------------------------
397typedef std::vector<PDoublePair> PDoublePairVector;
398
399//-------------------------------------------------------------
403typedef std::vector<TString> PStringVector;
404
405//-------------------------------------------------------------
418
419//-------------------------------------------------------------
431struct PMetaData {
432 Double_t fField;
433 Double_t fEnergy;
435};
436
437//-------------------------------------------------------------
451class PRunData {
452 public:
453 PRunData();
454 virtual ~PRunData();
455
457 virtual Double_t GetDataTimeStart() { return fDataTimeStart; }
459 virtual Double_t GetDataTimeStep() { return fDataTimeStep; }
461 virtual Double_t GetTheoryTimeStart() { return fTheoryTimeStart; }
463 virtual Double_t GetTheoryTimeStep() { return fTheoryTimeStep; }
464
466 virtual const PDoubleVector* GetX() { return &fX; }
468 virtual const PDoubleVector* GetValue() { return &fValue; }
470 virtual const PDoubleVector* GetError() { return &fError; }
472 virtual const PDoubleVector* GetXTheory() { return &fXTheory; }
474 virtual const PDoubleVector* GetTheory() { return &fTheory; }
475
478 virtual void SetDataTimeStart(Double_t dval) { fDataTimeStart = dval; }
481 virtual void SetDataTimeStep(Double_t dval) { fDataTimeStep = dval; }
484 virtual void SetTheoryTimeStart(Double_t dval) { fTheoryTimeStart = dval; }
487 virtual void SetTheoryTimeStep(Double_t dval) { fTheoryTimeStep = dval; }
488
491 virtual void AppendXValue(Double_t dval) { fX.push_back(dval); }
494 virtual void AppendValue(Double_t dval) { fValue.push_back(dval); }
497 virtual void AppendErrorValue(Double_t dval) { fError.push_back(dval); }
500 virtual void AppendXTheoryValue(Double_t dval) { fXTheory.push_back(dval); }
503 virtual void AppendTheoryValue(Double_t dval) { fTheory.push_back(dval); }
504
511 virtual void SetTheoryValue(UInt_t i, Double_t dval);
512
518 virtual void ReplaceTheory(const PDoubleVector &theo);
519
520 private:
521 // data related info
522 Double_t fDataTimeStart;
523 Double_t fDataTimeStep;
527 // theory related info
532 };
533
534//-------------------------------------------------------------
547 public:
549 virtual ~PNonMusrRawRunData();
550
552 virtual Bool_t FromAscii() { return fFromAscii; }
554 virtual const PStringVector* GetLabels() { return &fLabels; }
556 virtual const PStringVector* GetDataTags() { return &fDataTags; }
558 virtual const std::vector<PDoubleVector>* GetData() { return &fData; }
560 virtual const std::vector<PDoubleVector>* GetErrData() { return &fErrData; }
561
564 virtual void SetFromAscii(const Bool_t bval) { fFromAscii = bval; }
565
571 virtual void SetSize(const UInt_t size);
572
575 virtual void AppendLabel(const TString str) { fLabels.push_back(str); }
576
583 virtual void SetLabel(const UInt_t idx, const TString str);
584
587 virtual void AppendDataTag(const TString str) { fDataTags.push_back(str); }
590 virtual void AppendData(const PDoubleVector &data) { fData.push_back(data); }
593 virtual void AppendErrData(const PDoubleVector &data) { fErrData.push_back(data); }
594
601 virtual void AppendSubData(const UInt_t idx, const Double_t dval);
602
609 virtual void AppendSubErrData(const UInt_t idx, const Double_t dval);
610
611 private:
612 Bool_t fFromAscii;
615 std::vector<PDoubleVector> fData;
616 std::vector<PDoubleVector> fErrData;
617};
618
619//-------------------------------------------------------------
632 public:
634 virtual ~PRawRunDataSet() { fData.clear(); }
635
637 virtual TString GetTitle() { return fTitle; }
639 virtual TString GetName() { return fName; }
641 virtual Int_t GetHistoNo() { return fHistoNo; }
643 virtual Double_t GetTimeZeroBin() { return fTimeZeroBin; }
645 virtual Double_t GetTimeZeroBinEstimated() { return fTimeZeroBinEstimated; }
647 virtual Int_t GetFirstGoodBin() { return fFirstGoodBin; }
649 virtual Int_t GetLastGoodBin() { return fLastGoodBin; }
651 virtual Int_t GetFirstBkgBin() { return fFirstBkgBin; }
653 virtual Int_t GetLastBkgBin() { return fLastBkgBin; }
655 virtual PDoubleVector *GetData() { return &fData; }
656
658 virtual void Clear();
661 virtual void SetTitle(TString str) { fTitle = str; }
664 virtual void SetName(TString str) { fName = str; }
667 virtual void SetHistoNo(Int_t no) { fHistoNo = no; }
670 virtual void SetTimeZeroBin(Double_t tzb) { fTimeZeroBin = tzb; }
673 virtual void SetTimeZeroBinEstimated(Double_t tzb) { fTimeZeroBinEstimated = tzb; }
676 virtual void SetFirstGoodBin(Int_t fgb) { fFirstGoodBin = fgb; }
679 virtual void SetLastGoodBin(Int_t lgb) { fLastGoodBin = lgb; }
682 virtual void SetFirstBkgBin(Int_t fbb) { fFirstBkgBin = fbb; }
685 virtual void SetLastBkgBin(Int_t lbb) { fLastGoodBin = lbb; }
688 virtual void SetData(PDoubleVector data) { fData = data; }
689
690 private:
691 TString fTitle;
692 TString fName;
693 Int_t fHistoNo;
694 Double_t fTimeZeroBin;
701};
702
703//-------------------------------------------------------------
716 public:
718 virtual ~PRawRunDataVector() { fDataVec.clear(); }
719
721 virtual UInt_t Size() { return fDataVec.size(); }
722
729 virtual Bool_t IsPresent(UInt_t histoNo);
730
737 virtual PRawRunDataSet* GetSet(UInt_t idx);
738
745 virtual PRawRunDataSet* Get(UInt_t histoNo);
746
753 virtual PRawRunDataSet* operator[](UInt_t histoNo);
754
761 virtual PDoubleVector* GetData(UInt_t histoNo);
762
769 virtual Double_t GetT0Bin(UInt_t histoNo);
770
777 virtual Double_t GetT0BinEstimated(UInt_t histoNo);
778
785 virtual PIntPair GetBkgBin(UInt_t histoNo);
786
793 virtual PIntPair GetGoodDataBin(UInt_t histoNo);
794
801 virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1);
802
803 private:
804 std::vector<PRawRunDataSet> fDataVec;
805};
806
807//-------------------------------------------------------------
826 public:
827 PRawRunData();
828 virtual ~PRawRunData();
829
830 virtual const TString* GetVersion() { return &fVersion; }
831 virtual const TString* GetGenericValidatorUrl() { return &fGenericValidatorURL; }
832 virtual const TString* GetSpecificValidatorUrl() { return &fSpecificValidatorURL; }
833 virtual const TString* GetGenerator() { return &fGenerator; }
834 virtual const TString* GetComment() { return &fComment; }
835 virtual const TString* GetFileName() { return &fFileName; }
836 virtual const TString* GetLaboratory() { return &fLaboratory; }
837 virtual const TString* GetBeamline() { return &fBeamline; }
838 virtual const TString* GetInstrument() { return &fInstrument; }
839 virtual const TString* GetRunName() { return &fRunName; }
840 virtual const TString* GetMuonSource() { return &fMuonSource; }
841 virtual const TString* GetMuonSpecies() { return &fMuonSpecies; }
842 virtual const Double_t GetMuonBeamMomentum() { return fMuonBeamMomentum; }
843 virtual const Double_t GetMuonSpinAngle() { return fMuonSpinAngle; }
844 virtual const Int_t GetRunNumber() { return fRunNumber; }
845 virtual const TString* GetRunTitle() { return &fRunTitle; }
846 virtual const TString* GetSetup() { return &fSetup; }
847 virtual const TString* GetStartTime() { return &fStartTime; }
848 virtual const TString* GetStartDate() { return &fStartDate; }
849 virtual const time_t GetStartDateTime() { return fStartDateTimeSec; }
850 virtual const time_t CalcStartDateTime(bool &ok);
851 virtual const TString* GetStopTime() { return &fStopTime; }
852 virtual const TString* GetStopDate() { return &fStopDate; }
853 virtual const time_t GetStopDateTime() { return fStopDateTimeSec; }
854 virtual const time_t CalcStopDateTime(bool &ok);
855 virtual const TString* GetCryoName() { return &fCryo; }
856 virtual const TString* GetSample() { return &fSample; }
857 virtual const TString* GetOrientation() { return &fOrientation; }
858 virtual const TString* GetMagnetName() { return &fMagnet; }
859 virtual const Double_t GetField() { return fField; }
860 virtual const UInt_t GetNoOfTemperatures() { return fTemp.size(); }
861 virtual const PDoublePairVector* GetTemperature() const { return &fTemp; }
862 virtual const Double_t GetTemperature(const UInt_t idx);
863 virtual const Double_t GetTempError(const UInt_t idx);
864 virtual const Double_t GetEnergy() { return fEnergy; }
865 virtual const Double_t GetTransport() { return fTransport; }
866 virtual const PDoubleVector GetRingAnode() { return fRingAnode; }
867 virtual const Double_t GetRingAnode(const UInt_t idx);
868 virtual const Double_t GetTimeResolution() { return fTimeResolution; }
869 virtual const Bool_t IsPresent(UInt_t histoNo) { return fData.IsPresent(histoNo); }
870 virtual const Double_t GetT0Bin(const UInt_t histoNo) { return fData.GetT0Bin(histoNo); }
871 virtual const Double_t GetT0BinEstimated(const UInt_t histoNo) { return fData.GetT0BinEstimated(histoNo); }
872 virtual const PIntPair GetBkgBin(const UInt_t histoNo) { return fData.GetBkgBin(histoNo); }
873 virtual const PIntPair GetGoodDataBin(const UInt_t histoNo) { return fData.GetGoodDataBin(histoNo); }
874 virtual const PIntVector GetRedGreenOffset() { return fRedGreenOffset; }
875 virtual const Bool_t DeadTimeCorrectionReady();
876 virtual const Int_t GetNumberOfGoodFrames() { return fNumberOfGoodFrames; }
877 virtual const std::vector<float> GetDeadTimeParam() { return fDeadTimeParam; }
878 virtual const UInt_t GetNoOfHistos() { return fData.Size(); }
879 virtual PRawRunDataSet* GetDataSet(const UInt_t idx, Bool_t wantHistoNo = true);
880 virtual const PDoubleVector* GetDataBin(const UInt_t histoNo) { return fData.GetData(histoNo); }
881 virtual const PNonMusrRawRunData* GetDataNonMusr() { return &fDataNonMusr; }
882
883 virtual void SetVersion(const TString &str) { fVersion = str; }
884 virtual void SetGenericValidatorUrl(const TString &str) { fGenericValidatorURL = str; }
885 virtual void SetSpecificValidatorUrl(const TString &str) { fSpecificValidatorURL = str; }
886 virtual void SetGenerator(const TString &str) { fGenerator = str; }
887 virtual void SetComment(const TString &str) { fComment = str; }
888 virtual void SetFileName(const TString &str) { fFileName = str; }
889 virtual void SetLaboratory(const TString &str) { fLaboratory = str; }
890 virtual void SetBeamline(const TString &str) { fBeamline = str; }
891 virtual void SetInstrument(const TString &str) { fInstrument = str; }
892 virtual void SetMuonSource(const TString &str) { fMuonSource = str; }
893 virtual void SetMuonSpecies(const TString &str) { fMuonSpecies = str; }
894 virtual void SetMuonBeamMomentum(const Double_t dval) { fMuonBeamMomentum = dval; }
895 virtual void SetMuonSpinAngle(const Double_t dval) { fMuonSpinAngle = dval; }
896 virtual void SetRunName(const TString &str) { fRunName = str; }
897 virtual void SetRunNumber(const Int_t &val) { fRunNumber = val; }
898 virtual void SetRunTitle(const TString str) { fRunTitle = str; }
899 virtual void SetSetup(const TString str) { fSetup = str; }
900 virtual void SetStartTime(const TString str) { fStartTime = str; }
901 virtual void SetStartDate(const TString str) { fStartDate = str; }
902 virtual void SetStartDateTime(const time_t val) { fStartDateTimeSec = val; }
903 virtual void SetStopTime(const TString str) { fStopTime = str; }
904 virtual void SetStopDate(const TString str) { fStopDate = str; }
905 virtual void SetStopDateTime(const time_t val) { fStopDateTimeSec = val; }
906 virtual void SetMagnetName(const TString str) { fMagnet = str; }
907 virtual void SetField(const Double_t dval) { fField = dval; }
908 virtual void SetCryoName(const TString str) { fCryo = str; }
909 virtual void SetSample(const TString str) { fSample = str; }
910 virtual void SetOrientation(const TString str) { fOrientation = str; }
911 virtual void ClearTemperature() { fTemp.clear(); }
912 virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp);
913 virtual void SetTempError(const UInt_t idx, const Double_t errTemp);
914 virtual void SetEnergy(const Double_t dval) { fEnergy = dval; }
915 virtual void SetTransport(const Double_t dval) { fTransport = dval; }
916 virtual void SetRingAnode(const UInt_t idx, const Double_t dval);
917 virtual void SetTimeResolution(const Double_t dval) { fTimeResolution = dval; }
918 virtual void SetRedGreenOffset(PIntVector &ivec) { fRedGreenOffset = ivec; }
919 virtual void SetNumberOfGoodFrames(Int_t ival) { fNumberOfGoodFrames = ival; }
920 virtual void SetDeadTimeParam(std::vector<float> dvec) { fDeadTimeParam = dvec; }
921 virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1) { fData.Set(dataSet, idx); }
922
924
925 private:
926 TString fVersion{"n/a"};
927 TString fGenericValidatorURL{"n/a"};
928 TString fSpecificValidatorURL{"n/a"};
929 TString fGenerator{"n/a"};
930 TString fComment{"n/a"};
931 TString fFileName{"n/a"};
932 TString fLaboratory{"n/a"};
933 TString fBeamline{"n/a"};
934 TString fInstrument{"n/a"};
935 TString fMuonSource{"n/a"};
936 TString fMuonSpecies{"n/a"};
939 TString fRunName{"n/a"};
940 Int_t fRunNumber{-1};
941 TString fRunTitle{"n/a"};
942 TString fSetup{"n/a"};
943 TString fStartTime{"n/a"};
944 TString fStartDate{"n/a"};
946 TString fStopTime{"n/a"};
947 TString fStopDate{"n/a"};
949 TString fCryo{"n/a"};
950 TString fSample{"n/a"};
951 TString fOrientation{"n/a"};
952 TString fMagnet{"n/a"};
960 std::vector<float> fDeadTimeParam;
962
964};
965
966//-------------------------------------------------------------
970typedef std::vector<PRawRunData> PRawRunDataList;
971
972//-------------------------------------------------------------
981 Int_t fLineNo;
982 TString fLine;
983};
984
985//-------------------------------------------------------------
989typedef std::vector<PMsrLineStructure> PMsrLines;
990
991//-------------------------------------------------------------
1017
1018//-------------------------------------------------------------
1022typedef std::vector<PMsrParamStructure> PMsrParamList;
1023
1024//-------------------------------------------------------------
1038 public:
1040 virtual ~PMsrGlobalBlock() {}
1041
1042 virtual Bool_t IsPresent() { return fGlobalPresent; }
1043 virtual Double_t GetRRFFreq(const char *unit);
1044 virtual TString GetRRFUnit();
1045 virtual Int_t GetRRFUnitTag() { return fRRFUnitTag; }
1046 virtual Double_t GetRRFPhase() { return fRRFPhase; }
1047 virtual Int_t GetRRFPacking() { return fRRFPacking; }
1048 virtual Int_t GetFitType() { return fFitType; }
1049 virtual Int_t GetDataRange(UInt_t idx);
1050 virtual UInt_t GetT0BinSize() { return fT0.size(); }
1051 virtual Double_t GetT0Bin(UInt_t idx=0);
1052 virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
1053 virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
1054 virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1055 virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
1056 virtual Double_t GetFitRange(UInt_t idx);
1057 virtual Int_t GetFitRangeOffset(UInt_t idx);
1058 virtual Int_t GetPacking() { return fPacking; }
1059 virtual Double_t GetEstimatedAlpha() { return fAlpha; }
1060 virtual TString GetDeadTimeCorrection() { return fDeadTimeCorrection; }
1061
1062 virtual void SetGlobalPresent(Bool_t bval) { fGlobalPresent = bval; }
1063 virtual void SetRRFFreq(Double_t freq, const char *unit);
1064 virtual void SetRRFPhase(Double_t phase) { fRRFPhase = phase; }
1065 virtual void SetRRFPacking(Int_t pack);
1066 virtual void SetFitType(Int_t ival) { fFitType = ival; }
1067 virtual void SetDataRange(Int_t ival, Int_t idx);
1068 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1069 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1070 virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
1071 virtual void SetFitRange(Double_t dval, UInt_t idx);
1072 virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
1073 virtual void SetPacking(Int_t ival) { fPacking = ival; }
1074 virtual void SetDeadTimeCorrection(TString str) { fDeadTimeCorrection = str; }
1075
1076 private:
1078 Double_t fRRFFreq;
1080 Double_t fRRFPhase;
1082 Int_t fFitType;
1083 Int_t fDataRange[4];
1085 std::vector<PDoubleVector> fAddT0;
1087 Double_t fFitRange[2];
1089 Int_t fPacking;
1090 Double_t fAlpha;
1092};
1093
1094//-------------------------------------------------------------
1114 public:
1115 PMsrRunBlock();
1116 virtual ~PMsrRunBlock();
1117
1121 virtual void CleanUp();
1122
1123 virtual UInt_t GetRunNameSize() { return fRunName.size(); }
1124 virtual TString *GetRunName(UInt_t idx=0);
1125 virtual UInt_t GetBeamlineSize() { return fBeamline.size(); }
1126 virtual TString *GetBeamline(UInt_t idx=0);
1127 virtual UInt_t GetInstituteSize() { return fInstitute.size(); }
1128 virtual TString *GetInstitute(UInt_t idx=0);
1129 virtual UInt_t GetFileFormatSize() { return fFileFormat.size(); }
1130 virtual TString *GetFileFormat(UInt_t idx=0);
1131 virtual Int_t GetFitType() { return fFitType; }
1132 virtual Int_t GetAlphaParamNo() { return fAlphaParamNo; }
1133 virtual Int_t GetBetaParamNo() { return fBetaParamNo; }
1134 virtual Int_t GetNormParamNo() { return fNormParamNo; }
1135 virtual Int_t GetBkgFitParamNo() { return fBkgFitParamNo; }
1136 virtual Int_t GetLifetimeParamNo() { return fLifetimeParamNo; }
1137 virtual Bool_t IsLifetimeCorrected() { return fLifetimeCorrection; }
1138 virtual PIntVector* GetMap() { return &fMap; }
1139 virtual Int_t GetMap(UInt_t idx);
1140 virtual UInt_t GetForwardHistoNoSize() { return fForwardHistoNo.size(); }
1141 virtual Int_t GetForwardHistoNo(UInt_t idx=0);
1142 virtual UInt_t GetBackwardHistoNoSize() { return fBackwardHistoNo.size(); }
1143 virtual Int_t GetBackwardHistoNo(UInt_t idx=0);
1144 virtual Double_t GetBkgEstimated(UInt_t idx);
1145 virtual Double_t GetBkgFix(UInt_t idx);
1146 virtual Int_t GetBkgRange(UInt_t idx);
1147 virtual Int_t GetDataRange(UInt_t idx);
1148 virtual UInt_t GetT0BinSize() { return fT0.size(); }
1149 virtual Double_t GetT0Bin(UInt_t idx=0);
1150 virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
1151 virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
1152 virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
1153 virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
1154 virtual Double_t GetFitRange(UInt_t idx);
1155 virtual Int_t GetFitRangeOffset(UInt_t idx);
1156 virtual Int_t GetPacking() { return fPacking; }
1157 virtual TString GetDeadTimeCorrection() { return fDeadTimeCorrection; }
1158 virtual Double_t GetEstimatedAlpha() { return fAlpha; }
1159 virtual Int_t GetXDataIndex() { return fXYDataIndex[0]; }
1160 virtual Int_t GetYDataIndex() { return fXYDataIndex[1]; }
1161 virtual TString* GetXDataLabel() { return &fXYDataLabel[0]; }
1162 virtual TString* GetYDataLabel() { return &fXYDataLabel[1]; }
1163 virtual std::map<TString, Int_t> *GetParGlobal() { return &fParGlobal; }
1164 virtual PIntVector *GetMapGlobal() { return &fMapGlobal; }
1165
1166 virtual void SetRunName(TString &str, Int_t idx=-1);
1167 virtual void SetBeamline(TString &str, Int_t idx=-1);
1168 virtual void SetInstitute(TString &str, Int_t idx=-1);
1169 virtual void SetFileFormat(TString &str, Int_t idx=-1);
1170 virtual void SetFitType(Int_t ival) { fFitType = ival; }
1171 virtual void SetAlphaParamNo(Int_t ival) { fAlphaParamNo = ival; }
1172 virtual void SetBetaParamNo(Int_t ival) { fBetaParamNo = ival; }
1173 virtual void SetNormParamNo(Int_t ival) { fNormParamNo = ival; }
1174 virtual void SetBkgFitParamNo(Int_t ival) { fBkgFitParamNo = ival; }
1175 virtual void SetLifetimeParamNo(Int_t ival) { fLifetimeParamNo = ival; }
1176 virtual void SetLifetimeCorrection(Bool_t bval) { fLifetimeCorrection = bval; }
1177 virtual void SetMap(Int_t mapVal, Int_t idx=-1);
1178 virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1);
1179 virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1);
1180 virtual void SetBkgEstimated(Double_t dval, Int_t idx);
1181 virtual void SetEstimatedAlpha(Double_t dval);
1182 virtual void SetBkgFix(Double_t dval, Int_t idx);
1183 virtual void SetBkgRange(Int_t ival, Int_t idx);
1184 virtual void SetDataRange(Int_t ival, Int_t idx);
1185 virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
1186 virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
1187 virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
1188 virtual void SetFitRange(Double_t dval, UInt_t idx);
1189 virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
1190 virtual void SetPacking(Int_t ival) { fPacking = ival; }
1191 virtual void SetDeadTimeCorrection(TString str) { fDeadTimeCorrection = str; }
1192 virtual void SetXDataIndex(Int_t ival) { fXYDataIndex[0] = ival; }
1193 virtual void SetYDataIndex(Int_t ival) { fXYDataIndex[1] = ival; }
1194 virtual void SetXDataLabel(TString& str) { fXYDataLabel[0] = str; }
1195 virtual void SetYDataLabel(TString& str) { fXYDataLabel[1] = str; }
1196 virtual void SetParGlobal(const TString &str, Int_t ival);
1197 virtual void SetMapGlobal(UInt_t idx, Int_t ival);
1198
1199 private:
1204 Int_t fFitType;
1214 Double_t fBkgEstimated[2];
1215 Double_t fBkgFix[2];
1216 Int_t fBkgRange[4];
1217 Int_t fDataRange[4];
1219 std::vector<PDoubleVector> fAddT0;
1221 Double_t fFitRange[2];
1223 Double_t fAlpha;
1224 Int_t fPacking;
1226 Int_t fXYDataIndex[2];
1227 TString fXYDataLabel[2];
1228
1229 // Two members used for msr2data in the global mode: fParGlobal and fMapGlobal
1230 // These are intended to track global and run specific parameters used in the RUN blocks
1231 // Suggested keys for the std::map: (alpha, beta, norm, bkgfit, lifetime)
1232 // Suggested values for the std::map: 1 -> parameter is global
1233 // 0 -> parameter is run specific
1234 // -1 -> tag not present in the RUN block
1235 // 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
1236 // The values in this std::vector can be the same as for the std::map of the other parameters.
1237 std::map<TString, Int_t> fParGlobal;
1239};
1240
1241//-------------------------------------------------------------
1245typedef std::vector<PMsrRunBlock> PMsrRunList;
1246
1247//-------------------------------------------------------------
1274
1275//-------------------------------------------------------------
1307
1308//-------------------------------------------------------------
1312typedef std::vector<PMsrPlotStructure> PMsrPlotList;
1313
1314//-------------------------------------------------------------
1338
1339//-------------------------------------------------------------
1369
1370//-------------------------------------------------------------
1382
1383//-------------------------------------------------------------
1400 public:
1403 PStringNumberList(char *str) { fString = str; }
1404
1407 PStringNumberList(std::string str) { fString = str; }
1408
1409 virtual ~PStringNumberList() { fList.clear(); }
1410
1418 virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false);
1419
1422 virtual PUIntVector GetList() { return fList; }
1423
1424 private:
1425 std::string fString;
1428
1429 virtual bool IsNumber(std::string &str) { return (str.find_first_not_of("0123456789") == std::string::npos); }
1430 virtual void StripSpaces();
1431};
1432
1433//-------------------------------------------------------------
1446 TString instrument{""};
1447 TString runNameTemplate{""};
1448};
1449
1450//-------------------------------------------------------------
1454typedef std::vector<PRunNameTemplate> PRunNameTemplateList;
1455
1456#endif // _PMUSR_H_
std::vector< UInt_t > PUIntVector
Definition PMusr.h:361
std::vector< PRunNameTemplate > PRunNameTemplateList
Definition PMusr.h:1454
std::pair< Double_t, Double_t > PDoublePair
Definition PMusr.h:391
EPMusrHandleTag
Definition PMusr.h:413
@ kEmpty
No operation active.
Definition PMusr.h:414
@ kFit
Fitting mode - perform least-squares fit to data.
Definition PMusr.h:415
@ kView
Viewing mode - display data and theory without fitting.
Definition PMusr.h:416
std::vector< PMsrRunBlock > PMsrRunList
Definition PMusr.h:1245
#define PMUSR_UNDEFINED
Definition PMusr.h:172
std::vector< Bool_t > PBoolVector
Definition PMusr.h:355
std::vector< PMsrPlotStructure > PMsrPlotList
Definition PMusr.h:1312
std::vector< PMsrLineStructure > PMsrLines
Definition PMusr.h:989
std::vector< PDoublePair > PDoublePairVector
Definition PMusr.h:397
std::pair< Int_t, Int_t > PIntPair
Definition PMusr.h:373
std::vector< Int_t > PIntVector
Definition PMusr.h:367
std::vector< PMsrParamStructure > PMsrParamList
Definition PMusr.h:1022
std::vector< PIntPair > PIntPairVector
Definition PMusr.h:379
std::vector< TString > PStringVector
Definition PMusr.h:403
std::vector< Double_t > PDoubleVector
Definition PMusr.h:385
std::vector< PRawRunData > PRawRunDataList
Definition PMusr.h:970
virtual ~PMsrGlobalBlock()
Definition PMusr.h:1040
virtual Bool_t IsPresent()
Definition PMusr.h:1042
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition PMusr.cpp:1021
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition PMusr.h:1086
virtual void SetFitRangeInBins(Bool_t bval)
Definition PMusr.h:1070
virtual void SetRRFFreq(Double_t freq, const char *unit)
Definition PMusr.cpp:875
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition PMusr.cpp:1137
virtual void SetGlobalPresent(Bool_t bval)
Definition PMusr.h:1062
virtual Int_t GetFitType()
Definition PMusr.h:1048
Double_t fFitRange[2]
fit range in (us)
Definition PMusr.h:1087
Int_t fDataRange[4]
data bin range (fit type 0, 1, 2, 4)
Definition PMusr.h:1083
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition PMusr.cpp:1070
virtual void SetFitType(Int_t ival)
Definition PMusr.h:1066
Double_t fAlpha
estimated alpha value from F/B counts
Definition PMusr.h:1090
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:1082
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition PMusr.cpp:1046
virtual Int_t GetRRFUnitTag()
Definition PMusr.h:1045
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:1085
virtual Double_t GetFitRange(UInt_t idx)
Definition PMusr.cpp:1120
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:1088
Bool_t fGlobalPresent
flag showing if a GLOBAL block is present at all.
Definition PMusr.h:1077
Int_t fRRFUnitTag
RRF unit tag.
Definition PMusr.h:1079
virtual UInt_t GetT0BinSize()
Definition PMusr.h:1050
virtual void SetDeadTimeCorrection(TString str)
Definition PMusr.h:1074
virtual Double_t GetEstimatedAlpha()
Definition PMusr.h:1059
virtual Bool_t IsFitRangeInBin()
Definition PMusr.h:1055
virtual TString GetDeadTimeCorrection()
Definition PMusr.h:1060
virtual Int_t GetDataRange(UInt_t idx)
Definition PMusr.cpp:964
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:981
virtual Int_t GetRRFPacking()
Definition PMusr.h:1047
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
Definition PMusr.h:1091
virtual void SetPacking(Int_t ival)
Definition PMusr.h:1073
Int_t fRRFPacking
RRF packing.
Definition PMusr.h:1081
virtual TString GetRRFUnit()
Definition PMusr.cpp:903
Double_t fRRFPhase
RRF phase in (°)
Definition PMusr.h:1080
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:1084
Int_t fPacking
packing/rebinning
Definition PMusr.h:1089
virtual void SetRRFPhase(Double_t phase)
Definition PMusr.h:1064
virtual Int_t GetPacking()
Definition PMusr.h:1058
virtual void SetRRFPacking(Int_t pack)
Definition PMusr.cpp:942
Double_t fRRFFreq
RRF frequency given in units of (MHz, Mc, T)
Definition PMusr.h:1078
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition PMusr.cpp:1174
virtual UInt_t GetAddT0BinEntries()
Definition PMusr.h:1052
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition PMusr.cpp:1097
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition PMusr.cpp:1157
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition PMusr.cpp:1004
virtual Double_t GetRRFPhase()
Definition PMusr.h:1046
virtual Double_t GetRRFFreq(const char *unit)
Definition PMusr.cpp:831
PStringVector fInstitute
e.g. psi, ral, triumf (former: run format)
Definition PMusr.h:1202
virtual PIntVector * GetMap()
Definition PMusr.h:1138
virtual std::map< TString, Int_t > * GetParGlobal()
Definition PMusr.h:1163
virtual void SetLifetimeParamNo(Int_t ival)
Definition PMusr.h:1175
Int_t fBkgRange[4]
background bin range (fit type 0, 2, 4)
Definition PMusr.h:1216
Int_t fNormParamNo
N0 parameter number (fit type 0)
Definition PMusr.h:1207
virtual Int_t GetBetaParamNo()
Definition PMusr.h:1133
virtual TString * GetYDataLabel()
Definition PMusr.h:1162
virtual TString * GetInstitute(UInt_t idx=0)
Definition PMusr.cpp:1385
Double_t fAlpha
estimated alpha value from F/B counts
Definition PMusr.h:1223
Double_t fBkgEstimated[2]
keeps estimated background values (if present)
Definition PMusr.h:1214
Int_t fAlphaParamNo
alpha parameter number (fit type 2, 4)
Definition PMusr.h:1205
virtual Bool_t IsLifetimeCorrected()
Definition PMusr.h:1137
virtual Int_t GetDataRange(UInt_t idx)
Definition PMusr.cpp:1723
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition PMusr.cpp:1934
virtual TString * GetFileFormat(UInt_t idx=0)
Definition PMusr.cpp:1427
virtual UInt_t GetBeamlineSize()
Definition PMusr.h:1125
virtual void SetBeamline(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1360
virtual Int_t GetPacking()
Definition PMusr.h:1156
virtual void SetBkgFix(Double_t dval, Int_t idx)
Definition PMusr.cpp:1658
virtual TString * GetBeamline(UInt_t idx=0)
Definition PMusr.cpp:1343
Int_t fDataRange[4]
data bin range (fit type 0, 2, 4)
Definition PMusr.h:1217
virtual Double_t GetFitRange(UInt_t idx)
Definition PMusr.cpp:1880
virtual void SetXDataLabel(TString &str)
Definition PMusr.h:1194
virtual void SetFitType(Int_t ival)
Definition PMusr.h:1170
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition PMusr.cpp:1806
Int_t fLifetimeParamNo
muon lifetime parameter number (fit type 0)
Definition PMusr.h:1209
virtual Int_t GetNormParamNo()
Definition PMusr.h:1134
virtual Double_t GetBkgEstimated(UInt_t idx)
Definition PMusr.cpp:1600
virtual PIntVector * GetMapGlobal()
Definition PMusr.h:1164
virtual Int_t GetYDataIndex()
Definition PMusr.h:1160
TString fDeadTimeCorrection
tells if deadtime correction (pulsed sources) should be applied. Possible value: 'no' (default),...
Definition PMusr.h:1225
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition PMusr.cpp:1897
virtual void SetBkgEstimated(Double_t dval, Int_t idx)
Definition PMusr.cpp:1618
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:1218
Int_t fBkgFitParamNo
background fit parameter number (fit type 0)
Definition PMusr.h:1208
virtual UInt_t GetForwardHistoNoSize()
Definition PMusr.h:1140
virtual void CleanUp()
Definition PMusr.cpp:1247
virtual void SetFileFormat(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1444
virtual void SetEstimatedAlpha(Double_t dval)
Definition PMusr.cpp:1984
virtual Int_t GetLifetimeParamNo()
Definition PMusr.h:1136
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition PMusr.cpp:1830
PStringVector fBeamline
e.g. mue4, mue1, pim3, emu, m15, ... (former: run type)
Definition PMusr.h:1201
Int_t fBetaParamNo
beta parameter number (fit type 2, 4)
Definition PMusr.h:1206
virtual TString * GetRunName(UInt_t idx=0)
Definition PMusr.cpp:1301
virtual UInt_t GetAddT0BinEntries()
Definition PMusr.h:1150
Bool_t fLifetimeCorrection
lifetime correction flag for viewing (fit type 0)
Definition PMusr.h:1210
virtual void SetMap(Int_t mapVal, Int_t idx=-1)
Definition PMusr.cpp:1574
TString fXYDataLabel[2]
used to get the indices via labels when using db-files (fit type 8)
Definition PMusr.h:1227
virtual UInt_t GetInstituteSize()
Definition PMusr.h:1127
virtual Double_t GetEstimatedAlpha()
Definition PMusr.h:1158
virtual TString GetDeadTimeCorrection()
Definition PMusr.h:1157
PStringVector fFileFormat
e.g. root, nexus, psi-bin, mud, ascii, db
Definition PMusr.h:1203
virtual void SetParGlobal(const TString &str, Int_t ival)
Definition PMusr.cpp:1951
virtual UInt_t GetFileFormatSize()
Definition PMusr.h:1129
PStringVector fRunName
name of the run file
Definition PMusr.h:1200
virtual UInt_t GetT0BinSize()
Definition PMusr.h:1148
virtual void SetPacking(Int_t ival)
Definition PMusr.h:1190
virtual void SetYDataIndex(Int_t ival)
Definition PMusr.h:1193
virtual void SetLifetimeCorrection(Bool_t bval)
Definition PMusr.h:1176
virtual void SetMapGlobal(UInt_t idx, Int_t ival)
Definition PMusr.cpp:1966
PIntVector fMapGlobal
here is stored if the maps used in the RUN block are global or not
Definition PMusr.h:1238
virtual Double_t GetBkgFix(UInt_t idx)
Definition PMusr.cpp:1641
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition PMusr.cpp:1781
Int_t fXYDataIndex[2]
used to get the data indices when using db-files (fit type 8)
Definition PMusr.h:1226
virtual Int_t GetForwardHistoNo(UInt_t idx=0)
Definition PMusr.cpp:1469
virtual Int_t GetXDataIndex()
Definition PMusr.h:1159
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition PMusr.h:1220
virtual Int_t GetAlphaParamNo()
Definition PMusr.h:1132
virtual void SetBkgFitParamNo(Int_t ival)
Definition PMusr.h:1174
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition PMusr.cpp:1917
virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition PMusr.cpp:1534
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:1741
virtual Int_t GetFitType()
Definition PMusr.h:1131
virtual void SetXDataIndex(Int_t ival)
Definition PMusr.h:1192
virtual Int_t GetBkgRange(UInt_t idx)
Definition PMusr.cpp:1681
virtual Int_t GetBackwardHistoNo(UInt_t idx=0)
Definition PMusr.cpp:1513
virtual void SetRunName(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1318
virtual UInt_t GetBackwardHistoNoSize()
Definition PMusr.h:1142
std::map< TString, Int_t > fParGlobal
here is stored if the parameters used in the RUN block are global or not
Definition PMusr.h:1237
PIntVector fBackwardHistoNo
backward histogram number (fit type 2, 4)
Definition PMusr.h:1213
Double_t fFitRange[2]
fit range in (us)
Definition PMusr.h:1221
Double_t fBkgFix[2]
fixed background in (1/ns) (fit type 0, 2, 4)
Definition PMusr.h:1215
virtual void SetBetaParamNo(Int_t ival)
Definition PMusr.h:1172
virtual void SetYDataLabel(TString &str)
Definition PMusr.h:1195
virtual ~PMsrRunBlock()
Definition PMusr.cpp:1227
virtual void SetAlphaParamNo(Int_t ival)
Definition PMusr.h:1171
virtual void SetBkgRange(Int_t ival, Int_t idx)
Definition PMusr.cpp:1699
PIntVector fMap
map vector needed to switch parameters for different runs within a single theory
Definition PMusr.h:1211
virtual Int_t GetBkgFitParamNo()
Definition PMusr.h:1135
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:1222
virtual void SetInstitute(TString &str, Int_t idx=-1)
Definition PMusr.cpp:1402
virtual Bool_t IsFitRangeInBin()
Definition PMusr.h:1153
Int_t fFitType
fit type: 0=single histo fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit
Definition PMusr.h:1204
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition PMusr.cpp:1764
virtual void SetDeadTimeCorrection(TString str)
Definition PMusr.h:1191
virtual void SetNormParamNo(Int_t ival)
Definition PMusr.h:1173
PIntVector fForwardHistoNo
forward histogram number (fit type 0, 2, 4)
Definition PMusr.h:1212
virtual void SetFitRangeInBins(Bool_t bval)
Definition PMusr.h:1187
virtual TString * GetXDataLabel()
Definition PMusr.h:1161
virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition PMusr.cpp:1490
Int_t fPacking
packing/rebinning
Definition PMusr.h:1224
virtual UInt_t GetRunNameSize()
Definition PMusr.h:1123
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition PMusr.cpp:1857
std::vector< PDoubleVector > fAddT0
t0 bins for addrun's
Definition PMusr.h:1219
virtual void AppendLabel(const TString str)
Definition PMusr.h:575
std::vector< PDoubleVector > fData
vector of all data
Definition PMusr.h:615
virtual void AppendErrData(const PDoubleVector &data)
Definition PMusr.h:593
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:556
virtual void AppendDataTag(const TString str)
Definition PMusr.h:587
PStringVector fLabels
vector of all labels (used for x-, y-axis title in view)
Definition PMusr.h:613
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:612
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:564
virtual const std::vector< PDoubleVector > * GetData()
Returns pointer to vector of data columns.
Definition PMusr.h:558
virtual const PStringVector * GetLabels()
Returns pointer to vector of axis/column labels.
Definition PMusr.h:554
PStringVector fDataTags
vector of all data tags
Definition PMusr.h:614
virtual const std::vector< PDoubleVector > * GetErrData()
Returns pointer to vector of error data columns.
Definition PMusr.h:560
virtual void SetSize(const UInt_t size)
Definition PMusr.cpp:162
virtual void AppendData(const PDoubleVector &data)
Definition PMusr.h:590
std::vector< PDoubleVector > fErrData
vector of all data errors
Definition PMusr.h:616
virtual Bool_t FromAscii()
Returns true if data was loaded from ASCII file, false for db/dat format.
Definition PMusr.h:552
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:647
virtual PDoubleVector * GetData()
Returns pointer to raw histogram data vector (counts per bin)
Definition PMusr.h:655
virtual void SetLastBkgBin(Int_t lbb)
Definition PMusr.h:685
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:697
virtual void SetLastGoodBin(Int_t lgb)
Definition PMusr.h:679
virtual Double_t GetTimeZeroBin()
Returns the time-zero bin (t0) position.
Definition PMusr.h:643
virtual void SetHistoNo(Int_t no)
Definition PMusr.h:667
virtual void SetData(PDoubleVector data)
Definition PMusr.h:688
Int_t fFirstBkgBin
keeps the first background bin of the data set
Definition PMusr.h:698
virtual Int_t GetHistoNo()
Returns the histogram number as stored in the data file.
Definition PMusr.h:641
Double_t fTimeZeroBin
keeps the time zero bin
Definition PMusr.h:694
virtual ~PRawRunDataSet()
Definition PMusr.h:634
TString fTitle
histogram title.
Definition PMusr.h:691
virtual Int_t GetLastBkgBin()
Returns the last bin of background range.
Definition PMusr.h:653
virtual TString GetName()
Returns the histogram name.
Definition PMusr.h:639
virtual void SetName(TString str)
Definition PMusr.h:664
virtual Int_t GetLastGoodBin()
Returns the last bin of good data range.
Definition PMusr.h:649
virtual void SetTimeZeroBinEstimated(Double_t tzb)
Definition PMusr.h:673
virtual void SetFirstBkgBin(Int_t fbb)
Definition PMusr.h:682
virtual void SetTitle(TString str)
Definition PMusr.h:661
PDoubleVector fData
keeps the histogram data
Definition PMusr.h:700
virtual Double_t GetTimeZeroBinEstimated()
Returns the estimated time-zero bin from automatic determination.
Definition PMusr.h:645
Int_t fLastBkgBin
keeps the last background bin of the data set
Definition PMusr.h:699
virtual void SetTimeZeroBin(Double_t tzb)
Definition PMusr.h:670
Int_t fHistoNo
corresponds to the histogram number in the data file
Definition PMusr.h:693
Int_t fFirstGoodBin
keeps the first good bin of the data set
Definition PMusr.h:696
virtual TString GetTitle()
Returns the histogram title string.
Definition PMusr.h:637
Double_t fTimeZeroBinEstimated
keeps the estimated time zero bin
Definition PMusr.h:695
virtual Int_t GetFirstBkgBin()
Returns the first bin of background range.
Definition PMusr.h:651
virtual void SetFirstGoodBin(Int_t fgb)
Definition PMusr.h:676
TString fName
keeps the histogram name.
Definition PMusr.h:692
virtual UInt_t Size()
Returns the number of histogram data sets in this vector.
Definition PMusr.h:721
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:718
virtual Double_t GetT0BinEstimated(UInt_t histoNo)
Definition PMusr.cpp:436
std::vector< PRawRunDataSet > fDataVec
Definition PMusr.h:804
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:832
TString fRunTitle
run title
Definition PMusr.h:941
virtual void SetStopDate(const TString str)
Definition PMusr.h:904
virtual const Double_t GetTransport()
Definition PMusr.h:865
virtual PRawRunDataSet * GetDataSet(const UInt_t idx, Bool_t wantHistoNo=true)
Definition PMusr.cpp:716
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:937
TString fVersion
keeps the version information of the data file
Definition PMusr.h:926
TString fSetup
description of the setup of this run
Definition PMusr.h:942
TString fStartTime
start time of the run
Definition PMusr.h:943
virtual void SetRingAnode(const UInt_t idx, const Double_t dval)
Definition PMusr.cpp:750
Int_t fRunNumber
run number
Definition PMusr.h:940
PNonMusrRawRunData fDataNonMusr
keeps all ascii- or db-file info in case of nonMusr fit
Definition PMusr.h:923
virtual void SetGenerator(const TString &str)
Definition PMusr.h:886
virtual const PDoubleVector * GetDataBin(const UInt_t histoNo)
Definition PMusr.h:880
virtual const Int_t GetNumberOfGoodFrames()
Definition PMusr.h:876
virtual const Double_t GetT0Bin(const UInt_t histoNo)
Definition PMusr.h:870
virtual const Double_t GetTimeResolution()
Definition PMusr.h:868
virtual const TString * GetStartDate()
Definition PMusr.h:848
virtual void SetMuonSource(const TString &str)
Definition PMusr.h:892
TString fStartDate
start date of the run
Definition PMusr.h:944
virtual const TString * GetBeamline()
Definition PMusr.h:837
virtual void SetTimeResolution(const Double_t dval)
Definition PMusr.h:917
TString fFileName
keeps the name of the original data file
Definition PMusr.h:931
virtual const Double_t GetMuonSpinAngle()
Definition PMusr.h:843
virtual const TString * GetSample()
Definition PMusr.h:856
virtual const PNonMusrRawRunData * GetDataNonMusr()
Definition PMusr.h:881
virtual const TString * GetMagnetName()
Definition PMusr.h:858
virtual void SetSample(const TString str)
Definition PMusr.h:909
virtual const TString * GetVersion()
Definition PMusr.h:830
virtual void SetVersion(const TString &str)
Definition PMusr.h:883
virtual void SetEnergy(const Double_t dval)
Definition PMusr.h:914
virtual void SetStartDate(const TString str)
Definition PMusr.h:901
virtual void SetTransport(const Double_t dval)
Definition PMusr.h:915
PRawRunDataVector fData
keeps the histos together with the histo related properties such as T0, first good bin,...
Definition PMusr.h:963
time_t fStopDateTimeSec
stop run given as time_t object
Definition PMusr.h:948
virtual void SetRunName(const TString &str)
Definition PMusr.h:896
virtual void SetOrientation(const TString str)
Definition PMusr.h:910
virtual const time_t GetStopDateTime()
Definition PMusr.h:853
virtual const TString * GetOrientation()
Definition PMusr.h:857
virtual const Double_t GetMuonBeamMomentum()
Definition PMusr.h:842
virtual void SetRedGreenOffset(PIntVector &ivec)
Definition PMusr.h:918
virtual const TString * GetLaboratory()
Definition PMusr.h:836
TString fStopTime
stop time of the run
Definition PMusr.h:946
TString fSample
description of the sample
Definition PMusr.h:950
virtual const PIntPair GetBkgBin(const UInt_t histoNo)
Definition PMusr.h:872
virtual void SetSetup(const TString str)
Definition PMusr.h:899
virtual const TString * GetInstrument()
Definition PMusr.h:838
virtual const TString * GetStartTime()
Definition PMusr.h:847
virtual const PDoubleVector GetRingAnode()
Definition PMusr.h:866
virtual void SetStopTime(const TString str)
Definition PMusr.h:903
TString fComment
keeps the data file comment
Definition PMusr.h:930
virtual const Bool_t IsPresent(UInt_t histoNo)
Definition PMusr.h:869
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:933
PDoublePairVector fTemp
measured temperatures and standard deviations during the run
Definition PMusr.h:954
PIntVector fRedGreenOffset
keeps the Red/Green offsets
Definition PMusr.h:959
virtual void SetSpecificValidatorUrl(const TString &str)
Definition PMusr.h:885
virtual const UInt_t GetNoOfTemperatures()
Definition PMusr.h:860
virtual const TString * GetStopTime()
Definition PMusr.h:851
TString fMagnet
name of the sample magnet
Definition PMusr.h:952
virtual const Bool_t DeadTimeCorrectionReady()
Definition PMusr.cpp:734
TString fRunName
name of the run as found in the msr-file
Definition PMusr.h:939
virtual void SetStopDateTime(const time_t val)
Definition PMusr.h:905
virtual void SetRunTitle(const TString str)
Definition PMusr.h:898
virtual void SetMuonSpinAngle(const Double_t dval)
Definition PMusr.h:895
Int_t fNumberOfGoodFrames
needed to correct dead times at pulsed sources
Definition PMusr.h:961
virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp)
Definition PMusr.cpp:767
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:908
Double_t fEnergy
implantation energy of the muon
Definition PMusr.h:955
TString fGenericValidatorURL
keeps the generic validator MusrRoot URL
Definition PMusr.h:927
virtual void SetFileName(const TString &str)
Definition PMusr.h:888
virtual void SetComment(const TString &str)
Definition PMusr.h:887
virtual void SetMuonSpecies(const TString &str)
Definition PMusr.h:893
TString fGenerator
keeps the data file generator name
Definition PMusr.h:929
virtual const time_t GetStartDateTime()
Definition PMusr.h:849
Double_t fField
magnetic field value in (G)
Definition PMusr.h:953
time_t fStartDateTimeSec
start run given as time_t object
Definition PMusr.h:945
virtual const Double_t GetField()
Definition PMusr.h:859
virtual const TString * GetRunTitle()
Definition PMusr.h:845
virtual const Double_t GetEnergy()
Definition PMusr.h:864
virtual void SetBeamline(const TString &str)
Definition PMusr.h:890
virtual void SetTempError(const UInt_t idx, const Double_t errTemp)
Definition PMusr.cpp:785
virtual void SetNumberOfGoodFrames(Int_t ival)
Definition PMusr.h:919
virtual const TString * GetMuonSpecies()
Definition PMusr.h:841
virtual const TString * GetGenerator()
Definition PMusr.h:833
virtual const TString * GetComment()
Definition PMusr.h:834
std::vector< float > fDeadTimeParam
dead time parameter vector needed for pulsed sources
Definition PMusr.h:960
virtual const TString * GetFileName()
Definition PMusr.h:835
Double_t fTimeResolution
time resolution of the run in (ns)
Definition PMusr.h:958
virtual void SetRunNumber(const Int_t &val)
Definition PMusr.h:897
virtual void ClearTemperature()
Definition PMusr.h:911
virtual void SetMuonBeamMomentum(const Double_t dval)
Definition PMusr.h:894
virtual const TString * GetSetup()
Definition PMusr.h:846
virtual void SetInstrument(const TString &str)
Definition PMusr.h:891
virtual const PIntVector GetRedGreenOffset()
Definition PMusr.h:874
Double_t fTransport
LEM transport settings (Moderator HV)
Definition PMusr.h:956
TString fCryo
name of the cryo
Definition PMusr.h:949
virtual const TString * GetMuonSource()
Definition PMusr.h:840
TString fMuonSource
keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam
Definition PMusr.h:935
virtual const TString * GetStopDate()
Definition PMusr.h:852
virtual const Int_t GetRunNumber()
Definition PMusr.h:844
virtual void SetStartDateTime(const time_t val)
Definition PMusr.h:902
virtual void SetField(const Double_t dval)
Definition PMusr.h:907
virtual const TString * GetRunName()
Definition PMusr.h:839
virtual void SetStartTime(const TString str)
Definition PMusr.h:900
Double_t fMuonSpinAngle
gives the muon spin angle in degrees (reference frame depends on the instrument)
Definition PMusr.h:938
virtual const UInt_t GetNoOfHistos()
Definition PMusr.h:878
virtual const std::vector< float > GetDeadTimeParam()
Definition PMusr.h:877
virtual const TString * GetCryoName()
Definition PMusr.h:855
virtual void SetLaboratory(const TString &str)
Definition PMusr.h:889
virtual const Double_t GetT0BinEstimated(const UInt_t histoNo)
Definition PMusr.h:871
TString fMuonSpecies
positive muon or negative muon
Definition PMusr.h:936
virtual const PDoublePairVector * GetTemperature() const
Definition PMusr.h:861
virtual const PIntPair GetGoodDataBin(const UInt_t histoNo)
Definition PMusr.h:873
PDoubleVector fRingAnode
LEM ring anode HVs (L,R[,T,B])
Definition PMusr.h:957
TString fInstrument
keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ...
Definition PMusr.h:934
virtual void SetMagnetName(const TString str)
Definition PMusr.h:906
virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1)
Definition PMusr.h:921
TString fLaboratory
keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC
Definition PMusr.h:932
virtual const TString * GetGenericValidatorUrl()
Definition PMusr.h:831
TString fStopDate
stop date of the run
Definition PMusr.h:947
virtual const time_t CalcStartDateTime(bool &ok)
Definition PMusr.cpp:595
virtual void SetDeadTimeParam(std::vector< float > dvec)
Definition PMusr.h:920
TString fSpecificValidatorURL
keeps the instrument specific validator MusrRoot URL
Definition PMusr.h:928
virtual void SetGenericValidatorUrl(const TString &str)
Definition PMusr.h:884
TString fOrientation
description of the orientation
Definition PMusr.h:951
virtual void SetDataTimeStep(Double_t dval)
Definition PMusr.h:481
virtual const PDoubleVector * GetX()
Returns pointer to x-axis vector (used only for non-μSR data)
Definition PMusr.h:466
virtual void AppendErrorValue(Double_t dval)
Definition PMusr.h:497
virtual void AppendValue(Double_t dval)
Definition PMusr.h:494
virtual void SetDataTimeStart(Double_t dval)
Definition PMusr.h:478
virtual Double_t GetTheoryTimeStart()
Returns the start time for theory evaluation in microseconds (μs)
Definition PMusr.h:461
virtual const PDoubleVector * GetValue()
Returns pointer to data value vector (asymmetry, counts, or y-data)
Definition PMusr.h:468
Double_t fTheoryTimeStep
time step of the theory, i.e. the time length of a bin
Definition PMusr.h:529
virtual const PDoubleVector * GetTheory()
Returns pointer to theory value vector.
Definition PMusr.h:474
virtual Double_t GetDataTimeStep()
Returns the time bin width for data in microseconds (μs)
Definition PMusr.h:459
virtual Double_t GetTheoryTimeStep()
Returns the time step for theory evaluation in microseconds (μs)
Definition PMusr.h:463
Double_t fTheoryTimeStart
start time of the theory
Definition PMusr.h:528
PDoubleVector fXTheory
x-axis vector. Only used for non-muSR
Definition PMusr.h:530
virtual void SetTheoryTimeStart(Double_t dval)
Definition PMusr.h:484
virtual const PDoubleVector * GetError()
Returns pointer to data error vector (statistical uncertainties)
Definition PMusr.h:470
virtual ~PRunData()
Definition PMusr.cpp:69
virtual void AppendXTheoryValue(Double_t dval)
Definition PMusr.h:500
virtual Double_t GetDataTimeStart()
Returns the start time of the data set in microseconds (μs)
Definition PMusr.h:457
PDoubleVector fX
x-axis vector. Only used for non-muSR
Definition PMusr.h:524
virtual const PDoubleVector * GetXTheory()
Returns pointer to x-axis vector for theory (non-μSR only)
Definition PMusr.h:472
PDoubleVector fValue
data vector
Definition PMusr.h:525
Double_t fDataTimeStart
start time for the data set
Definition PMusr.h:522
virtual void AppendXValue(Double_t dval)
Definition PMusr.h:491
PRunData()
Definition PMusr.cpp:50
PDoubleVector fTheory
theory vector
Definition PMusr.h:531
virtual void ReplaceTheory(const PDoubleVector &theo)
Definition PMusr.cpp:103
PDoubleVector fError
data error vector
Definition PMusr.h:526
Double_t fDataTimeStep
time step for the data set, i.e. the time length of a bin
Definition PMusr.h:523
virtual void SetTheoryTimeStep(Double_t dval)
Definition PMusr.h:487
virtual void AppendTheoryValue(Double_t dval)
Definition PMusr.h:503
virtual void SetTheoryValue(UInt_t i, Double_t dval)
Definition PMusr.cpp:87
PStringNumberList(std::string str)
Definition PMusr.h:1407
virtual ~PStringNumberList()
Definition PMusr.h:1409
virtual PUIntVector GetList()
Definition PMusr.h:1422
std::string fString
Definition PMusr.h:1425
virtual void StripSpaces()
Definition PMusr.cpp:2119
PUIntVector fList
Definition PMusr.h:1427
PStringNumberList(char *str)
Definition PMusr.h:1403
virtual bool IsNumber(std::string &str)
Definition PMusr.h:1429
virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false)
Definition PMusr.cpp:2007
TString inTemplate
holds the input file template
Definition PMusr.h:1355
PStringVector outPathFileName
holds the out path/file name
Definition PMusr.h:1362
TString outPath
holds the output path
Definition PMusr.h:1363
UInt_t idf
IDF version for NeXus files.
Definition PMusr.h:1367
TString outFileName
holds the output file name
Definition PMusr.h:1361
PUIntVector runList
holds the run number list to be converted
Definition PMusr.h:1358
PStringVector inFileName
holds the file name of the input data file
Definition PMusr.h:1360
UInt_t compressionTag
0=no compression, 1=gzip compression, 2=bzip2 compression
Definition PMusr.h:1365
TString outTemplate
holds the output file template
Definition PMusr.h:1356
PIntVector groupHistoList
holds the histo group list offset (used to define for MusrRoot files, what to be exported)
Definition PMusr.h:1359
TString outFormat
holds the information about the output data file format
Definition PMusr.h:1354
TString inFormat
holds the information about the input data file format
Definition PMusr.h:1353
Bool_t useStandardOutput
flag showing if the converted shall be sent to the standard output
Definition PMusr.h:1352
UInt_t rebin
holds the number of bins to be packed
Definition PMusr.h:1364
TString year
holds the information about the year to be used
Definition PMusr.h:1357
TString compressFileName
holds the name of the outputfile name in case of compression is used
Definition PMusr.h:1366
PDoubleVector fTemp
Vector of sample temperature(s) in Kelvin (K)
Definition PMusr.h:434
Double_t fEnergy
Muon implantation energy in kiloelectronvolts (keV)
Definition PMusr.h:433
Double_t fField
Applied magnetic field in Gauss (G)
Definition PMusr.h:432
Int_t fPlotTag
tag used for initial plot. 0=real, 1=imaginary, 2=real & imaginary (default), 3=power,...
Definition PMusr.h:1266
Bool_t fFourierBlockPresent
flag indicating if a Fourier block is present in the msr-file
Definition PMusr.h:1261
Double_t fPlotRange[2]
field/frequency plot range
Definition PMusr.h:1271
PDoubleVector fPhase
phase(s)
Definition PMusr.h:1269
Double_t fRangeForPhaseCorrection[2]
field/frequency range for automatic phase correction
Definition PMusr.h:1270
PIntVector fPhaseParamNo
parameter number(s) if used instead of a phase value
Definition PMusr.h:1268
Int_t fFourierPower
i.e. zero padding up to 2^fFourierPower, default = 0 which means NO zero padding
Definition PMusr.h:1264
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:1262
Double_t fPhaseIncrement
phase increment for manual phase optimization
Definition PMusr.h:1272
Int_t fPhaseRef
phase reference for relative phase(s)
Definition PMusr.h:1267
Bool_t fDCCorrected
if set true, the dc offset of the signal/theory will be removed before the FFT is made.
Definition PMusr.h:1263
Int_t fApodization
tag indicating the kind of apodization wished, 0=no appodization (default), 1=weak,...
Definition PMusr.h:1265
Int_t fLineNo
Line number in original MSR file (1-based)
Definition PMusr.h:981
TString fLine
Content of the MSR file line.
Definition PMusr.h:982
Double_t fStep
Step size / error / negative error (context-dependent)
Definition PMusr.h:1008
Double_t fPosError
Positive error for asymmetric uncertainties.
Definition PMusr.h:1010
Bool_t fLowerBoundaryPresent
True if lower bound constraint is active.
Definition PMusr.h:1011
Int_t fNoOfParams
Total number of parameters in FITPARAMETER block.
Definition PMusr.h:1004
Double_t fLowerBoundary
Lower boundary value for parameter constraints.
Definition PMusr.h:1012
Int_t fNo
Parameter number (1, 2, 3, ...)
Definition PMusr.h:1005
Double_t fUpperBoundary
Upper boundary value for parameter constraints.
Definition PMusr.h:1014
Bool_t fPosErrorPresent
True if positive error explicitly defined (asymmetric errors)
Definition PMusr.h:1009
Bool_t fUpperBoundaryPresent
True if upper bound constraint is active.
Definition PMusr.h:1013
Bool_t fIsGlobal
True if parameter is global (for msr2data global mode)
Definition PMusr.h:1015
Double_t fValue
Parameter value (initial or fitted)
Definition PMusr.h:1007
TString fName
Parameter name (e.g., "alpha", "lambda", "field")
Definition PMusr.h:1006
Bool_t fUseFitRanges
yes -> use the fit ranges to plot the data, no (default) -> use range information if present
Definition PMusr.h:1292
PIntVector fRuns
list of runs to be plotted
Definition PMusr.h:1296
UInt_t fRRFUnit
RRF frequency unit. 0=kHz, 1=MHz, 2=Mc/s, 3=Gauss, 4=Tesla.
Definition PMusr.h:1303
Bool_t fLogY
yes -> y-axis in log-scale, no (default) -> y-axis in lin-scale
Definition PMusr.h:1294
Bool_t fLogX
yes -> x-axis in log-scale, no (default) -> x-axis in lin-scale
Definition PMusr.h:1293
Int_t fPlotType
plot type
Definition PMusr.h:1290
Int_t fRRFPhaseParamNo
parameter number if used instead of a RRF phase value
Definition PMusr.h:1304
Double_t fRRFFreq
RRF frequency.
Definition PMusr.h:1302
PDoubleVector fYmax
asymmetry/counts maximum
Definition PMusr.h:1300
Bool_t fLifeTimeCorrection
needed for single histo. If yes, only the asymmetry is shown, otherweise the positron spectrum
Definition PMusr.h:1291
Int_t fViewPacking
-1 -> use the run packing to generate the view, otherwise is fViewPacking for the binning of ALL runs...
Definition PMusr.h:1295
Double_t fRRFPhase
RRF phase.
Definition PMusr.h:1305
UInt_t fRRFPacking
rotating reference frame (RRF) packing
Definition PMusr.h:1301
PDoubleVector fYmin
asymmetry/counts minimum
Definition PMusr.h:1299
PDoubleVector fTmax
time maximum
Definition PMusr.h:1298
PDoubleVector fTmin
time minimum
Definition PMusr.h:1297
UInt_t fNdf
number of degrees of freedom
Definition PMusr.h:1333
Double_t fMinExpected
expected total chi2 or max. likelihood
Definition PMusr.h:1334
TString fDate
string holding fitting date and time
Definition PMusr.h:1329
PMsrLines fStatLines
statistics block in msr-file clear text
Definition PMusr.h:1328
Double_t fMin
chisq or max. likelihood
Definition PMusr.h:1331
PUIntVector fNdfPerHisto
number of degrees of freedom per histo
Definition PMusr.h:1336
PDoubleVector fMinExpectedPerHisto
expected pre histo chi2 or max. likelihood
Definition PMusr.h:1335
PDoubleVector fMinPerHisto
chisq or max. likelihood per histo
Definition PMusr.h:1332
Bool_t fChisq
flag telling if min = chi2 or min = max.likelihood
Definition PMusr.h:1330
Bool_t fValid
flag showing if the statistics block is valid, i.e. a fit took place which converged
Definition PMusr.h:1327
TString runNameTemplate
File path template with placeholders (r=run, y=year)
Definition PMusr.h:1447
TString instrument
Instrument identifier (e.g., "GPS", "LEM", "DOLLY")
Definition PMusr.h:1446
Bool_t writeExpectedChisq
if set to true, expected chisq and chisq per block will be written
Definition PMusr.h:1379
Bool_t estimateN0
if set to true, for single histogram fits N0 will be estimated
Definition PMusr.h:1380