Changeset 7664 for trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc
- Timestamp:
- 04/30/06 14:15:49 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc
r7654 r7664 86 86 g.SetMarkerColor(kGreen); 87 87 88 TH2D res1(g); 89 TH2D res2(g); 90 91 res1.SetTitle("Significance Li/Ma"); 92 res2.SetTitle("Significance Li/Ma * log_{10}(excess)"); 93 88 94 const Int_t nx = h.GetNbinsX(); 89 95 const Int_t ny = h.GetNbinsY(); … … 106 112 const Float_t s = gx->Integral(1, y+1); 107 113 const Float_t b = hx->Integral(1, y+1); 108 const Float_t sig1 = MMath::SignificanceLiMa (s+b, b);109 const Float_t sig2 = s<1 ? 0 : MMath::SignificanceLiMa (s+b, b)*TMath::Log10(s);114 const Float_t sig1 = MMath::SignificanceLiMaSigned(s+b, b); 115 const Float_t sig2 = s<1 ? 0 : MMath::SignificanceLiMaSigned(s+b, b)*TMath::Log10(s); 110 116 if (sig1>max1) 111 117 { … … 118 124 max2 = sig2; 119 125 } 126 127 res1.SetBinContent(x+1, y+1, sig1); 128 res2.SetBinContent(x+1, y+1, sig2); 120 129 } 121 130 … … 127 136 } 128 137 129 fDisplay->AddTab("OptCut"); 138 TCanvas &c = fDisplay->AddTab("OptCut"); 139 c.Divide(2,2); 140 141 c.cd(1); 130 142 gPad->SetLogx(); 131 143 h.DrawCopy(); … … 136 148 gr2.SetMarkerStyle(kFullDotMedium); 137 149 gr2.DrawClone("LP")->SetBit(kCanDelete); 150 151 c.cd(2); 152 gPad->SetLogx(); 153 MH::SetPalette("pretty"); 154 res1.DrawCopy("colz"); 155 156 c.cd(4); 157 gPad->SetLogx(); 158 MH::SetPalette("pretty"); 159 res2.DrawCopy("colz"); 138 160 } 139 161 … … 457 479 return kFALSE; 458 480 481 const Int_t numgammas = train.GetNumRows(); 482 459 483 // Set classifier for hadrons 460 484 had.SetVal(1); … … 464 488 if (!fill.Process(plistx)) 465 489 return kFALSE; 490 491 const Int_t numbackgrnd = train.GetNumRows()-numgammas; 466 492 467 493 // ------------------------ Train RF -------------------------- … … 478 504 rf.SetNameOutput("MHadronness"); 479 505 480 //MBinning b(2, -0.5, 1.5, "BinningHadronness", "lin"); 506 if (fUseRegression) 507 { 508 if (!rf.TrainSingleRF(train)) // regression 509 return kFALSE; 510 } 511 else 512 { 513 MBinning b(2, -0.5, 1.5, "BinningHadronness", "lin"); 514 if (!rf.TrainSingleRF(train, b.GetEdgesD())) // classification 515 return; 516 } 481 517 482 518 //if (!rf.TrainMultiRF(train, b.GetEdgesD())) // classification 483 519 // return; 484 520 485 //if (!rf.TrainSingleRF(train, b.GetEdgesD())) // classification486 // return;487 488 if (!rf.TrainSingleRF(train)) // regression489 return kFALSE;490 491 521 //fDisplay = rf.GetDisplay(); 492 522 523 524 *fLog << all; 525 fLog->Separator(); 526 527 *fLog << "Training method:" << endl; 528 *fLog << " * " << (fUseRegression?"regression":"classification") << endl; 529 *fLog << endl; 530 *fLog << "Events used for training:" << endl; 531 *fLog << " * Gammas: " << numgammas << endl; 532 *fLog << " * Background: " << numbackgrnd << endl; 533 534 if (!fDataSetTest.IsValid()) 535 return kTRUE; 536 493 537 // --------------------- Display result ---------------------- 494 gLog.Separator("Test");538 fLog->Separator("Test"); 495 539 496 540 MParList plist;
Note:
See TracChangeset
for help on using the changeset viewer.