1 | #include "TString.h"
|
---|
2 | #include "TChain.h"
|
---|
3 | #include "TFile.h"
|
---|
4 | #include "TH1F.h"
|
---|
5 | #include "TMatrix.h"
|
---|
6 |
|
---|
7 | #include "MParList.h"
|
---|
8 | #include "MTaskList.h"
|
---|
9 | #include "MReadTree.h"
|
---|
10 | #include "MHMatrix.h"
|
---|
11 | #include "MFillH.h"
|
---|
12 | #include "MEvtLoop.h"
|
---|
13 |
|
---|
14 | //--------------------------------------------------------------------------------------
|
---|
15 | // MAIN INPUT/OUTPUT
|
---|
16 |
|
---|
17 | #include "IOMkn421.h"
|
---|
18 | //--------------------------------------------------------------------------------------
|
---|
19 |
|
---|
20 | void Convert2Matrix()
|
---|
21 | {
|
---|
22 | //------------------------------------------------------
|
---|
23 | // ON + OFF data to be filled into matrix
|
---|
24 |
|
---|
25 | MReadTree readOn("Events", fileOptOn);
|
---|
26 | MReadTree readOff("Events", fileOptOff);
|
---|
27 |
|
---|
28 | const Int_t nent=readOn.GetEntries();
|
---|
29 |
|
---|
30 | //------------------------------------------------------
|
---|
31 |
|
---|
32 | // process On data
|
---|
33 | MParList plistOn;
|
---|
34 | MTaskList tlistOn;
|
---|
35 | plistOn.AddToList(&tlistOn);
|
---|
36 |
|
---|
37 | readOn.DisableAutoScheme();
|
---|
38 |
|
---|
39 | TString sdist = Form("MHillasSrc.fDist*%f",mm2deg);
|
---|
40 |
|
---|
41 | MHMatrix matOn("Matrix");
|
---|
42 | matOn.AddColumn("MHillas.fSize"); // 0
|
---|
43 | matOn.AddColumn(sdist.Data()); // 1
|
---|
44 | matOn.AddColumn("MHillas.fWidth"); // 2
|
---|
45 | matOn.AddColumn("MHillas.fLength");// 3
|
---|
46 | matOn.AddColumn("MHillasSrc.fAlpha");
|
---|
47 | plistOn.AddToList(&matOn);
|
---|
48 | MFillH fillOn("Matrix");
|
---|
49 |
|
---|
50 | tlistOn.AddToList(&readOn);
|
---|
51 | tlistOn.AddToList(&fillOn);
|
---|
52 |
|
---|
53 | MEvtLoop evtloopOn;
|
---|
54 | evtloopOn.SetParList(&plistOn);
|
---|
55 |
|
---|
56 | if (!evtloopOn.Eventloop(0.5*nent))
|
---|
57 | return;
|
---|
58 |
|
---|
59 | tlistOn.PrintStatistics();
|
---|
60 |
|
---|
61 | TFile fileOn2(fileMatOn.Data(),"recreate","");
|
---|
62 | matOn.Write();
|
---|
63 | fileOn2.Close();
|
---|
64 |
|
---|
65 |
|
---|
66 | // process Off data
|
---|
67 |
|
---|
68 | MParList plistOff;
|
---|
69 | MTaskList tlistOff;
|
---|
70 | plistOff.AddToList(&tlistOff);
|
---|
71 |
|
---|
72 | readOff.DisableAutoScheme();
|
---|
73 |
|
---|
74 | MHMatrix matOff("Matrix");
|
---|
75 | matOff.AddColumns(matOn.GetColumns());
|
---|
76 | plistOff.AddToList(&matOff);
|
---|
77 | MFillH fillOff("Matrix");
|
---|
78 |
|
---|
79 | tlistOff.AddToList(&readOff);
|
---|
80 | tlistOff.AddToList(&fillOff);
|
---|
81 |
|
---|
82 | MEvtLoop evtloopOff;
|
---|
83 | evtloopOff.SetParList(&plistOff);
|
---|
84 |
|
---|
85 | if (!evtloopOff.Eventloop())
|
---|
86 | return;
|
---|
87 |
|
---|
88 | tlistOff.PrintStatistics();
|
---|
89 |
|
---|
90 | TFile fileOff2(fileMatOff.Data(),"recreate","");
|
---|
91 | matOff.Write();
|
---|
92 | fileOff2.Close();
|
---|
93 | } |
---|