Martin, If your original canvas was named "jpsi mass", the subpads created by TCanvas::Divide are called "jpsi mass_1", "jpsi mass_2", etc You must be coherent with your naming convention and do, eg TPad *pad = (TPad*)c1->FindObject("jpsi mass_2"); Rene Brun Martin Turner wrote: > > I'm afraid that didn't work. My exact script is: > > { > TFile f("~/the_script/jpsi_mass_data_trial.root"); > TCanvas *c1 = (TCanvas*)f.Get("jpsi mass"); > > TPad *pad = (TPad*)c1->FindObject("c1_2"); > TCanvas *c2 = new TCanvas("c2"); > > pad->Draw(); > pad->SetPad(0,0,1,1); > } > > This complains that the pointer TPad is illegal. > TFile and c1 definately exist because I can recover the canvas as a whole > but not individual plots. > > What could be wrong? > > Martin > > On Tue, 4 Nov 2003, Rene Brun wrote: > > > Hi Martin, > > > > Assuming a canvas c1 divided into 4 pads c1_1, c1_2, etc and saved in c1.root > > In a new session you can do, eg: > > > > TFile f("c1.root") > > TCanvas *c1 = (TCanvas*)f.Get("c1"); > > TPad *pad = (TPad*)c1->FindObject("c1_2"); > > TCanvas *c2 = new TCanvas("c2"); > > pad->Draw(); > > pad->SetPad(0,0,1,1); > > > > Rene Brun > > > > Martin Turner wrote: > > > > > > Hello Root experts. > > > > > > I have a Canvas, split into numerous pads, each containing a TH1F* > > > histogram. The Pads will have a default name since I created them using > > > TCanvas::Divide(). > > > I now save this plot as a root file, and start a new session. > > > How do I open up this root file again, grab the third plot, for example > > > and Draw it on it's own? > > > > > > Has anyone any ideas? > > > > > > Martin > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET