histobrowser.C

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: text_test.C 26717 2008-12-07 22:07:55Z matevz $
00002 // Author: Matevz Tadel
00003 
00004 // Demonstates how to use EVE as a histogram browser.
00005 
00006 TGFileBrowser *g_hlt_browser = 0;
00007 TCanvas       *g_hlt_canvas  = 0;
00008 
00009 void histobrowser(const char* name="HLT Histos")
00010 {
00011    TEveManager::Create();
00012 
00013    // --- Create special browser
00014 
00015    gEve->GetBrowser()->StartEmbedding(0);
00016    g_hlt_browser = gEve->GetBrowser()->MakeFileBrowser();
00017    gEve->GetBrowser()->StopEmbedding(name);
00018 
00019    // --- Fill and register some lists/folders/histos
00020 
00021    gDirectory = 0;
00022    TH1F* h;
00023 
00024    TList* l = new TList;
00025    l->SetName("Cilka");
00026    h = new TH1F("Foo", "Bar", 51, 0, 1);
00027    for (Int_t i=0; i<500; ++i)
00028       h->Fill(gRandom->Gaus(.63, .2));
00029    l->Add(h);
00030    g_hlt_browser->Add(l);
00031 
00032    TFolder* f = new TFolder("Booboayes", "Statisticos");
00033    h = new TH1F("Fooes", "Baros", 51, 0, 1);
00034    for (Int_t i=0; i<2000; ++i) {
00035       h->Fill(gRandom->Gaus(.7, .1));
00036       h->Fill(gRandom->Gaus(.3, .1));
00037    }
00038    f->Add(h);
00039    g_hlt_browser->Add(f);
00040 
00041    h = new TH1F("Fooesoto", "Barosana", 51, 0, 1);
00042    for (Int_t i=0; i<4000; ++i) {
00043       h->Fill(gRandom->Gaus(.25, .02), 0.04);
00044       h->Fill(gRandom->Gaus(.5, .1));
00045       h->Fill(gRandom->Gaus(.75, .02), 0.04);
00046    }
00047    g_hlt_browser->Add(h);
00048 
00049    // --- Add some macros.
00050 
00051    TMacro* m;
00052 
00053    m = new TMacro;
00054    m->AddLine("{ g_hlt_canvas->Clear();"
00055               "  g_hlt_canvas->cd();"
00056               "  g_hlt_canvas->Update(); }");
00057    m->SetName("Clear Canvas");
00058    g_hlt_browser->Add(m);
00059 
00060    m = new TMacro;
00061    m->AddLine("{ g_hlt_canvas->Clear();"
00062               "  g_hlt_canvas->Divide(2,2);"
00063               "  g_hlt_canvas->cd(1);"
00064               "  g_hlt_canvas->Update(); }");
00065    m->SetName("Split Canvas");
00066    g_hlt_browser->Add(m);
00067 
00068    // --- Create an embedded canvas
00069 
00070    gEve->GetBrowser()->StartEmbedding(1);
00071    gROOT->ProcessLineFast("new TCanvas");
00072    g_hlt_canvas = (TCanvas*) gPad;
00073    gEve->GetBrowser()->StopEmbedding("HLT Canvas");
00074 }

Generated on Tue Jul 5 15:43:51 2011 for ROOT_528-00b_version by  doxygen 1.5.1