source: trunk/MagicSoft/Mars/mtemp/mucm/classes/MMyFindSuperCuts.h@ 6976

Last change on this file since 6976 was 6310, checked in by marcos, 20 years ago
*** empty log message ***
File size: 3.1 KB
Line 
1#ifndef MARS_MMyFindSuperCuts
2#define MARS_MMyFindSuperCuts
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 MMySuperCutsCalc;
19class MGeomCam;
20class MHMatrix;
21/*
22#include "MFilter.h"
23#include "MEvtLoop.h"
24#include "MH3.h"
25#include "MMySuperCutsCalc.h"
26#include "MGeomCam.h"
27#include "MHMatrix.h"
28*/
29
30class MMyFindSuperCuts : 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 MMySuperCutsCalc *fCalcHadTrain;
47 MMySuperCutsCalc *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 Float_t fSizeCutLow;
77 Float_t fSizeCutUp;
78
79 Int_t fOptimizationMode;
80
81public:
82
83 MMyFindSuperCuts(const char *name=NULL, const char *title=NULL);
84 ~MMyFindSuperCuts();
85
86 void SetSizeCutLow(Float_t size) {fSizeCutLow = size;}
87 void SetSizeCuts(Float_t sizeLow, Float_t sizeUp)
88 {
89 fSizeCutLow = sizeLow;
90 fSizeCutUp = sizeUp;
91 }
92
93
94
95 void SetFilenameTraining(const TString &name, const Int_t howmany)
96 {fFilenameTrain = name; fHowManyTrain = howmany; }
97
98 void SetFilenameTest(const TString &name, const Int_t howmany)
99 {fFilenameTest = name; fHowManyTest = howmany; }
100
101 void SetFilenameParam(const TString &name) {fFilenameParam = name;}
102 void SetHadronnessName(const TString &name) {fHadronnessName = name;}
103
104 void SetMatrixFilter(MFilter *filter) {fMatrixFilter = filter;}
105
106 Bool_t DefineTrainMatrix(const TString &name, MH3 &href,
107 const Int_t howmany, const TString &filetrain);
108
109 Bool_t DefineTestMatrix(const TString &name, MH3 &href,
110 const Int_t howmany, const TString &filetest);
111
112 Bool_t DefineTrainTestMatrix(const TString &name, MH3 &href,
113 const Int_t howmanytrain, const Int_t howmanytest,
114 const TString &filetrain, const TString &filetest);
115
116 MHMatrix *GetMatrixTrain() { return fMatrixTrain; }
117 MHMatrix *GetMatrixTest() { return fMatrixTest; }
118
119 Bool_t ReadMatrix( const TString &filetrain, const TString &filetest);
120
121 Bool_t FindParams(TString parSCinit, TArrayD &params, TArrayD &steps);
122 Bool_t TestParams();
123
124
125 void SetOptimizationMode(Int_t mode ) { fOptimizationMode=mode; }
126
127 ClassDef(MMyFindSuperCuts, 1) // Class for optimization of the Supercuts
128};
129
130#endif
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Note: See TracBrowser for help on using the repository browser.