musrfit  1.9.2
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-2023 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 #define PMUSR_SUCCESS 0
45 #define PMUSR_SYNTAX_REQUEST -1
46 #define PMUSR_WRONG_STARTUP_SYNTAX -2
47 #define PMUSR_MSR_FILE_NOT_FOUND -3
48 #define PMUSR_MSR_ALLOCATION_ERROR -4
49 #define PMUSR_MSR_SYNTAX_ERROR -5
50 #define PMUSR_TOKENIZE_ERROR -6
51 #define PMUSR_MSR_LOG_FILE_WRITE_ERROR -7
52 #define PMUSR_MSR_FILE_WRITE_ERROR -8
53 #define PMUSR_DATA_FILE_READ_ERROR -9
54 #define PMUSR_MSR_RUN_ERROR -10
55 
56 #define PRUN_SINGLE_HISTO 0
57 #define PRUN_SINGLE_HISTO_RRF 1
58 #define PRUN_ASYMMETRY 2
59 #define PRUN_ASYMMETRY_RRF 3
60 #define PRUN_MU_MINUS 4
61 #define PRUN_ASYMMETRY_BNMR 5
62 #define PRUN_NON_MUSR 8
63 
64 // muon lifetime in (us) - see e.g.:
65 // P. A. Zyla et al. (Particle Data Group), Prog. Theor. Exp. Phys. 2020, 083C01 (2020).
66 // https://doi.org/10.1093/ptep/ptaa104
67 // https://pdg.lbl.gov/2021/
68 #define PMUON_LIFETIME 2.1969811
69 
70 // muon gyromagnetic ratio: gamma_mu = 2.0 * mu_mu / hbar - see e.g.:
71 // E. Tiesinga et al., Rev. Mod. Phys. 93, 025010 (2021).
72 // https://doi.org/10.1103/RevModPhys.93.025010
73 // https://physics.nist.gov/cuu/Constants/index.html
74 // mu_mu = -4.490 448 30(10) * 1e-26 J/T
75 // hbar = 1.054 571 817... * 1e-34 J*s
76 // gamma_muon / (2 pi) = 135.538 809 4(30) MHz/T
77 // = 0.013 553 880 94(30) MHz/G
78 #define GAMMA_BAR_MUON 1.355388094e-2
79 
80 // accelerator cycles in (us), needed to determine proper background
81 #define ACCEL_PERIOD_PSI 0.01975
82 #define ACCEL_PERIOD_TRIUMF 0.04337
83 #define ACCEL_PERIOD_RAL 0.0
84 
85 // used to filter post pileup correct data histos from root files
86 #define POST_PILEUP_HISTO_OFFSET 20
87 
88 // defines a value for 'undefined values'
89 #define PMUSR_UNDEFINED -9.9e99
90 
91 //-------------------------------------------------------------
92 // msr block header tags
93 #define MSR_TAG_TITLE 0
94 #define MSR_TAG_FITPARAMETER 1
95 #define MSR_TAG_THEORY 2
96 #define MSR_TAG_FUNCTIONS 3
97 #define MSR_TAG_GLOBAL 4
98 #define MSR_TAG_RUN 5
99 #define MSR_TAG_COMMANDS 6
100 #define MSR_TAG_FOURIER 7
101 #define MSR_TAG_PLOT 8
102 #define MSR_TAG_STATISTIC 9
103 
104 //-------------------------------------------------------------
105 // msr fit type tags
106 #define MSR_FITTYPE_SINGLE_HISTO 0
107 #define MSR_FITTYPE_SINGLE_HISTO_RRF 1
108 #define MSR_FITTYPE_ASYM 2
109 #define MSR_FITTYPE_ASYM_RRF 3
110 #define MSR_FITTYPE_MU_MINUS 4
111 #define MSR_FITTYPE_BNMR 5
112 #define MSR_FITTYPE_NON_MUSR 8
113 
114 //-------------------------------------------------------------
115 // msr plot type tags
116 #define MSR_PLOT_SINGLE_HISTO 0
117 #define MSR_PLOT_SINGLE_HISTO_RRF 1
118 #define MSR_PLOT_ASYM 2
119 #define MSR_PLOT_ASYM_RRF 3
120 #define MSR_PLOT_MU_MINUS 4
121 #define MSR_PLOT_BNMR 5
122 #define MSR_PLOT_NON_MUSR 8
123 
124 //-------------------------------------------------------------
125 // map and fun offsets for parameter parsing
126 #define MSR_PARAM_MAP_OFFSET 10000
127 #define MSR_PARAM_FUN_OFFSET 20000
128 
129 //-------------------------------------------------------------
130 // fourier related tags
131 #define FOURIER_UNIT_NOT_GIVEN 0
132 #define FOURIER_UNIT_GAUSS 1
133 #define FOURIER_UNIT_TESLA 2
134 #define FOURIER_UNIT_FREQ 3
135 #define FOURIER_UNIT_CYCLES 4
136 
137 #define FOURIER_APOD_NOT_GIVEN 0
138 #define FOURIER_APOD_NONE 1
139 #define FOURIER_APOD_WEAK 2
140 #define FOURIER_APOD_MEDIUM 3
141 #define FOURIER_APOD_STRONG 4
142 
143 #define FOURIER_PLOT_NOT_GIVEN 0
144 #define FOURIER_PLOT_REAL 1
145 #define FOURIER_PLOT_IMAG 2
146 #define FOURIER_PLOT_REAL_AND_IMAG 3
147 #define FOURIER_PLOT_POWER 4
148 #define FOURIER_PLOT_PHASE 5
149 #define FOURIER_PLOT_PHASE_OPT_REAL 6
150 
151 //-------------------------------------------------------------
152 // RRF related tags
153 #define RRF_UNIT_UNDEF -1
154 #define RRF_UNIT_kHz 0
155 #define RRF_UNIT_MHz 1
156 #define RRF_UNIT_Mcs 2
157 #define RRF_UNIT_G 3
158 #define RRF_UNIT_T 4
159 
160 #define RRF_FREQ_UNDEF 1.0e10
161 
162 //-------------------------------------------------------------
166 typedef std::vector<Bool_t> PBoolVector;
167 
168 //-------------------------------------------------------------
172 typedef std::vector<UInt_t> PUIntVector;
173 
174 //-------------------------------------------------------------
178 typedef std::vector<Int_t> PIntVector;
179 
180 //-------------------------------------------------------------
184 typedef std::pair<Int_t, Int_t> PIntPair;
185 
186 //-------------------------------------------------------------
190 typedef std::vector<PIntPair> PIntPairVector;
191 
192 //-------------------------------------------------------------
196 typedef std::vector<Double_t> PDoubleVector;
197 
198 //-------------------------------------------------------------
202 typedef std::pair<Double_t, Double_t> PDoublePair;
203 
204 //-------------------------------------------------------------
208 typedef std::vector<PDoublePair> PDoublePairVector;
209 
210 //-------------------------------------------------------------
214 typedef std::vector<TString> PStringVector;
215 
216 //-------------------------------------------------------------
221 
222 //-------------------------------------------------------------
226 struct PMetaData {
227  Double_t fField;
228  Double_t fEnergy;
230 };
231 
232 //-------------------------------------------------------------
237 class PRunData {
238  public:
239  PRunData();
240  virtual ~PRunData();
241 
242  virtual Double_t GetDataTimeStart() { return fDataTimeStart; }
243  virtual Double_t GetDataTimeStep() { return fDataTimeStep; }
244  virtual Double_t GetTheoryTimeStart() { return fTheoryTimeStart; }
245  virtual Double_t GetTheoryTimeStep() { return fTheoryTimeStep; }
246 
247  virtual const PDoubleVector* GetX() { return &fX; }
248  virtual const PDoubleVector* GetValue() { return &fValue; }
249  virtual const PDoubleVector* GetError() { return &fError; }
250  virtual const PDoubleVector* GetXTheory() { return &fXTheory; }
251  virtual const PDoubleVector* GetTheory() { return &fTheory; }
252 
253  virtual void SetDataTimeStart(Double_t dval) { fDataTimeStart = dval; }
254  virtual void SetDataTimeStep(Double_t dval) { fDataTimeStep = dval; }
255  virtual void SetTheoryTimeStart(Double_t dval) { fTheoryTimeStart = dval; }
256  virtual void SetTheoryTimeStep(Double_t dval) { fTheoryTimeStep = dval; }
257 
258  virtual void AppendXValue(Double_t dval) { fX.push_back(dval); }
259  virtual void AppendValue(Double_t dval) { fValue.push_back(dval); }
260  virtual void AppendErrorValue(Double_t dval) { fError.push_back(dval); }
261  virtual void AppendXTheoryValue(Double_t dval) { fXTheory.push_back(dval); }
262  virtual void AppendTheoryValue(Double_t dval) { fTheory.push_back(dval); }
263 
264  virtual void SetTheoryValue(UInt_t i, Double_t dval);
265  virtual void ReplaceTheory(const PDoubleVector &theo);
266 
267  private:
268  // data related info
269  Double_t fDataTimeStart;
270  Double_t fDataTimeStep;
274  // theory related info
275  Double_t fTheoryTimeStart;
276  Double_t fTheoryTimeStep;
279  };
280 
281 //-------------------------------------------------------------
286  public:
288  virtual ~PNonMusrRawRunData();
289 
290  virtual Bool_t FromAscii() { return fFromAscii; }
291  virtual const PStringVector* GetLabels() { return &fLabels; }
292  virtual const PStringVector* GetDataTags() { return &fDataTags; }
293  virtual const std::vector<PDoubleVector>* GetData() { return &fData; }
294  virtual const std::vector<PDoubleVector>* GetErrData() { return &fErrData; }
295 
296  virtual void SetFromAscii(const Bool_t bval) { fFromAscii = bval; }
297  virtual void SetSize(const UInt_t size);
298  virtual void AppendLabel(const TString str) { fLabels.push_back(str); }
299  virtual void SetLabel(const UInt_t idx, const TString str);
300  virtual void AppendDataTag(const TString str) { fDataTags.push_back(str); }
301  virtual void AppendData(const PDoubleVector &data) { fData.push_back(data); }
302  virtual void AppendErrData(const PDoubleVector &data) { fErrData.push_back(data); }
303  virtual void AppendSubData(const UInt_t idx, const Double_t dval);
304  virtual void AppendSubErrData(const UInt_t idx, const Double_t dval);
305 
306  private:
307  Bool_t fFromAscii;
310  std::vector<PDoubleVector> fData;
311  std::vector<PDoubleVector> fErrData;
312 };
313 
314 //-------------------------------------------------------------
319  public:
320  PRawRunDataSet();
321  virtual ~PRawRunDataSet() { fData.clear(); }
322 
323  virtual TString GetName() { return fName; }
324  virtual Int_t GetHistoNo() { return fHistoNo; }
325  virtual Double_t GetTimeZeroBin() { return fTimeZeroBin; }
326  virtual Double_t GetTimeZeroBinEstimated() { return fTimeZeroBinEstimated; }
327  virtual Int_t GetFirstGoodBin() { return fFirstGoodBin; }
328  virtual Int_t GetLastGoodBin() { return fLastGoodBin; }
329  virtual Int_t GetFirstBkgBin() { return fFirstBkgBin; }
330  virtual Int_t GetLastBkgBin() { return fLastBkgBin; }
331  virtual PDoubleVector *GetData() { return &fData; }
332 
333  virtual void Clear();
334  virtual void SetName(TString str) { fName = str; }
335  virtual void SetHistoNo(Int_t no) { fHistoNo = no; }
336  virtual void SetTimeZeroBin(Double_t tzb) { fTimeZeroBin = tzb; }
337  virtual void SetTimeZeroBinEstimated(Double_t tzb) { fTimeZeroBinEstimated = tzb; }
338  virtual void SetFirstGoodBin(Int_t fgb) { fFirstGoodBin = fgb; }
339  virtual void SetLastGoodBin(Int_t lgb) { fLastGoodBin = lgb; }
340  virtual void SetFirstBkgBin(Int_t fbb) { fFirstBkgBin = fbb; }
341  virtual void SetLastBkgBin(Int_t lbb) { fLastGoodBin = lbb; }
342  virtual void SetData(PDoubleVector data) { fData = data; }
343 
344  private:
345  TString fName;
346  Int_t fHistoNo;
347  Double_t fTimeZeroBin;
350  Int_t fLastGoodBin;
351  Int_t fFirstBkgBin;
352  Int_t fLastBkgBin;
354 };
355 
356 //-------------------------------------------------------------
363  public:
365  virtual ~PRawRunDataVector() { fDataVec.clear(); }
366 
367  virtual UInt_t Size() { return fDataVec.size(); }
368  virtual Bool_t IsPresent(UInt_t histoNo);
369  virtual PRawRunDataSet* GetSet(UInt_t idx);
370  virtual PRawRunDataSet* Get(UInt_t histoNo);
371  virtual PRawRunDataSet* operator[](UInt_t histoNo);
372  virtual PDoubleVector* GetData(UInt_t histoNo);
373  virtual Double_t GetT0Bin(UInt_t histoNo);
374  virtual Double_t GetT0BinEstimated(UInt_t histoNo);
375  virtual PIntPair GetBkgBin(UInt_t histoNo);
376  virtual PIntPair GetGoodDataBin(UInt_t histoNo);
377 
378  virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1);
379 
380  private:
381  std::vector<PRawRunDataSet> fDataVec;
382 };
383 
384 //-------------------------------------------------------------
388 class PRawRunData {
389  public:
390  PRawRunData();
391  virtual ~PRawRunData();
392 
393  virtual const TString* GetVersion() { return &fVersion; }
394  virtual const TString* GetGenericValidatorUrl() { return &fGenericValidatorURL; }
395  virtual const TString* GetSpecificValidatorUrl() { return &fSpecificValidatorURL; }
396  virtual const TString* GetGenerator() { return &fGenerator; }
397  virtual const TString* GetComment() { return &fComment; }
398  virtual const TString* GetFileName() { return &fFileName; }
399  virtual const TString* GetLaboratory() { return &fLaboratory; }
400  virtual const TString* GetBeamline() { return &fBeamline; }
401  virtual const TString* GetInstrument() { return &fInstrument; }
402  virtual const TString* GetRunName() { return &fRunName; }
403  virtual const TString* GetMuonSource() { return &fMuonSource; }
404  virtual const TString* GetMuonSpecies() { return &fMuonSpecies; }
405  virtual const Double_t GetMuonBeamMomentum() { return fMuonBeamMomentum; }
406  virtual const Double_t GetMuonSpinAngle() { return fMuonSpinAngle; }
407  virtual const Int_t GetRunNumber() { return fRunNumber; }
408  virtual const TString* GetRunTitle() { return &fRunTitle; }
409  virtual const TString* GetSetup() { return &fSetup; }
410  virtual const TString* GetStartTime() { return &fStartTime; }
411  virtual const TString* GetStartDate() { return &fStartDate; }
412  virtual const time_t GetStartDateTime() { return fStartDateTimeSec; }
413  virtual const TString* GetStopTime() { return &fStopTime; }
414  virtual const TString* GetStopDate() { return &fStopDate; }
415  virtual const time_t GetStopDateTime() { return fStopDateTimeSec; }
416  virtual const TString* GetCryoName() { return &fCryo; }
417  virtual const TString* GetSample() { return &fSample; }
418  virtual const TString* GetOrientation() { return &fOrientation; }
419  virtual const TString* GetMagnetName() { return &fMagnet; }
420  virtual const Double_t GetField() { return fField; }
421  virtual const UInt_t GetNoOfTemperatures() { return fTemp.size(); }
422  virtual const PDoublePairVector* GetTemperature() const { return &fTemp; }
423  virtual const Double_t GetTemperature(const UInt_t idx);
424  virtual const Double_t GetTempError(const UInt_t idx);
425  virtual const Double_t GetEnergy() { return fEnergy; }
426  virtual const Double_t GetTransport() { return fTransport; }
427  virtual const PDoubleVector GetRingAnode() { return fRingAnode; }
428  virtual const Double_t GetRingAnode(const UInt_t idx);
429  virtual const Double_t GetTimeResolution() { return fTimeResolution; }
430  virtual const Bool_t IsPresent(UInt_t histoNo) { return fData.IsPresent(histoNo); }
431  virtual const Double_t GetT0Bin(const UInt_t histoNo) { return fData.GetT0Bin(histoNo); }
432  virtual const Double_t GetT0BinEstimated(const UInt_t histoNo) { return fData.GetT0BinEstimated(histoNo); }
433  virtual const PIntPair GetBkgBin(const UInt_t histoNo) { return fData.GetBkgBin(histoNo); }
434  virtual const PIntPair GetGoodDataBin(const UInt_t histoNo) { return fData.GetGoodDataBin(histoNo); }
435  virtual const PIntVector GetRedGreenOffset() { return fRedGreenOffset; }
436  virtual const UInt_t GetNoOfHistos() { return fData.Size(); }
437  virtual PRawRunDataSet* GetDataSet(const UInt_t idx, Bool_t wantHistoNo = true);
438  virtual const PDoubleVector* GetDataBin(const UInt_t histoNo) { return fData.GetData(histoNo); }
439  virtual const PNonMusrRawRunData* GetDataNonMusr() { return &fDataNonMusr; }
440 
441  virtual void SetVersion(const TString &str) { fVersion = str; }
442  virtual void SetGenericValidatorUrl(const TString &str) { fGenericValidatorURL = str; }
443  virtual void SetSpecificValidatorUrl(const TString &str) { fSpecificValidatorURL = str; }
444  virtual void SetGenerator(const TString &str) { fGenerator = str; }
445  virtual void SetComment(const TString &str) { fComment = str; }
446  virtual void SetFileName(const TString &str) { fFileName = str; }
447  virtual void SetLaboratory(const TString &str) { fLaboratory = str; }
448  virtual void SetBeamline(const TString &str) { fBeamline = str; }
449  virtual void SetInstrument(const TString &str) { fInstrument = str; }
450  virtual void SetMuonSource(const TString &str) { fMuonSource = str; }
451  virtual void SetMuonSpecies(const TString &str) { fMuonSpecies = str; }
452  virtual void SetMuonBeamMomentum(const Double_t dval) { fMuonBeamMomentum = dval; }
453  virtual void SetMuonSpinAngle(const Double_t dval) { fMuonSpinAngle = dval; }
454  virtual void SetRunName(const TString &str) { fRunName = str; }
455  virtual void SetRunNumber(const Int_t &val) { fRunNumber = val; }
456  virtual void SetRunTitle(const TString str) { fRunTitle = str; }
457  virtual void SetSetup(const TString str) { fSetup = str; }
458  virtual void SetStartTime(const TString str) { fStartTime = str; }
459  virtual void SetStartDate(const TString str) { fStartDate = str; }
460  virtual void SetStartDateTime(const time_t val) { fStartDateTimeSec = val; }
461  virtual void SetStopTime(const TString str) { fStopTime = str; }
462  virtual void SetStopDate(const TString str) { fStopDate = str; }
463  virtual void SetStopDateTime(const time_t val) { fStopDateTimeSec = val; }
464  virtual void SetMagnetName(const TString str) { fMagnet = str; }
465  virtual void SetField(const Double_t dval) { fField = dval; }
466  virtual void SetCryoName(const TString str) { fCryo = str; }
467  virtual void SetSample(const TString str) { fSample = str; }
468  virtual void SetOrientation(const TString str) { fOrientation = str; }
469  virtual void ClearTemperature() { fTemp.clear(); }
470  virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp);
471  virtual void SetTempError(const UInt_t idx, const Double_t errTemp);
472  virtual void SetEnergy(const Double_t dval) { fEnergy = dval; }
473  virtual void SetTransport(const Double_t dval) { fTransport = dval; }
474  virtual void SetRingAnode(const UInt_t idx, const Double_t dval);
475  virtual void SetTimeResolution(const Double_t dval) { fTimeResolution = dval; }
476  virtual void SetRedGreenOffset(PIntVector &ivec) { fRedGreenOffset = ivec; }
477  virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1) { fData.Set(dataSet, idx); }
478 
480 
481  private:
482  TString fVersion;
485  TString fGenerator;
486  TString fComment;
487  TString fFileName;
488  TString fLaboratory;
489  TString fBeamline;
490  TString fInstrument;
491  TString fMuonSource;
492  TString fMuonSpecies;
493  Double_t fMuonBeamMomentum;
494  Double_t fMuonSpinAngle;
495  TString fRunName;
496  Int_t fRunNumber;
497  TString fRunTitle;
498  TString fSetup;
499  TString fStartTime;
500  TString fStartDate;
502  TString fStopTime;
503  TString fStopDate;
505  TString fCryo;
506  TString fSample;
507  TString fOrientation;
508  TString fMagnet;
509  Double_t fField;
511  Double_t fEnergy;
512  Double_t fTransport;
514  Double_t fTimeResolution;
516 
518 };
519 
520 //-------------------------------------------------------------
524 typedef std::vector<PRawRunData> PRawRunDataList;
525 
526 //-------------------------------------------------------------
531  Int_t fLineNo;
532  TString fLine;
533 };
534 
535 //-------------------------------------------------------------
539 typedef std::vector<PMsrLineStructure> PMsrLines;
540 
541 //-------------------------------------------------------------
546  Int_t fNoOfParams;
547  Int_t fNo;
548  TString fName;
549  Double_t fValue;
550  Double_t fStep;
552  Double_t fPosError;
554  Double_t fLowerBoundary;
556  Double_t fUpperBoundary;
557  Bool_t fIsGlobal;
558 };
559 
560 //-------------------------------------------------------------
564 typedef std::vector<PMsrParamStructure> PMsrParamList;
565 
566 //-------------------------------------------------------------
571  public:
572  PMsrGlobalBlock();
573  virtual ~PMsrGlobalBlock() {}
574 
575  virtual Bool_t IsPresent() { return fGlobalPresent; }
576  virtual Double_t GetRRFFreq(const char *unit);
577  virtual TString GetRRFUnit();
578  virtual Int_t GetRRFUnitTag() { return fRRFUnitTag; }
579  virtual Double_t GetRRFPhase() { return fRRFPhase; }
580  virtual Int_t GetRRFPacking() { return fRRFPacking; }
581  virtual Int_t GetFitType() { return fFitType; }
582  virtual Int_t GetDataRange(UInt_t idx);
583  virtual UInt_t GetT0BinSize() { return fT0.size(); }
584  virtual Double_t GetT0Bin(UInt_t idx=0);
585  virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
586  virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
587  virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
588  virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
589  virtual Double_t GetFitRange(UInt_t idx);
590  virtual Int_t GetFitRangeOffset(UInt_t idx);
591  virtual Int_t GetPacking() { return fPacking; }
592  virtual Double_t GetEstimatedAlpha() { return fAlpha; }
593 
594  virtual void SetGlobalPresent(Bool_t bval) { fGlobalPresent = bval; }
595  virtual void SetRRFFreq(Double_t freq, const char *unit);
596  virtual void SetRRFPhase(Double_t phase) { fRRFPhase = phase; }
597  virtual void SetRRFPacking(Int_t pack);
598  virtual void SetFitType(Int_t ival) { fFitType = ival; }
599  virtual void SetDataRange(Int_t ival, Int_t idx);
600  virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
601  virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
602  virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
603  virtual void SetFitRange(Double_t dval, UInt_t idx);
604  virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
605  virtual void SetPacking(Int_t ival) { fPacking = ival; }
606 
607  private:
608  Bool_t fGlobalPresent;
609  Double_t fRRFFreq;
610  Int_t fRRFUnitTag;
611  Double_t fRRFPhase;
612  Int_t fRRFPacking;
613  Int_t fFitType;
614  Int_t fDataRange[4];
616  std::vector<PDoubleVector> fAddT0;
618  Double_t fFitRange[2];
619  Int_t fFitRangeOffset[2];
620  Int_t fPacking;
621  Double_t fAlpha;
622 };
623 
624 //-------------------------------------------------------------
630  public:
631  PMsrRunBlock();
632  virtual ~PMsrRunBlock();
633  virtual void CleanUp();
634 
635  virtual UInt_t GetRunNameSize() { return fRunName.size(); }
636  virtual TString *GetRunName(UInt_t idx=0);
637  virtual UInt_t GetBeamlineSize() { return fBeamline.size(); }
638  virtual TString *GetBeamline(UInt_t idx=0);
639  virtual UInt_t GetInstituteSize() { return fInstitute.size(); }
640  virtual TString *GetInstitute(UInt_t idx=0);
641  virtual UInt_t GetFileFormatSize() { return fFileFormat.size(); }
642  virtual TString *GetFileFormat(UInt_t idx=0);
643  virtual Int_t GetFitType() { return fFitType; }
644  virtual Int_t GetAlphaParamNo() { return fAlphaParamNo; }
645  virtual Int_t GetBetaParamNo() { return fBetaParamNo; }
646  virtual Int_t GetNormParamNo() { return fNormParamNo; }
647  virtual Int_t GetBkgFitParamNo() { return fBkgFitParamNo; }
648  virtual Int_t GetLifetimeParamNo() { return fLifetimeParamNo; }
649  virtual Bool_t IsLifetimeCorrected() { return fLifetimeCorrection; }
650  virtual PIntVector* GetMap() { return &fMap; }
651  virtual Int_t GetMap(UInt_t idx);
652  virtual UInt_t GetForwardHistoNoSize() { return fForwardHistoNo.size(); }
653  virtual Int_t GetForwardHistoNo(UInt_t idx=0);
654  virtual UInt_t GetBackwardHistoNoSize() { return fBackwardHistoNo.size(); }
655  virtual Int_t GetBackwardHistoNo(UInt_t idx=0);
656  virtual Double_t GetBkgEstimated(UInt_t idx);
657  virtual Double_t GetBkgFix(UInt_t idx);
658  virtual Int_t GetBkgRange(UInt_t idx);
659  virtual Int_t GetDataRange(UInt_t idx);
660  virtual UInt_t GetT0BinSize() { return fT0.size(); }
661  virtual Double_t GetT0Bin(UInt_t idx=0);
662  virtual UInt_t GetAddT0BinEntries() { return fAddT0.size(); }
663  virtual Int_t GetAddT0BinSize(UInt_t addRunIdx);
664  virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx);
665  virtual Bool_t IsFitRangeInBin() { return fFitRangeInBins; }
666  virtual Double_t GetFitRange(UInt_t idx);
667  virtual Int_t GetFitRangeOffset(UInt_t idx);
668  virtual Int_t GetPacking() { return fPacking; }
669  virtual Double_t GetEstimatedAlpha() { return fAlpha; }
670  virtual Int_t GetXDataIndex() { return fXYDataIndex[0]; }
671  virtual Int_t GetYDataIndex() { return fXYDataIndex[1]; }
672  virtual TString* GetXDataLabel() { return &fXYDataLabel[0]; }
673  virtual TString* GetYDataLabel() { return &fXYDataLabel[1]; }
674  virtual std::map<TString, Int_t> *GetParGlobal() { return &fParGlobal; }
675  virtual PIntVector *GetMapGlobal() { return &fMapGlobal; }
676 
677  virtual void SetRunName(TString &str, Int_t idx=-1);
678  virtual void SetBeamline(TString &str, Int_t idx=-1);
679  virtual void SetInstitute(TString &str, Int_t idx=-1);
680  virtual void SetFileFormat(TString &str, Int_t idx=-1);
681  virtual void SetFitType(Int_t ival) { fFitType = ival; }
682  virtual void SetAlphaParamNo(Int_t ival) { fAlphaParamNo = ival; }
683  virtual void SetBetaParamNo(Int_t ival) { fBetaParamNo = ival; }
684  virtual void SetNormParamNo(Int_t ival) { fNormParamNo = ival; }
685  virtual void SetBkgFitParamNo(Int_t ival) { fBkgFitParamNo = ival; }
686  virtual void SetLifetimeParamNo(Int_t ival) { fLifetimeParamNo = ival; }
687  virtual void SetLifetimeCorrection(Bool_t bval) { fLifetimeCorrection = bval; }
688  virtual void SetMap(Int_t mapVal, Int_t idx=-1);
689  virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1);
690  virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1);
691  virtual void SetBkgEstimated(Double_t dval, Int_t idx);
692  virtual void SetEstimatedAlpha(Double_t dval);
693  virtual void SetBkgFix(Double_t dval, Int_t idx);
694  virtual void SetBkgRange(Int_t ival, Int_t idx);
695  virtual void SetDataRange(Int_t ival, Int_t idx);
696  virtual void SetT0Bin(Double_t dval, Int_t idx=-1);
697  virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx);
698  virtual void SetFitRangeInBins(Bool_t bval) { fFitRangeInBins = bval; }
699  virtual void SetFitRange(Double_t dval, UInt_t idx);
700  virtual void SetFitRangeOffset(Int_t ival, UInt_t idx);
701  virtual void SetPacking(Int_t ival) { fPacking = ival; }
702  virtual void SetXDataIndex(Int_t ival) { fXYDataIndex[0] = ival; }
703  virtual void SetYDataIndex(Int_t ival) { fXYDataIndex[1] = ival; }
704  virtual void SetXDataLabel(TString& str) { fXYDataLabel[0] = str; }
705  virtual void SetYDataLabel(TString& str) { fXYDataLabel[1] = str; }
706  virtual void SetParGlobal(const TString &str, Int_t ival);
707  virtual void SetMapGlobal(UInt_t idx, Int_t ival);
708 
709  private:
714  Int_t fFitType;
716  Int_t fBetaParamNo;
717  Int_t fNormParamNo;
724  Double_t fBkgEstimated[2];
725  Double_t fBkgFix[2];
726  Int_t fBkgRange[4];
727  Int_t fDataRange[4];
729  std::vector<PDoubleVector> fAddT0;
731  Double_t fFitRange[2];
732  Int_t fFitRangeOffset[2];
733  Double_t fAlpha;
734  Int_t fPacking;
735  Int_t fXYDataIndex[2];
736  TString fXYDataLabel[2];
737 
738  // Two members used for msr2data in the global mode: fParGlobal and fMapGlobal
739  // These are intended to track global and run specific parameters used in the RUN blocks
740  // Suggested keys for the std::map: (alpha, beta, norm, bkgfit, lifetime)
741  // Suggested values for the std::map: 1 -> parameter is global
742  // 0 -> parameter is run specific
743  // -1 -> tag not present in the RUN block
744  // 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
745  // The values in this std::vector can be the same as for the std::map of the other parameters.
746  std::map<TString, Int_t> fParGlobal;
748 };
749 
750 //-------------------------------------------------------------
754 typedef std::vector<PMsrRunBlock> PMsrRunList;
755 
756 //-------------------------------------------------------------
762  Int_t fUnits;
763  Bool_t fDCCorrected;
765  Int_t fApodization;
766  Int_t fPlotTag;
767  Int_t fPhaseRef;
771  Double_t fPlotRange[2];
772  Double_t fPhaseIncrement;
773 };
774 
775 //-------------------------------------------------------------
780  Int_t fPlotType;
782  Bool_t fUseFitRanges;
783  Bool_t fLogX;
784  Bool_t fLogY;
785  Int_t fViewPacking;
791  UInt_t fRRFPacking;
792  Double_t fRRFFreq;
793  UInt_t fRRFUnit;
795  Double_t fRRFPhase;
796 };
797 
798 //-------------------------------------------------------------
802 typedef std::vector<PMsrPlotStructure> PMsrPlotList;
803 
804 //-------------------------------------------------------------
809  Bool_t fValid;
811  TString fDate;
812  Bool_t fChisq;
813  Double_t fMin;
815  UInt_t fNdf;
816  Double_t fMinExpected;
819 };
820 
821 //-------------------------------------------------------------
826  Bool_t useStandardOutput{false};
827  TString inFormat{""};
828  TString outFormat{""};
829  TString inTemplate{""};
830  TString outTemplate{""};
831  TString year{""};
835  TString outFileName{""};
837  TString outPath{""};
838  UInt_t rebin{1};
839  UInt_t compressionTag{0};
840  TString compressFileName{""};
841  UInt_t idf{0};
842 };
843 
844 //-------------------------------------------------------------
850  Bool_t estimateN0;
851 };
852 
853 //-------------------------------------------------------------
861  public:
862  PStringNumberList(char *str) { fString = str; }
863  PStringNumberList(std::string str) { fString = str; }
864  virtual ~PStringNumberList() { fList.clear(); }
865 
866  virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false);
867  virtual PUIntVector GetList() { return fList; }
868 
869  private:
870  std::string fString;
871  bool fIsValid;
873 
874  virtual bool IsNumber(std::string &str) { return (str.find_first_not_of("0123456789") == std::string::npos); }
875  virtual void StripSpaces();
876 };
877 
878 //-------------------------------------------------------------
883  TString instrument{""};
884  TString runNameTemplate{""};
885 };
886 
887 //-------------------------------------------------------------
891 typedef std::vector<PRunNameTemplate> PRunNameTemplateList;
892 
893 #endif // _PMUSR_H_
virtual PRawRunDataSet * Get(UInt_t histoNo)
Definition: PMusr.cpp:340
virtual ~PMsrRunBlock()
Definition: PMusr.cpp:1158
virtual void SetInstrument(const TString &str)
Definition: PMusr.h:449
virtual TString * GetBeamline(UInt_t idx=0)
Definition: PMusr.cpp:1274
Double_t fPhaseIncrement
phase increment for manual phase optimization
Definition: PMusr.h:772
virtual Bool_t FromAscii()
Definition: PMusr.h:290
virtual const PDoubleVector * GetXTheory()
Definition: PMusr.h:250
virtual PUIntVector GetList()
Definition: PMusr.h:867
TString fFileName
keeps the name of the original data file
Definition: PMusr.h:487
virtual Double_t GetT0BinEstimated(UInt_t histoNo)
Definition: PMusr.cpp:435
virtual UInt_t GetT0BinSize()
Definition: PMusr.h:583
PIntVector fBackwardHistoNo
backward histogram number (fit type 2, 4)
Definition: PMusr.h:723
virtual TString GetRRFUnit()
Definition: PMusr.cpp:834
PDoubleVector fTheory
theory vector
Definition: PMusr.h:278
Definition: PMusr.h:220
virtual const TString * GetMuonSpecies()
Definition: PMusr.h:404
std::vector< PRawRunData > PRawRunDataList
Definition: PMusr.h:524
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition: PMusr.cpp:1672
virtual void SetTimeZeroBinEstimated(Double_t tzb)
Definition: PMusr.h:337
Int_t fFirstGoodBin
keeps the first good bin of the data set
Definition: PMusr.h:349
virtual const PDoubleVector * GetError()
Definition: PMusr.h:249
virtual Int_t GetFirstBkgBin()
Definition: PMusr.h:329
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition: PMusr.cpp:1001
std::pair< Double_t, Double_t > PDoublePair
Definition: PMusr.h:202
virtual void SetRunTitle(const TString str)
Definition: PMusr.h:456
Definition: PMusr.h:220
TString fGenericValidatorURL
keeps the generic validator MusrRoot URL
Definition: PMusr.h:483
virtual const TString * GetBeamline()
Definition: PMusr.h:400
PMsrLines fStatLines
statistics block in msr-file clear text
Definition: PMusr.h:810
Double_t fRRFFreq
RRF frequency.
Definition: PMusr.h:792
Double_t fTheoryTimeStep
time step of the theory, i.e. the time length of a bin
Definition: PMusr.h:276
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:728
virtual const TString * GetGenerator()
Definition: PMusr.h:396
virtual void AppendXValue(Double_t dval)
Definition: PMusr.h:258
virtual void SetSpecificValidatorUrl(const TString &str)
Definition: PMusr.h:443
virtual Int_t GetNormParamNo()
Definition: PMusr.h:646
TString fOrientation
description of the orientation
Definition: PMusr.h:507
TString year
holds the information about the year to be used
Definition: PMusr.h:831
virtual void SetStopDate(const TString str)
Definition: PMusr.h:462
virtual const TString * GetSetup()
Definition: PMusr.h:409
Bool_t writeExpectedChisq
if set to true, expected chisq and chisq per block will be written
Definition: PMusr.h:849
Bool_t fFourierBlockPresent
flag indicating if a Fourier block is present in the msr-file
Definition: PMusr.h:761
virtual UInt_t GetBeamlineSize()
Definition: PMusr.h:637
virtual Int_t GetDataRange(UInt_t idx)
Definition: PMusr.cpp:895
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition: PMusr.cpp:935
time_t fStopDateTimeSec
stop run given as time_t object
Definition: PMusr.h:504
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition: PMusr.cpp:1865
Int_t fBetaParamNo
beta parameter number (fit type 2, 4)
Definition: PMusr.h:716
virtual void SetMagnetName(const TString str)
Definition: PMusr.h:464
virtual void SetMuonSource(const TString &str)
Definition: PMusr.h:450
virtual const Double_t GetTimeResolution()
Definition: PMusr.h:429
virtual void CleanUp()
Definition: PMusr.cpp:1178
std::vector< PMsrRunBlock > PMsrRunList
Definition: PMusr.h:754
Bool_t estimateN0
if set to true, for single histogram fits N0 will be estimated
Definition: PMusr.h:850
virtual Int_t GetPacking()
Definition: PMusr.h:668
virtual void SetFitRangeOffset(Int_t ival, UInt_t idx)
Definition: PMusr.cpp:1105
virtual Int_t GetRRFUnitTag()
Definition: PMusr.h:578
Double_t fTransport
LEM transport settings (Moderator HV)
Definition: PMusr.h:512
virtual TString * GetFileFormat(UInt_t idx=0)
Definition: PMusr.cpp:1358
virtual void SetBkgEstimated(Double_t dval, Int_t idx)
Definition: PMusr.cpp:1549
virtual UInt_t GetAddT0BinEntries()
Definition: PMusr.h:585
virtual const TString * GetGenericValidatorUrl()
Definition: PMusr.h:394
Int_t fPlotTag
tag used for initial plot. 0=real, 1=imaginary, 2=real & imaginary (default), 3=power, 4=phase
Definition: PMusr.h:766
virtual void SetBackwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition: PMusr.cpp:1465
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition: PMusr.cpp:1088
virtual void SetRunName(TString &str, Int_t idx=-1)
Definition: PMusr.cpp:1249
virtual void SetBeamline(TString &str, Int_t idx=-1)
Definition: PMusr.cpp:1291
virtual void SetTheoryTimeStart(Double_t dval)
Definition: PMusr.h:255
virtual void SetEnergy(const Double_t dval)
Definition: PMusr.h:472
virtual void SetStopTime(const TString str)
Definition: PMusr.h:461
virtual void SetEstimatedAlpha(Double_t dval)
Definition: PMusr.cpp:1915
Int_t fDataRange[4]
data bin range (fit type 0, 1, 2, 4)
Definition: PMusr.h:614
virtual void SetGenericValidatorUrl(const TString &str)
Definition: PMusr.h:442
TString instrument
Definition: PMusr.h:883
virtual std::map< TString, Int_t > * GetParGlobal()
Definition: PMusr.h:674
virtual const Double_t GetTempError(const UInt_t idx)
Definition: PMusr.cpp:618
virtual Int_t GetBkgFitParamNo()
Definition: PMusr.h:647
virtual const TString * GetStopTime()
Definition: PMusr.h:413
virtual Bool_t IsFitRangeInBin()
Definition: PMusr.h:665
virtual Int_t GetLastBkgBin()
Definition: PMusr.h:330
std::map< TString, Int_t > fParGlobal
here is stored if the parameters used in the RUN block are global or not
Definition: PMusr.h:746
virtual void SetRRFPhase(Double_t phase)
Definition: PMusr.h:596
PIntVector fMap
map vector needed to switch parameters for different runs within a single theory
Definition: PMusr.h:721
PDoubleVector fMinPerHisto
chisq or max. likelihood per histo
Definition: PMusr.h:814
virtual void SetYDataIndex(Int_t ival)
Definition: PMusr.h:703
virtual const PDoublePairVector * GetTemperature() const
Definition: PMusr.h:422
virtual void SetRingAnode(const UInt_t idx, const Double_t dval)
Definition: PMusr.cpp:681
virtual void SetYDataLabel(TString &str)
Definition: PMusr.h:705
virtual const std::vector< PDoubleVector > * GetData()
Definition: PMusr.h:293
virtual const PDoubleVector * GetTheory()
Definition: PMusr.h:251
TString outFileName
holds the output file name
Definition: PMusr.h:835
Bool_t fGlobalPresent
flag showing if a GLOBAL block is present at all.
Definition: PMusr.h:608
virtual ~PStringNumberList()
Definition: PMusr.h:864
Int_t fRRFUnitTag
RRF unit tag.
Definition: PMusr.h:610
virtual void SetTempError(const UInt_t idx, const Double_t errTemp)
Definition: PMusr.cpp:716
Int_t fPhaseRef
phase reference for relative phase(s)
Definition: PMusr.h:767
virtual PRawRunDataSet * operator[](UInt_t histoNo)
Definition: PMusr.cpp:366
Double_t fAlpha
estimated alpha value from F/B counts
Definition: PMusr.h:733
UInt_t fRRFPacking
rotating reference frame (RRF) packing
Definition: PMusr.h:791
Double_t fDataTimeStart
start time for the data set
Definition: PMusr.h:269
virtual void SetRunName(const TString &str)
Definition: PMusr.h:454
virtual void SetParGlobal(const TString &str, Int_t ival)
Definition: PMusr.cpp:1882
virtual Int_t GetXDataIndex()
Definition: PMusr.h:670
virtual void Clear()
Definition: PMusr.cpp:261
std::vector< PDoubleVector > fData
vector of all data
Definition: PMusr.h:310
virtual Double_t GetEstimatedAlpha()
Definition: PMusr.h:669
Double_t fValue
value
Definition: PMusr.h:549
virtual void SetMap(Int_t mapVal, Int_t idx=-1)
Definition: PMusr.cpp:1505
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:732
virtual void SetXDataLabel(TString &str)
Definition: PMusr.h:704
virtual ~PRawRunDataVector()
Definition: PMusr.h:365
virtual Double_t GetT0Bin(UInt_t histoNo)
Definition: PMusr.cpp:409
virtual Double_t GetEstimatedAlpha()
Definition: PMusr.h:592
virtual const TString * GetSpecificValidatorUrl()
Definition: PMusr.h:395
virtual const PStringVector * GetLabels()
Definition: PMusr.h:291
UInt_t compressionTag
0=no compression, 1=gzip compression, 2=bzip2 compression
Definition: PMusr.h:839
TString fVersion
keeps the version information of the data file
Definition: PMusr.h:482
virtual const TString * GetStopDate()
Definition: PMusr.h:414
TString inFormat
holds the information about the input data file format
Definition: PMusr.h:827
virtual Double_t GetAddT0Bin(UInt_t addRunIdx, UInt_t histoIdx)
Definition: PMusr.cpp:1761
virtual ~PNonMusrRawRunData()
Definition: PMusr.cpp:139
Double_t fMin
chisq or max. likelihood
Definition: PMusr.h:813
virtual Int_t GetRRFPacking()
Definition: PMusr.h:580
virtual void SetFitRangeInBins(Bool_t bval)
Definition: PMusr.h:602
virtual const TString * GetCryoName()
Definition: PMusr.h:416
virtual UInt_t GetT0BinSize()
Definition: PMusr.h:660
virtual void SetStartTime(const TString str)
Definition: PMusr.h:458
virtual Bool_t IsPresent(UInt_t histoNo)
Definition: PMusr.cpp:290
Int_t fLastGoodBin
keeps the last good bin of the data set
Definition: PMusr.h:350
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:613
PDoubleVector fTemp
temperature(s) in (K)
Definition: PMusr.h:229
Bool_t fValid
flag showing if the statistics block is valid, i.e. a fit took place which converged ...
Definition: PMusr.h:809
std::vector< PMsrPlotStructure > PMsrPlotList
Definition: PMusr.h:802
Int_t fViewPacking
-1 -> use the run packing to generate the view, otherwise is fViewPacking for the binning of ALL runs...
Definition: PMusr.h:785
PStringVector fBeamline
e.g. mue4, mue1, pim3, emu, m15, ... (former: run type)
Definition: PMusr.h:711
Double_t fFitRange[2]
fit range in (us)
Definition: PMusr.h:618
virtual void SetRunNumber(const Int_t &val)
Definition: PMusr.h:455
virtual ~PRunData()
Definition: PMusr.cpp:69
virtual void SetFileFormat(TString &str, Int_t idx=-1)
Definition: PMusr.cpp:1375
virtual void SetBeamline(const TString &str)
Definition: PMusr.h:448
virtual void AppendErrorValue(Double_t dval)
Definition: PMusr.h:260
virtual UInt_t Size()
Definition: PMusr.h:367
Bool_t fDCCorrected
if set true, the dc offset of the signal/theory will be removed before the FFT is made...
Definition: PMusr.h:763
virtual void SetFitRangeInBins(Bool_t bval)
Definition: PMusr.h:698
virtual Int_t GetFitType()
Definition: PMusr.h:643
std::vector< Int_t > PIntVector
Definition: PMusr.h:178
virtual TString * GetYDataLabel()
Definition: PMusr.h:673
virtual void AppendSubErrData(const UInt_t idx, const Double_t dval)
Definition: PMusr.cpp:229
virtual Bool_t IsFitRangeInBin()
Definition: PMusr.h:588
Int_t fFirstBkgBin
keeps the first background bin of the data set
Definition: PMusr.h:351
virtual Double_t GetTheoryTimeStep()
Definition: PMusr.h:245
virtual const Double_t GetMuonBeamMomentum()
Definition: PMusr.h:405
Int_t fAlphaParamNo
alpha parameter number (fit type 2, 4)
Definition: PMusr.h:715
virtual void SetMuonSpinAngle(const Double_t dval)
Definition: PMusr.h:453
std::vector< UInt_t > PUIntVector
Definition: PMusr.h:172
virtual void SetDataTimeStep(Double_t dval)
Definition: PMusr.h:254
Double_t fBkgEstimated[2]
keeps estimated background values (if present)
Definition: PMusr.h:724
virtual Double_t GetTheoryTimeStart()
Definition: PMusr.h:244
virtual Bool_t IsPresent()
Definition: PMusr.h:575
virtual void SetDataSet(PRawRunDataSet &dataSet, UInt_t idx=-1)
Definition: PMusr.h:477
virtual Double_t GetT0Bin(UInt_t idx=0)
Definition: PMusr.cpp:1695
std::vector< PMsrParamStructure > PMsrParamList
Definition: PMusr.h:564
virtual void AppendLabel(const TString str)
Definition: PMusr.h:298
std::vector< Double_t > PDoubleVector
Definition: PMusr.h:196
Double_t fDataTimeStep
time step for the data set, i.e. the time length of a bin
Definition: PMusr.h:270
virtual Double_t GetRRFFreq(const char *unit)
Definition: PMusr.cpp:762
virtual const Bool_t IsPresent(UInt_t histoNo)
Definition: PMusr.h:430
TString fComment
keeps the data file comment
Definition: PMusr.h:486
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:619
virtual void SetAlphaParamNo(Int_t ival)
Definition: PMusr.h:682
PStringVector outPathFileName
holds the out path/file name
Definition: PMusr.h:836
PStringVector fFileFormat
e.g. root, nexus, psi-bin, mud, ascii, db
Definition: PMusr.h:713
virtual const TString * GetOrientation()
Definition: PMusr.h:418
PDoubleVector fXTheory
x-axis vector. Only used for non-muSR
Definition: PMusr.h:277
Bool_t fLowerBoundaryPresent
flag showing if a lower boundary is present
Definition: PMusr.h:553
virtual const Double_t GetT0Bin(const UInt_t histoNo)
Definition: PMusr.h:431
virtual void SetBkgFitParamNo(Int_t ival)
Definition: PMusr.h:685
virtual void SetStartDate(const TString str)
Definition: PMusr.h:459
std::vector< PDoubleVector > fAddT0
addt0 bins (fit type 0, 1, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ...
Definition: PMusr.h:616
Int_t fApodization
tag indicating the kind of apodization wished, 0=no appodization (default), 1=weak, 2=medium, 3=strong (for details see the docu)
Definition: PMusr.h:765
virtual Double_t GetTimeZeroBinEstimated()
Definition: PMusr.h:326
TString fMagnet
name of the sample magnet
Definition: PMusr.h:508
Int_t fLastBkgBin
keeps the last background bin of the data set
Definition: PMusr.h:352
Double_t fEnergy
implantation energy of the muon
Definition: PMusr.h:511
virtual const PDoubleVector GetRingAnode()
Definition: PMusr.h:427
virtual const PStringVector * GetDataTags()
Definition: PMusr.h:292
Int_t fNo
parameter number
Definition: PMusr.h:547
virtual void SetComment(const TString &str)
Definition: PMusr.h:445
virtual const PNonMusrRawRunData * GetDataNonMusr()
Definition: PMusr.h:439
virtual void SetGenerator(const TString &str)
Definition: PMusr.h:444
PDoubleVector fError
data error vector
Definition: PMusr.h:273
TString fSample
description of the sample
Definition: PMusr.h:506
virtual const TString * GetSample()
Definition: PMusr.h:417
virtual Int_t GetLastGoodBin()
Definition: PMusr.h:328
virtual TString GetName()
Definition: PMusr.h:323
virtual Int_t GetBackwardHistoNo(UInt_t idx=0)
Definition: PMusr.cpp:1444
Double_t fRRFPhase
RRF phase in (°)
Definition: PMusr.h:611
Bool_t fUpperBoundaryPresent
flag showing if an upper boundary is present
Definition: PMusr.h:555
PIntVector groupHistoList
holds the histo group list offset (used to define for MusrRoot files, what to be exported) ...
Definition: PMusr.h:833
TString fInstrument
keeps the name of the instrument, e.g. LEM, GPS, MUSR, EMU, ...
Definition: PMusr.h:490
virtual PIntPair GetBkgBin(UInt_t histoNo)
Definition: PMusr.cpp:461
Bool_t fLogX
yes -> x-axis in log-scale, no (default) -> x-axis in lin-scale
Definition: PMusr.h:783
Double_t fUpperBoundary
upper boundary for the fit parameter
Definition: PMusr.h:556
virtual void Set(PRawRunDataSet dataSet, Int_t idx=-1)
Definition: PMusr.cpp:514
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition: PMusr.cpp:1712
virtual void SetRedGreenOffset(PIntVector &ivec)
Definition: PMusr.h:476
PDoubleVector fData
keeps the histogram data
Definition: PMusr.h:353
virtual UInt_t GetAddT0BinEntries()
Definition: PMusr.h:662
Bool_t fFromAscii
if true: data file was an ascii input file, otherwise it is a db/dat input file
Definition: PMusr.h:307
virtual Int_t GetYDataIndex()
Definition: PMusr.h:671
PStringVector fLabels
vector of all labels (used for x-, y-axis title in view)
Definition: PMusr.h:308
Int_t fDataRange[4]
data bin range (fit type 0, 2, 4)
Definition: PMusr.h:727
virtual const PDoubleVector * GetX()
Definition: PMusr.h:247
Int_t fLineNo
original line number of the msr-file
Definition: PMusr.h:531
virtual void AppendTheoryValue(Double_t dval)
Definition: PMusr.h:262
Int_t fRunNumber
run number
Definition: PMusr.h:496
virtual Int_t GetHistoNo()
Definition: PMusr.h:324
virtual void SetForwardHistoNo(Int_t histoNo, Int_t idx=-1)
Definition: PMusr.cpp:1421
Bool_t fLogY
yes -> y-axis in log-scale, no (default) -> y-axis in lin-scale
Definition: PMusr.h:784
Double_t fStep
step / error / neg_error, depending on the situation
Definition: PMusr.h:550
virtual PRawRunDataSet * GetSet(UInt_t idx)
Definition: PMusr.cpp:318
virtual Int_t GetLifetimeParamNo()
Definition: PMusr.h:648
std::vector< PMsrLineStructure > PMsrLines
Definition: PMusr.h:539
virtual bool Parse(std::string &errorMsg, bool ignoreFirstToken=false)
Definition: PMusr.cpp:1938
Int_t fFitType
fit type: 0=single histo fit, 2=asymmetry fit, 4=mu^- single histo fit, 8=non muSR fit ...
Definition: PMusr.h:714
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition: PMusr.cpp:1737
TString outTemplate
holds the output file template
Definition: PMusr.h:830
virtual void SetDataTimeStart(Double_t dval)
Definition: PMusr.h:253
virtual UInt_t GetInstituteSize()
Definition: PMusr.h:639
Double_t fAlpha
estimated alpha value from F/B counts
Definition: PMusr.h:621
virtual void SetSample(const TString str)
Definition: PMusr.h:467
PIntVector fPhaseParamNo
parameter number(s) if used instead of a phase value
Definition: PMusr.h:768
virtual Int_t GetFitRangeOffset(UInt_t idx)
Definition: PMusr.cpp:1848
virtual void AppendValue(Double_t dval)
Definition: PMusr.h:259
Double_t fRangeForPhaseCorrection[2]
field/frequency range for automatic phase correction
Definition: PMusr.h:770
virtual const PDoubleVector * GetValue()
Definition: PMusr.h:248
Double_t fFitRange[2]
fit range in (us)
Definition: PMusr.h:731
virtual const Double_t GetField()
Definition: PMusr.h:420
virtual const std::vector< PDoubleVector > * GetErrData()
Definition: PMusr.h:294
TString fLine
msr-file line
Definition: PMusr.h:532
virtual const TString * GetRunName()
Definition: PMusr.h:402
PDoubleVector fMinExpectedPerHisto
expected pre histo chi2 or max. likelihood
Definition: PMusr.h:817
virtual const TString * GetStartDate()
Definition: PMusr.h:411
time_t fStartDateTimeSec
start run given as time_t object
Definition: PMusr.h:501
virtual const TString * GetMuonSource()
Definition: PMusr.h:403
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition: PMusr.cpp:1788
virtual void SetVersion(const TString &str)
Definition: PMusr.h:441
Double_t fBkgFix[2]
fixed background in (1/ns) (fit type 0, 2, 4)
Definition: PMusr.h:725
virtual void SetMapGlobal(UInt_t idx, Int_t ival)
Definition: PMusr.cpp:1897
virtual void SetTimeZeroBin(Double_t tzb)
Definition: PMusr.h:336
virtual void ClearTemperature()
Definition: PMusr.h:469
virtual UInt_t GetFileFormatSize()
Definition: PMusr.h:641
PStringVector fInstitute
e.g. psi, ral, triumf (former: run format)
Definition: PMusr.h:712
Int_t fHistoNo
corresponds to the histogram number in the data file
Definition: PMusr.h:346
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition: PMusr.h:617
TString fBeamline
keeps the name of the be beamline, e.g. muE4, piM3.1, ...
Definition: PMusr.h:489
virtual const Double_t GetMuonSpinAngle()
Definition: PMusr.h:406
virtual void SetMuonBeamMomentum(const Double_t dval)
Definition: PMusr.h:452
virtual Double_t GetBkgFix(UInt_t idx)
Definition: PMusr.cpp:1572
PDoubleVector fTmin
time minimum
Definition: PMusr.h:787
PDoubleVector fTmax
time maximum
Definition: PMusr.h:788
PDoubleVector fPhase
phase(s)
Definition: PMusr.h:769
Double_t fTheoryTimeStart
start time of the theory
Definition: PMusr.h:275
Double_t fTimeZeroBinEstimated
keeps the estimated time zero bin
Definition: PMusr.h:348
TString fStartDate
start date of the run
Definition: PMusr.h:500
virtual const TString * GetComment()
Definition: PMusr.h:397
virtual bool IsNumber(std::string &str)
Definition: PMusr.h:874
virtual void SetName(TString str)
Definition: PMusr.h:334
Double_t fTimeZeroBin
keeps the time zero bin
Definition: PMusr.h:347
virtual const PIntPair GetGoodDataBin(const UInt_t histoNo)
Definition: PMusr.h:434
virtual PDoubleVector * GetData(UInt_t histoNo)
Definition: PMusr.cpp:383
UInt_t rebin
holds the number of bins to be packed
Definition: PMusr.h:838
virtual void SetLifetimeParamNo(Int_t ival)
Definition: PMusr.h:686
virtual TString * GetXDataLabel()
Definition: PMusr.h:672
virtual void SetInstitute(TString &str, Int_t idx=-1)
Definition: PMusr.cpp:1333
virtual void AppendDataTag(const TString str)
Definition: PMusr.h:300
virtual void StripSpaces()
Definition: PMusr.cpp:2050
virtual void SetAddT0Bin(Double_t dval, UInt_t addRunIdx, UInt_t histoNoIdx)
Definition: PMusr.cpp:1028
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:762
Bool_t fIsGlobal
flag showing if the parameter is a global one (used for msr2data global)
Definition: PMusr.h:557
virtual void SetHistoNo(Int_t no)
Definition: PMusr.h:335
PDoubleVector fX
x-axis vector. Only used for non-muSR
Definition: PMusr.h:271
Int_t fPlotType
plot type
Definition: PMusr.h:780
virtual void SetRRFPacking(Int_t pack)
Definition: PMusr.cpp:873
Int_t fRRFPhaseParamNo
parameter number if used instead of a RRF phase value
Definition: PMusr.h:794
virtual const UInt_t GetNoOfTemperatures()
Definition: PMusr.h:421
virtual Int_t GetForwardHistoNo(UInt_t idx=0)
Definition: PMusr.cpp:1400
virtual void SetSize(const UInt_t size)
Definition: PMusr.cpp:162
virtual void SetT0Bin(Double_t dval, Int_t idx=-1)
Definition: PMusr.cpp:952
virtual void SetFirstGoodBin(Int_t fgb)
Definition: PMusr.h:338
virtual void SetStartDateTime(const time_t val)
Definition: PMusr.h:460
TString fRunName
name of the run as found in the msr-file
Definition: PMusr.h:495
virtual void SetOrientation(const TString str)
Definition: PMusr.h:468
Double_t fEnergy
energy in (keV)
Definition: PMusr.h:228
TString fStartTime
start time of the run
Definition: PMusr.h:499
virtual const TString * GetInstrument()
Definition: PMusr.h:401
virtual void SetNormParamNo(Int_t ival)
Definition: PMusr.h:684
virtual Int_t GetBkgRange(UInt_t idx)
Definition: PMusr.cpp:1612
virtual Bool_t IsLifetimeCorrected()
Definition: PMusr.h:649
TString fXYDataLabel[2]
used to get the indices via labels when using db-files (fit type 8)
Definition: PMusr.h:736
virtual UInt_t GetForwardHistoNoSize()
Definition: PMusr.h:652
EPMusrHandleTag
Definition: PMusr.h:220
virtual void SetFitType(Int_t ival)
Definition: PMusr.h:598
TString fMuonSource
keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam ...
Definition: PMusr.h:491
virtual void SetFileName(const TString &str)
Definition: PMusr.h:446
virtual const PIntPair GetBkgBin(const UInt_t histoNo)
Definition: PMusr.h:433
Int_t fXYDataIndex[2]
used to get the data indices when using db-files (fit type 8)
Definition: PMusr.h:735
virtual Double_t GetRRFPhase()
Definition: PMusr.h:579
TString compressFileName
holds the name of the outputfile name in case of compression is used
Definition: PMusr.h:840
TString outPath
holds the output path
Definition: PMusr.h:837
virtual const Double_t GetEnergy()
Definition: PMusr.h:425
virtual Int_t GetFitType()
Definition: PMusr.h:581
TString fName
name
Definition: PMusr.h:548
PRawRunDataVector fData
keeps the histos together with the histo related properties such as T0, first good bin...
Definition: PMusr.h:517
virtual void AppendSubData(const UInt_t idx, const Double_t dval)
Definition: PMusr.cpp:209
virtual void SetData(PDoubleVector data)
Definition: PMusr.h:342
Bool_t useStandardOutput
flag showing if the converted shall be sent to the standard output
Definition: PMusr.h:826
virtual void SetStopDateTime(const time_t val)
Definition: PMusr.h:463
Bool_t fChisq
flag telling if min = chi2 or min = max.likelihood
Definition: PMusr.h:812
virtual PDoubleVector * GetData()
Definition: PMusr.h:331
virtual void SetBkgRange(Int_t ival, Int_t idx)
Definition: PMusr.cpp:1630
std::vector< PDoubleVector > fAddT0
t0 bins for addrun&#39;s
Definition: PMusr.h:729
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition: PMusr.cpp:1828
Bool_t fLifetimeCorrection
lifetime correction flag for viewing (fit type 0)
Definition: PMusr.h:720
virtual void AppendErrData(const PDoubleVector &data)
Definition: PMusr.h:302
virtual PIntVector * GetMapGlobal()
Definition: PMusr.h:675
virtual void SetRRFFreq(Double_t freq, const char *unit)
Definition: PMusr.cpp:806
Bool_t fUseFitRanges
yes -> use the fit ranges to plot the data, no (default) -> use range information if present ...
Definition: PMusr.h:782
PIntVector fRuns
list of runs to be plotted
Definition: PMusr.h:786
virtual void SetPacking(Int_t ival)
Definition: PMusr.h:701
PRunData()
Definition: PMusr.cpp:50
virtual void SetGlobalPresent(Bool_t bval)
Definition: PMusr.h:594
virtual void SetTheoryTimeStep(Double_t dval)
Definition: PMusr.h:256
virtual const TString * GetStartTime()
Definition: PMusr.h:410
virtual ~PMsrGlobalBlock()
Definition: PMusr.h:573
virtual TString * GetInstitute(UInt_t idx=0)
Definition: PMusr.cpp:1316
PDoubleVector fValue
data vector
Definition: PMusr.h:272
Double_t fMinExpected
expected total chi2 or max. likelihood
Definition: PMusr.h:816
Int_t fLifetimeParamNo
muon lifetime parameter number (fit type 0)
Definition: PMusr.h:719
PDoubleVector fRingAnode
LEM ring anode HVs (L,R[,T,B])
Definition: PMusr.h:513
std::vector< PDoublePair > PDoublePairVector
Definition: PMusr.h:208
Double_t fLowerBoundary
lower boundary for the fit parameter
Definition: PMusr.h:554
virtual void SetLabel(const UInt_t idx, const TString str)
Definition: PMusr.cpp:189
virtual void SetCryoName(const TString str)
Definition: PMusr.h:466
virtual void SetSetup(const TString str)
Definition: PMusr.h:457
virtual void SetLifetimeCorrection(Bool_t bval)
Definition: PMusr.h:687
virtual Int_t GetAlphaParamNo()
Definition: PMusr.h:644
Double_t fField
magnetic field value in (G)
Definition: PMusr.h:509
virtual Int_t GetAddT0BinSize(UInt_t addRunIdx)
Definition: PMusr.cpp:977
virtual const Double_t GetTransport()
Definition: PMusr.h:426
virtual ~PRawRunData()
Definition: PMusr.cpp:577
TString fStopDate
stop date of the run
Definition: PMusr.h:503
Double_t fRRFFreq
RRF frequency given in units of (MHz, Mc, T)
Definition: PMusr.h:609
virtual void SetFitRange(Double_t dval, UInt_t idx)
Definition: PMusr.cpp:1068
PUIntVector runList
holds the run number list to be converted
Definition: PMusr.h:832
virtual Int_t GetBetaParamNo()
Definition: PMusr.h:645
PRawRunData()
Definition: PMusr.cpp:535
UInt_t fRRFUnit
RRF frequency unit. 0=kHz, 1=MHz, 2=Mc/s, 3=Gauss, 4=Tesla.
Definition: PMusr.h:793
virtual Int_t GetFirstGoodBin()
Definition: PMusr.h:327
virtual ~PRawRunDataSet()
Definition: PMusr.h:321
virtual void SetLaboratory(const TString &str)
Definition: PMusr.h:447
Bool_t fLifeTimeCorrection
needed for single histo. If yes, only the asymmetry is shown, otherweise the positron spectrum ...
Definition: PMusr.h:781
virtual void SetXDataIndex(Int_t ival)
Definition: PMusr.h:702
virtual void SetField(const Double_t dval)
Definition: PMusr.h:465
Int_t fFourierPower
i.e. zero padding up to 2^fFourierPower, default = 0 which means NO zero padding
Definition: PMusr.h:764
Int_t fBkgFitParamNo
background fit parameter number (fit type 0)
Definition: PMusr.h:718
virtual const TString * GetVersion()
Definition: PMusr.h:393
virtual PIntVector * GetMap()
Definition: PMusr.h:650
PIntVector fMapGlobal
here is stored if the maps used in the RUN block are global or not
Definition: PMusr.h:747
PDoublePairVector fTemp
measured temperatures and standard deviations during the run
Definition: PMusr.h:510
std::vector< PDoubleVector > fErrData
vector of all data errors
Definition: PMusr.h:311
virtual const TString * GetMagnetName()
Definition: PMusr.h:419
TString fGenerator
keeps the data file generator name
Definition: PMusr.h:485
virtual void SetLastBkgBin(Int_t lbb)
Definition: PMusr.h:341
virtual const PDoubleVector * GetDataBin(const UInt_t histoNo)
Definition: PMusr.h:438
Int_t fPacking
packing/rebinning
Definition: PMusr.h:620
virtual const UInt_t GetNoOfHistos()
Definition: PMusr.h:436
Double_t fPosError
positive error if present
Definition: PMusr.h:552
virtual Double_t GetDataTimeStart()
Definition: PMusr.h:242
UInt_t fNdf
number of degrees of freedom
Definition: PMusr.h:815
Int_t fNormParamNo
N0 parameter number (fit type 0)
Definition: PMusr.h:717
virtual UInt_t GetRunNameSize()
Definition: PMusr.h:635
TString fMuonSpecies
positive muon or negative muon
Definition: PMusr.h:492
virtual const Int_t GetRunNumber()
Definition: PMusr.h:407
PIntVector fForwardHistoNo
forward histogram number (fit type 0, 2, 4)
Definition: PMusr.h:722
PIntVector fRedGreenOffset
keeps the Red/Green offsets
Definition: PMusr.h:515
std::vector< TString > PStringVector
Definition: PMusr.h:214
virtual Int_t GetDataRange(UInt_t idx)
Definition: PMusr.cpp:1654
virtual void SetLastGoodBin(Int_t lgb)
Definition: PMusr.h:339
Bool_t fFitRangeInBins
flag telling if fit range is given in time or in bins
Definition: PMusr.h:730
virtual void AppendData(const PDoubleVector &data)
Definition: PMusr.h:301
virtual void AppendXTheoryValue(Double_t dval)
Definition: PMusr.h:261
TString fSpecificValidatorURL
keeps the instrument specific validator MusrRoot URL
Definition: PMusr.h:484
virtual const TString * GetRunTitle()
Definition: PMusr.h:408
Int_t fBkgRange[4]
background bin range (fit type 0, 2, 4)
Definition: PMusr.h:726
virtual void SetFromAscii(const Bool_t bval)
Definition: PMusr.h:296
std::string fString
Definition: PMusr.h:870
std::vector< PRawRunDataSet > fDataVec
Definition: PMusr.h:381
TString fRunTitle
run title
Definition: PMusr.h:497
virtual Double_t GetTimeZeroBin()
Definition: PMusr.h:325
virtual PRawRunDataSet * GetDataSet(const UInt_t idx, Bool_t wantHistoNo=true)
Definition: PMusr.cpp:663
PNonMusrRawRunData fDataNonMusr
keeps all ascii- or db-file info in case of nonMusr fit
Definition: PMusr.h:479
PDoubleVector fYmin
asymmetry/counts minimum
Definition: PMusr.h:789
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:493
Double_t fTimeResolution
time resolution of the run in (ns)
Definition: PMusr.h:514
virtual void SetBetaParamNo(Int_t ival)
Definition: PMusr.h:683
virtual const Double_t GetT0BinEstimated(const UInt_t histoNo)
Definition: PMusr.h:432
TString fName
keeps the histogram name.
Definition: PMusr.h:345
TString fStopTime
stop time of the run
Definition: PMusr.h:502
Double_t fPlotRange[2]
field/frequency plot range
Definition: PMusr.h:771
virtual const time_t GetStartDateTime()
Definition: PMusr.h:412
virtual const TString * GetFileName()
Definition: PMusr.h:398
PDoubleVector fYmax
asymmetry/counts maximum
Definition: PMusr.h:790
virtual void SetMuonSpecies(const TString &str)
Definition: PMusr.h:451
Double_t fRRFPhase
RRF phase.
Definition: PMusr.h:795
Int_t fNoOfParams
how many parameters are given
Definition: PMusr.h:546
std::vector< PIntPair > PIntPairVector
Definition: PMusr.h:190
virtual void SetDataRange(Int_t ival, Int_t idx)
Definition: PMusr.cpp:912
virtual void SetPacking(Int_t ival)
Definition: PMusr.h:605
virtual Int_t GetPacking()
Definition: PMusr.h:591
virtual Double_t GetFitRange(UInt_t idx)
Definition: PMusr.cpp:1051
TString fLaboratory
keeps the name of the laboratory, e.g. PSI, ISIS, TRIUMF, JPARC
Definition: PMusr.h:488
virtual void SetTimeResolution(const Double_t dval)
Definition: PMusr.h:475
TString fCryo
name of the cryo
Definition: PMusr.h:505
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:615
TString fDate
string holding fitting date and time
Definition: PMusr.h:811
virtual PIntPair GetGoodDataBin(UInt_t histoNo)
Definition: PMusr.cpp:488
UInt_t idf
IDF version for NeXus files.
Definition: PMusr.h:841
Double_t fMuonSpinAngle
gives the muon spin angle in degrees (reference frame depends on the instrument)
Definition: PMusr.h:494
PUIntVector fNdfPerHisto
number of degrees of freedom per histo
Definition: PMusr.h:818
virtual Double_t GetBkgEstimated(UInt_t idx)
Definition: PMusr.cpp:1531
virtual void SetTemperature(const UInt_t idx, const Double_t temp, const Double_t errTemp)
Definition: PMusr.cpp:698
virtual void ReplaceTheory(const PDoubleVector &theo)
Definition: PMusr.cpp:103
virtual Double_t GetDataTimeStep()
Definition: PMusr.h:243
PStringNumberList(char *str)
Definition: PMusr.h:862
Int_t fRRFPacking
RRF packing.
Definition: PMusr.h:612
virtual const TString * GetLaboratory()
Definition: PMusr.h:399
PUIntVector fList
Definition: PMusr.h:872
virtual const PIntVector GetRedGreenOffset()
Definition: PMusr.h:435
virtual void SetBkgFix(Double_t dval, Int_t idx)
Definition: PMusr.cpp:1589
Int_t fPacking
packing/rebinning
Definition: PMusr.h:734
TString outFormat
holds the information about the output data file format
Definition: PMusr.h:828
virtual void SetTransport(const Double_t dval)
Definition: PMusr.h:473
TString fSetup
description of the setup of this run
Definition: PMusr.h:498
Bool_t fPosErrorPresent
positive error is defined (as a number)
Definition: PMusr.h:551
virtual TString * GetRunName(UInt_t idx=0)
Definition: PMusr.cpp:1232
PStringVector fDataTags
vector of all data tags
Definition: PMusr.h:309
PStringVector inFileName
holds the file name of the input data file
Definition: PMusr.h:834
virtual Double_t GetFitRange(UInt_t idx)
Definition: PMusr.cpp:1811
virtual void SetFitType(Int_t ival)
Definition: PMusr.h:681
PStringNumberList(std::string str)
Definition: PMusr.h:863
std::pair< Int_t, Int_t > PIntPair
Definition: PMusr.h:184
PStringVector fRunName
name of the run file
Definition: PMusr.h:710
Definition: PMusr.h:220
virtual void SetTheoryValue(UInt_t i, Double_t dval)
Definition: PMusr.cpp:87
virtual void SetFirstBkgBin(Int_t fbb)
Definition: PMusr.h:340
virtual UInt_t GetBackwardHistoNoSize()
Definition: PMusr.h:654
Double_t fField
field in (G)
Definition: PMusr.h:227
TString runNameTemplate
Definition: PMusr.h:884
std::vector< Bool_t > PBoolVector
Definition: PMusr.h:166
std::vector< PRunNameTemplate > PRunNameTemplateList
Definition: PMusr.h:891
TString inTemplate
holds the input file template
Definition: PMusr.h:829
virtual const time_t GetStopDateTime()
Definition: PMusr.h:415