| 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 |  | 
|---|
| 15 | class MFilter; | 
|---|
| 16 | class MEvtLoop; | 
|---|
| 17 | class MH3; | 
|---|
| 18 | class MCT1SupercutsCalc; | 
|---|
| 19 | class MGeomCam; | 
|---|
| 20 | class 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 |  | 
|---|
| 30 | class MCT1FindSupercuts : public MParContainer | 
|---|
| 31 | { | 
|---|
| 32 | private: | 
|---|
| 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 |  | 
|---|
| 75 | public: | 
|---|
| 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 ¶ms, 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 |  | 
|---|