source: branches/Corsika7500Compatibility/manalysisct1/MCT1FindSupercuts.h@ 19355

Last change on this file since 19355 was 4457, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.7 KB
Line 
1#ifndef MARS_MCT1FindSupercuts
2#define MARS_MCT1FindSupercuts
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8#ifndef ROOT_TArrayD
9#include <TArrayD.h>
10#endif
11#ifndef ROOT_TArrayI
12#include <TArrayI.h>
13#endif
14
15class MFilter;
16class MEvtLoop;
17class MH3;
18class MCT1SupercutsCalc;
19class MGeomCam;
20class MHMatrix;
21/*
22#include "MFilter.h"
23#include "MEvtLoop.h"
24#include "MH3.h"
25#include "MCT1SupercutsCalc.h"
26#include "MGeomCam.h"
27#include "MHMatrix.h"
28*/
29
30class MCT1FindSupercuts : public MParContainer
31{
32private:
33
34 TString fFilenameTrain;
35 TString fFilenameTest;
36
37 Int_t fHowManyTrain;
38 Int_t fHowManyTest;
39
40 TString fFilenameParam;
41
42 TString fHadronnessName;
43
44 MCT1SupercutsCalc *fCalcHadTrain;
45 MCT1SupercutsCalc *fCalcHadTest;
46
47 MHMatrix *fMatrixTrain;
48 MHMatrix *fMatrixTest;
49 MGeomCam *fCam;
50
51 MEvtLoop *fObjectFit;
52
53 MFilter *fMatrixFilter;
54
55 // to comunicate with MINUIT -----------------
56 // attention : dimensions must agree with those in
57 // MMinuitInterface::CallMinuit()
58 //char fParName [80][100];
59 TArrayD fVinit;
60 TArrayD fStep;
61 TArrayD fLimlo;
62 TArrayD fLimup;
63 TArrayI fFix;
64
65 UInt_t fNpar;
66
67 TString fMethod;
68
69 Double_t fMin, fEdm, fErrdef;
70 Int_t fNpari, fNparx, fIstat;
71 Int_t fErrMinimize;
72 //--------------------------------------------
73
74
75public:
76 MCT1FindSupercuts(const char *name=NULL, const char *title=NULL);
77 ~MCT1FindSupercuts();
78
79 void SetFilenameTraining(const TString &name, const Int_t howmany)
80 {fFilenameTrain = name; fHowManyTrain = howmany; }
81
82 void SetFilenameTest(const TString &name, const Int_t howmany)
83 {fFilenameTest = name; fHowManyTest = howmany; }
84
85 void SetFilenameParam(const TString &name) {fFilenameParam = name;}
86 void SetHadronnessName(const TString &name) {fHadronnessName = name;}
87
88 void SetMatrixFilter(MFilter *filter) {fMatrixFilter = filter;}
89
90 Bool_t DefineTrainMatrix(const TString &name, MH3 &href,
91 const Int_t howmany, const TString &filetrain);
92
93 Bool_t DefineTestMatrix(const TString &name, MH3 &href,
94 const Int_t howmany, const TString &filetest);
95
96 Bool_t DefineTrainTestMatrix(const TString &name, MH3 &href,
97 const Int_t howmanytrain, const Int_t howmanytest,
98 const TString &filetrain, const TString &filetest);
99
100 MHMatrix *GetMatrixTrain() { return fMatrixTrain; }
101 MHMatrix *GetMatrixTest() { return fMatrixTest; }
102
103 Bool_t ReadMatrix( const TString &filetrain, const TString &filetest);
104
105 Bool_t FindParams(TString parSCinit, TArrayD &params, TArrayD &steps);
106 Bool_t TestParams();
107
108 ClassDef(MCT1FindSupercuts, 1) // Class for optimization of the Supercuts
109};
110
111#endif
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Note: See TracBrowser for help on using the repository browser.