1 | #ifndef MARS_MHCalibrationChargeBlindCam
|
---|
2 | #define MARS_MHCalibrationChargeBlindCam
|
---|
3 |
|
---|
4 | #ifndef MARS_MHCalibrationCam
|
---|
5 | #include "MHCalibrationCam.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MRawEvtData;
|
---|
9 | class MCalibrationBlindPix;
|
---|
10 | class MHCalibrationChargeBlindPix;
|
---|
11 | class MHCalibrationChargeBlindCam : public MHCalibrationCam
|
---|
12 | {
|
---|
13 | private:
|
---|
14 |
|
---|
15 | static const Int_t fgNbins; //! Default for fNBins new style blind pixel (now set to: 128 )
|
---|
16 | static const Axis_t fgFirst; //! Default for fFirst new style blind pixel (now set to: - 0.5 )
|
---|
17 | static const Axis_t fgLast; //! Default for fLast new style blind pixel (now set to: 511.5 )
|
---|
18 |
|
---|
19 | static const Axis_t fgSPheCut; //! Default for fSinglePheCut new style blind pixel (now set to: 20)
|
---|
20 |
|
---|
21 | static const TString gsHistName; //! Default Histogram names
|
---|
22 | static const TString gsHistTitle; //! Default Histogram titles
|
---|
23 | static const TString gsHistXTitle; //! Default Histogram x-axis titles
|
---|
24 | static const TString gsHistYTitle; //! Default Histogram y-axis titles
|
---|
25 |
|
---|
26 | Axis_t fSPheCut; // Signal value upon which event considered as single-phe
|
---|
27 |
|
---|
28 | MRawEvtData *fRawEvt; //! Raw event data
|
---|
29 |
|
---|
30 | public:
|
---|
31 |
|
---|
32 | enum FitFunc_t { kEPoisson4, kEPoisson5,
|
---|
33 | kEPoisson6, kEPoisson7,
|
---|
34 | kEPolya, kEMichele }; // Possible fit functions types (see MHCalibrationChargeBlindPix)
|
---|
35 |
|
---|
36 | static const FitFunc_t fgFitFunc = kEPoisson4; //! Default for fFitFunc
|
---|
37 |
|
---|
38 | private:
|
---|
39 |
|
---|
40 | FitFunc_t fFitFunc; // The actual fit function type
|
---|
41 |
|
---|
42 | Bool_t SetupHists (const MParList *pList );
|
---|
43 | Bool_t ReInitHists ( MParList *pList );
|
---|
44 | Bool_t FillHists (const MParContainer *par, const Stat_t w=1 );
|
---|
45 | Bool_t FinalizeHists();
|
---|
46 |
|
---|
47 | void FitBlindPixel( MHCalibrationChargeBlindPix &hist, MCalibrationBlindPix &pix);
|
---|
48 |
|
---|
49 | Int_t ReadEnv ( const TEnv &env, TString prefix, Bool_t print);
|
---|
50 |
|
---|
51 | public:
|
---|
52 |
|
---|
53 | MHCalibrationChargeBlindCam(const char *name=NULL, const char *title=NULL);
|
---|
54 |
|
---|
55 | // Clone
|
---|
56 | TObject *Clone(const char *name="") const;
|
---|
57 |
|
---|
58 | // Draw
|
---|
59 | void Draw(Option_t *opt="");
|
---|
60 | void SetFitFunc( const FitFunc_t func=fgFitFunc) { fFitFunc = func; }
|
---|
61 | void SetSPheCut( const Axis_t a=fgSPheCut ) { fSPheCut = a; }
|
---|
62 |
|
---|
63 | ClassDef(MHCalibrationChargeBlindCam, 1) // Histogram class for Blind Pixel Calibration
|
---|
64 | };
|
---|
65 |
|
---|
66 | #endif
|
---|
67 |
|
---|
68 |
|
---|
69 |
|
---|
70 |
|
---|
71 |
|
---|
72 |
|
---|
73 |
|
---|
74 |
|
---|
75 |
|
---|