| 1 | #ifndef MARS_MCalibrationBlindPix
|
|---|
| 2 | #define MARS_MCalibrationBlindPix
|
|---|
| 3 |
|
|---|
| 4 | #ifndef MARS_MHCalibrationBlindPixel
|
|---|
| 5 | #include "MHCalibrationBlindPixel.h"
|
|---|
| 6 | #endif
|
|---|
| 7 |
|
|---|
| 8 | #ifndef MARS_MH
|
|---|
| 9 | #include "MH.h"
|
|---|
| 10 | #endif
|
|---|
| 11 |
|
|---|
| 12 | class TH1I;
|
|---|
| 13 | class MCalibrationBlindPix : public MParContainer
|
|---|
| 14 | {
|
|---|
| 15 | private:
|
|---|
| 16 |
|
|---|
| 17 | MHCalibrationBlindPixel *fHist; // Pointer to the histograms performing the fits, etc.
|
|---|
| 18 |
|
|---|
| 19 | Float_t fLambda; // The mean charge after the fit
|
|---|
| 20 | Float_t fMu0; // The position of the pedestal-peak
|
|---|
| 21 | Float_t fMu1; // The position of the first phe-peak
|
|---|
| 22 | Float_t fSigma0; // The width of the pedestal-peak
|
|---|
| 23 | Float_t fSigma1; // The width of the first phe-peak
|
|---|
| 24 |
|
|---|
| 25 | Float_t fErrLambda; // The error of the mean charge after the fit
|
|---|
| 26 | Float_t fErrMu0; // The error of the position of the pedestal-peak
|
|---|
| 27 | Float_t fErrMu1; // The error of the position of the first phe-peak
|
|---|
| 28 | Float_t fErrSigma0; // The error of the width of the pedestal-peak
|
|---|
| 29 | Float_t fErrSigma1; // The error of the width of the first phe-peak
|
|---|
| 30 |
|
|---|
| 31 | Float_t fTime; // The mean arrival time after the fit
|
|---|
| 32 | Float_t fErrTime; // The error of the mean arrival time after the fit
|
|---|
| 33 |
|
|---|
| 34 | TH1I* fHSinglePheFADCSlices;
|
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 | public:
|
|---|
| 38 |
|
|---|
| 39 | MCalibrationBlindPix(const char *name=NULL, const char *title=NULL);
|
|---|
| 40 | ~MCalibrationBlindPix();
|
|---|
| 41 |
|
|---|
| 42 | void Clear(Option_t *o="");
|
|---|
| 43 |
|
|---|
| 44 | // Getters
|
|---|
| 45 | Float_t GetLambda() const { return fLambda; }
|
|---|
| 46 | Float_t GetMu0() const { return fMu0; }
|
|---|
| 47 | Float_t GetMu1() const { return fMu1; }
|
|---|
| 48 | Float_t GetSigma0() const { return fSigma0; }
|
|---|
| 49 | Float_t GetSigma1() const { return fSigma1; }
|
|---|
| 50 |
|
|---|
| 51 | Float_t GetErrLambda() const { return fErrLambda; }
|
|---|
| 52 | Float_t GetErrMu0() const { return fErrMu0; }
|
|---|
| 53 | Float_t GetErrMu1() const { return fErrMu1; }
|
|---|
| 54 | Float_t GetErrSigma0() const { return fErrSigma0; }
|
|---|
| 55 | Float_t GetErrSigma1() const { return fErrSigma1; }
|
|---|
| 56 |
|
|---|
| 57 | Float_t GetTime() const { return fTime; }
|
|---|
| 58 | Float_t GetErrTime() const { return fErrTime; }
|
|---|
| 59 |
|
|---|
| 60 | TH1I *GetSinglePheFADCSlices() { return fHSinglePheFADCSlices; }
|
|---|
| 61 |
|
|---|
| 62 | MHCalibrationBlindPixel *GetHist() const { return fHist; }
|
|---|
| 63 | MHCalibrationBlindPixel *GetHist() { return fHist; }
|
|---|
| 64 |
|
|---|
| 65 | Bool_t IsFitOK() const;
|
|---|
| 66 |
|
|---|
| 67 | // Fill histos
|
|---|
| 68 | Bool_t FillCharge(const Float_t q);
|
|---|
| 69 | Bool_t FillTime(const Float_t t);
|
|---|
| 70 | Bool_t FillGraphs(Float_t qhi,Float_t qlo) const { return fHist->FillGraphs(qhi,qlo); }
|
|---|
| 71 |
|
|---|
| 72 | // Fits
|
|---|
| 73 | Bool_t FitCharge();
|
|---|
| 74 | Bool_t FitTime();
|
|---|
| 75 | void ChangeFitFunc(MHCalibrationBlindPixel::FitFunc_t f) const { fHist->ChangeFitFunc(f); }
|
|---|
| 76 |
|
|---|
| 77 | // Draws
|
|---|
| 78 | void Draw(Option_t *opt="") { fHist->Draw(opt); }
|
|---|
| 79 | TObject *DrawClone(Option_t *opt="") const { return fHist->DrawClone(opt); }
|
|---|
| 80 |
|
|---|
| 81 | Bool_t CheckOscillations();
|
|---|
| 82 |
|
|---|
| 83 | ClassDef(MCalibrationBlindPix, 1) // Container for Calibration Blind Pixel
|
|---|
| 84 | };
|
|---|
| 85 |
|
|---|
| 86 | #endif
|
|---|
| 87 |
|
|---|