I run the following macro producing a file "oo.root".
{
TFile f("oo.root", "recreate"); TH1F* h = new TH1F("h", "", 1, 0, 1); h->Fill(0.5); h->Sumw2(); TH1F* h0 = new TH1F("h0", "", 1, 0, 1); h0->Sumw2(); h0->Fill(0.5); TH1F* h1 = new TH1F("h1", "", 1, 0, 1); h1->Sumw2(); h1->Fill(0.5); h->Write(); h0->Write(); h1->Write(); f.Close();
then I run the following macro:
{
TFile f("oo.root"); h->Divide(h0); h->Divide(h1);
and got an error message:
root.exe [1] h->Divide(h0); root.exe [2] h->Divide(h1);
People usually bypass it by defining another pointer, e.g. the following
macro:
{
TFile f("oo.root"); h->Divide(h0); TH1F* h2 = h1; h->Divide(h2);
Is there a way not to redefine this new pointer?
Thanks
--Wei
Received on Thu Jan 05 2012 - 23:41:05 CET
This archive was generated by hypermail 2.2.0 : Fri Jan 06 2012 - 05:50:01 CET