source: trunk/MagicSoft/Mars/mcalib/MCalibrationChargePix.h@ 3956

Last change on this file since 3956 was 3724, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.3 KB
Line 
1#ifndef MARS_MCalibrationChargePix
2#define MARS_MCalibrationChargePix
3
4#ifndef MARS_MCalibrationPix
5#include "MCalibrationPix.h"
6#endif
7
8class MCalibrationChargePix : public MCalibrationPix
9{
10private:
11
12 static const Float_t gkElectronicPedRms; //! Electronic component of ped. RMS (now set to: 1.5)
13 static const Float_t gkElectronicPedRmsErr; //! Error Electr. component ped. RMS (now set to: 0.3)
14 static const Float_t gkFFactor; //! Laboratory F-factor PMTs (now set to: 1.15)
15 static const Float_t gkFFactorErr; //! Laboratory F-factor Error PMTs (now set to: 0.02)
16
17 static const Float_t fgConversionHiLo; //! Default fConversionHiLo (now set to: 10.)
18 static const Float_t fgConversionHiLoErr; //! Default fConversionHiLoVar (now set to: 2.5)
19 static const Float_t fgPheFFactorMethodLimit; //! Default fPheFFactorMethodLimit (now set to: 5.)
20 static const Float_t fgConvFFactorRelErrLimit; //! Default fConvFFactorRelErrLimit (now set to: 0.35)
21
22 Float_t fAbsTimeMean; // Mean Absolute Arrival Time
23 Float_t fAbsTimeRms; // RMS Mean Absolute Arrival Time
24 Byte_t fCalibFlags; // Bit-field for the class-own bits
25 Float_t fConversionHiLo; // Conversion factor betw. Hi Gain and Lo Gain
26 Float_t fConversionHiLoVar; // Variance Conversion factor betw. Hi and Lo Gain
27 Float_t fConvFFactorRelVarLimit; // Limit for acceptance rel. variance Conversion FADC2Phe
28 Float_t fLoGainPedRmsSquare; // Pedestal RMS square of Low Gain
29 Float_t fLoGainPedRmsSquareVar; // Pedestal RMS square Variance of Low Gain
30 Float_t fMeanConvFADC2Phe; // Conversion factor (F-factor method)
31 Float_t fMeanConvFADC2PheVar; // Variance conversion factor (F-factor method)
32 Float_t fMeanFFactorFADC2Phot; // Total mean F-Factor to photons (F-factor method)
33 Float_t fMeanFFactorFADC2PhotVar; // Variance mean F-Factor photons (F-factor method)
34 Float_t fPed; // Pedestal (from MPedestalPix) times number FADC slices
35 Float_t fPedVar; // Variance of pedestal
36 Float_t fPedRms; // Pedestal RMS (from MPedestalPix) times sqrt nr. FADC slices
37 Float_t fPheFFactorMethod; // Number Phe's calculated (F-factor method)
38 Float_t fPheFFactorMethodVar; // Variance number of Phe's (F-factor method)
39 Float_t fPheFFactorMethodLimit; // Min. number Photo-electrons for pix to be accepted.
40 Float_t fRSigmaSquare; // Square of Reduced sigma
41 Float_t fRSigmaSquareVar; // Variance Reduced sigma
42
43 enum { kFFactorMethodValid }; // Possible bits to be set
44
45 const Float_t GetConversionHiLoRelVar() const;
46 const Float_t GetFFactorRelVar() const;
47
48public:
49
50 MCalibrationChargePix(const char *name=NULL, const char *title=NULL);
51 ~MCalibrationChargePix() {}
52
53 void Clear(Option_t *o="");
54
55 // Setter
56 void SetAbsTimeMean ( const Float_t f ) { fAbsTimeMean = f; }
57 void SetAbsTimeRms ( const Float_t f ) { fAbsTimeRms = f; }
58 void SetConversionHiLo ( const Float_t c=fgConversionHiLo ) { fConversionHiLo = c; }
59 void SetConversionHiLoErr ( const Float_t e=fgConversionHiLoErr ) { fConversionHiLoVar = e*e; }
60 void SetConvFFactorRelErrLimit ( const Float_t f=fgConvFFactorRelErrLimit) { fConvFFactorRelVarLimit = f*f;}
61 void SetFFactorMethodValid ( const Bool_t b = kTRUE );
62 void SetMeanConvFADC2Phe ( const Float_t f) { fMeanConvFADC2Phe = f; }
63 void SetMeanConvFADC2PheVar ( const Float_t f) { fMeanConvFADC2PheVar = f; }
64 void SetMeanFFactorFADC2Phot ( const Float_t f) { fMeanFFactorFADC2Phot = f; }
65 void SetPedestal ( const Float_t ped, const Float_t pedrms, const Float_t pederr);
66 void SetPheFFactorMethod ( const Float_t f) { fPheFFactorMethod = f; }
67 void SetPheFFactorMethodVar ( const Float_t f) { fPheFFactorMethodVar = f; }
68 void SetPheFFactorMethodLimit ( const Float_t f=fgPheFFactorMethodLimit ) { fPheFFactorMethodLimit = f; }
69
70 // Getters
71 Float_t GetAbsTimeMean () const { return fAbsTimeMean; }
72 Float_t GetAbsTimeRms () const { return fAbsTimeRms; }
73 Float_t GetConversionHiLo () const { return fConversionHiLo; }
74 Float_t GetConversionHiLoErr () const;
75 Float_t GetConvertedLoGainMean () const;
76 Float_t GetConvertedLoGainMeanErr () const;
77 Float_t GetConvertedLoGainSigma () const;
78 Float_t GetConvertedLoGainSigmaErr () const;
79 Float_t GetMeanConvFADC2Phe () const { return fMeanConvFADC2Phe; }
80 Float_t GetMeanConvFADC2PheErr () const;
81 Float_t GetMeanConvFADC2PheVar () const { return fMeanConvFADC2PheVar; }
82 Float_t GetMeanFFactorFADC2Phot () const { return fMeanFFactorFADC2Phot; }
83 Float_t GetMeanFFactorFADC2PhotErr () const;
84 Float_t GetMeanFFactorFADC2PhotVar () const { return fMeanFFactorFADC2PhotVar; }
85 Float_t GetPed () const { return fPed; }
86 Float_t GetPedErr () const;
87 Float_t GetPedRms () const;
88 Float_t GetPedRmsErr () const;
89 Float_t GetPheFFactorMethod () const { return fPheFFactorMethod; }
90 Float_t GetPheFFactorMethodErr () const;
91 Float_t GetPheFFactorMethodVar () const { return fPheFFactorMethodVar; }
92 Float_t GetPheFFactorMethodRelVar () const;
93 Float_t GetRSigma () const;
94 Float_t GetRSigmaErr () const;
95 Float_t GetRSigmaPerCharge () const;
96 Float_t GetRSigmaPerChargeErr () const;
97 Float_t GetRSigmaSquare () const;
98 Float_t GetRSigmaRelVar () const;
99
100 Bool_t IsFFactorMethodValid () const;
101
102 // Calculations
103 void CalcLoGainPedestal ( const Float_t logainsamples );
104 Bool_t CalcReducedSigma ();
105 Bool_t CalcFFactorMethod ();
106 Bool_t CalcMeanFFactor ( const Float_t nphotons, const Float_t nphotonsrelvar );
107
108 ClassDef(MCalibrationChargePix, 1) // Container Charge Calibration Results Pixel
109};
110
111#endif
112
Note: See TracBrowser for help on using the repository browser.