hist2image.C: Create an image from a 2-D histogram and manipulate it | Image Processing | img2pad.C: Display image in canvas and pad. |
void hsumanim() { // // This script is a slightly modified version of hsum.C. // When run in batch mode, it produces an animated gif file. //Authors: Rene Brun, Valeriy Onuchin c1 = new TCanvas("c1","The HSUM example",200,10,600,400); c1->SetGrid(); gBenchmark->Start("hsum"); // Create some histograms. total = new TH1F("total","This is the total distribution",100,-4,4); main = new TH1F("main","Main contributor",100,-4,4); s1 = new TH1F("s1","This is the first signal",100,-4,4); s2 = new TH1F("s2","This is the second signal",100,-4,4); total->Sumw2(); // this makes sure that the sum of squares of weights will be stored total->SetMarkerStyle(21); total->SetMarkerSize(0.7); main->SetFillColor(16); s1->SetFillColor(42); s2->SetFillColor(46); TSlider *slider = 0; gSystem->Unlink("hsumanim.gif"); // delete old file // Fill histograms randomly gRandom->SetSeed(); const Int_t kUPDATE = 500; Float_t xs1, xs2, xmain; Int_t gifcnt = 0; for ( Int_t i=0; i<10000; i++) { xmain = gRandom->Gaus(-1,1.5); xs1 = gRandom->Gaus(-0.5,0.5); xs2 = gRandom->Landau(1,0.15); main->Fill(xmain); s1->Fill(xs1,0.3); s2->Fill(xs2,0.2); total->Fill(xmain); total->Fill(xs1,0.3); total->Fill(xs2,0.2); if (i && (i%kUPDATE) == 0) { if (i == kUPDATE) { total->Draw("e1p"); main->Draw("same"); s1->Draw("same"); s2->Draw("same"); c1->Update(); slider = new TSlider("slider","test",4.2,0,4.6,total->GetMaximum(),38); slider->SetFillColor(46); } if (slider) slider->SetRange(0,Float_t(i)/10000.); c1->Modified(); c1->Update(); if (gROOT->IsBatch()) { c1->Print("hsumanim.gif+"); printf("i = %d\n", i); } } } slider->SetRange(0,1); total->Draw("sameaxis"); // to redraw axis hidden by the fill area c1->Modified(); // make infinite animation by adding "++" to the file name if (gROOT->IsBatch()) c1->Print("hsumanim.gif++"); //You can view the animated file hsumanim.gif with Netscape/IE or mozilla gBenchmark->Show("hsum"); } hsumanim.C:1 hsumanim.C:2 hsumanim.C:3 hsumanim.C:4 hsumanim.C:5 hsumanim.C:6 hsumanim.C:7 hsumanim.C:8 hsumanim.C:9 hsumanim.C:10 hsumanim.C:11 hsumanim.C:12 hsumanim.C:13 hsumanim.C:14 hsumanim.C:15 hsumanim.C:16 hsumanim.C:17 hsumanim.C:18 hsumanim.C:19 hsumanim.C:20 hsumanim.C:21 hsumanim.C:22 hsumanim.C:23 hsumanim.C:24 hsumanim.C:25 hsumanim.C:26 hsumanim.C:27 hsumanim.C:28 hsumanim.C:29 hsumanim.C:30 hsumanim.C:31 hsumanim.C:32 hsumanim.C:33 hsumanim.C:34 hsumanim.C:35 hsumanim.C:36 hsumanim.C:37 hsumanim.C:38 hsumanim.C:39 hsumanim.C:40 hsumanim.C:41 hsumanim.C:42 hsumanim.C:43 hsumanim.C:44 hsumanim.C:45 hsumanim.C:46 hsumanim.C:47 hsumanim.C:48 hsumanim.C:49 hsumanim.C:50 hsumanim.C:51 hsumanim.C:52 hsumanim.C:53 hsumanim.C:54 hsumanim.C:55 hsumanim.C:56 hsumanim.C:57 hsumanim.C:58 hsumanim.C:59 hsumanim.C:60 hsumanim.C:61 hsumanim.C:62 hsumanim.C:63 hsumanim.C:64 hsumanim.C:65 hsumanim.C:66 hsumanim.C:67 hsumanim.C:68 hsumanim.C:69 hsumanim.C:70 |
|