Dear Rooters,
in studying cuts on a dataset I produced a lot of ROOT files, each of them containing the same histograms, related to different cuts.
I am trying to loop over the files and produce an overall plot, but I cannot, since:
How can I produce a plot, or a collection, of the result of FitSlicesY when applied to all the histograms?
I am working with ROOT Version 4.00/06 on macosx.
Let me provide the macro I was trying to use, that didn't work.
Kind regards
pietro
int macro2 ()
{
TH1F * tutti[30] ; int cont = 0 ; for (int i=0 ; i<10; ++i)
{
char nomeFile[80] ; sprintf (nomeFile,"c0%d/salvo.root",i) ; std::cout << "opening: " << nomeFile << std::endl ; TFile f (nomeFile) ; f.cd () ; // TH2F * histo = (TH2F *) f.Get ("E25oPin_eta_gsf") ; std::cout << "histogram " << E25oPin_eta_gsf->GetName () << " found" << std::endl ; E25oPin_eta_gsf->FitSlicesY () ; tutti[cont] = new TH1F ((TH1F*) E25oPin_eta_gsf_1->Clone (nomeFile)) ; ++cont ; f.Close () ; if (i>5) { sprintf (nomeFile,"c0%d5/salvo.root",i) ; std::cout << "opening: " << nomeFile << std::endl ; TFile f (nomeFile) ; f.cd () ; // TH2F * histo = (TH2F *) f.Get ("E25oPin_eta_gsf") ; std::cout << "histogram " << E25oPin_eta_gsf->GetName () << " found" << std::endl ; E25oPin_eta_gsf->FitSlicesY () ; tutti[cont] = new TH1F ((TH1F*) E25oPin_eta_gsf_1->Clone (nomeFile)) ; ++cont ; f.Close () ; } } TH2F h2 ("h2","peak distribution",10,0,1.5,10,0.8,1.1) ; h2.SetStats (0) ; TCanvas * c1 = new TCanvas ("c1") ; c1->Draw () ; h2.Draw () ; for (int i=0; i<cont; ++i)
{
tutti[i]->SetMarkerStyle (28) ; tutti[i]->SetMarkerColor (50+2*i) ; tutti[i]->Draw ("same") ; } c1->Draw () ; c1->Print ("prova.gif","gif") ; delete c1 ;
} Received on Wed Jun 08 2005 - 17:08:52 MEST
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:09 MET