source: trunk/MagicSoft/Mars/manalysis/MPadONOFF.h@ 2762

Last change on this file since 2762 was 2663, checked in by wittek, 21 years ago
*** empty log message ***
File size: 3.2 KB
Line 
1#ifndef MARS_MPadONOFF
2#define MARS_MPadONOFF
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef MARS_MH
9#include "MH.h"
10#endif
11
12class TH1D;
13class TH2D;
14class TH3D;
15
16class MGeomCam;
17class MCerPhotEvt;
18class MPedestalCam;
19class MMcEvt;
20class MSigmabar;
21class MParList;
22class MBlindPixels;
23class MRead;
24class MFilterList;
25
26
27class MPadONOFF : public MTask
28{
29private:
30 MGeomCam *fCam;
31 MCerPhotEvt *fEvt;
32 MSigmabar *fSigmabar;
33 MMcEvt *fMcEvt;
34 MPedestalCam *fPed;
35 MBlindPixels *fBlinds;
36
37 TString fType; // type of data to be padded
38 TFile *fInfile; // input file containing padding histograms
39
40 Int_t fPadFlag;
41 Int_t fIter;
42
43 Int_t fErrors[9];
44 Int_t fWarnings[2];
45
46
47 // plots used for the padding
48 // for all plots it is assumed that the pedestal RMS is given in units of "number of photons"
49 TH2D *fHBlindPixIdTheta; // 2D-histogram (blind pixel Id vs. Theta)
50 TH2D *fHBlindPixNTheta; // 2D-histogram (no.of blind pixels vs. Theta)
51
52 TH2D *fHSigmaTheta; // 2D-histogram (sigmabar vs. Theta)
53 TH2D *fHSigmaThetaON; // 2D-histogram (sigmabar vs. Theta)
54 TH2D *fHSigmaThetaOFF; // 2D-histogram (sigmabar vs. Theta)
55
56 TH3D *fHSigmaPixTheta; // 3D-histogram (Theta, pixel, sigma)
57 TH3D *fHSigmaPixThetaON; // 3D-histogram (Theta, pixel, sigma)
58 TH3D *fHSigmaPixThetaOFF; // 3D-histogram (Theta, pixel, sigma)
59
60 TH3D *fHDiffPixTheta; // 3D-histogram (Theta, pixel, sigma^2-sigmabar^2)
61 TH3D *fHDiffPixThetaON; // 3D-histogram (Theta, pixel, sigma^2-sigmabar^2)
62 TH3D *fHDiffPixThetaOFF; // 3D-histogram (Theta, pixel, sigma^2-sigmabar^2)
63
64 TH3D *fHgON; // matrix (Theta, sigbarold, sigbarnew) for ON data
65 TH3D *fHgOFF; // matrix (Theta, sigbarold, sigbarnew) for OFF data
66
67 // plots for checking the padding
68 TH2D *fHSigmaPedestal; // 2D-histogram : pedestal sigma after
69 // versus before padding
70 TH2D *fHPhotons; // 2D-histogram : no.of photons after
71 // versus before padding
72 TH1D *fHNSB; // 1D-histogram : additional NSB
73
74
75public:
76 MPadONOFF(const char *name=NULL, const char *title=NULL);
77 ~MPadONOFF();
78
79 Bool_t MergeHistograms(TH2D *sigthon, TH2D *sigthoff,
80 TH3D *sigpixthon, TH3D *sigpixthoff,
81 TH3D *diffpixthon, TH3D *diffpixthoff,
82 TH2D *blindidthon, TH2D *blindidthoff,
83 TH2D *blindnthon, TH2D *blindnthoff);
84
85 Bool_t ReadTargetDist(const char *filein);
86 Bool_t WriteTargetDist(const char *fileout);
87
88 void SetDataType(const char *type); // type of data to be padded
89
90 Int_t PreProcess(MParList *pList);
91 Int_t Process();
92 Int_t PostProcess();
93
94 void SetPadFlag(Int_t padflag);
95
96 ClassDef(MPadONOFF, 0) // task for the ON-OFF padding
97};
98
99#endif
100
101
102
103
104
105
Note: See TracBrowser for help on using the repository browser.