source: trunk/MagicSoft/Mars/manalysis/MFindSupercuts.h@ 2903

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