Changeset 2318 for trunk/MagicSoft/Mars
- Timestamp:
- 08/26/03 13:50:39 (21 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/manalysis/MCT1FindSupercuts.cc
r2310 r2318 38 38 39 39 #include <TFile.h> 40 #include <TArrayD.h> 40 41 #include <TMinuit.h> 41 42 #include <TCanvas.h> … … 117 118 // transfer current parameter values to MCT1Supercuts 118 119 // 119 super->SetParameters(TArrayD(npar, par)); 120 120 // Attention : npar is the number of variable parameters 121 // not the total number of parameters 122 // 123 Double_t fMin, fEdm, fErrdef; 124 Int_t fNpari, fNparx, fIstat; 125 gMinuit->mnstat(fMin, fEdm, fErrdef, fNpari, fNparx, fIstat); 126 127 super->SetParameters(TArrayD(fNparx, par)); 128 129 //$$$$$$$$$$$$$$$$$$$$$ 130 // for testing 131 //TArrayD checkparameters = super->GetParameters(); 132 //gLog << "fcnsupercuts : i, par, checkparameters =" << endl; 133 //for (Int_t i=0; i<fNparx; i++) 134 //{ 135 // gLog << i << ", " << par[i] << ", " << checkparameters[i] << endl; 136 //} 137 //$$$$$$$$$$$$$$$$$$$$$ 121 138 122 139 // … … 629 646 // 630 647 // - for the minimization, the starting values of the parameters are taken as 631 // MCT1Supercuts::GetParam s(fVinit)648 // MCT1Supercuts::GetParameters(fVinit) 632 649 // 633 650 //---------------------------------------------------------------------- … … 651 668 { 652 669 *fLog << "MCT1FindSupercuts::FindParams; training matrix is not defined... aborting" 670 << endl; 671 return kFALSE; 672 } 673 674 if (fMatrixTrain->GetM().GetNrows() <= 0) 675 { 676 *fLog << "MCT1FindSupercuts::FindParams; training matrix has no entries" 653 677 << endl; 654 678 return kFALSE; … … 737 761 // 738 762 739 // get initial values of parameters from MCT1Supercuts Calc763 // get initial values of parameters from MCT1Supercuts 740 764 fVinit = super.GetParameters(); 741 765 742 766 TString name[fVinit.GetSize()]; 743 744 for (Int_t i=0; i<fVinit.GetSize(); i++) 767 fStep.Set(fVinit.GetSize()); 768 fLimlo.Set(fVinit.GetSize()); 769 fLimup.Set(fVinit.GetSize()); 770 fFix.Set(fVinit.GetSize()); 771 772 fNpar = fVinit.GetSize(); 773 774 for (UInt_t i=0; i<fNpar; i++) 745 775 { 746 776 name[i] = "p"; 747 777 name[i] += i+1; 748 778 fStep[i] = TMath::Abs(fVinit[i]/10.0); 749 fLimlo[i] = -10 .0;750 fLimup[i] = 10 .0;779 fLimlo[i] = -100.0; 780 fLimup[i] = 100.0; 751 781 fFix[i] = 0; 782 783 // vary only first 48 parameters 784 if (i >= 48) 785 { 786 fStep[i] = 0.0; 787 fFix[i] = 1; 788 } 752 789 } 753 790 … … 757 794 TStopwatch clock; 758 795 clock.Start(); 796 797 *fLog << "before calling CallMinuit" << endl; 759 798 760 799 MMinuitInterface inter; … … 763 802 &evtloopfcn, "SIMPLEX", kFALSE); 764 803 804 *fLog << "after calling CallMinuit" << endl; 805 765 806 *fLog << "Time spent for the minimization in MINUIT : " << endl;; 766 807 clock.Stop(); … … 812 853 if (fMatrixTest->GetM().GetNrows() <= 0) 813 854 { 814 *fLog << "MCT1FindSupercuts::TestParams; test matrix is empty... aborting" << endl; 855 *fLog << "MCT1FindSupercuts::TestParams; test matrix has no entries" 856 << endl; 815 857 return kFALSE; 816 858 } -
trunk/MagicSoft/Mars/manalysis/MCT1Supercuts.cc
r2308 r2318 162 162 { 163 163 if (d.GetSize() != fParameters.GetSize()) 164 // *fLog << err << ... 164 { 165 *fLog << err << "Sizes of d and of fParameters are different : " 166 << d.GetSize() << ", " << fParameters.GetSize() << endl; 165 167 return kFALSE; 168 } 166 169 167 170 fParameters = d; 171 168 172 return kTRUE; 169 173 } 174 175 176 177 178 179 180 181 182 183 184 185 -
trunk/MagicSoft/Mars/manalysis/MMinuitInterface.cc
r2313 r2318 89 89 //.............................................. 90 90 // Set the maximum number of parameters 91 TMinuit *const save = gMinuit;91 //TMinuit *const save = gMinuit; 92 92 93 93 TMinuit &minuit = *new TMinuit(vinit.GetSize()); … … 284 284 minuit.mnexcm("CALL", &iflag, 1, errfcn3); 285 285 286 delete &minuit; 287 gMinuit = save; 286 // WW : the following statements were commented out because the 287 // Minuit object will still be used; 288 // this may be changed in the future 289 //delete &minuit; 290 //gMinuit = save; 288 291 289 292 return kTRUE; -
trunk/MagicSoft/Mars/mhist/MHFindSignificance.cc
r2311 r2318 68 68 #include <TMinuit.h> 69 69 #include <TPaveText.h> 70 #include <TStyle.h> 70 71 71 72 #include "MLog.h" … … 297 298 delete fGPoly; 298 299 delete fGBackg; 299 delete fCanvas;300 //delete fCanvas; 300 301 } 301 302 … … 348 349 Bool_t drawpoly, Bool_t fitgauss, Bool_t print) 349 350 { 350 *fLog << "MHFindSignificance::FindSigma;" << endl;351 //*fLog << "MHFindSignificance::FindSigma;" << endl; 351 352 352 353 fHistOrig = fhist; … … 503 504 fHist = (TH1*)fHistOrig->Clone("|alpha| plot"); 504 505 fHist->Sumw2(); 505 fHist->SetNameTitle(" Alpha", "alpha plot");506 fHist->SetNameTitle("alpha", "alpha plot"); 506 507 fHist->SetXTitle("|alpha| [\\circ]"); 507 508 fHist->SetYTitle("Counts"); … … 545 546 continue; 546 547 } 547 548 549 *fLog << "before SigmaLiMa : fNon, fNoff, fGamma = " << fNon << ", "550 << fNoff << ", " << fGamma << endl;551 548 552 549 Double_t siglima = 0.0; … … 570 567 571 568 gROOT->SetSelectedPad(NULL); 569 gStyle->SetPadLeftMargin(0.05); 572 570 573 571 ccc->cd(); … … 920 918 kFALSE); 921 919 920 *fLog << "FitPolynomial : after CallMinuit()" << endl; 921 922 922 if (rc != 0) 923 923 { … … 939 939 gMinuit->mnstat(fmin, fedm, errdef, npari, nparx, fIstat); 940 940 941 //*fLog << "MHFindSignificance::FitPolynomial; fmin, fedm, errdef, npari, nparx, fIstat = "942 //<< fmin << ", " << fedm << ", " << errdef << ", " << npari943 //<< ", " << nparx << ", " << fIstat << endl;941 *fLog << "MHFindSignificance::FitPolynomial; fmin, fedm, errdef, npari, nparx, fIstat = " 942 << fmin << ", " << fedm << ", " << errdef << ", " << npari 943 << ", " << nparx << ", " << fIstat << endl; 944 944 945 945 … … 969 969 fErrors[j] = err; 970 970 } 971 971 972 972 973 //-------------------------------------------------- … … 1068 1069 for (Int_t i=1; i<=nbins; i++) 1069 1070 fHist->SetBinError(i, saveError[i-1]); 1071 1070 1072 1071 1073 return kTRUE; … … 1262 1264 TString formulaBackg = "[0]"; 1263 1265 for (Int_t i=1; i<=fDegree; i++) 1264 formulaBackg += Form("+[%d]^%d", i, i); 1265 1266 const TString formulaGauss = Form("[%d]/[%d]*exp(-0.5*((x-[%d])/[%d])^2)", 1267 fDegree+1, fDegree+3, fDegree+2, fDegree+3); 1266 formulaBackg += Form("+[%d]*x^%d", i, i); 1267 1268 const TString formulaGauss = 1269 Form("[%d]/[%d]*exp(-0.5*((x-[%d])/[%d])^2)", 1270 fDegree+1, fDegree+3, fDegree+2, fDegree+3); 1268 1271 1269 1272 TString formula = formulaBackg; … … 1723 1726 Bool_t MHFindSignificance::DrawFit(const Option_t *opt) 1724 1727 { 1725 *fLog << "entry DrawFit" << endl;1726 1727 1728 if (fHist == NULL) 1728 1729 *fLog << "MHFindSignificance::DrawFit; fHist = NULL" << endl; … … 1733 1734 1734 1735 //gStyle->SetOptFit(1011); 1736 1735 1737 gROOT->SetSelectedPad(NULL); 1738 gStyle->SetPadLeftMargin(0.1); 1736 1739 1737 1740 fCanvas->cd(); 1741 1738 1742 1739 1743 if (fHist) … … 1784 1788 } 1785 1789 1786 *fLog << "DrawFit : before text" << endl;1787 1790 1788 1791 //------------------------------- … … 1864 1867 pt->SetTextAlign(12); 1865 1868 1866 *fLog << "DrawFit : before pt->Draw()" << endl;1867 1868 1869 pt->Draw(); 1869 1870 1870 1871 fCanvas->Modified(); 1871 1872 fCanvas->Update(); 1872 1873 *fLog << "exit DrawFit" << endl;1874 1873 1875 1874 return kTRUE;
Note:
See TracChangeset
for help on using the changeset viewer.