Changeset 8643 for trunk/MagicSoft/Mars/mjoptim
- Timestamp:
- 07/19/07 19:59:27 (18 years ago)
- Location:
- trunk/MagicSoft/Mars/mjoptim
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mjoptim/MJOptimize.cc
r8244 r8643 111 111 #include "MMatrixLoop.h" 112 112 #include "MFillH.h" 113 #include "MParameterCalc.h" 114 #include "MContinue.h" 113 115 114 116 // filters … … 225 227 } 226 228 227 MJOptimize::MJOptimize() : fDebug(-1),fNumEvents(0), fType(kSimplex), fNumMaxCalls(0), fTolerance(0), fTestTrain(0), fNameMinimizationValue("MinimizationValue")229 MJOptimize::MJOptimize() : /*fDebug(-1),*/ fNumEvents(0), fType(kSimplex), fNumMaxCalls(0), fTolerance(0), fTestTrain(0), fNameMinimizationValue("MinimizationValue") 228 230 { 229 231 fRules.SetOwner(); … … 287 289 } 288 290 289 //------------------------------------------------------------------------290 //291 // Add a parameter used in your filters (see AddFilter) The parameter292 // index is returned,293 //294 // Int_t idx = AddParameter("log10(MHillas.fSize)");295 //296 // The indices area starting with 0 always.297 //298 Int_t MJOptimize::AddParameter(const char *rule)299 {300 fRules.Add(new TNamed(rule, ""));301 return fRules.GetSize()-1;302 }303 291 304 292 //------------------------------------------------------------------------ … … 319 307 { 320 308 fFilter.Add(new MFDataPhrase(rule)); 321 }322 323 //------------------------------------------------------------------------324 //325 // Add a cut which is used to fill the matrix, eg "MMcEvt.fOartId<1.5"326 // (The rule is applied, nit inverted: The matrix is filled with327 // the events fullfilling the condition)328 //329 void MJOptimize::AddPreCut(const char *rule)330 {331 MFilter *f = new MFDataPhrase(rule);332 f->SetBit(kCanDelete);333 AddPreCut(f);334 }335 336 //------------------------------------------------------------------------337 //338 // Add a cut which is used to fill the matrix. If kCanDelete is set339 // MJOptimize takes the ownership.340 //341 void MJOptimize::AddPreCut(MFilter *f)342 {343 fPreCuts.Add(f);344 309 } 345 310 … … 739 704 m->Print("cols"); 740 705 741 //MParList parlist;742 743 706 // MGeomCamMagic cam; 744 707 // parlist.AddToList(&cam); 745 708 746 MTaskList tlist; 747 parlist.Replace(&tlist); 748 749 MFillH fillh(m); 750 751 tlist.AddToList(&read); 752 709 // Setup filter and apply filter to filling of matrix 753 710 MFilterList list; 754 711 if (!list.AddToList(fPreCuts)) … … 757 714 SetupFilters(list); 758 715 list.SetName("PreCuts"); // reset Name set by SetupFilters 759 list.SetInverted(kFALSE); // reset inversion set by SetupFilters 760 fillh.SetFilter(&list); 761 tlist.AddToList(&list); 762 763 tlist.AddToList(&fillh); 716 list.SetInverted(kTRUE); // reset inversion set by SetupFilters 717 718 MContinue cont(&list); 719 720 // Setup filling of matrix 721 MFillH fillh(m); 722 723 // Setup tasklist 724 MTaskList tlist; 725 parlist.Replace(&tlist); 726 727 // Create task list 728 tlist.AddToList(&read); // read data 729 tlist.AddToList(fPreTasks); // execute pre-filter tasks 730 tlist.AddToList(&cont); // execute filters 731 tlist.AddToList(fPostTasks); // execute post-filter tasks 732 tlist.AddToList(&fillh); // Fill matrix 764 733 765 734 tlist.SetAccelerator(MTask::kAccDontReset|MTask::kAccDontTime); -
trunk/MagicSoft/Mars/mjoptim/MJOptimize.h
r7152 r8643 2 2 #define MARS_MJOptimize 3 3 4 #ifndef MARS_MJ ob5 #include "MJ ob.h"4 #ifndef MARS_MJOptimizeBase 5 #include "MJOptimizeBase.h" 6 6 #endif 7 7 … … 14 14 class MAlphaFitter; 15 15 16 class MTask; 16 17 class MEvtLoop; 17 18 class MParList; … … 26 27 class MReadTree; 27 28 28 class MJOptimize : public MJ ob29 class MJOptimize : public MJOptimizeBase 29 30 { 30 31 public: … … 41 42 42 43 private: 43 Int_t fDebug; // -1 no output, 0 MJOptimize output, 1 PrintStatistics output44 44 Int_t fNumEvents; 45 45 46 TList fRules;47 46 TList fFilter; 48 47 … … 78 77 79 78 protected: 80 TList fPreCuts;81 82 79 TList fNamesOn; 83 80 TList fNamesOff; … … 100 97 101 98 // Interface for filter cuts 102 Int_t AddParameter(const char *rule);103 99 void AddFilter(const char *rule); 104 void AddPreCut(const char *rule);105 void AddPreCut(MFilter *f);106 100 107 101 // Steering of optimization -
trunk/MagicSoft/Mars/mjoptim/Makefile
r7152 r8643 29 29 # mgeom: MGeomCam 30 30 31 SRCFILES = MJOptimize.cc \ 31 SRCFILES = MJOptimizeBase.cc \ 32 MJOptimize.cc \ 32 33 MJOptimizeCuts.cc \ 33 34 MJOptimizeDisp.cc \ -
trunk/MagicSoft/Mars/mjoptim/OptimLinkDef.h
r7152 r8643 6 6 7 7 #pragma link C++ class MJOptimize+; 8 #pragma link C++ class MJOptimizeBase+; 8 9 #pragma link C++ class MJOptimizeCuts+; 9 10 #pragma link C++ class MJOptimizeDisp+;
Note:
See TracChangeset
for help on using the changeset viewer.