source: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargePINDiode.h@ 3975

Last change on this file since 3975 was 3696, checked in by gaug, 21 years ago
*** empty log message ***
File size: 4.2 KB
Line 
1#ifndef MARS_MHCalibrationChargePINDiode
2#define MARS_MHCalibrationChargePINDiode
3
4
5#ifndef MARS_MHCalibrationChargePix
6#include "MHCalibrationChargePix.h"
7#endif
8
9class TH1F;
10class MExtractedSignalPINDiode;
11class MCalibrationChargePINDiode;
12class MHCalibrationChargePINDiode : public MHCalibrationChargePix
13{
14private:
15
16 static const Axis_t fgAbsTimeFirst; //! Default for fAbsTimeFirst (now set to: -0.5 )
17 static const Axis_t fgAbsTimeLast; //! Default for fAbsTimeLast (now set to: 29.5 )
18 static const Int_t fgAbsTimeNbins; //! Default for fAbsTimeNBins (now set to: 30 )
19 static const Int_t fgChargeNbins; //! Default for fNBins (now set to: 200 )
20 static const Axis_t fgChargeFirst; //! Default for fFirst (now set to: -0.5 )
21 static const Axis_t fgChargeLast; //! Default for fLast (now set to: 199.5 )
22 static const Int_t fgRmsChargeNbins; //! Default for fRmsChargeNBins (now set to: 100 )
23 static const Axis_t fgRmsChargeFirst; //! Default for fRmsChargeFirst (now set to: 0. )
24 static const Axis_t fgRmsChargeLast; //! Default for fRmsChargeLast (now set to: 100. )
25 static const Float_t fgTimeLowerLimit; //! Default for fTimeLowerLimit (now set to: 1.)
26 static const Float_t fgTimeUpperLimit; //! Default for fTimeUpperLimit (now set to: 2.)
27
28 MCalibrationChargePINDiode *fPINDiode; //! Storage container of the results
29 MExtractedSignalPINDiode *fSigPIN; //! Storage container of extracted signal
30
31 TH1F fHRmsCharge; // Histogram containing Variance of summed FADC slices
32
33 Axis_t fRmsChargeFirst; // Lower bound bin used for the fHRmsCharge
34 Axis_t fRmsChargeLast; // Upper bound bin used for the fHRmsCharge
35 Int_t fRmsChargeNbins; // Number of bins used for the fHRmsCharge
36 Float_t fRmsChargeMean; // Mean of the Gauss fit
37 Float_t fRmsChargeMeanErr; // Error of the mean of the Gauss fit
38 Float_t fRmsChargeSigma; // Sigma of the Gauss fit
39 Float_t fRmsChargeSigmaErr; // Error of the sigma of the Gauss fit
40 Float_t fTimeLowerLimit; // Limit dist. to first signal slice (units: FADC slices)
41 Float_t fTimeUpperLimit; // Limit dist. to last signal slice (units: FADC slices)
42
43public:
44
45 MHCalibrationChargePINDiode(const char *name=NULL, const char *title=NULL);
46 ~MHCalibrationChargePINDiode(){}
47
48 Bool_t SetupFill(const MParList *pList);
49 Bool_t ReInit ( MParList *pList);
50 Bool_t Fill (const MParContainer *par, const Stat_t w=1);
51 Bool_t Finalize ();
52
53 // Draw
54 void Draw(Option_t *opt="");
55
56 // Getters
57 TH1F *GetHRmsCharge() { return &fHRmsCharge; }
58 const TH1F *GetHRmsCharge() const { return &fHRmsCharge; }
59 Float_t GetRmsChargeMean() const { return fRmsChargeMean; }
60 Float_t GetRmsChargeMeanErr() const { return fRmsChargeMeanErr; }
61 Float_t GetRmsChargeSigma() const { return fRmsChargeSigma; }
62 Float_t GetRmsChargeSigmaErr() const { return fRmsChargeSigmaErr; }
63
64 // Fill histos
65 Bool_t FillRmsCharge(const Float_t q);
66
67 // Fits
68 Bool_t FitRmsCharge(Option_t *option="RQ0");
69
70 // Setters
71 void SetAbsTimeNbins ( const Int_t bins =fgAbsTimeNbins ) { fAbsTimeNbins = bins; }
72 void SetAbsTimeFirst ( const Axis_t first=fgAbsTimeFirst ) { fAbsTimeFirst = first; }
73 void SetAbsTimeLast ( const Axis_t last =fgAbsTimeLast ) { fAbsTimeLast = last; }
74 void SetRmsChargeNbins ( const Int_t bins =fgRmsChargeNbins ) { fRmsChargeNbins = bins; }
75 void SetRmsChargeFirst ( const Axis_t first=fgRmsChargeFirst ) { fRmsChargeFirst = first; }
76 void SetRmsChargeLast ( const Axis_t last =fgRmsChargeLast ) { fRmsChargeLast = last; }
77 void SetTimeLowerLimit ( const Float_t f=fgTimeLowerLimit ) { fTimeLowerLimit = f; }
78 void SetTimeUpperLimit ( const Float_t f=fgTimeUpperLimit ) { fTimeUpperLimit = f; }
79
80 ClassDef(MHCalibrationChargePINDiode, 1) // Histogram class for Charge PIN Diode Calibration
81};
82
83#endif
84
Note: See TracBrowser for help on using the repository browser.